]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
i386.md (*movdfcc_1): Merge with *movdfcc_1_rex64.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
37ff9355
UB
12013-03-26 Uros Bizjak <ubizjak@gmail.com>
2
3 * config/i386/i386.md (*movdfcc_1): Merge with *movdfcc_1_rex64.
4 Use x64 and nox64 isa attributes.
5
30b0317c
RB
62013-03-26 Richard Biener <rguenther@suse.de>
7
8 * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
9 alignment computations and rely on get_object_alignment_1
10 for the !TYPE_P case.
11 Commonize DECL/COMPONENT_REF handling in the ARRAY_REF path.
12
cbcdb140
WL
132013-03-26 Walter Lee <walt@tilera.com>
14
15 * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
16 * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
17
dd884525
JL
182013-03-25 Jeff Law <law@redhat.com>
19 * tree-ssa-dom.c (record_equivalences_from_incoming_edge): Add missing
20 check for INTEGRAL_TYPE_P that was missing due to checking in
21 wrong version of prior patch.
22
0051d3ec
WL
232013-03-25 Walter Lee <walt@tilera.com>
24
25 * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
26 TILEGX_INSN_SHUFFLEBYTES1.
27 * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
28 shufflebytes1.
29 (tilegx_builtins): Ditto.
30 * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
31
065a3605
WL
322013-03-25 Walter Lee <walt@tilera.com>
33
34 * config/tilegx/tilegx.md (floatsisf2): New pattern.
0051d3ec
WL
35 (floatunssisf2): New pattern.
36 (floatsidf2): New pattern.
37 (floatunssidf2): New pattern.
065a3605 38
5b2a3c82
WL
392013-03-25 Walter Lee <walt@tilera.com>
40
41 * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
42 tests for constraint J, K, N, P.
43
192ea533
WL
442013-03-25 Walter Lee <walt@tilera.com>
45
46 * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
47 Use indirect/pcrel encoding.
48 * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
49 Ditto.
50
855e0d0b
SE
512013-03-25 Steve Ellcey <sellcey@mips.com>
52
53 * config/mips/mmips-cpus.def (74kc, 74kf2_1, 74kf, 74kf, 74kf1_1,
54 74kfx, 74kx, 74kf3_2): Add PTF_AVOID_IMADD.
55 * config/mips/mips.c (mips_option_override): Set IMADD default.
56 * config/mips/mips.h (PTF_AVOID_IMADD): New.
57 (ISA_HAS_MADD_MSUB): Remove MIPS16 check.
58 (GENERATE_MADD_MSUB): Remove TUNE_74K check, add MIPS16 check.
59 * config/mips/mips.md (mimadd): New flag for integer madd/msub.
60 * doc/invoke.texi (-mimadd/-mno-imadd): New.
61
39e45653
JL
622013-03-25 Jeff Law <law@redhat.com>
63
64 * tree-ssa-dom.c (record_equivalences_from_incoming_edge): Rework
65 slightly to avoid creating and folding useless trees. Simplify
66 slightly by restricting to INTEGER_CSTs and using int_fits_type_p.
67
7482c470
UB
682013-03-25 Uros Bizjak <ubizjak@gmail.com>
69
70 * config/i386/i386.md (*zero_extendsidi2): Merge with
71 *zero_extendsidi2_rex64. Use x64 and nox64 isa attributes.
72 * config/i386/predicates.md (x86_64_zext_operand): Rename from
73 x86_64_zext_general_operand. Use nonimmediate_operand on 32bit
74 targets. Clarify comment.
75
4a53743e
MJ
762013-03-25 Martin Jambor <mjambor@suse.cz>
77
78 * ipa-prop.c (ipa_write_jump_function): Stream simple and aritmetic
79 pass-through jump functions differently.
80 (ipa_read_jump_function): Likewise. Also use setter functions to set
81 up jump functions.
82
162712de
MJ
832013-03-25 Martin Jambor <mjambor@suse.cz>
84
85 * ipa-cp.c (ipa_get_indirect_edge_target): Renamed to
86 ipa_get_indirect_edge_target_1, added parameter agg_reps and ability to
87 process it.
88 (ipa_get_indirect_edge_target): New function.
89 (devirtualization_time_bonus): New parameter known_aggs, pass it to
90 ipa_get_indirect_edge_target. Update all callers.
91 (ipcp_discover_new_direct_edges): New parameter aggvals. Pass it to
92 ipa_get_indirect_edge_target_1 instead of calling
93 ipa_get_indirect_edge_target.
94 (create_specialized_node): Pass aggvlas to
95 ipcp_discover_new_direct_edges.
96
a5a4c20a
KT
972013-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
98
99 * config/arm/arm.md (f_sels, f_seld): New types.
100 (*cmov<mode>): New pattern.
101 * config/arm/predicates.md (arm_vsel_comparison_operator): New
102 predicate.
103
f992b9fc
KT
1042013-03-25 Kai Tietz <ktietz@redhat.com>
105
106 * config/i386/xm-mingw32.h (__USE_MINGW_ANSI_STDIO): Enable
107 POSIX-printf for mingw-hosted builds.
108
c16fd676
RB
1092013-03-25 Richard Biener <rguenther@suse.de>
110
111 PR middle-end/56694
112 * tree-eh.c (lower_eh_must_not_throw): Strip BLOCKs from the
113 must-not-throw stmt location.
114
5ad29f12
KT
1152013-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
116
117 * config/arm/arm.c (arm_emit_load_exclusive): Add acq parameter.
118 Emit load-acquire versions when acq is true.
119 (arm_emit_store_exclusive): Add rel parameter.
120 Emit store-release versions when rel is true.
121 (arm_split_compare_and_swap): Use acquire-release instructions
122 instead.
123 of barriers when appropriate.
124 (arm_split_atomic_op): Likewise.
125 * config/arm/arm.h (TARGET_HAVE_LDACQ): New macro.
126 * config/arm/unspecs.md (VUNSPEC_LAX): New unspec.
127 (VUNSPEC_SLX): Likewise.
128 (VUNSPEC_LDA): Likewise.
129 (VUNSPEC_STL): Likewise.
130 * config/arm/sync.md (atomic_load<mode>): New pattern.
131 (atomic_store<mode>): Likewise.
132 (arm_load_acquire_exclusive<mode>): Likewise.
133 (arm_load_acquire_exclusivesi): Likewise.
134 (arm_load_acquire_exclusivedi): Likewise.
135 (arm_store_release_exclusive<mode>): Likewise.
136
03a7dddb
CM
1372013-03-25 Catherine Moore <clm@codesourcery.com>
138
139 * config/mips/constraints.md (u, Udb7 Uead, Uean, Uesp, Uib3,
140 Uuw6, Usb4, ZS, ZT, ZU, ZV, ZW): New constraints.
141 * config/mip/predicates.md (lwsp_swsp_operand,
142 lw16_sw16_operand, lhu16_sh16_operand, lbu16_operand,
143 sb16_operand, db4_operand, db7_operand, ib3_operand,
144 sb4_operand, ub4_operand, uh4_operand, uw4_operand,
145 uw5_operand, uw6_operand, addiur2_operand, addiusp_operand,
146 andi16_operand): New predicates.
147 * config/mips/mips.md (compression): New attribute.
148 (enabled): New attribute.
149 (length): Consider compression in computing length.
150 (shift_compression): New code attribute.
151 (*add<mode>3): New operands. Record compression.
152 (sub<mode>3): Likewise.
153 (one_cmpl<mode>2): Likewise.
154 (*and<mode>3): Likewise.
155 (*ior<mode>3): Likewise.
156 (unnamed pattern for xor): Likewise.
157 (*zero_extend<SHORT:mode><GPR:mode>2): Likewise.
158 (*<optab><mode>3): Likewise.
159 (*mov<mode>_internal: Likewise.
160 * config/mips/mips-protos.h (mips_signed_immediate_p): New.
161 (mips_unsigned_immediate_p): New.
162 (umips_lwsp_swsp_address_p): New.
163 (m16_based_address_p): New.
164 * config/mips/mips-protos.h (mips_signed_immediate_p): New prototype.
165 (mips_unsigned_immediate_p): New prototype.
166 (lwsp_swsp_address_p): New prototype.
167 (m16_based_address_p): New prototype.
168 * config/mips/mips.c (mips_unsigned_immediate_p): New function.
169 (mips_signed_immediate_p): New function.
170 (m16_based_address_p): New function.
171 (lwsp_swsp_address_p): New function.
172 (mips_print_operand_punctuation): Recognize short delay slot insns
173 for microMIPS.add<mode>3"
174
f35c297f 1752013-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
a5784ce6 176
f35c297f
KT
177 PR target/56720
178 * config/arm/iterators.md (v_cmp_result): New mode attribute.
179 * config/arm/neon.md (vcond<mode><mode>): Handle unordered cases.
180
051b9446
RB
1812013-03-25 Richard Biener <rguenther@suse.de>
182
183 PR tree-optimization/56689
184 * tree-vrp.c (execute_vrp): Mark loops for fixup if we removed
185 any edge.
186
374001cb
RB
1872013-03-25 Richard Biener <rguenther@suse.de>
188
189 * tree-ssa-loop-im.c (struct mem_ref): Use bitmap_head instead
190 of bitmap.
191 (memory_references): Likewise.
192 (outermost_indep_loop, mem_ref_alloc, mark_ref_stored,
193 gather_mem_refs_stmt, record_dep_loop, ref_indep_loop_p_1,
194 ref_indep_loop_p_2, find_refs_for_sm): Adjust.
195 (gather_mem_refs_in_loops): Fold into ...
196 (analyze_memory_references): ... this. Move initialization
197 to tree_ssa_lim_initialize.
198 (fill_always_executed_in): Rename to ...
199 (fill_always_executed_in_1): ... this.
200 (fill_always_executed_in): Move contains_call computation to
201 this new function from ...
202 (tree_ssa_lim_initialize): ... here.
203 (tree_ssa_lim): Call fill_always_executed_in.
204
57895947
EB
2052013-03-25 Eric Botcazou <ebotcazou@adacore.com>
206
207 * postreload.c (reload_combine): Fix code detecting returns.
208
1e1b18c1
EB
2092013-03-25 Eric Botcazou <ebotcazou@adacore.com>
210
211 * function.c (emit_use_return_register_into_block): On cc0 targets,
212 do not emit the sequence between cc0 setter and user.
213
9216baf1
KT
2142013-03-25 Kai Tietz <ktietz@redhat.com>
215
1e1b18c1
EB
216 * config/i386/predicates.md (local_symbolic_operand): Interpret
217 dll-imported symbols as none-local.
9216baf1 218
76421b44
RB
2192013-03-25 Richard Biener <rguenther@suse.de>
220
221 * tree-ssa-loop-im.c (struct depend): Remove.
222 (struct lim_aux_data): Make depends a vec of gimples.
223 (free_lim_aux_data): Adjust.
224 (add_dependency): Likewise.
225 (set_level): Likewise.
226
d154bfa2
RB
2272013-03-25 Richard Biener <rguenther@suse.de>
228
229 PR middle-end/56434
230 * calls.c (expand_call): Use MALLOC_ABI_ALIGNMENT to annotate
231 the pointer returned by calls with ECF_MALLOC set.
232
2cd9804e
UB
2332013-03-24 Uros Bizjak <ubizjak@gmail.com>
234
acef5fe0
UB
235 * config/i386/mmx.md (mov<mode>): Add ?!Ym,r and r,?!Ym alternatives.
236
2372013-03-24 Uros Bizjak <ubizjak@gmail.com>
238
239 * config/i386/mmx.md (mov<mode>): Merge with movv2sf expander
2cd9804e
UB
240 using MMXMODE mode iterator.
241 (*move<mode>_internal): Merge with *movv2sf_internal and
242 *movv2sf_internal_rex64 using MMXMODE mode iterator.
243
225ccc68
SB
2442013-03-23 Steven Bosscher <steven@gcc.gnu.org>
245
85c0f02d
SB
246 * gcse.c (oprs_unchanged_p): Respect flag_gcse_lm.
247 (record_last_mem_set_info): Likewise.
248
225ccc68
SB
249 * df-core.c (rest_of_handle_df_initialize): Use XCNEWVEC instead
250 of XNEWVEC followed by memset.
251 (df_worklist_dataflow): Use XNEWVEC instead of xmalloc with a cast.
252
b64925dc
SB
2532013-03-23 Steven Bosscher <steven@gcc.gnu.org>
254
255 * config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
256 config/epiphany/epiphany.c, config/frv/frv.c, config/ia64/ia64.c,
257 config/iq2000/iq2000.c, config/mcore/mcore.c, config/mep/mep.c,
258 config/mmix/mmix.c, config/pa/pa.c, config/rs6000/rs6000.c,
259 config/s390/s390.c, config/sparc/sparc.c, config/spu/spu.c,
260 config/stormy16/stormy16.c, config/v850/v850.c, config/xtensa/xtensa.c,
261 dwarf2out.c, hw-doloop.c, resource.c, rtl.h : Where applicable, use
262 the predicates NOTE_P, NONJUMP_INSN_P, JUMP_P, CALL_P, LABEL_P, and
263 BARRIER_P instead of GET_CODE.
264
b9aaf52e
EB
2652013-03-23 Eric Botcazou <ebotcazou@adacore.com>
266
267 * config/sparc/sparc.c (sparc_emit_probe_stack_range): Fix small
268 inaccuracy in the probing code.
269
270 * config/sparc/sparc.md (ctrapsi4): Add predicate for operand #3.
271 (ctrapdi4): Likewise.
272
66de4d7c
EB
2732013-03-23 Eric Botcazou <ebotcazou@adacore.com>
274
275 * calls.c (expand_call): Add missing guard to code handling return
276 of non-BLKmode structures in MSB.
277 * function.c (expand_function_end): Likewise.
278
4f25c8fb
EB
2792013-03-23 Eric Botcazou <ebotcazou@adacore.com>
280
281 * combine.c (try_combine): Adjust comment. Do not add the set of
282 insn #0 if the destination indirectly is set or dies in insn #2.
283 Tidy up code to distribute a new note.
284
23b7850d
UB
2852013-03-22 Uros Bizjak <ubizjak@gmail.com>
286
287 * config/i386/i386.md (*movdi_internal): Set prefix_rex attribute
288 also for alternatives 16 and 17.
289
bed852cf
UB
2902013-03-22 Uros Bizjak <ubizjak@gmail.com>
291
292 * config/i386/sse.md (*mov<mode>_internal): Merge with
293 *mov<mode>_internal_rex64. Use x64 and nox64 isa attributes.
294 Emit insn template depending on type attribute. Use
295 HAVE_AS_IX86_INTERUNIT_MOVQ to handle broken assemblers that require
296 movd instead of movq mnemonic for interunit moves. Rewrite mode
297 attribute calculation. Remove unit attribute calculation.
298 Set prefix attribute to maybe_vex for sselog1 and ssemov types.
299 Set prefix_data16 attribute for DImode ssemov types.
300 Use Ym instead of y for SSE-MMX conversion alternatives.
301 Reorder operand constraints.
302
1e8a7937
SB
3032013-03-22 Steven Bosscher <steven@gcc.gnu.org>
304
305 * df.h (df_insn_delete): Adjust prototype.
306 * emit-rtl.c (remove_insn): Pass a basic block to df_insn_delete
307 and let it decide whether mark the basic block dirty.
308 (set_insn_deleted): Only pass INSN_P insns to df_insn_delete.
309 * df-scan.c (df_insn_info_delete): New helper function, split
310 off from df_insn_delete.
311 (df_scan_free_bb_info): Use it.
312 (df_insn_rescan, df_insn_rescan_all, df_process_deferred_rescans):
313 Likewise.
314 (df_insn_delete): Likewise. Take insn rtx as argument. Verify
315 that the insn is actually an insn and it has a non-NULL basic block.
316 Do not mark basic block dirty if only deleting a DEBUG_INSN.
317
e14d094c
RB
3182013-03-22 Richard Biener <rguenther@suse.de>
319
320 * tree-ssa-loop-im.c (struct mem_ref): Remove indep_ref and
321 dep_ref members.
322 (mem_ref_alloc): Do not allocate them.
323 (refs_independent_p): Do not query or maintain a cache.
324
e9cf7316
RB
3252013-03-22 Richard Biener <rguenther@suse.de>
326
327 * tree-ssa-loop-im.c (memory_references): Drop all_refs_in_loop.
328 (gather_mem_refs_in_loops): Do not compute it.
329 (analyze_memory_references): Do not allocate it.
330 (tree_ssa_lim_finalize): Do not free it.
331 (for_all_locs_in_loop): Do not query all_refs_in_loop.
332
f046e81b
RB
3332013-03-22 Richard Biener <rguenther@suse.de>
334
335 * is-a.h (as_a): Use gcc_checking_assert.
bed852cf 336
a05c0ddf
IB
3372013-03-22 Ian Bolton <ian.bolton@arm.com>
338
339 * config/aarch64/aarch64.c (aarch64_print_operand): New
340 format specifier for printing a constant in hex.
341 * config/aarch64/aarch64.md (insv_imm<mode>): Use the X
342 format specifier for printing second operand.
343
c00217fc
RB
3442013-03-22 Richard Biener <rguenther@suse.de>
345
346 * tree-ssa-loop-im.c (memory_references): Add refs_stored_in_loop
347 bitmaps.
348 (gather_mem_refs_in_loops): Perform store accumulation here.
349 (create_vop_ref_mapping_loop): Remove.
350 (create_vop_ref_mapping): Likewise.
351 (analyze_memory_references): Initialize refs_stored_in_loop.
bed852cf 352 (LOOP_DEP_BIT): New define to map to bits in (in)dep_loop bitmaps.
c00217fc
RB
353 (record_indep_loop): Remove.
354 (record_dep_loop): New function.
355 (ref_indep_loop_p_1): Adjust to only walk over references
356 in the loop, not its subloops.
357 (ref_indep_loop_p): Rename to ...
358 (ref_indep_loop_p_2): ... this and recurse over the loop tree,
359 maintaining a more fine-grained cache.
360 (ref_indep_loop_p): Wrap ref_indep_loop_p_2.
361 (tree_ssa_lim_finalize): Free refs_stored_in_loop.
362
15d19bf8
RB
3632013-03-22 Richard Biener <rguenther@suse.de>
364
365 * tree-ssa-loop-im.c (struct mem_ref_locs): Remove.
366 (struct mem_ref): Make accesses_in_loop a vec of a vec of
367 aggregate mem_ref_loc.
368 (free_mem_ref_locs): Inline into ...
369 (memref_free): ... this and adjust.
370 (mem_ref_alloc): Adjust.
371 (mem_ref_locs_alloc): Remove.
372 (record_mem_ref_loc): Adjust.
373 (get_all_locs_in_loop): Rewrite into ...
374 (for_all_locs_in_loop): ... this iterator.
375 (rewrite_mem_ref_loc): New functor.
376 (rewrite_mem_refs): Use for_all_locs_in_loop.
377 (sm_set_flag_if_changed): New functor.
378 (execute_sm_if_changed_flag_set): Use for_all_locs_in_loop.
379 (ref_always_accessed): New functor.
380 (ref_always_accessed_p): Use for_all_locs_in_loop.
381
6f37411d
MG
3822013-03-21 Marc Glisse <marc.glisse@inria.fr>
383
384 * tree-pass.h (PROP_gimple_lvec): New.
385 * passes.c (dump_properties): Handle PROP_gimple_lvec.
386 (init_optimization_passes): Move pass_lower_vector.
387 * tree-vect-generic.c (gate_expand_vector_operations_ssa): Test
388 PROP_gimple_lvec.
389 (pass_lower_vector): Provide PROP_gimple_lvec.
390 (pass_lower_vector_ssa): Likewise.
391 * cfgexpand.c (pass_expand): Require PROP_gimple_lvec.
392
511ef689
MW
3932013-03-21 Mark Wielaard <mjw@redhat.com>
394
395 * dwarf2out.c (size_of_aranges): Skip DECL_IGNORED_P functions.
396
cc1df30b
UB
3972013-03-21 Uros Bizjak <ubizjak@gmail.com>
398
399 * config/i386/i386.md (*movdi_internal): Disparage slightly
400 all MMX moves to/from memory. Use Yi instead of x for SSE-MMX
401 conversion alternatives.
402
c845cfe1
JJ
4032013-03-21 Jakub Jelinek <jakub@redhat.com>
404
37e99116
JJ
405 PR middle-end/48087
406 * diagnostic.def (DK_WERROR): New kind.
407 * diagnostic.h (werrorcount): Define.
408 * diagnostic.c (diagnostic_report_diagnostic): For DK_WARNING
409 promoted to DK_ERROR, increment DK_WERROR counter instead of
410 DK_ERROR counter.
411 * toplev.c (toplev_main): Call print_ignored_options even if
412 just werrorcount is non-zero. Exit with FATAL_EXIT_CODE
413 even if just werrorcount is non-zero.
414
c845cfe1
JJ
415 PR debug/55608
416 * dwarf2out.c (tree_add_const_value_attribute): Call ggc_free (array)
417 on failure.
418 (resolve_one_addr): Fail if referenced STRING_CST hasn't been written.
419 (string_cst_pool_decl): New function.
420 (optimize_one_addr_into_implicit_ptr): New function.
421 (resolve_addr_in_expr): Optimize DWARF location expression
422 DW_OP_addr DW_OP_stack_value where DW_OP_addr refers to some variable
423 which doesn't live in memory, but has DW_AT_location or
424 DW_AT_const_value, or refers to a string literal, into
425 DW_OP_GNU_implicit_pointer.
426 (optimize_location_into_implicit_ptr): New function.
427 (resolve_addr): If removing DW_AT_location of a variable because
428 it was DW_OP_addr of address of the variable, but the variable doesn't
429 live in memory, try to emit const value attribute for the initializer.
430
08e0cda6
MG
4312013-03-21 Marc Glisse <marc.glisse@inria.fr>
432
433 * tree.h (VECTOR_TYPE_P): New macro.
434 (VECTOR_INTEGER_TYPE_P, VECTOR_FLOAT_TYPE_P, FLOAT_TYPE_P,
435 TYPE_MODE): Use it.
436 * fold-const.c (fold_cond_expr_with_comparison): Use build_zero_cst.
437 VEC_COND_EXPR cannot be lvalues.
438 (fold_ternary_loc) <VEC_COND_EXPR>: Merge with the COND_EXPR case.
439
d08633b4
MG
4402013-03-21 Marc Glisse <marc.glisse@inria.fr>
441
442 * simplify-rtx.c (simplify_binary_operation_1) <VEC_CONCAT>:
443 Restrict the transformation to equal modes.
444
e6647190
RB
4452013-03-21 Richard Biener <rguenther@suse.de>
446
447 PR tree-optimization/39326
448 * tree-ssa-loop-im.c (UNANALYZABLE_MEM_ID): New define.
449 (MEM_ANALYZABLE): Adjust.
450 (record_mem_ref_loc): Move bitmap ops ...
451 (gather_mem_refs_stmt): ... here. Use the shared mem-ref for
452 unanalyzable refs, do not record locations for it.
453 (analyze_memory_references): Allocate ref zero as shared
454 unanalyzable ref.
455 (refs_independent_p): Do not test for unanalyzed mems here.
456 (ref_indep_loop_p_1): Special-case disambiguation against
457 the unanalyzed ref.
cc1df30b 458 (ref_indep_loop_p): Assert we are not queried for the unanalyzed mem.
e6647190 459
65074f54
CL
4602013-03-21 Christophe Lyon <christophe.lyon@linaro.org>
461
462 * config/arm/arm-protos.h (tune_params): Add
463 prefer_neon_for_64bits field.
464 * config/arm/arm.c (prefer_neon_for_64bits): New variable.
465 (arm_slowmul_tune): Default prefer_neon_for_64bits to false.
466 (arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune): Ditto.
467 (arm_9e_tune, arm_v6t2_tune, arm_cortex_tune): Ditto.
468 (arm_cortex_a15_tune, arm_cortex_a5_tune): Ditto.
469 (arm_cortex_a9_tune, arm_v6m_tune, arm_fa726te_tune): Ditto.
470 (arm_option_override): Handle -mneon-for-64bits new option.
471 * config/arm/arm.h (TARGET_PREFER_NEON_64BITS): New macro.
472 (prefer_neon_for_64bits): Declare new variable.
473 * config/arm/arm.md (arch): Rename neon_onlya8 and neon_nota8 to
cc1df30b 474 avoid_neon_for_64bits and neon_for_64bits. Remove onlya8 and nota8.
65074f54
CL
475 (arch_enabled): Handle new arch types. Remove support for onlya8
476 and nota8.
477 (one_cmpldi2): Use new arch names.
bc5faa5b 478 (zero_extend<mode>di2, extend<mode>di2): Ditto.
65074f54
CL
479 * config/arm/arm.opt (mneon-for-64bits): Add option.
480 * config/arm/neon.md (adddi3_neon, subdi3_neon, iordi3_neon)
481 (anddi3_neon, xordi3_neon, ashldi3_neon, <shift>di3_neon): Use
482 neon_for_64bits instead of nota8 and avoid_neon_for_64bits instead
483 of onlya8.
484 * doc/invoke.texi (-mneon-for-64bits): Document.
485
5a2d2a79
RB
4862013-03-21 Richard Biener <rguenther@suse.de>
487
488 PR tree-optimization/39326
489 * tree-ssa-loop-im.c (bb_loop_postorder): New global static.
490 (sort_bbs_in_loop_postorder_cmp): New function.
cc1df30b 491 (gather_mem_refs_in_loops): Assign mem-ref IDs in loop postorder.
5a2d2a79 492
5abe1e05
RB
4932013-03-21 Richard Biener <rguenther@suse.de>
494
495 * tree-vect-data-refs.c (vect_update_interleaving_chain): Remove.
496 (vect_insert_into_interleaving_chain): Likewise.
497 (vect_drs_dependent_in_basic_block): Inline ...
498 (vect_slp_analyze_data_ref_dependence): ... here. New function,
499 split out from ...
500 (vect_analyze_data_ref_dependence): ... here. Simplify.
501 (vect_check_interleaving): Simplify.
502 (vect_analyze_data_ref_dependences): Likewise. Split out ...
503 (vect_slp_analyze_data_ref_dependences): ... this new function.
504 (dr_group_sort_cmp): New function.
505 (vect_analyze_data_ref_accesses): Compute data-reference groups
506 here instead of in vect_analyze_data_ref_dependence. Use
507 a more efficient algorithm.
508 * tree-vect-slp.c (vect_slp_analyze_bb_1): Use
509 vect_slp_analyze_data_ref_dependences. Call
510 vect_analyze_data_ref_accesses earlier.
511 * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
512 * tree-vectorizer.h (vect_analyze_data_ref_dependences): Adjust.
513 (vect_slp_analyze_data_ref_dependences): New prototype.
514
cad1735b
RB
5152013-03-21 Richard Biener <rguenther@suse.de>
516
517 * tree-ssa-loop-im.c (can_sm_ref_p): Do not test whether
518 ref is stored in the loop.
519 (find_refs_for_sm): Walk only over all stores.
520 (store_motion_loop): Allocate from lim_bitmap_obstack.
521 (store_motion): Likewise.
522
141310ef
RB
5232013-03-21 Richard Biener <rguenther@suse.de>
524
525 * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge):
526 Update virtual SSA form.
527
5022315a
RO
5282013-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
529
530 * configure.ac (gcc_cv_ld_eh_frame_ciev3): New test.
531 * configure: Regenerate.
532 * config.in: Regenerate.
533 * config/sol2.c (solaris_override_options): Only enforce DWARF 2
534 if !HAVE_LD_EH_FRAME_CIEV3.
535
50d4421c
RB
5362013-03-21 Richard Biener <rguenther@suse.de>
537
538 * tree-cfg.c (verify_expr_no_block): New function.
539 (verify_expr_location_1): Verify that neither DECL_DEBUG_EXPR
540 nor DECL_VALUE_EXPR have locations with associated blocks.
541 * tree-ssa-live.c (clear_unused_block_pointer_1): Remove.
542 (clear_unused_block_pointer): Remove code dealing with
543 blocks in DECL_DEBUG_EXPR locations.
544
839b422f
RB
5452013-03-21 Richard Biener <rguenther@suse.de>
546
547 * tree.h (DECL_DEBUG_EXPR_IS_FROM): Rename to ...
548 (DECL_HAS_DEBUG_EXPR_P): ... this. Guard properly.
549 * tree.c (copy_node_stat): Do not copy DECL_HAS_DEBUG_EXPR_P.
550 * dwarf2out.c (add_var_loc_to_decl): Use DECL_HAS_DEBUG_EXPR_P
551 instead of DECL_DEBUG_EXPR_IS_FROM.
552 * gimplify.c (gimplify_modify_expr): Likewise.
553 * tree-cfg.c (verify_expr_location_1): Likewise.
554 * tree-complex.c (create_one_component_var): Likewise.
555 * tree-sra.c (create_access_replacement): Likewise.
556 * tree-ssa-live.c (clear_unused_block_pointer_1): Likewise.
557 (clear_unused_block_pointer): Likewise.
558 * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise.
559 * tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
560 * var-tracking.c (var_debug_decl): Likewise.
561 (track_expr_p): Likewise.
562 * tree-inline.c (add_local_variables): Likewise. Set
563 DECL_HAS_DEBUG_EXPR_P after copying it.
564 * tree-diagnostic.c (default_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
565 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
566
fe04878d
UB
5672013-03-21 Uros Bizjak <ubizjak@gmail.com>
568
569 PR bootstrap/56656
570 * configure.ac (HAVE_AS_IX86_INTERUNIT_MOVQ): New test.
571 * configure: Regenerate.
572 * config.in: Regenerate.
573 * config/i386/i386.md (*movdf_internal): Use
574 HAVE_AS_IX86_INTERUNIT_MOVQ to handle broken assemblers that require
575 movd instead of movq mnemonic for interunit moves.
576 (*movdi_internal): Ditto.
577
bd059b26 5782013-03-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
fa2e9a58
N
579
580 * config/aarch64/aarch64-simd.md (simd_fabd): New Attribute.
581 (abd<mode>_3): New pattern.
582 (aba<mode>_3): New pattern.
583 (fabd<mode>_3): New pattern.
584
bd059b26 5852013-03-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
50ce6f88
N
586
587 * config/aarch64/aarch64-elf.h (REGISTER_PREFIX): Remove.
588 * config/aarch64/aarch64.c (aarch64_print_operand): Remove all
589 occurrence of REGISTER_PREFIX as its empty string.
590
4f1f78b9
JL
5912013-03-20 Jeff Law <law@redhat.com>
592
593 * tree-ssa-dom.c (record_equivalences_from_incoming_edge): Record
594 addititional equivalences for equality comparisons between an SSA_NAME
595 and a constant where the SSA_NAME was set from a widening conversion.
596
327a1118
WL
5972013-03-20 Walter Lee <walt@tilera.com>
598
599 * config/tilegx/sync.md (atomic_test_and_set): New pattern.
600
813e0036
UB
6012013-03-20 Uros Bizjak <ubizjak@gmail.com>
602
603 * config/i386/i386.md (*movoi_internal_avx): Emit insn template
604 depending on type attribute.
605 (*movti_internal): Ditto.
606 (*movtf_internal): Ditto.
607 (*movxf_internal): Ditto.
608 (*movdf_internal): Ditto.
609 (*movsf_internal): Ditto.
610
7cf34aae
UB
6112013-03-20 Uros Bizjak <ubizjak@gmail.com>
612
613 * config/i386/i386.md (*movti_internal): Set prefix attribute to
614 maybe_vex for sselog1 and ssemov types.
615 (*movdi_internal): Reorder operand constraints.
616 (*movsi_internal): Ditto. Set prefix attribute to
617 maybe_vex for sselog1 and ssemov types.
618 (*movtf_internal): Set prefix attribute to maybe_vex
619 for sselog1 and ssemov types.
620 (*movdf_internal): Ditto. Set prefix_data16 attribute for
621 DImode ssemov types. Reorder operand constraints.
622 (*movsf_internal): Set type of alternatives 3,4 to imov. Set prefix
623 attribute to maybe_vex for sselog1 and ssemov types. Set prefix_data16
624 attribute for SImode ssemov types. Reorder operand constraints.
625
19321415
MJ
6262013-03-20 Martin Jambor <mjambor@suse.cz>
627
628 * params.def (PARAM_IPA_CP_ARRAY_INDEX_HINT_BONUS): New parameter.
629 * ipa-cp.c (hint_time_bonus): Add abonus for known array indices.
630
c6d5ff83
MM
6312013-03-20 Pat Haugen <pthaugen@us.ibm.com>
632
633 * config/rs6000/predicates.md (indexed_address, update_address_mem
634 update_indexed_address_mem): New predicates.
635 * config/rs6000/vsx.md (vsx_extract_<mode>_zero): Set correct "type"
636 attribute for load/store instructions.
637 * config/rs6000/dfp.md (movsd_store): Likewise.
638 (movsd_load): Likewise.
639 * config/rs6000/rs6000.md (zero_extend<mode>di2_internal1): Likewise.
640 (unnamed HI->DI extend define_insn): Likewise.
641 (unnamed SI->DI extend define_insn): Likewise.
642 (unnamed QI->SI extend define_insn): Likewise.
643 (unnamed QI->HI extend define_insn): Likewise.
644 (unnamed HI->SI extend define_insn): Likewise.
645 (unnamed HI->SI extend define_insn): Likewise.
646 (extendsfdf2_fpr): Likewise.
647 (movsi_internal1): Likewise.
648 (movsi_internal1_single): Likewise.
649 (movhi_internal): Likewise.
650 (movqi_internal): Likewise.
651 (movcc_internal1): Correct mnemonic for stw insn. Set correct "type"
652 attribute for load/store instructions.
653 (mov<mode>_hardfloat): Set correct "type" attribute for load/store
654 instructions.
655 (mov<mode>_softfloat): Likewise.
656 (mov<mode>_hardfloat32): Likewise.
657 (mov<mode>_hardfloat64): Likewise.
658 (mov<mode>_softfloat64): Likewise.
659 (movdi_internal32): Likewise.
660 (movdi_internal64): Likewise.
661 (probe_stack_<mode>): Likewise.
662
6632013-03-20 Michael Meissner <meissner@linux.vnet.ibm.com>
664
665 * config/rs6000/vector.md (VEC_R): Add 32-bit integer, binary
666 floating point, and decimal floating point to reload iterator.
667
668 * config/rs6000/constraints.md (wl constraint): New constraints to
669 return FLOAT_REGS if certain options are used to reduce the number
670 of separate patterns that exist in the file.
671 (wx constraint): Likewise.
672 (wz constraint): Likewise.
673
674 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
675 -mdebug=reg, print wg, wl, wx, and wz constraints.
676 (rs6000_init_hard_regno_mode_ok): Initialize new constraints.
677 Initialize the reload functions for 64-bit binary/decimal floating
678 point types.
679 (reg_offset_addressing_ok_p): If we are on a power7 or later, use
680 LFIWZX and STFIWX to load/store 32-bit decimal types, and don't
681 create the buffer on the stack to overcome not having a 32-bit
682 load and store.
683 (rs6000_emit_move): Likewise.
684 (rs6000_secondary_memory_needed_rtx): Likewise.
685 (rs6000_alloc_sdmode_stack_slot): Likewise.
686 (rs6000_preferred_reload_class): On VSX, we can create SFmode 0.0f
687 via xxlxor, just like DFmode 0.0.
688
689 * config/rs6000/rs6000.h (TARGET_NO_SDMODE_STACK): New macro,
690 define as 1 if we are running on a power7 or newer.
691 (enum r6000_reg_class_enum): Add new constraints.
692
693 * config/rs6000/dfp.md (movsd): Delete, combine with binary
694 floating point moves in rs6000.md. Combine power6x (mfpgpr) moves
695 with other moves by using conditional constraits (wg). Use LFIWZX
bd059b26 696 and STFIWX for loading SDmode on power7. Use xxlxor to create 0.0f.
c6d5ff83
MM
697 (movsd splitter): Likewise.
698 (movsd_hardfloat): Likewise.
699 (movsd_softfloat): Likewise.
700
701 * config/rs6000/rs6000.md (FMOVE32): New iterators to combine
702 binary and decimal floating point moves.
703 (fmove_ok): New attributes to combine binary and decimal floating
704 point moves, and to combine power6x (mfpgpr) moves along normal
705 floating moves.
706 (real_value_to_target): Likewise.
707 (f32_lr): Likewise.
708 (f32_lm): Likewise.
709 (f32_li): Likewise.
710 (f32_sr): Likewise.
711 (f32_sm): Likewise.
712 (f32_si): Likewise.
713 (movsf): Combine binary and decimal floating point moves. Combine
714 power6x (mfpgpr) moves with other moves by using conditional
bd059b26 715 constraits (wg). Use LFIWZX and STFIWX for loading SDmode on power7.
c6d5ff83
MM
716 (mov<mode> for SFmode/SDmode); Likewise.
717 (SFmode/SDmode splitters): Likewise.
718 (movsf_hardfloat): Likewise.
719 (mov<mode>_hardfloat for SFmode/SDmode): Likewise.
720 (movsf_softfloat): Likewise.
721 (mov<mode>_softfloat for SFmode/SDmode): Likewise.
722
723 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wl,
724 wx and wz constraints.
725
726 * config/rs6000/constraints.md (wg constraint): New constraint to
727 return FLOAT_REGS if -mmfpgpr (power6x) was used.
728
729 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wg
730 constraint.
731
732 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
733 -mdebug=reg, print wg, wl, wx, and wz constraints.
734 (rs6000_init_hard_regno_mode_ok): Initialize new constraints.
735 Initialize the reload functions for 64-bit binary/decimal floating
736 point types.
737 (reg_offset_addressing_ok_p): If we are on a power7 or later, use
738 LFIWZX and STFIWX to load/store 32-bit decimal types, and don't
739 create the buffer on the stack to overcome not having a 32-bit
740 load and store.
741 (rs6000_emit_move): Likewise.
742 (rs6000_secondary_memory_needed_rtx): Likewise.
743 (rs6000_alloc_sdmode_stack_slot): Likewise.
744 (rs6000_preferred_reload_class): On VSX, we can create SFmode 0.0f
745 via xxlxor, just like DFmode 0.0.
746
c6d5ff83
MM
747 * config/rs6000/dfp.md (movdd): Delete, combine with binary
748 floating point moves in rs6000.md. Combine power6x (mfpgpr) moves
749 with other moves by using conditional constraits (wg). Use LFIWZX
750 and STFIWX for loading SDmode on power7.
751 (movdd splitters): Likewise.
752 (movdd_hardfloat32): Likewise.
753 (movdd_softfloat32): Likewise.
754 (movdd_hardfloat64_mfpgpr): Likewise.
755 (movdd_hardfloat64): Likewise.
756 (movdd_softfloat64): Likewise.
757
758 * config/rs6000/rs6000.md (FMOVE64): New iterators to combine
759 64-bit binary and decimal floating point moves.
760 (FMOVE64X): Likewise.
761 (movdf): Combine 64-bit binary and decimal floating point moves.
762 Combine power6x (mfpgpr) moves with other moves by using
763 conditional constraits (wg).
764 (mov<mode> for DFmode/DDmode): Likewise.
765 (DFmode/DDmode splitters): Likewise.
766 (movdf_hardfloat32): Likewise.
767 (mov<mode>_hardfloat32 for DFmode/DDmode): Likewise.
768 (movdf_softfloat32): Likewise.
769 (movdf_hardfloat64_mfpgpr): Likewise.
770 (movdf_hardfloat64): Likewise.
771 (mov<mode>_hardfloat64 for DFmode/DDmode): Likewise.
772 (movdf_softfloat64): Likewise.
773 (mov<mode>_softfloat64 for DFmode/DDmode): Likewise.
774 (reload_<mode>_load): Move to later in the file so they aren't in
775 the middle of the floating point move insns.
776 (reload_<mode>_store): Likewise.
777
778 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wg
779 constraint.
780
781 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print out wg
782 constraint if -mdebug=reg.
bd059b26
UB
783 (rs6000_initi_hard_regno_mode_ok): Enable wg constraint if -mfpgpr.
784 Enable using dd reload support if needed.
c6d5ff83
MM
785
786 * config/rs6000/dfp.md (movtd): Delete, combine with 128-bit
787 binary and decimal floating point moves in rs6000.md.
788 (movtd_internal): Likewise.
789
790 * config/rs6000/rs6000.md (FMOVE128): Combine 128-bit binary and
791 decimal floating point moves.
792 (movtf): Likewise.
793 (movtf_internal): Likewise.
794 (mov<mode>_internal, TDmode/TFmode): Likewise.
795 (movtf_softfloat): Likewise.
796 (mov<mode>_softfloat, TDmode/TFmode): Likewise.
797
798 * config/rs6000/rs6000.md (movdi_mfpgpr): Delete, combine with
799 movdi_internal64, using wg constraint for move direct operations.
800 (movdi_internal64): Likewise.
801
802 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print
803 MODES_TIEABLE_P for selected modes. Print the numerical value of
804 the various virtual registers. Use GPR/FPR first/last values,
805 instead of hard coding the register numbers. Print which modes
806 have reload functions registered.
bd059b26
UB
807 (rs6000_option_override_internal): If -mdebug=reg, trace the options
808 settings before/after setting cpu, target and subtarget settings.
809 (rs6000_secondary_reload_trace): Improve the RTL dump for -mdebug=addr
810 and for secondary reload failures in rs6000_secondary_reload_inner.
c6d5ff83
MM
811 (rs6000_secondary_reload_fail): Likewise.
812 (rs6000_secondary_reload_inner): Likewise.
813
814 * config/rs6000/rs6000.md (FIRST_GPR_REGNO): Add convenience
815 macros for first/last GPR and FPR registers.
816 (LAST_GPR_REGNO): Likewise.
817 (FIRST_FPR_REGNO): Likewise.
818 (LAST_FPR_REGNO): Likewise.
819
820 * config/rs6000/vector.md (mul<mode>3): Use the combined macro
821 VECTOR_UNIT_ALTIVEC_OR_VSX_P instead of separate calls to
822 VECTOR_UNIT_ALTIVEC_P and VECTOR_UNIT_VSX_P.
823 (vcond<mode><mode>): Likewise.
824 (vcondu<mode><mode>): Likewise.
825 (vector_gtu<mode>): Likewise.
826 (vector_gte<mode>): Likewise.
827 (xor<mode>3): Don't allow logical operations on TImode in 32-bit
bd059b26 828 to prevent the compiler from converting DImode operations to TImode.
c6d5ff83
MM
829 (ior<mode>3): Likewise.
830 (and<mode>3): Likewise.
831 (one_cmpl<mode>2): Likewise.
832 (nor<mode>3): Likewise.
833 (andc<mode>3): Likewise.
834
835 * config/rs6000/constraints.md (wt constraint): New constraint
836 that returns VSX_REGS if TImode is allowed in VSX registers.
837
838 * config/rs6000/predicates.md (easy_fp_constant): 0.0f is an easy
839 constant under VSX.
840
841 * config/rs6000/rs6000-modes.def (PTImode): Define, PTImode is
842 similar to TImode, but it is restricted to being in the GPRs.
843
844 * config/rs6000/rs6000.opt (-mvsx-timode): New switch to allow
845 TImode to occupy a single VSX register.
846
847 * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Default to
848 -mvsx-timode for power7/power8.
849 (power7 cpu): Likewise.
850 (power8 cpu): Likewise.
851
852 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Make
853 sure that TFmode/TDmode take up two registers if they are ever
854 allowed in the upper VSX registers.
855 (rs6000_hard_regno_mode_ok): If -mvsx-timode, allow TImode in VSX
856 registers.
857 (rs6000_init_hard_regno_mode_ok): Likewise.
858 (rs6000_debug_reg_global): Add debugging for PTImode and wt
859 constraint. Print if LRA is turned on.
860 (rs6000_option_override_internal): Give an error if -mvsx-timode
861 and VSX is not enabled.
862 (invalid_e500_subreg): Handle PTImode, restricting it to GPRs. If
863 -mvsx-timode, restrict TImode to reg+reg addressing, and PTImode
864 to reg+offset addressing. Use PTImode when checking offset
865 addresses for validity.
866 (reg_offset_addressing_ok_p): Likewise.
867 (rs6000_legitimate_offset_address_p): Likewise.
868 (rs6000_legitimize_address): Likewise.
869 (rs6000_legitimize_reload_address): Likewise.
870 (rs6000_legitimate_address_p): Likewise.
871 (rs6000_eliminate_indexed_memrefs): Likewise.
872 (rs6000_emit_move): Likewise.
873 (rs6000_secondary_reload): Likewise.
874 (rs6000_secondary_reload_inner): Handle PTImode. Allow 64-bit
875 reloads to fpr registers to continue to use reg+offset addressing,
876 but 64-bit reloads to altivec registers need reg+reg addressing.
877 Drop test for PRE_MODIFY, since VSX loads/stores no longer support
878 it. Treat LO_SUM like a PLUS operation.
879 (rs6000_secondary_reload_class): If type is 64-bit, prefer to use
bd059b26 880 FLOAT_REGS instead of VSX_RGS to allow use of reg+offset addressing.
c6d5ff83
MM
881 (rs6000_cannot_change_mode_class): Do not allow TImode in VSX
882 registers to share a register with a smaller sized type, since VSX
883 puts scalars in the upper 64-bits.
884 (print_operand): Add support for PTImode.
885 (rs6000_register_move_cost): Use VECTOR_MEM_VSX_P instead of
886 VECTOR_UNIT_VSX_P to catch types that can be loaded in VSX
887 registers, but don't have arithmetic support.
888 (rs6000_memory_move_cost): Add test for VSX.
889 (rs6000_opt_masks): Add -mvsx-timode.
890
891 * config/rs6000/vsx.md (VSm): Change to use 64-bit aligned moves
892 for TImode.
893 (VSs): Likewise.
894 (VSr): Use wt constraint for TImode.
895 (VSv): Drop TImode support.
896 (vsx_movti): Delete, replace with versions for 32-bit and 64-bit.
897 (vsx_movti_64bit): Likewise.
898 (vsx_movti_32bit): Likewise.
899 (vec_store_<mode>): Use VSX iterator instead of vector iterator.
900 (vsx_and<mode>3): Delete use of '?' constraint on inputs, just put
901 one '?' on the appropriate output constraint. Do not allow TImode
902 logical operations on 32-bit systems.
903 (vsx_ior<mode>3): Likewise.
904 (vsx_xor<mode>3): Likewise.
905 (vsx_one_cmpl<mode>2): Likewise.
906 (vsx_nor<mode>3): Likewise.
907 (vsx_andc<mode>3): Likewise.
908 (vsx_concat_<mode>): Likewise.
909 (vsx_xxpermdi_<mode>): Fix thinko for non V2DF/V2DI modes.
910
911 * config/rs6000/rs6000.h (MASK_VSX_TIMODE): Map from
912 OPTION_MASK_VSX_TIMODE.
913 (enum rs6000_reg_class_enum): Add RS6000_CONSTRAINT_wt.
914 (STACK_SAVEAREA_MODE): Use PTImode instead of TImode.
915
916 * config/rs6000/rs6000.md (INT mode attribute): Add PTImode.
917 (TI2 iterator): New iterator for TImode, PTImode.
918 (wd mode attribute): Add values for vector types.
bd059b26
UB
919 (movti_string): Replace TI move operations with operations for TImode
920 and PTImode. Add support for TImode being allowed in VSX registers.
c6d5ff83
MM
921 (mov<mode>_string, TImode/PTImode): Likewise.
922 (movti_ppc64): Likewise.
923 (mov<mode>_ppc64, TImode/PTImode): Likewise.
924 (TI mode splitters): Likewise.
925
926 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wt
927 constraint.
928
1fc5eced
MG
9292013-03-20 Marc Glisse <marc.glisse@inria.fr>
930
931 PR tree-optimization/56355
932 * fold-const.c (tree_binary_nonnegative_warnv_p) <MULT_EXPR>:
933 Also handle integers with undefined overflow.
934
22c4c869
CM
9352013-03-20 Catherine Moore <clm@codesourcery.com>
936 Maciej W. Rozycki <macro@codesourcery.com>
937 Tom de Vries <tom@codesourcery.com>
938 Nathan Sidwell <nathan@codesourcery.com>
939 Iain Sandoe <iain@codesourcery.com>
940 Nathan Froyd <froydnj@codesourcery.com>
941 Chao-ying Fu <fu@mips.com>
942
943 * doc/extend.texi: (micromips, nomicromips, nocompression):
7cf34aae 944 Document new function attributes.
22c4c869
CM
945 * doc/invoke.texi (minterlink-compressed, mmicromips,
946 m14k, m14ke, m14kec): Document new options.
947 (minterlink-mips16): Update documentation.
948 * doc/md.texi (ZC, ZD): Document new constraints.
949 * configure.ac (gcc_cv_as_micromips): Check if linker
950 supports the .set micromips directive.
951 * configure: Regenerate.
952 * config.in: Regenerate.
953 * config/mips/mips-tables.opt: Regenerate.
954 * config/mips/micromips.md: New file.
955 * constraints.md (ZC, ZD): New constraints.
956 * config/mips/predicates.md (movep_src_register): New predicate.
957 (movep_src_operand): New predicate.
958 (non_volatile_mem_operand): New predicate.
959 * config/mips/mips.md (multimem): New type.
960 (length): Differentiate between 17-bit and 18-bit branch offsets.
961 (MOVEP1, MOVEP2): New mode iterator.
962 (mov_<load>l): Use ZC constraint.
963 (mov_<load>r): Likewise.
964 (mov_<store>l): Likewise.
965 (mov_<store>r): Likewise.
966 (*branch_equality<mode>_inverted): Add microMIPS support.
967 (*branch_equality<mode>): Likewise.
968 (*jump_absolute): Likewise.
969 (indirect_jump_<mode>): Likewise.
970 (tablejump_<mode>): Likewise.
971 (<optab>_internal): Likewise.
972 (sibcall_internal): Likewise.
973 (sibcall_value_internal): Likewise.
974 (prefetch): Use constraint ZD.
975 * config/mips/mips.opt (minterlink-compressed): New option.
976 (minterlink-mips16): Now an alias for minterlink-compressed.
977 (mmicromips): New option.
978 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
979 (compare_and_swap_12): Likewise.
980 (sync_add<mode>): Likewise.
981 (sync_<optab>_12): Likewise.
982 (sync_old_<optab>_12): Likewise.
983 (sync_new_<optab>_12): Likewise.
984 (sync_nand_12): Likewise.
985 (sync_old_nand_12): Likewise.
986 (sync_new_nand_12): Likewise.
987 (sync_sub<mode>): Likewise.
988 (sync_old_add<mode>): Likewise.
989 (sync_old_sub<mode>): Likewise.
990 (sync_new_add<mode>): Likewise.
991 (sync_new_sub<mode>): Likewise.
992 (sync_<optab><mode>): Likewise.
993 (sync_old_<optab><mode>): Likewise.
994 (sync_new_<optab><mode>): Likewise.
995 (sync_nand<mode>): Likewise.
996 (sync_old_nand<mode>): Likewise.
997 (sync_new_nand<mode>): Likewise.
998 (sync_lock_test_and_set<mode>): Likewise.
999 (test_and_set_12): Likewise.
1000 (atomic_compare_and_swap<mode>): Likewise.
1001 (atomic_exchange<mode>_llsc): Likewise.
1002 (atomic_fetch_add<mode>_llsc): Likewise.
1003 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
1004 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
1005 (umips_save_restore_pattern_p): Likewise.
1006 (umips_load_store_pair_p): Likewise.
1007 (umips_output_load_store_pair): Likewise.
1008 (umips_movep_target_p): Likewise.
1009 (umips_12bit_offset_address_p): Likewise.
1010 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
1011 (mips_base_mips16): Rename this...
1012 (mips_base_compression_flags): ...to this. Update all uses.
1013 (mips_attribute_table): Add micromips, nomicromips and nocompression.
1014 (mips_mips16_decl_p): Delete.
1015 (mips_nomips16_decl_p): Delete.
1016 (mips_get_compress_on_flags): New function.
1017 (mips_get_compress_off_flags): New function.
1018 (mips_get_compress_mode): New function.
1019 (mips_get_compress_on_name): New function.
1020 (mips_get_compress_off_name): New function.
1021 (mips_insert_attributes): Support multiple compression types.
1022 (mips_merge_decl_attributes): Likewise.
1023 (umips_12bit_offset_address_p): New function.
1024 (mips_start_function_definition): Emit .set micromips directive.
1025 (mips_call_may_need_jalx_p): New function.
1026 (mips_function_ok_for_sibcall): Add microMIPS support.
1027 (mips_print_operand_punctuation): Support short delay slots and
1028 compact jumps.
1029 (umips_swm_mask, umips_swm_encoding): New.
1030 (umips_build_save_restore): New function.
1031 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
1032 (was_mips16_p): Remove.
1033 (old_compression_mode): New.
1034 (mips_set_compression_mode): New function.
1035 (mips_set_current_function): Add microMIPS support.
1036 (mips_option_override): Likewise.
1037 (umips_save_restore_pattern_p): New function.
1038 (umips_output_save_restore): New function.
1039 (umips_load_store_pair_p_1): New function.
1040 (umips_load_store_pair_p): New function.
1041 (umips_output_load_store_pair_1): New function.
1042 (umips_output_load_store_pair): New function.
1043 (umips_movep_target_p) New function.
1044 (mips_prepare_pch_save): Add microMIPS support.
1045 * config/mips/mips.h (TARGET_COMPRESSION): New.
1046 (TARGET_CPU_CPP_BUILTINS): Update macro
1047 to use new compression flags and to support microMIPS.
1048 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
1049 (MIPS_ARCH_FLOAT_SPEC): Likewise.
1050 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
1051 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
1052 (ASM_SPEC): Support mmicromips and mno-micromips.
1053 (M16STORE_REG_P): New macro.
1054 (MIPS_CALL): Support TARGET_MICROMIPS.
1055 (MICROMIPS_J): New macro.
1056 (mips_base_mips16): Rename this...
1057 (mips_base_compression_flags): ...to this.
1058 (UMIPS_12BIT_OFFSET_P): New macro.
1059 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
1060 (MULTILIB_DIRNAMES): Likewise.
92a8d7a7
RB
10612013-03-20 Richard Biener <rguenther@suse.de>
1062
1063 PR tree-optimization/56661
1064 * tree-ssa-sccvn.c (visit_use): Only value-number calls if
1065 the result does not have to be distinct.
1066
54714c68
RB
10672013-03-20 Richard Biener <rguenther@suse.de>
1068
1069 * tree-inline.c (copy_tree_body_r): Sync MEM_REF code with
1070 remap_gimple_op_r.
1071
cca1130d
BS
10722013-03-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1073 Steven Bosscher <steven@gcc.gnu.org>
1074
1075 PR rtl-optimization/56605
1076 * loop-iv.c (implies_p): Handle equal RTXs and subregs.
1077
2a930377
UB
10782013-03-20 Uros Bizjak <ubizjak@gmail.com>
1079
1080 PR bootstrap/56656
1081 * config/i386/i386.md (*movdi_internal): Handle broken assemblers
1082 that require movd instead of movq.
1083
d6d305fe
RB
10842013-03-20 Richard Biener <rguenther@suse.de>
1085
1086 * tree-ssa-structalias.c (struct variable_info): Add pointer
1087 to the first field of an aggregate with sub-vars. Make
1088 this and the pointer to the next subfield its ID.
1089 (vi_next): New function.
1090 (nothing_id, anything_id, readonly_id, escaped_id, nonlocal_id,
1091 storedanything_id, integer_id): Increment by one.
1092 (new_var_info, get_call_vi, lookup_call_clobber_vi,
1093 get_call_clobber_vi): Adjust.
1094 (solution_set_expand): Simplify and speedup.
1095 (solution_set_add): Inline into ...
1096 (set_union_with_increment): ... this. Adjust accordingly.
1097 (do_sd_constraint): Likewise.
1098 (do_ds_constraint): Likewise.
1099 (do_complex_constraint): Simplify.
1100 (build_pred_graph): Adjust.
1101 (solve_graph): Likewise. Simplify and speedup.
1102 (get_constraint_for_ssa_var, get_constraint_for_ptr_offset,
1103 get_constraint_for_component_ref, get_constraint_for_1,
1104 first_vi_for_offset, first_or_preceding_vi_for_offset,
1105 create_function_info_for, create_variable_info_for_1,
1106 create_variable_info_for, intra_create_variable_infos): Adjust.
1107 (init_base_vars): Push NULL for ID zero.
1108 (compute_points_to_sets): Adjust.
1109
a271b42d
RB
11102013-03-20 Richard Biener <rguenther@suse.de>
1111
1112 * cfgloop.c (verify_loop_structure): Streamline and avoid
1113 ICEing on corrupt loop tree.
1114 * graph.c (draw_cfg_nodes_for_loop): Avoid ICEing on corrupt
1115 loop tree.
1116
ebd65954
RB
11172013-03-20 Richard Biener <rguenther@suse.de>
1118
1119 * tree-vect-loop-manip.c (slpeel_can_duplicate_loop_p): Do not
1120 check whether an SSA update is needed.
1121
4547b7ee
RS
11222013-03-20 Richard Sandiford <rdsandiford@googlemail.com>
1123
1124 * config/mips/constraints.md (T): Rename to...
1125 (Yf): ...this.
1126 (U): Rename to...
1127 (Yd): ...this.
1128 * config/mips/mips.md (*movdi_64bit, *movdi_64bit_mips16)
1129 (*mov<mode>_internal, *mov<mode>_mips16): Update accordingly.
1130
0b8cdc58
IB
11312013-03-19 Ian Bolton <ian.bolton@arm.com>
1132
1133 * config/aarch64/aarch64.md (*sub<mode>3_carryin): New pattern.
1134 (*subsi3_carryin_uxtw): Likewise.
1135
5977a10d
IB
11362013-03-19 Ian Bolton <ian.bolton@arm.com>
1137
1138 * config/aarch64/aarch64.md (*ror<mode>3_insn): New pattern.
1139 (*rorsi3_insn_uxtw): Likewise.
1140
bd83ff2c
IB
11412013-03-19 Ian Bolton <ian.bolton@arm.com>
1142
1143 * config/aarch64/aarch64.md (*extr<mode>5_insn): New pattern.
1144 (*extrsi5_insn_uxtw): Likewise.
1145
ba65123c
RB
11462013-03-19 Richard Biener <rguenther@suse.de>
1147
1148 PR tree-optimization/56273
1149 * passes.c (init_optimization_passes): Move second VRP after DOM.
1150
2eac0476
UB
11512013-03-19 Uros Bizjak <ubizjak@gmail.com>
1152
1153 * config/i386/i386.md (*movti_internal): Merge from
1154 *movti_internal_rex64 and *movti_internal_sse. Use x64 isa attribute.
1155 (*movdi_internal): Merge with *movdi_internal_rex64. Use x64 and
1156 nox64 isa attributes.
1157
6e55eda7
RB
11582013-03-18 Richard Biener <rguenther@suse.de>
1159
1160 * tree-ssa-structalias.c (find): Use gcc_checking_assert.
1161 (unite): Likewise.
1162 (merge_node_constraints): Likewise.
1163 (build_succ_graph): Likewise.
1164 (valid_graph_edge): Inline into single caller.
1165 (unify_nodes): Likewise. Use bitmap_set_bit return value
1166 and cache varinfo.
1167 (scc_visit): Fix formatting and variable use.
1168 (do_sd_constraint): Use gcc_checking_assert.
1169 (do_ds_constraint): Likewise.
1170 (do_complex_constraint): Likewise.
1171 (condense_visit): Likewise. Cleanup.
1172 (dump_pred_graph): New function.
1173 (perform_var_substitution): Dump the pred-graph before
1174 variable substitution.
1175 (find_equivalent_node): Use gcc_checking_assert.
1176 (rewrite_constraints): Guard checking loop with ENABLE_CHECKING.
1177
4bdd44c4
RB
11782013-03-18 Richard Biener <rguenther@suse.de>
1179
1180 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
1181 Remove cond_expr_stmt_list argument and do not gimplify the
1182 built expression.
1183 (vect_loop_versioning): Adjust.
1184 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
1185 Cleanup to use less temporaries.
1186 (vect_create_data_ref_ptr): Cleanup.
1187
38c56a5b
JJ
11882013-03-18 Jakub Jelinek <jakub@redhat.com>
1189
1190 PR tree-optimization/56635
1191 * fold-const.c (operand_equal_p): For MEM_REF and TARGET_MEM_REF,
1192 require types_compatible_p types.
1193
20b2e6a0
NC
11942013-03-18 Nick Clifton <nickc@redhat.com>
1195
a6178a25
NC
1196 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Remove
1197 spurious backslash.
1198
20b2e6a0
NC
1199 * config/mn10300/mn10300.c (mn10300_get_live_callee_saved_regs):
1200 Add missing line to comment describing function.
1201
92608d0e
RB
12022013-03-18 Richard Biener <rguenther@suse.de>
1203
1204 PR tree-optimization/56210
1205 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
1206 Handle string / character search functions.
1207 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
1208
31348d52
RB
12092013-03-18 Richard Biener <rguenther@suse.de>
1210
1211 PR middle-end/56483
1212 * cfgexpand.c (expand_gimple_cond): Inline gimple_cond_single_var_p
1213 and implement properly.
1214 * gimple.h (gimple_cond_single_var_p): Remove.
1215
fcac74a1
RB
12162013-03-18 Richard Biener <rguenther@suse.de>
1217
1218 * tree-data-ref.h (find_data_references_in_loop): Declare.
1219 * tree-data-ref.c (get_references_in_stmt): Use a stack
1220 vector pre-allocated in the callers.
1221 (find_data_references_in_stmt): Adjust.
1222 (graphite_find_data_references_in_stmt): Likewise.
1223 (create_rdg_vertices): Likewise.
1224 (find_data_references_in_loop): Export.
1225 * tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
1226 Compute dependences here...
1227 (vect_analyze_data_refs): ...not here. When we encounter
1228 a non-vectorizable data reference in basic-block vectorization
1229 truncate the data reference vector. Do not bother to
1230 fixup data-dependence information for gather loads.
1231 * tree-vect-slp.c (vect_slp_analyze_bb_1): Check the number
1232 of data references, as reported.
1233
0d5a1b56
RB
12342013-03-18 Richard Biener <rguenther@suse.de>
1235
1236 PR tree-optimization/3713
1237 * tree-ssa-sccvn.c (visit_copy): Simplify. Always propagate
1238 has_constants and expr.
1239 (stmt_has_constants): Properly valueize SSA names when deciding
1240 whether the stmt has constants.
1241
789c34e3
RB
12422013-03-18 Richard Biener <rguenther@suse.de>
1243
1244 * tree-ssa-loop-manip.c (find_uses_to_rename): Do not scan the
1245 whole function when there is nothing to do.
1246 * tree-ssa-loop.c (pass_vectorize): Remove TODO_update_ssa.
1247 * tree-vectorizer.c (vectorize_loops): Update virtual and
1248 loop-closed SSA once.
1249 * tree-vect-loop.c (vect_transform_loop): Do not update SSA here.
1250
076b4605
RB
12512013-03-18 Richard Biener <rguenther@suse.de>
1252
1253 PR middle-end/56113
1254 * domwalk.c (bb_postorder): New global static.
1255 (cmp_bb_postorder): New function.
1256 (walk_dominator_tree): Replace scheme imposing an order for
1257 visiting dominator sons by one sorting them at the time they
1258 are pushed on the stack.
1259
bdb01696
RB
12602013-03-18 Richard Biener <rguenther@suse.de>
1261
1262 PR tree-optimization/39326
1263 * tree-ssa-loop-im.c (refs_independent_p): Exploit symmetry.
1264 (struct mem_ref): Replace mem member with ao_ref typed member.
1265 (MEM_ANALYZABLE): Adjust.
1266 (memref_eq): Likewise.
1267 (mem_ref_alloc): Likewise.
1268 (gather_mem_refs_stmt): Likewise.
1269 (mem_refs_may_alias_p): Use the ao_ref to query the alias oracle.
1270 (execute_sm_if_changed_flag_set): Adjust.
1271 (execute_sm): Likewise.
1272 (ref_always_accessed_p): Likewise.
1273 (refs_independent_p): Likewise.
1274 (can_sm_ref_p): Likewise.
1275
12d2dc5e
JJ
12762013-03-18 Jakub Jelinek <jakub@redhat.com>
1277
1278 PR c/56566
1279 * tree.c (tree_int_cst_min_precision): For integer_zerop (value)
1280 return 1 even for !unsignedp.
1281
286fb677
UB
12822013-03-17 Uros Bizjak <ubizjak@gmail.com>
1283
1284 * config/i386/i386.md (isa): Add x64 and nox64.
1285 (enabled): Define x64 for TARGET_64BIT and nox64 for !TARGET_64BIT.
1286 (*pushtf): Enable *roF alternative for x64 isa only.
1287 (*pushxf): Merge with *pushxf_nointeger. Use Yx*r constraint. Set
1288 mode attribute of integer alternatives to DImode for TARGET_64BIT.
1289 (*pushdf): Merge with *pushdf_rex64. Use x64 and nox64 isa attributes.
1290 (*movtf_internal): Merge from *movtf_internal_rex64 and
1291 *movtf_internal_sse. Use x64 and nox64 isa attributes.
1292 (*movxf_internal): Merge with *movxf_internal_rex64. Use x64 and
1293 nox64 isa attributes.
1294 (*movdf_internal): Merge with *movdf_internal_rex64. Use x64 and
1295 nox64 isa attributes.
1296 * config/i386/constraints.md (Yd): Do not set for TARGET_64BIT.
1297
88b97037
UB
12982013-03-17 Uros Bizjak <ubizjak@gmail.com>
1299
1300 * config/alpha/alpha.c (TARGET_LRA_P): New define.
1301
9f4f1735
JJ
13022013-03-17 Jakub Jelinek <jakub@redhat.com>
1303
1304 PR target/56640
1305 * config/arm/arm.h (REG_CLASS_NAMES): Add "SFP_REG" and "AFP_REG"
1306 class names. Remove trailing comma after "ALL_REGS".
1307
48f4a6fa
JH
13082013-03-16 Jan Hubicka <jh@suse.cz>
1309
1310 * cgraph.h (cgraph_get_create_real_symbol_node): Declare.
1311 * cgraph.c (cgraph_get_create_real_symbol_node): New function.
1312 * cgrpahbuild.c: Use cgraph_get_create_real_symbol_node instead
1313 of cgraph_get_create_node.
1314 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
1315
98e81123
JM
13162013-03-16 Jason Merrill <jason@redhat.com>
1317
1318 PR debug/49090
1319 * dwarf2out.c (gen_generic_params_dies): Indicate default arguments
1320 with DW_AT_default_value.
1321
8a298c04
JJ
13222013-03-16 Jakub Jelinek <jakub@redhat.com>
1323
1324 * BASE-VER: Set to 4.9.0.
1325
4323afa0
AK
13262013-03-14 Andi Kleen <ak@linux.intel.com>
1327
1328 PR target/56619
1329 * doc/extend.texi: Document __ATOMIC_HLE_ACQUIRE,
1330 __ATOMIC_HLE_RELEASE. Document __builtin_ia32 TSX intrincs.
1331 Document _x* TSX intrinsics.
1332
b3c0d469
JJ
13332013-03-14 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
1334 David Holsgrove <david.holsgrove@xilinx.com>
8cc9a5a5
EI
1335
1336 * configure.ac: Add MicroBlaze TLS support detection.
1337 * configure: Regenerate.
88b97037
UB
1338 * config/microblaze/microblaze-protos.h
1339 (microblaze_cannot_force_const_mem, microblaze_tls_referenced_p,
1340 symbol_mentioned_p, label_mentioned_p): Add prototypes.
1341 * config/microblaze/microblaze.c (microblaze_address_type): Add
1342 ADDRESS_TLS and tls_reloc address types.
8cc9a5a5
EI
1343 (microblaze_address_info): Add tls_reloc.
1344 (TARGET_HAVE_TLS): Define.
1345 (get_tls_get_addr, microblaze_tls_symbol_p, microblaze_tls_operand_p_1,
1346 microblaze_tls_referenced_p, microblaze_cannot_force_const_mem,
88b97037
UB
1347 symbol_mentioned_p, label_mentioned_p, tls_mentioned_p,
1348 load_tls_operand, microblaze_call_tls_get_addr,
1349 microblaze_legitimize_tls_address): New functions.
8cc9a5a5
EI
1350 (microblaze_classify_unspec): Handle UNSPEC_TLS.
1351 (get_base_reg): Use microblaze_tls_symbol_p.
1352 (microblaze_classify_address): Handle TLS.
88b97037
UB
1353 (microblaze_legitimate_pic_operand): Use symbol_mentioned_p,
1354 label_mentioned_p and microblaze_tls_referenced_p.
8cc9a5a5
EI
1355 (microblaze_legitimize_address): Handle TLS.
1356 (microblaze_address_insns): Handle ADDRESS_TLS.
1357 (pic_address_needs_scratch): Handle TLS.
1358 (print_operand_address): Handle TLS.
1359 (microblaze_expand_prologue): Check TLS_NEEDS_GOT.
1360 (microblaze_expand_move): Handle TLS.
88b97037
UB
1361 (microblaze_legitimate_constant_p): Check
1362 microblaze_cannot_force_const_mem and microblaze_tls_symbol_p.
8cc9a5a5
EI
1363 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
1364 * config/microblaze/microblaze.h (TLS_NEEDS_GOT): Define
1365 (PIC_OFFSET_TABLE_REGNUM): Set.
1366 * config/microblaze/linux.h (TLS_NEEDS_GOT): Define.
1367 * config/microblaze/microblaze.md (UNSPEC_TLS): Define.
1368 (addsi3, movsi_internal2, movdf_internal): Update constraints
1369 * config/microblaze/predicates.md (arith_plus_operand): Define
88b97037
UB
1370 (move_operand): Redefine as move_src_operand,
1371 check microblaze_tls_referenced_p.
8cc9a5a5 1372
d803a491
IB
13732013-03-14 Ian Bolton <ian.bolton@arm.com>
1374
1375 * config/aarch64/aarch64.md: (*and<mode>3nr_compare0): Use CC_NZ.
1376 (*and_<SHIFT:optab><mode>3nr_compare0): Likewise.
1377
a8504f22
IB
13782013-03-14 Ian Bolton <ian.bolton@arm.com>
1379
1380 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Return correct
1381 CC mode for AND.
1382
df2dfaea
JJ
13832013-03-14 Jakub Jelinek <jakub@redhat.com>
1384
fbd28bc3
JJ
1385 PR tree-optimization/53265
1386 * common.opt (Waggressive-loop-optimizations): New option.
1387 * tree-ssa-loop-niter.c: Include tree-pass.h.
1388 (do_warn_aggressive_loop_optimizations): New function.
1389 (record_estimate): Call it. Don't add !is_exit bounds to loop->bounds
1390 if number_of_latch_executions returned constant.
1391 (estimate_numbers_of_iterations_loop): Call number_of_latch_executions
1392 early. If number_of_latch_executions returned constant, set
1393 nb_iterations_upper_bound back to it.
1394 * cfgloop.h (struct loop): Add warned_aggressive_loop_optimizations
1395 field.
1396 * Makefile.in (tree-ssa-loop-niter.o): Depend on $(TREE_PASS_H).
1397 * doc/invoke.texi (-Wno-aggressive-loop-optimizations): Document.
1398
df2dfaea
JJ
1399 * config/aarch64/t-aarch64-linux (MULTARCH_DIRNAME): Remove.
1400 (MULTILIB_OSDIRNAMES): Set.
1401 * genmultilib: If defaultosdirname doesn't start with :: , set
1402 defaultosdirname2 instead, clear it and emit two . multilib_raw
1403 entries instead of just one.
1404
ee0d2b68
KK
14052013-03-14 Kaz Kojima <kkojima@gcc.gnu.org>
1406
1407 * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1408 (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
1409 * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1410 (SUBTARGET_OVERRIDE_OPTIONS): New.
1411
decc676e
OE
14122013-03-13 Oleg Endo <olegendo@gcc.gnu.org>
1413
1414 PR target/49880
1415 * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
1416 (musermode): Convert to Var(TARGET_USERMODE).
1417 * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
1418 MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
1419 * config/sh/sh.c (sh_option_override): Use
1420 TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
1421 * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
1422 condition.
1423 (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
1424 TARGET_SH4.
1425 (udivsi3_i4_single, divsi3_i4_single): Use
1426 TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
1427
f4b719c7
DK
14282013-03-13 Dave Korn <dave.korn.cygwin@....>
1429
1430 * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): Make shared libgcc the
1431 default setting.
1432
c40eced0
RB
14332013-03-13 Richard Biener <rguenther@suse.de>
1434
1435 PR tree-optimization/56608
1436 * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
1437 calls when vectorizing basic-blocks.
1438
1bfa5973
JJ
14392013-03-13 Jakub Jelinek <jakub@redhat.com>
1440
1441 PR plugins/45078
1442 * config.gcc: On arm, mips, sh and sparc add vxworks-dummy.h to
1443 tm_file.
1444
6fcf5434
JJ
14452013-03-12 Jakub Jelinek <jakub@redhat.com>
1446
1447 * doc/invoke.texi (-Waddr-space-convert): Move into the table earlier.
1448
4f38fa8c
JH
14492013-03-11 Jan Hubicka <jh@suse.cz>
1450
1451 PR lto/56557
1452 * lto-streamer-out.c (output_symbol_p): Skip references from
1453 constructors of external variables.
1454
c5c5ba89
JH
14552013-03-11 Jan Hubicka <jh@suse.cz>
1456
1457 PR middle-end/56571
1458 * valtrack.c (cleanup_auto_inc_dec): Unshare clobbers originating
1459 from pseudos.
1460 * emit-rtl.c (verify_rtx_sharing): Likewise.
1461 (copy_insn_1): Likewise.
1462 * rtl.c (copy_rtx): Likewise.
1463
c2a939b1
GJL
14642013-03-11 Georg-Johann Lay <avr@gjlay.de>
1465
1466 PR target/56591
1467 * config/avr/avr.c (avr_print_operand): Add space after '%c' in
1468 output_operand_lossage message.
88b97037 1469
3c3279fb
RE
14702013-03-11 Richard Earnshaw <rearnsha@arm.com>
1471
1472 PR target/56470
1473 * arm.c (shift_op): Validate RTL pattern on the fly.
1474 (arm_print_operand, case 'S'): Don't use shift_operator to validate
1475 the RTL.
1476
aef5ef9d
JDA
14772013-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1478
1479 PR target/56347
1480 * config/pa/pa.md (call_value): Check for calls to powf and direct to
1481 new call patterns that clobber %fr12.
1482 (call_val_powf, call_val_powf_pic, call_val_powf_64bit): New insn,
1483 split and postreload patterns.
1484 * config/pa/pa.c (pa_conditional_register_usage): Revert marking
1485 registers %fr12 and %fr12R as call used.
1486
456610d3
SB
14872013-03-09 Steven Bosscher <steven@gcc.gnu.org>
1488
1489 * dse.c (delete_dead_store_insn): Respect TDF_DETAILS.
1490 (canon_address, record_store, replace_read, check_mem_read_rtx,
1491 scan_insn, dse_step1, dse_step2_init, dse_step2_spill,
1492 dse_step4, dse_step5_nospill, dse_step5_spill, dse_step6,
1493 rest_of_handle_dse): Likewise.
1494
4b1baac8
RS
14952013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
1496
1497 PR middle-end/56524
1498 * tree.h (tree_optimization_option): Rename target_optabs to optabs.
1499 Add base_optabs.
1500 (TREE_OPTIMIZATION_OPTABS): Update after previous field change.
1501 (TREE_OPTIMIZATION_BASE_OPTABS): New macro.
1502 (save_optabs_if_changed): Replace with...
1503 (init_tree_optimization_optabs): ...this.
1504 * optabs.c (save_optabs_if_changed): Rename to...
1505 (init_tree_optimization_optabs): ...this. Take the optimization node
1506 as argument. Do nothing if the base optabs are already correct.
1507 Reuse the existing TREE_OPTIMIZATION_OPTABS memory if we need
1508 to recompute optabs.
1509 * function.h (function): Remove optabs field.
1510 * function.c (invoke_set_current_function_hook): Call
1511 init_tree_optimization_optabs. Use the result to initialize
1512 this_fn_optabs.
1513
b7a78683
AH
15142013-02-27 Aldy Hernandez <aldyh@redhat.com>
1515
1516 * trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE
1517 if GTMA_HAS_NO_INSTRUMENTATION.
1518 (generate_tm_state): Keep GTMA_HAS_NO_INSTRUMENTATION bit.
1519 (ipa_tm_transform_transaction): Set GTMA_HAS_NO_INSTRUMENTATION.
1520 * gimple.h (GTMA_HAS_NO_INSTRUMENTATION): Define.
1521 * gimple-pretty-print.c (dump_gimple_transaction): Handle
1522 GTMA_HAS_NO_INSTRUMENTATION.
1523
6384c29b
JJ
15242013-03-08 Jakub Jelinek <jakub@redhat.com>
1525
1526 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Don't link against
1527 libasan_preinit.o.
1528
ecd4f20a
MP
15292013-03-08 Marek Polacek <polacek@redhat.com>
1530 Jakub Jelinek <jakub@redhat.com>
1531
1532 PR tree-optimization/56478
1533 * predict.c (is_comparison_with_loop_invariant_p): Change the
1534 type of loop_step to tree.
1535 (predict_loops): Adjust.
1536 (predict_iv_comparison): Perform the computations on double_ints.
1537
64366d35
RB
15382013-03-08 Richard Biener <rguenther@suse.de>
1539
1540 PR tree-optimization/56570
1541 * tree-cfg.c (verify_expr_location_1): Verify locations for
1542 DECL_DEBUG_EXPR.
1543 * tree-sra.c (create_access_replacement): Strip locations
1544 from DECL_DEBUG_EXPRs.
1545
a9d5a059
RB
15462013-03-08 Richard Biener <rguenther@suse.de>
1547
1548 * tree-inline.c (expand_call_inline): Do not associate
1549 a BLOCK with the location in BLOCK_SOURCE_LOCATION.
1550 * tree-cfg.c (verify_location): Verify BLOCK_SOURCE_LOCATION.
1551
b7aa4e9a
RB
15522013-03-08 Richard Biener <rguenther@suse.de>
1553
1554 * tree-ssa-ter.c (is_replaceable_p): Do not TER across location
1555 or block changes with -Og. Fix for location / block encoding
1556 changes and PHI arguments with locations.
1557
c4c2f9fa
SB
15582013-03-07 Steven Bosscher <steven@gcc.gnu.org>
1559
1560 * bitmap.c (struct bitmap_descriptor_d): Use unsigned HOST_WIDEST_INT
1561 for all counters.
1562 (struct output_info): Likewise.
1563 (register_overhead): Remove bad gcc_assert.
1564 (bitmap_find_bit): If there is only a single bitmap element, do not
1565 count a miss as a search.
1566 (print_statistics): Update for counter type changes.
1567 (dump_bitmap_statistics): Likewise. Print headers such that they
1568 are properly lined up with the printed counters.
1569
5bf6606a
JJ
15702013-03-07 Jakub Jelinek <jakub@redhat.com>
1571
1572 PR tree-optimization/56559
1573 * tree-ssa-reassoc.c (zero_one_operation): When looking at rhs2,
1574 check that it has only a single use.
1575
2c653d46
RB
15762013-03-07 Richard Biener <rguenther@suse.de>
1577
1578 * doc/invoke.texi (fwhole-program): Discourage use in combination
1579 with -flto.
1580
a72d8780
JJ
15812013-03-06 Jakub Jelinek <jakub@redhat.com>
1582
01a454df
JJ
1583 * config/arm/t-arm (TM_H, OPTIONS_H_EXTRA): Add arm-cores.def.
1584
c1781047
JJ
1585 PR tree-optimization/56539
1586 * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
1587 instead of GSI_CONTINUE_LINKING as last argument to
1588 force_gimple_operand_gsi. Adjust function comment.
1589
9772c47a
JJ
1590 * config/aarch64/t-aarch64 (TM_H, OPTIONS_H_EXTRA): Add
1591 aarch64-cores.def.
1592
a72d8780
JJ
1593 PR middle-end/56548
1594 * expr.c (expand_cond_expr_using_cmove): When expanding cmove in
1595 promoted mode, convert the result back to the original mode.
1596
fa5556de
RB
15972013-03-06 Richard Biener <rguenther@suse.de>
1598
1599 PR middle-end/56294
1600 * tree-into-ssa.c (insert_phi_nodes_for): Add dumping.
1601 (insert_updated_phi_nodes_compare_uids): New function.
1602 (update_ssa): Sort symbols_to_rename after UID before
1603 traversing it to insert PHI nodes.
1604
010403d1
RB
16052013-03-06 Richard Biener <rguenther@suse.de>
1606
1607 PR middle-end/50494
1608 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
1609 Do not adjust alignment of DECL_IN_CONSTANT_POOL decls.
1610
1611 Revert
1612 2013-02-13 Richard Biener <rguenther@suse.de>
1613
1614 PR lto/50494
1615 * varasm.c (output_constant_def_1): Get the decl representing
1616 the constant as argument.
1617 (output_constant_def): Wrap output_constant_def_1.
1618 (make_decl_rtl): Use output_constant_def_1 with the decl
1619 representing the constant.
1620 (build_constant_desc): Optionally re-use a decl already
1621 representing the constant.
1622 (tree_output_constant_def): Adjust.
1623
3c27ce4c
JY
16242013-03-06 Joey Ye <joey.ye@arm.com>
1625
1626 PR lto/50293
1627 * gcc.c (convert_white_space): New function.
1628 (main): Handles white space in function name.
1629
8f6d1c86
OE
16302013-03-06 Oleg Endo <olegendo@gcc.gnu.org>
1631
1632 PR target/56529
1633 * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
1634 instead of TARGET_SH2 for call-table case. Do not set sh_div_strategy
1635 to SH_DIV_CALL_TABLE for TARGET_SH2.
1636 * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
1637 list.
1638 * doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp,
1639 call-table options.
1640
798a209f
SA
16412013-03-05 Sterling Augustine <saugustine@google.com>
1642 Cary Coutant <ccoutant@google.com>
1643
1644 PR debug/55364
1645 * dwarf2out.c (resolve_addr): Don't call
1646 remove_loc_list_addr_table_entries a second time for the same
1647 expression.
1648
6cfa417f 16492013-03-05 Jakub Jelinek <jakub@redhat.com>
ee61ea38 1650
6cfa417f
JJ
1651 PR debug/56510
1652 * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
1653 (avoid_complex_debug_insns): New function.
1654 (expand_debug_locations): Call it.
1655
1656 PR rtl-optimization/56484
1657 * ifcvt.c (noce_process_if_block): If else_bb is NULL, avoid extending
1658 lifetimes of hard registers on small register class machines.
1659
16602013-03-05 David Holsgrove <david.holsgrove@xilinx.com>
1661
1662 * config/microblaze/microblaze-protos.h: Rename
ee61ea38 1663 microblaze_is_interrupt_handler to microblaze_is_interrupt_variant.
6cfa417f 1664 * config/microblaze/microblaze.c (microblaze_attribute_table): Add
ee61ea38
DH
1665 fast_interrupt.
1666 (microblaze_fast_interrupt_function_p): New function.
1667 (microblaze_is_interrupt_handler): Rename to
1668 microblaze_is_interrupt_variant and add fast_interrupt check.
1669 (microblaze_must_save_register): Use microblaze_is_interrupt_variant.
1670 (save_restore_insns): Likewise.
1671 (compute_frame_size): Likewise.
1672 (microblaze_function_prologue): Add FAST_INTERRUPT_NAME.
1673 (microblaze_globalize_label): Likewise.
6cfa417f
JJ
1674 * config/microblaze/microblaze.h: Define FAST_INTERRUPT_NAME.
1675 * config/microblaze/microblaze.md: Use wrapper
ee61ea38
DH
1676 microblaze_is_interrupt_variant.
1677
731aefac
KT
16782013-03-05 Kai Tietz <ktietz@redhat.com>
1679
1680 * sdbout.c (sdbout_one_type): Switch to current function's section
1681 supporting cold/hot.
1682
a72d8780 16832013-03-05 David Holsgrove <david.holsgrove@xilinx.com>
e34fd5a7
DH
1684
1685 * doc/invoke.texi (MicroBlaze): Add -mbig-endian, -mlittle-endian,
1686 -mxl-reorder.
1687
334e71e8
JJ
16882013-03-05 Jakub Jelinek <jakub@redhat.com>
1689
0b50e654
JJ
1690 PR middle-end/56461
1691 * ggc-common.c (gt_pch_save): For ENABLE_VALGRIND_CHECKING,
1692 if VALGRIND_GET_VBITS is defined, temporarily make object
1693 memory all defined, and restore previous valgrind addressability
1694 and definability afterwards. Free this_object at the end.
1695
4ccf8f43
JJ
1696 PR middle-end/56461
1697 * lra.c (lra): Call lra_clear_live_ranges if live_p,
1698 right before calling lra_create_live_ranges, also call it
1699 when clearing live_p. Only call lra_clear_live_ranges
1700 at the end if live_p.
1701
334e71e8
JJ
1702 PR middle-end/56461
1703 * sched-deps.c (delete_dep_node): Free DEP_REPLACE.
1704
9ca966ca
RB
17052013-03-05 Richard Biener <rguenther@suse.de>
1706
1707 PR tree-optimization/56521
1708 * tree-ssa-sccvn.c (set_value_id_for_result): Always initialize
1709 value-id.
1710
d273b176
SB
17112013-03-05 Steven Bosscher <steven@gcc.gnu.org>
1712
1713 PR c++/55135
1714 * except.h (remove_unreachable_eh_regions): New prototype.
1715 * except.c (remove_eh_handler_splicer): New function, split out
1716 of remove_eh_handler.
1717 (remove_eh_handler): Use remove_eh_handler_splicer. Add comment
1718 warning about running it on many EH regions one at a time.
1719 (remove_unreachable_eh_regions_worker): New function, walk the
1720 EH tree in depth-first order and remove non-marked regions.
1721 (remove_unreachable_eh_regions): New function.
1722 * tree-eh.c (mark_reachable_handlers): New function, split out
1723 from remove_unreachable_handlers.
1724 (remove_unreachable_handlers): Use mark_reachable_handlers and
1725 remove_unreachable_eh_regions.
1726 (remove_unreachable_handlers_no_lp): Use mark_reachable_handlers
1727 and remove_unreachable_eh_regions.
1728
5e7f1aef
RB
17292013-03-05 Richard Biener <rguenther@suse.de>
1730
1731 PR middle-end/56525
1732 * loop-init.c (fix_loop_structure): Remove loops in two stages,
1733 not freeing them until the end.
1734
f276b762
AK
17352013-03-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1736
1737 * config/s390/s390.h: Define DWARF2_ASM_LINE_DEBUG_INFO.
1738
12a43ab8
RB
17392013-03-05 Richard Biener <rguenther@suse.de>
1740
1741 PR tree-optimization/56270
1742 * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
1743 of loads after scheduling an SLP instance.
1744
93675444
JJ
17452013-03-05 Jakub Jelinek <jakub@redhat.com>
1746
db4138e3
JJ
1747 * Makefile.in (dg_target_exps): Add aarch64.exp, epiphany.exp and
1748 tic6x.exp.
1749 (check_gcc_parallelize): Run guality.exp as a separate job from
1750 vect.exp with unsorted.exp and $(dg_target_exps) separately from
1751 struct-layout-1.exp with stackalign.exp.
1752
dd3d1ec0
JJ
1753 * alias.c (init_alias_analysis): Clear reg_known_equiv_p bitmap.
1754
b8d381a3
JJ
1755 PR middle-end/56461
1756 * tree-vect-slp.c (vect_supported_load_permutation_p): Free
1757 load_index sbitmap even if some bit in it isn't set.
1758
b4f9786b
JJ
1759 PR middle-end/56461
1760 * tree-ssa-loop-niter.c (bb_queue): Remove typedef.
1761 (discover_iteration_bound_by_body_walk): Change queues to
1762 vec<vec<basic_block> > and queue to vec<basic_block>. Fix up
1763 spelling in comment. Call safe_push on queues[bound_index] directly.
1764 Release queues[queue_index] in every iteration unconditionally.
1765 Release bounds vector.
1766
93675444
JJ
1767 PR middle-end/56461
1768 * tree-vect-stmts.c (free_stmt_vec_info_vec): Call
1769 free_stmt_vec_info on any left-over stmt_vec_info in the vector.
1770 * tree-vect-loop.c (vect_create_epilog_for_reduction): Release
1771 inner_phis vector.
1772
3e492e9c
RB
17732013-03-05 Richard Biener <rguenther@suse.de>
1774
1775 PR lto/56515
1776 * tree-inline.c (remap_blocks_to_null): New function.
1777 (expand_call_inline): When expanding a call stmt without
1778 an associated block inline remap all callee blocks to NULL.
1779
a5d1569a
JJ
17802013-03-05 Jakub Jelinek <jakub@redhat.com>
1781
86efb5cd
JJ
1782 PR rtl-optimization/56494
1783 * simplify-rtx.c (simplify_truncation): If C is narrower than A,
1784 optimize (truncate:A (subreg:B (truncate:C X) 0)) into
1785 (subreg:A (truncate:C X) 0) instead of (truncate:A X).
1786
85f5dbea
JJ
1787 PR middle-end/56461
1788 * sel-sched-ir.c (free_sched_pools): Release
1789 succs_info_pool.stack[succs_info_pool.max_top] vectors too
1790 if succs_info_pool.max_top isn't -1.
1791
a5d1569a
JJ
1792 PR bootstrap/56509
1793 * opts.c (opts_obstack, opts_concat): Moved to...
1794 * opts-common.c (opts_obstack, opts_concat): ... here.
1795
4432aa6c
JJ
17962013-03-04 Jakub Jelinek <jakub@redhat.com>
1797
1798 PR middle-end/56461
1799 * diagnostic.c (diagnostic_append_note): Save and restore old prefix.
1800
f3a1fb91
MJ
18012013-03-04 Martin Jambor <mjambor@suse.cz>
1802
1803 * tree-dfa.c (get_or_create_ssa_default_def): Use parameter fn in
1804 all appropriate places.
1805
22110e6c
EB
18062013-01-04 Eric Botcazou <ebotcazou@adacore.com>
1807
1808 PR tree-optimization/56424
1809 * ipa-split.c (split_function): Do not set the RSO flag if result is
1810 not by reference and its type is a register type.
1811
a72d8780 18122013-03-04 David Holsgrove <david.holsgrove@xilinx.com>
91c4e421 1813
88b97037 1814 * config/microblaze/microblaze.c (microblaze_valid_pic_const): New
91c4e421 1815 (microblaze_legitimate_pic_operand): Likewise
88b97037 1816 * config/microblaze/microblaze.h (LEGITIMATE_PIC_OPERAND_P): calls
91c4e421
DH
1817 new function microblaze_legitimate_pic_operand
1818 * config/microblaze/microblaze-protos.h
1819 (microblaze_legitimate_pic_operand): Declare.
1820
a72d8780 18212013-03-04 Edgar E. Iglesias <edgar.iglesias@gmail.com>
82f8f53a 1822
a72d8780 1823 * config/microblaze/predicates.md (call_insn_simple_operand):
82f8f53a 1824 New predicate for supported rtx code types.
a72d8780 1825 * config/microblaze/microblaze.md (call_internal1): Use
82f8f53a
EI
1826 call_insn_simple_operand predicate.
1827
541d9ac8
JJ
18282013-03-04 Jakub Jelinek <jakub@redhat.com>
1829
5eb010bc
JJ
1830 PR middle-end/56461
1831 * tree-loop-distribution.c (ldist_gen): Call partition_free after each
1832 partitions.ordered_remove.
1833
30862efc
JJ
1834 PR middle-end/56461
1835 * tree-vect-stmts.c (vectorizable_conversion): Don't call
1836 vec_oprnds0.create (1) for modifier == NONE.
1837
8930f723
JJ
1838 PR middle-end/56461
1839 * tree-vect-stmts.c (vectorizable_shift): Don't call create methods
1840 on vec_oprnds0 or vec_oprnds1 before loop, only call it on
1841 vec_oprnds1 right before pushing anything to it for
1842 scalar_shift_arg.
1843
541d9ac8
JJ
1844 PR middle-end/56461
1845 * tree-vect-loop.c (destroy_loop_vec_info): For !clean_stmts, just
1846 set nbbs to 0 instead of having separate code path.
1847 (vect_analyze_loop_form): Call destroy_loop_vec_info with true
1848 instead of false as last argument if returning NULL.
1849
7aa7f2e3
SL
18502013-03-03 Sandra Loosemore <sandra@codesourcery.com>
1851
1852 * target.def (TARGET_OPTION_VALID_ATTRIBUTE_P): Update comments;
1853 the attribute is now called "target" instead of "option".
1854 (TARGET_OPTION_PRAGMA_PARSE): Likewise, for the pragma.
1855 * doc/tm.texi.in (Target Attributes): Likewise document the correct
1856 attribute/pragma name for TARGET_OPTION_VALID_P and
1857 TARGET_OPTION_PRAGMA_PARSE. Also copy-edit and correct markup.
1858 * doc/tm.texi: Regenerated.
1859
8930f723 18602013-03-02 David Holsgrove <david.holsgrove@xilinx.com>
cb8a1637 1861
8930f723 1862 * config/microblaze/microblaze.c:
cb8a1637 1863 Check mcpu, pcmp requirement and set TARGET_REORDER to 0 if not met.
8930f723
JJ
1864 * config/microblaze/microblaze.h: Add -mxl-reorder to
1865 DRIVER_SELF_SPECS.
1866 * config/microblaze/microblaze.md: New bswapsi2 and bswaphi2.
1867 instructions emitted if TARGET_REORDER.
88b97037
UB
1868 * config/microblaze/microblaze.opt: New option -mxl-reorder set to 1
1869 or 0 for -m/-mno case, but initialises as 2 to detect default use case
8930f723 1870 separately.
cb8a1637 1871
4dc1d68c
XDL
18722013-03-01 Xinliang David Li <davidxl@google.com>
1873
1874 * tree-ssa-uninit.c (compute_control_dep_chain): Limit post-dom
1875 walk length.
1876
689eaba3
JJ
18772013-03-01 Jakub Jelinek <jakub@redhat.com>
1878
9d676bf6
JJ
1879 PR middle-end/56461
1880 * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Release path
1881 vector even when returning true. Fix up function comment formatting.
1882
caff7edf
JJ
1883 PR middle-end/56461
1884 * ira-build.c (ira_loop_nodes_count): New variable.
1885 (create_loop_tree_nodes): Initialize it.
1886 (finish_loop_tree_nodes): Use it instead of looking at current_loops.
1887
b6b9227d
JJ
1888 PR middle-end/56461
1889 * tree-vect-data-refs.c (vect_permute_store_chain): Avoid using copy
1890 method on dr_chain and result_chain.
1891 * tree-vect-stmts.c (vectorizable_store): Only call
1892 result_chain.create if j == 0.
1893
689eaba3
JJ
1894 PR middle-end/56461
1895 * tree-vect-stmts.c (vect_create_vectorized_promotion_stmts): Call
1896 vec_oprnds0->release (); rather than vec_oprnds0->truncate (0)
1897 before overwriting it.
1898
40bf31ed
TB
18992013-03-01 Tobias Burnus <burnus@net-b.de>
1900
1901 * doc/extended.texi (C Extensions): Change order in @menu
1902 to match @node.
1903 (Other MIPS Built-in Functions): Move last MIPS entry before
1904 "picoChip Built-in Functions".
1905 (SH Built-in Functions): Move after RX Built-in Functions.
1906 * doc/gcc.texi (Introduction): Change order in @menu
1907 to match @node.
1908 * doc/md.texi (Constraints): Ditto.
1909 * gty.texi (Type Information): Ditto.
1910 (User-provided marking routines for template types): Make
1911 subsection.
1912 * doc/invoke.texi (AArch64 Options): Move before
1913 "Adapteva Epiphany Options".
1914
e664c61c
KS
19152013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
1916 Jakub Jelinek <jakub@redhat.com>
1917
1918 PR sanitizer/56454
1919 * asan.c (gate_asan): Lookup no_sanitize_address instead of
1920 no_address_safety_analysis attribute.
1921 * doc/extend.texi (no_address_safety_attribute): Rename to
1922 no_sanitize_address attribute, mention no_address_safety_analysis
1923 attribute as deprecated alias.
1924
37b5ec8f
JJ
19252013-02-28 Jakub Jelinek <jakub@redhat.com>
1926
1927 PR middle-end/56461
1928 * tree-vectorizer.h (vect_get_slp_defs): Change 3rd argument
1929 type to vec<vec<tree> > *.
1930 * tree-vect-slp.c (vect_get_slp_defs): Likewise. Change vec_defs
1931 to be vec<tree> instead of vec<tree> *, set vec_defs
1932 to vNULL and call vec_defs.create (number_of_vects), adjust other
1933 uses of vec_defs.
1934 * tree-vect-stmts.c (vect_get_vec_defs, vectorizable_call,
1935 vectorizable_condition): Adjust vect_get_slp_defs callers.
1936
ba96cdfb
JG
19372013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
1938
1939 * config/aarch64/aarch64.c
1940 (aarch64_float_const_representable): Remove unused variable.
1941
6f549691
JG
19422013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
1943
1944 * config/aarch64/aarch64.c (aarch64_mangle_type): Make static.
1945
af55e82d
JG
19462013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
1947
1948 * config/aarch64/aarch64-builtins.c
1949 (aarch64_init_simd_builtins): Make static.
1950
1df3f464
JG
19512013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
1952
1953 * config/aarch64/aarch64.c
1954 (aarch64_simd_make_constant): Make static.
1955
f8f42513
MJ
19562013-02-28 Martin Jambor <mjambor@suse.cz>
1957
1958 * tree-sra.c (load_assign_lhs_subreplacements): Do not put replacements
1959 with no initialization to the RHS of debug statements.
1960
b48b3fc4
MJ
19612013-02-28 Martin Jambor <mjambor@suse.cz>
1962
1963 PR tree-optimization/56294
1964 * tree-sra.c (analyze_access_subtree): Create replacement declarations.
1965 Adjust dumping.
1966 (get_access_replacement): Do not call create_access_replacement.
1967 Assert a replacement exists.
1968 (get_repl_default_def_ssa_name): Create the replacement declaration
1969 itself.
1970
c3ae224c
RR
19712013-02-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1972
1973 * config/arm/arm.c (arm_output_mi_thunk): Call final_start_function and
1974 final_end_function.
1975
45fa0eef
MP
19762013-02-28 Marek Polacek <polacek@redhat.com>
1977
1978 PR rtl-optimization/56466
1979 * loop-unroll.c (unroll_and_peel_loops): Call fix_loop_structure
1980 if we're changing a loop.
1981 (peel_loops_completely): Likewise.
1982
502c067d
PC
19832013-02-28 Paolo Carlini <paolo.carlini@oracle.com>
1984
1985 PR c++/55813
1986 * doc/invoke.texi ([-Wctor-dtor-privacy]): Complete.
1987
ff24afc8
GJL
19882013-02-28 Georg-Johann Lay <avr@gjlay.de>
1989
1990 PR target/56445
1991 * config/avr/avr.c (avr_init_builtins): Use 'n' instead of empty
1992 macro parameters with: FX_FTYPE_FX, FX_FTYPE_FX_INT, INT_FTYPE_FX,
1993 INTX_FTYPE_FX, FX_FTYPE_INTX.
1994 * config/avr/builtins.def: Adjust respective DEF_BUILTIN.
1995
c7b1fc1b
GJL
19962013-02-28 Georg-Johann Lay <avr@gjlay.de>
1997
1998 * avr/avr-mcus.def (ata5272, ata5505, attiny1634, ata6285)
1999 (ata6286, atmega8a, atmega48pa, ata5790, ata5790n, ata5795)
2000 (atmega164pa, atmega165pa, atmega168pa, atmega16hva, atmega16hvb)
2001 (atmega16hvbrevb, atmega16m1, atmega16u4, atmega26hvg, atmega32a)
2002 (atmega32a, atmega3250pa, atmega3290pa, atmega32c1, atmega32m1)
2003 (atmega32u4, atmega32u6, atmega64a, atmega6490a, atmega6490p)
2004 (atmega64c1, atmega64m1, atmega64rfa2, atmega64rfr2, atmega32hvb)
2005 (atmega32hvbrevb, atmega16hva2, atmega48hvf, at90pwm161)
2006 (atmega128a, atmega1284, atmxt112sl, atmxt224, atmxt224e)
2007 (atmxt336s, atxmega16a4u, atxmega16c4, atxmega32a4u, atxmega32c4)
2008 (atxmega32e5, atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3)
2009 (atxmega64c3, atxmega64d4, atxmega128a3u, atxmega128b1)
2010 (atxmega128b3, atxmega128c3, atxmega128d4, atmxt540s, atmxt540sreva)
2011 (atxmega192a3u, atxmega192c3, atxmega256a3u, atxmega256c3)
2012 (atxmega384c3, atxmega384d3, atxmega128a4u): New AVR_MCU.
2013 (avrxmega6): Increase max flash segments from 5 to 6.
2014 * config/avr/t-multilib: Regenerate.
2015 * config/avr/avr-tables.opt: Regenerate.
2016 * doc/avr-mmcu.texi: Regenerate.
2017
4a0e3cfe
GJL
20182013-02-28 Georg-Johann Lay <avr@gjlay.de>
2019
2020 * config/avr/avr.h (device_to_arch): Rename to device_to_ld.
2021 (avr_device_to_arch): Rename to avr_device_to_ld.
2022 (avr_device_to_as): New prototype.
2023 (EXTRA_SPEC_FUNCTIONS): Add device_to_as.
2024 (ASM_SPEC): Use device_to_as to get -mmcu= and -mno-skip-bug=.
2025 * config/avr/driver-avr.c (avr_device_to_as): New.
2026 (avr_device_to_arch): Rename to avr_device_to_ld.
2027
97785e52
JJ
20282013-02-27 Jakub Jelinek <jakub@redhat.com>
2029
3f292312
JJ
2030 PR middle-end/56461
2031 * tree-vect-data-refs.c (vect_permute_load_chain): Avoid using copy
2032 method on dr_chain and result_chain.
2033
a344216b
JJ
2034 PR middle-end/56461
2035 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Call
2036 pointer_set_destroy on not_executed_last_iteration.
2037
f121ad02 2038 PR middle-end/56461
88b97037 2039 * tree-vect-loop.c (vectorizable_reduction): Release vect_defs vector.
f121ad02 2040
307f83a3
JJ
2041 PR middle-end/56461
2042 * ipa-pure-const.c (propagate): Use FOR_EACH_FUNCTION instead of
2043 FOR_EACH_DEFINED_FUNCTION when freeing state.
2044
e19624ee
JJ
2045 PR middle-end/56461
2046 * df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before
2047 pool_free.
2048 (df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before
2049 overwriting it.
2050
90e709fd
JJ
2051 PR middle-end/56461
2052 * ipa-cp.c (decide_whether_version_node): Call vec_free on
2053 known_aggs[i].items and release known_aggs vector.
2054
97785e52
JJ
2055 PR middle-end/56461
2056 * ipa-reference.c (propagate): Free node_info even for alias nodes.
2057
20582013-02-27 Edgar E. Iglesias <edgar.iglesias@gmail.com>
bbb3a9e2 2059
97785e52
JJ
2060 * config/microblaze/microblaze.c (microblaze_emit_compare):
2061 Use xor for EQ/NE comparisions.
2062 * config/microblaze/microblaze.md (cstoresf4): Add constraints
2063 (cbranchsf4): Adjust operator to comparison_operator.
bbb3a9e2 2064
6fa5e0ed
JJ
20652013-02-27 Jakub Jelinek <jakub@redhat.com>
2066
2067 PR middle-end/56461
2068 * tree-flow.h (edge_var_map_vector): Change into va_heap, vl_embed
2069 vector.
2070 * tree-ssa.c (redirect_edge_var_map_add): Use vec_safe_reserve and
2071 vec_safe_push, always update *slot.
2072 (redirect_edge_var_map_clear): Use vec_free.
2073 (redirect_edge_var_map_dup): Use vec_safe_copy and vec_safe_reserve.
2074 (free_var_map_entry): Use vec_free.
2075 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Use
2076 FOR_EACH_VEC_SAFE_ELT instead of FOR_EACH_VEC_ELT.
2077
436a956a
AB
20782013-02-27 Andrey Belevantsev <abel@ispras.ru>
2079
2080 PR middle-end/45472
436a956a
AB
2081 * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
2082 when the may_trap_p bit of the exprs being merged differs.
436a956a
AB
2083 Reorder tests for speculativeness in the logical and operator.
2084
f5c2caca
JJ
20852013-02-27 Jakub Jelinek <jakub@redhat.com>
2086
0fcb564b
JJ
2087 * incpath.c (add_standard_paths): Use reconcat instead of concat
2088 where appropriate and avoid leaking memory.
2089
dc357798
JJ
2090 * opts.h: Include obstack.h.
2091 (opts_concat): New prototype.
2092 (opts_obstack): New declaration.
2093 * opts.c (opts_concat): New function.
2094 (opts_obstack): New variable.
2095 (init_options_struct): Call gcc_init_obstack on opts_obstack.
2096 (finish_options): Use opts_concat instead of concat
2097 and XOBNEWVEC instead of XNEWVEC.
2098 * opts-common.c (generate_canonical_option, decode_cmdline_option,
2099 generate_option): Likewise.
2100 * Makefile.in (OPTS_H): Depend on $(OBSTACK_H).
2101 * lto-wrapper.c (main): Call gcc_init_obstack on opts_obstack.
2102
f5c2caca
JJ
2103 PR target/56455
2104 * stmt.c (expand_switch_as_decision_tree_p): If flag_pic
2105 and ASM_OUTPUT_ADDR_DIFF_ELT isn't defined, return true.
2106
d0163673
JJ
21072013-02-26 Jakub Jelinek <jakub@redhat.com>
2108
2109 PR middle-end/56461
2110 * lra-spills.c (lra_spill): Free spill_hard_reg at the end.
2111
b5ad2b8e
JR
21122013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
2113
2114 * config/arm/arm.c (const_ok_for_dimode_op): Back out last change.
2115 (arm_block_move_unaligned_straight): Likewise.
2116 (arm_adjust_block_mem): Likewise.
2117
9b639e2c
JR
21182013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
2119
2120 PR target/48901
2121 * config/lm32/lm32.c (gen_int_relational): Remove unused variables
2122 temp, cond and label.
2123 * config/lm32/lm32.md (ashlsi3): Remove unused variable one.
2124
e13a0ccb
JR
2125 PR target/52500
2126 * config/c6x/c6x.c (dbx_register_map): Change to unsigned.
2127 * config/c6x/c6x.h (dbx_register_map): Update declaration.
2128
fbe4f171
JR
2129 PR target/52501
2130 * config/cr16/cr16-protos.h: Move end of RTX_CODE guard below end
2131 of prologue/epilogue functions.
2132
ae006543
JR
2133 PR target/52550
2134 * config/tilegx/tilegx.c (tilegx_expand_prologue):
2135 Remove unused variable cfa_offset.
2136 * config/tilepro/tilepro.c (tilepro_expand_prologue): Likewise.
2137
c81369fa
JR
2138 PR target/54639
2139 * config/mn10300/mn10300.c (mn10300_expand_epilogue): Avoid offset
2140 type promotion to unsigned.
2141
f8a8fea7
JR
2142 PR target/54640
2143 * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent
2144 for HOST_WIDE_INT of 32 bit / same size as int.
2145 (arm_block_move_unaligned_straight): Likewise.
2146 (arm_adjust_block_mem): Likewise.
2147
f8be5169
JR
2148 PR target/54662
2149 * config/mep/t-mep (mep-pragma.o): Use ALL_COMPILERFLAGS instead of
2150 ALL_CFLAGS.
2151
f1ad3354
MP
21522013-02-26 Marek Polacek <polacek@redhat.com>
2153
2154 PR tree-optimization/56426
88b97037 2155 * tree-ssa-loop.c (tree_ssa_loop_init): Always call scev_initialize.
f1ad3354 2156
a6af0f42
RB
21572013-02-26 Richard Biener <rguenther@suse.de>
2158
2159 PR target/56444
2160 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Remove
2161 unused variable loops.
2162
aca43c6c
JJ
21632013-02-26 Jakub Jelinek <jakub@redhat.com>
2164
cecbe5d9
JJ
2165 PR tree-optimization/56448
2166 * fold-const.c (operand_equal_p) <case tcc_reference>: Don't look at
2167 TREE_SIDE_EFFECTS if flags contain OEP_CONSTANT_ADDRESS_OF.
2168 Clear OEP_CONSTANT_ADDRESS_OF from flags before recursing on second or
2169 later operands of the references, or even first operand for
2170 INDIRECT_REF, TARGET_MEM_REF or MEM_REF.
2171
aca43c6c
JJ
2172 PR tree-optimization/56443
2173 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
2174 overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
2175 to type_for_mode langhook.
2176
53e2e141
MT
21772013-02-25 Matt Turner <mattst88@gmail.com>
2178
2179 * doc/invoke.texi: Document r4700.
2180
259ee451
RB
21812013-02-25 Richard Biener <rguenther@suse.de>
2182
2183 PR tree-optimization/56175
2184 * tree-ssa-forwprop.c (hoist_conversion_for_bitop_p): New predicate,
2185 split out from ...
2186 (simplify_bitwise_binary): ... here. Also guard the conversion
2187 of (type) X op CST to (type) (X op ((type-x) CST)) with it.
2188
6d65e8f1
CM
21892013-02-25 Catherine Moore <clm@codesourcery.com>
2190
2191 Revert:
2192 2013-02-24 Catherine Moore <clm@codesourcery.com>
2193 Maciej W. Rozycki <macro@codesourcery.com>
2194 Tom de Vries <tom@codesourcery.com>
a72d8780 2195 Nathan Sidwell <nathan@codesourcery.com>
6d65e8f1
CM
2196 Iain Sandoe <iain@codesourcery.com>
2197 Nathan Froyd <froydnj@codesourcery.com>
a72d8780 2198 Chao-ying Fu <fu@mips.com>
88b97037 2199
6d65e8f1 2200 * doc/extend.texi: (micromips, nomicromips, nocompression):
88b97037 2201 Document new function attributes.
6d65e8f1
CM
2202 * doc/invoke.texi (minterlink-compressed, mmicromips,
2203 m14k, m14ke, m14kec): Document new options.
2204 (minterlink-mips16): Update documentation.
2205 * doc/md.texi (ZC, ZD): Document new constraints.
2206 * configure.ac (gcc_cv_as_micromips): Check if linker
2207 supports the .set micromips directive.
2208 * configure: Regenerate.
2209 * config.in: Regenerate.
2210 * config/mips/mips-tables.opt: Regenerate.
2211 * config/mips/micromips.md: New file.
2212 * constraints.md (ZC, AD): New constraints.
2213 * config/mips/predicates.md (movep_src_register): New predicate.
2214 (movep_src_operand): New predicate.
2215 (non_volatile_mem_operand): New predicate.
2216 * config/mips/mips.md (multimem): New type.
2217 (length): Differentiate between 17-bit and 18-bit branch offsets.
2218 (MOVEP1, MOVEP2): New mode iterator.
2219 (mov_<load>l): Use ZC constraint.
2220 (mov_<load>r): Likewise.
2221 (mov_<store>l): Likewise.
2222 (mov_<store>r): Likewise.
2223 (*branch_equality<mode>_inverted): Add microMIPS support.
2224 (*branch_equality<mode>): Likewise.
2225 (*jump_absolute): Likewise.
2226 (indirect_jump_<mode>): Likewise.
2227 (tablejump_<mode>): Likewise.
2228 (<optab>_internal): Likewise.
2229 (sibcall_internal): Likewise.
2230 (sibcall_value_internal): Likewise.
2231 (prefetch): Use constraint ZD.
2232 * config/mips/mips.opt (minterlink-compressed): New option.
2233 (minterlink-mips16): Now an alias for minterlink-compressed.
2234 (mmicromips): New option.
2235 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
2236 (compare_and_swap_12): Likewise.
2237 (sync_add<mode>): Likewise.
2238 (sync_<optab>_12): Likewise.
2239 (sync_old_<optab>_12): Likewise.
2240 (sync_new_<optab>_12): Likewise.
2241 (sync_nand_12): Likewise.
2242 (sync_old_nand_12): Likewise.
2243 (sync_new_nand_12): Likewise.
2244 (sync_sub<mode>): Likewise.
2245 (sync_old_add<mode>): Likewise.
2246 (sync_old_sub<mode>): Likewise.
2247 (sync_new_add<mode>): Likewise.
2248 (sync_new_sub<mode>): Likewise.
2249 (sync_<optab><mode>): Likewise.
2250 (sync_old_<optab><mode>): Likewise.
2251 (sync_new_<optab><mode>): Likewise.
2252 (sync_nand<mode>): Likewise.
2253 (sync_old_nand<mode>): Likewise.
2254 (sync_new_nand<mode>): Likewise.
2255 (sync_lock_test_and_set<mode>): Likewise.
2256 (test_and_set_12): Likewise.
2257 (atomic_compare_and_swap<mode>): Likewise.
2258 (atomic_exchange<mode>_llsc): Likewise.
2259 (atomic_fetch_add<mode>_llsc): Likewise.
2260 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
2261 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
2262 (umips_save_restore_pattern_p): Likewise.
2263 (umips_load_store_pair_p): Likewise.
2264 (umips_output_load_store_pair): Likewise.
2265 (umips_movep_target_p): Likewise.
2266 (umips_12bit_offset_address_p): Likewise.
2267 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
2268 (mips_base_mips16): Rename this...
2269 (mips_base_compression_flags): ...to this. Update all uses.
2270 (mips_attribute_table): Add micromips, nomicromips and nocompression.
2271 (mips_mips16_decl_p): Delete.
2272 (mips_nomips16_decl_p): Delete.
2273 (mips_get_compress_on_flags): New function.
2274 (mips_get_compress_off_flags): New function.
2275 (mips_get_compress_mode): New function.
2276 (mips_get_compress_on_name): New function.
2277 (mips_get_compress_off_name): New function.
2278 (mips_insert_attributes): Support multiple compression types.
2279 (mips_merge_decl_attributes): Likewise.
2280 (umips_12bit_offset_address_p): New function.
2281 (mips_start_function_definition): Emit .set micromips directive.
2282 (mips_call_may_need_jalx_p): New function.
2283 (mips_function_ok_for_sibcall): Add microMIPS support.
2284 (mips_print_operand_punctuation): Support short delay slots and
2285 compact jumps.
2286 (umips_swm_mask, umips_swm_encoding): New.
2287 (umips_build_save_restore): New function.
2288 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
2289 (was_mips16_p): Remove.
2290 (old_compression_mode): New.
2291 (mips_set_compression_mode): New function.
2292 (mips_set_current_function): Add microMIPS support.
2293 (mips_option_override): Likewise.
2294 (umips_save_restore_pattern_p): New function.
2295 (umips_output_save_restore): New function.
2296 (umips_load_store_pair_p_1): New function.
2297 (umips_load_store_pair_p): New function.
2298 (umips_output_load_store_pair_1): New function.
2299 (umips_output_load_store_pair): New function.
2300 (umips_movep_target_p) New function.
2301 (mips_prepare_pch_save): Add microMIPS support.
2302 * config/mips/mips.h (TARGET_COMPRESSION): New.
2303 (TARGET_CPU_CPP_BUILTINS): Update macro
2304 to use new compression flags and to support microMIPS.
2305 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
2306 (MIPS_ARCH_FLOAT_SPEC): Likewise.
2307 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
2308 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
2309 (ASM_SPEC): Support mmicromips and mno-micromips.
2310 (M16STORE_REG_P): New macro.
2311 (MIPS_CALL): Support TARGET_MICROMIPS.
2312 (MICROMIPS_J): New macro.
2313 (mips_base_mips16): Rename this...
2314 (mips_base_compression_flags): ...to this.
2315 (UMIPS_12BIT_OFFSET_P): New macro.
2316 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
2317 (MULTILIB_DIRNAMES): Likewise.
2318
5e5df392
TV
23192013-02-25 Tom de Vries <tom@codesourcery.com>
2320
2321 PR rtl-optimization/56131
2322 * insn-notes.def (INSN_NOTE_BASIC_BLOCK): Update comment.
2323 * cfgrtl.c (delete_insn): Don't reorder NOTE_INSN_DELETED_LABEL and
2324 NOTE_INSN_BASIC_BLOCK if BLOCK_FOR_INSN == NULL.
2325
3fdb53c1
TB
23262013-02-25 Tobias Burnus <burnus@net-b.de>
2327
2328 * doc/invoke.texi (-fsanitize=): Move from optimization
2329 to debugging options.
2330
ed358aea
AB
23312013-02-25 Andrey Belevantsev <abel@ispras.ru>
2332
2333 * sched-deps.c (sched_analyze_insn): Fix typo in comment.
2334
f45e9053
AB
23352013-02-25 Andrey Belevantsev <abel@ispras.ru>
2336 Alexander Monakov <amonakov@ispras.ru>
2337
2338 PR middle-end/56077
2339 * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
2340 flush pending lists also on non-jumps. Adjust comment.
2341
6941b508
CM
23422013-02-24 Catherine Moore <clm@codesourcery.com>
2343 Maciej W. Rozycki <macro@codesourcery.com>
2344 Tom de Vries <tom@codesourcery.com>
a72d8780 2345 Nathan Sidwell <nathan@codesourcery.com>
6941b508
CM
2346 Iain Sandoe <iain@codesourcery.com>
2347 Nathan Froyd <froydnj@codesourcery.com>
a72d8780 2348 Chao-ying Fu <fu@mips.com>
6941b508
CM
2349
2350 * doc/extend.texi: (micromips, nomicromips, nocompression):
88b97037 2351 Document new function attributes.
6941b508
CM
2352 * doc/invoke.texi (minterlink-compressed, mmicromips,
2353 m14k, m14ke, m14kec): Document new options.
2354 (minterlink-mips16): Update documentation.
2355 * doc/md.texi (ZC, ZD): Document new constraints.
2356 * configure.ac (gcc_cv_as_micromips): Check if linker
2357 supports the .set micromips directive.
2358 * configure: Regenerate.
2359 * config.in: Regenerate.
2360 * config/mips/mips-tables.opt: Regenerate.
2361 * config/mips/micromips.md: New file.
2362 * constraints.md (ZC, AD): New constraints.
2363 * config/mips/predicates.md (movep_src_register): New predicate.
2364 (movep_src_operand): New predicate.
2365 (non_volatile_mem_operand): New predicate.
2366 * config/mips/mips.md (multimem): New type.
2367 (length): Differentiate between 17-bit and 18-bit branch offsets.
2368 (MOVEP1, MOVEP2): New mode iterator.
3fdb53c1 2369 (mov_<load>l): Use ZC constraint.
6941b508
CM
2370 (mov_<load>r): Likewise.
2371 (mov_<store>l): Likewise.
2372 (mov_<store>r): Likewise.
2373 (*branch_equality<mode>_inverted): Add microMIPS support.
2374 (*branch_equality<mode>): Likewise.
2375 (*jump_absolute): Likewise.
2376 (indirect_jump_<mode>): Likewise.
2377 (tablejump_<mode>): Likewise.
2378 (<optab>_internal): Likewise.
2379 (sibcall_internal): Likewise.
2380 (sibcall_value_internal): Likewise.
2381 (prefetch): Use constraint ZD.
2382 * config/mips/mips.opt (minterlink-compressed): New option.
2383 (minterlink-mips16): Now an alias for minterlink-compressed.
2384 (mmicromips): New option.
2385 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
2386 (compare_and_swap_12): Likewise.
2387 (sync_add<mode>): Likewise.
2388 (sync_<optab>_12): Likewise.
2389 (sync_old_<optab>_12): Likewise.
2390 (sync_new_<optab>_12): Likewise.
2391 (sync_nand_12): Likewise.
2392 (sync_old_nand_12): Likewise.
2393 (sync_new_nand_12): Likewise.
2394 (sync_sub<mode>): Likewise.
2395 (sync_old_add<mode>): Likewise.
2396 (sync_old_sub<mode>): Likewise.
2397 (sync_new_add<mode>): Likewise.
2398 (sync_new_sub<mode>): Likewise.
2399 (sync_<optab><mode>): Likewise.
2400 (sync_old_<optab><mode>): Likewise.
2401 (sync_new_<optab><mode>): Likewise.
2402 (sync_nand<mode>): Likewise.
2403 (sync_old_nand<mode>): Likewise.
2404 (sync_new_nand<mode>): Likewise.
2405 (sync_lock_test_and_set<mode>): Likewise.
2406 (test_and_set_12): Likewise.
2407 (atomic_compare_and_swap<mode>): Likewise.
2408 (atomic_exchange<mode>_llsc): Likewise.
2409 (atomic_fetch_add<mode>_llsc): Likewise.
2410 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
2411 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
2412 (umips_save_restore_pattern_p): Likewise.
2413 (umips_load_store_pair_p): Likewise.
2414 (umips_output_load_store_pair): Likewise.
2415 (umips_movep_target_p): Likewise.
2416 (umips_12bit_offset_address_p): Likewise.
2417 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
2418 (mips_base_mips16): Rename this...
2419 (mips_base_compression_flags): ...to this. Update all uses.
2420 (mips_attribute_table): Add micromips, nomicromips and nocompression.
2421 (mips_mips16_decl_p): Delete.
2422 (mips_nomips16_decl_p): Delete.
3fdb53c1 2423 (mips_get_compress_on_flags): New function.
6941b508
CM
2424 (mips_get_compress_off_flags): New function.
2425 (mips_get_compress_mode): New function.
2426 (mips_get_compress_on_name): New function.
2427 (mips_get_compress_off_name): New function.
2428 (mips_insert_attributes): Support multiple compression types.
2429 (mips_merge_decl_attributes): Likewise.
2430 (umips_12bit_offset_address_p): New function.
2431 (mips_start_function_definition): Emit .set micromips directive.
2432 (mips_call_may_need_jalx_p): New function.
2433 (mips_function_ok_for_sibcall): Add microMIPS support.
2434 (mips_print_operand_punctuation): Support short delay slots and
2435 compact jumps.
2436 (umips_swm_mask, umips_swm_encoding): New.
2437 (umips_build_save_restore): New function.
2438 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
2439 (was_mips16_p): Remove.
2440 (old_compression_mode): New.
2441 (mips_set_compression_mode): New function.
2442 (mips_set_current_function): Add microMIPS support.
2443 (mips_option_override): Likewise.
2444 (umips_save_restore_pattern_p): New function.
2445 (umips_output_save_restore): New function.
2446 (umips_load_store_pair_p_1): New function.
2447 (umips_load_store_pair_p): New function.
2448 (umips_output_load_store_pair_1): New function.
2449 (umips_output_load_store_pair): New function.
2450 (umips_movep_target_p) New function.
2451 (mips_prepare_pch_save): Add microMIPS support.
2452 * config/mips/mips.h (TARGET_COMPRESSION): New.
2453 (TARGET_CPU_CPP_BUILTINS): Update macro
2454 to use new compression flags and to support microMIPS.
2455 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
2456 (MIPS_ARCH_FLOAT_SPEC): Likewise.
2457 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
2458 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
2459 (ASM_SPEC): Support mmicromips and mno-micromips.
2460 (M16STORE_REG_P): New macro.
2461 (MIPS_CALL): Support TARGET_MICROMIPS.
2462 (MICROMIPS_J): New macro.
2463 (mips_base_mips16): Rename this...
2464 (mips_base_compression_flags): ...to this.
2465 (UMIPS_12BIT_OFFSET_P): New macro.
2466 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
2467 (MULTILIB_DIRNAMES): Likewise.
2468
cdebbc6d
JJ
24692013-02-24 Jakub Jelinek <jakub@redhat.com>
2470
2471 PR target/52555
2472 * target-globals.c (save_target_globals): For init_reg_sets and
2473 target_reinit remporarily set this_fn_optabs to this_target_optabs.
2474
18c63565
JG
24752013-02-22 James Grennahlgh <james.greenhalgh@arm.com>
2476
2477 * config/aarch64/aarch64-simd-builtins.def: Add copyright header.
2478 * config/aarch64/t-aarch64
2479 (aarch64-builtins.o): Depend on aarch64-simd-builtins.def.
2480
2194f7a2
VM
24812013-02-22 Vladimir Makarov <vmakarov@redhat.com>
2482
2483 PR inline-asm/56148
2484 * lra-constraints.c (process_alt_operands): Reload operand
2485 conflicting with earlier clobber only if no more other conflicting
2486 operands.
2487
7d613735
JJ
24882013-02-22 Jakub Jelinek <jakub@redhat.com>
2489
2490 PR sanitizer/56393
2491 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o
2492 if not linking a shared library.
2493
ac8d93a7
SL
24942013-02-22 Seth LaForge <sethml@google.com>
2495
2496 * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian.
2497
e0237780
GY
24982013-02-22 Greta Yorsh <Greta.Yorsh@arm.com>
2499
3fdb53c1
TB
2500 * config/arm/arm.md (split for extendsidi): Update condition.
2501 (zero_extend<mode>di2,extend<mode>di2): Add an alternative.
2502 * config/arm/iterators.md (qhs_extenddi_cstr): Likewise.
2503 (qhs_zextenddi_cstr): Likewise.
e0237780 2504
d7fde18c
JJ
25052013-02-21 Jakub Jelinek <jakub@redhat.com>
2506
be63b77d
JJ
2507 PR middle-end/56420
2508 * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Do subtraction in uhwi, to
2509 avoid signed wrapping.
2510 (expand_mult): Handle properly multiplication by
2511 ((dword_type) -1) << (BITS_PER_WORD - 1). Improve multiplication by
2512 ((dword_type) 1) << (BITS_PER_WORD - 1). Avoid undefined behavior
2513 in the compiler if coeff is HOST_WIDE_INT_MIN.
2514 (expand_divmod): Don't make ext_op1 static, change it's type to
2515 uhwi. Avoid undefined behavior in -INTVAL (op1).
2516
d7fde18c
JJ
2517 PR rtl-optimization/50339
2518 * lower-subreg.h (struct lower_subreg_choices): Add splitting_ashiftrt
2519 field.
2520 * lower-subreg.c (compute_splitting_shift): Handle ASHIFTRT.
2521 (compute_costs): Call compute_splitting_shift also for ASHIFTRT
2522 into splitting_ashiftrt field.
2523 (find_decomposable_shift_zext, resolve_shift_zext): Handle also
2524 ASHIFTRT.
2525 (dump_choices): Fix up printing LSHIFTRT choices, print ASHIFTRT
2526 choices.
2527
6aad4455
AH
25282013-02-20 Aldy Hernandez <aldyh@redhat.com>
2529
2530 PR middle-end/56108
2531 * trans-mem.c (execute_tm_mark): Do not expand transactions that
2532 are sure to go irrevocable.
2533
38fe784d
HPN
25342013-02-21 Hans-Peter Nilsson <hp@axis.com>
2535
2536 * doc/rtl.texi (vec_concat, vec_duplicate): Mention that
2537 scalars are valid operands.
2538
0fd44da3
MJ
25392013-02-21 Martin Jambor <mjambor@suse.cz>
2540
2541 PR tree-optimization/56310
2542 * ipa-cp.c (agg_replacements_to_vector): New parameter index, copy
2543 only matching indices and non-negative final offsets.
2544 (intersect_aggregates_with_edge): Pass src_idx to
2545 agg_replacements_to_vector. Pass src_idx insstead of index to
2546 intersect_with_agg_replacements.
2547
7a92038b
MJ
25482013-02-21 Martin Jambor <mjambor@suse.cz>
2549
2550 * ipa-cp.c (good_cloning_opportunity_p): Dump the real threshold
2551 instead of hard-wired defaults.
2552
c0da9c37
MR
25532013-02-21 Maciej W. Rozycki <macro@codesourcery.com>
2554
2555 * doc/invoke.texi (MIPS Options): Update documentation of the
2556 floating-point multiply-accumulate instruction restrictions.
2557
d247ea0c 25582013-02-21 Kostya Serebryany <kcc@google.com>
7df59255
KS
2559
2560 * config/i386/i386.c (ix86_asan_shadow_offset): Use 0x7fff8000 as
2561 asan_shadow_offset on x86_64 linux.
2562
22deefcb
RB
25632013-02-21 Richard Biener <rguenther@suse.de>
2564
2565 PR tree-optimization/56415
2566 Revert
2567 2013-02-11 Richard Biener <rguenther@suse.de>
2568
2569 PR tree-optimization/56273
2570 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
2571 first VRP run.
2572
7bcc6e75
JJ
25732013-02-21 Jakub Jelinek <jakub@redhat.com>
2574
a0ad148f
JJ
2575 PR bootstrap/56258
2576 * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
2577 instead of @itemx.
2578
7bcc6e75
JJ
2579 PR inline-asm/56405
2580 * expr.c (expand_expr_real_1) <case TARGET_MEM_REF, MEM_REF>: Don't
2581 use movmisalign or extract_bit_field for EXPAND_MEMORY modifier.
2582
a0a7b611
JH
25832013-02-20 Jan Hubicka <jh@suse.cz>
2584
2585 PR tree-optimization/56265
88b97037
UB
2586 * ipa-prop.c (ipa_make_edge_direct_to_target): Fixup callgraph
2587 when target is referenced for first time.
a0a7b611 2588
c0e50f72
RB
25892013-02-20 Richard Biener <rguenther@suse.de>
2590
2591 * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals.
2592 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
2593 * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
2594 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do
2595 not return anything.
2596 (rename_ssa_copies): Do not remove unused locals.
2597 * tree-ssa-ccp.c (do_ssa_ccp): Likewise.
88b97037 2598 * tree-ssanames.c (pass_release_ssa_names): Remove unused locals first.
c0e50f72
RB
2599 * passes.c (execute_function_todo): Do not schedule unused locals
2600 removal if cleanup_tree_cfg did something.
2601 * tree-ssa-live.c (remove_unused_locals): Dump statistics
2602 about the number of removed locals.
2603
a52ca739
RB
26042013-02-20 Richard Biener <rguenther@suse.de>
2605
2606 PR tree-optimization/56398
88b97037 2607 * tree-vect-loop-manip.c (adjust_debug_stmts): Skip SSA default defs.
a52ca739 2608
ec9c9d1b
MJ
26092013-02-20 Martin Jambor <mjambor@suse.cz>
2610
2611 PR tree-optimization/55334
2612 * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to
2613 restricted pointers to arrays.
2614
e91c8ed6 26152013-02-20 Richard Biener <rguenther@suse.de>
88b97037 2616 Jakub Jelinek <jakub@redhat.com>
e91c8ed6
RB
2617
2618 PR tree-optimization/56396
2619 * tree-ssa-ccp.c (n_const_val): New static variable.
2620 (get_value): Return NULL for SSA names we don't have a lattice
2621 entry for.
2622 (ccp_initialize): Initialize n_const_val.
2623 * tree-ssa-copy.c (n_copy_of): New static variable.
2624 (init_copy_prop): Initialize n_copy_of.
2625 (get_value): Return NULL_TREE for SSA names we don't have a
2626 lattice entry for.
2627
3d916479
MJ
26282013-02-20 Martin Jambor <mjambor@suse.cz>
2629
2630 * ipa-cp.c (initialize_node_lattices): Fix dumping condition.
2631
71a86758
RB
26322013-02-20 Richard Biener <rguenther@suse.de>
2633
2634 * genpreds.c (write_lookup_constraint): Do not compare first
2635 letter of the constraint again.
2636
79836a12
RB
26372013-02-20 Richard Biener <rguenther@suse.de>
2638
2639 * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
2640 and ceil_log2.
2641 (get_use_iv_cost): Terminate hashtable walk when coming across
2642 an empty entry.
2643
bbe4fb2c
IZ
26442013-02-20 Igor Zamyatin <igor.zamyatin@intel.com>
2645
2646 * config/i386/i386.c (initial_ix86_tune_features): Turn on fp
2647 reassociation for avx2 targets.
2648
a72d8780 26492012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
79836a12 2650
c77f83d5
EI
2651 * config/microblaze/microblaze.c: microblaze_has_clz = 0
2652 Add version check for v8.10.a to enable microblaze_has_clz
88b97037 2653 * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined
c77f83d5
EI
2654 version and TARGET_PATTERN_COMPARE check
2655 * config/microblaze/microblaze.md: New clzsi2 instruction
3fdb53c1 2656
a72d8780 26572012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
959434e6 2658
a72d8780 2659 * config/microblaze/microblaze.md (call_value_intern): Check symbol is
959434e6
EI
2660 function before branching.
2661
242387fa
AB
26622012-02-19 Andrey Belevantsev <abel@ispras.ru>
2663
2664 * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
2665 DUMP_INSN_RTX_UID.
2666 (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.
2667
b4979ab9
AB
26682012-02-19 Andrey Belevantsev <abel@ispras.ru>
2669
2670 PR middle-end/55889
b4979ab9
AB
2671 * sel-sched.c: Include ira.h.
2672 (implicit_clobber_conflict_p): New function.
2673 (moveup_expr): Use it.
88b97037 2674 * Makefile.in (sel-sched.o): Depend on ira.h.
b4979ab9 2675
24d63016
RB
26762013-02-19 Richard Biener <rguenther@suse.de>
2677
2678 PR tree-optimization/56384
2679 * tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
2680 (vn_hash_type): Split out from ...
2681 (vn_hash_constant_with_type): ... here.
2682 * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
2683 (vn_phi_eq): Compare types from vn_phi_s structure.
2684 (vn_phi_lookup): Populate vn_phi_s type.
2685 (vn_phi_insert): Likewise.
2686
a475fd3d
JJ
26872013-02-19 Jakub Jelinek <jakub@redhat.com>
2688
47cc28f5
JJ
2689 PR tree-optimization/56350
2690 * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
2691 if haven't found reduction or nested cycle operand, rather than
2692 asserting we must find it.
2693
a475fd3d
JJ
2694 PR tree-optimization/56381
2695 * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
2696 to fold_build3.
2697
26982013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
2699 Jakub Jelinek <jakub@redhat.com>
2700
2701 PR target/52555
2702 * genopinit.c (raw_optab_handler): Use this_fn_optabs.
2703 (swap_optab_enable): Same.
2704 (init_all_optabs): Use argument instead of global.
88b97037 2705 * tree.h (struct tree_optimization_option): New field target_optabs.
135204dd
AH
2706 * expr.h (init_all_optabs): Add argument to prototype.
2707 (TREE_OPTIMIZATION_OPTABS): New.
2708 (save_optabs_if_changed): Protoize.
2709 * optabs.h: Declare this_fn_optabs.
2710 * optabs.c (save_optabs_if_changed): New.
2711 Declare this_fn_optabs.
2712 (init_optabs): Add argument to init_all_optabs() call.
2713 * function.c (invoke_set_current_function_hook): Handle per
2714 function optabs.
2715 * function.h (struct function): New field optabs.
2716 * config/mips/mips.c (mips_set_mips16_mode): Handle when
2717 optimization_current_node has changed.
2718 * target-globals.h (save_target_globals_default_opts): Protoize.
2719 * target-globals.c (save_target_globals_default_opts): New.
2720
3f587ca3
JDA
27212013-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2722
2723 PR target/56347
2724 * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
2725 registers %fr12 and %fr12R as call used.
ceaca33e
JDA
2726
2727 PR target/56214
2728 * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
88b97037
UB
2729 and HImode, require all displacements to be an integer multiple of
2730 their mode size.
ceaca33e
JDA
2731 * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
2732 only allow QImode and HImode when reload is in progress and strict is
2733 true. Likewise for symbolic addresses. Use base14_operand to check
2734 displacements in REG+BASE addresses.
2735
fe0b4796
RB
27362013-02-18 Richard Biener <rguenther@suse.de>
2737
2738 PR tree-optimization/56366
2739 * tree-vect-loop.c (get_initial_def_for_induction): Properly
2740 handle sign-conversion of outer-loop initial induction value.
2741
6aaf596b
RB
27422013-02-18 Richard Biener <rguenther@suse.de>
2743
73db8ff1 2744 PR middle-end/56349
6aaf596b
RB
2745 * cfghooks.c (merge_blocks): If we merge a latch into another
2746 block adjust references to it.
2747 * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
2748 (verify_loop_structure): Verify that a recorded latch is in fact
2749 a latch.
2750
5e97dfb6
RB
27512013-02-18 Richard Biener <rguenther@suse.de>
2752
2753 PR tree-optimization/56321
2754 * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
2755 order SSA name release and virtual operand unlinking.
2756
825527e8
EI
27572013-02-17 Edgar E. Iglesias <edgar.iglesias@gmail.com>
2758
2759 * config/microblaze/microblaze.md (save_stack_block): Define.
2760 (restore_stack_block): Likewise.
2761
debd11d9
EI
27622013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
2763
2764 * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
2765 * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
2766 * config/microblaze/microblaze.c (microblaze_option_override):
2767 Bail out early for PIC modes when target does not support PIC.
2768
8ec77be0
EI
27692013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
2770
88b97037 2771 * config/microblaze/microblaze.c (microblaze_asm_trampoline_template):
8ec77be0
EI
2772 Replace with a microblaze version.
2773 (microblaze_trampoline_init): Adapt for microblaze.
a752b80f 2774 * config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for
8ec77be0
EI
2775 microblaze.
2776
b41288b3
JJ
27772013-02-16 Jakub Jelinek <jakub@redhat.com>
2778 Dodji Seketeli <dodji@redhat.com>
2779
2780 PR asan/56330
88b97037 2781 * asan.c (get_mem_refs_of_builtin_call): White space and style cleanup.
b41288b3
JJ
2782 (instrument_mem_region_access): Do not forget to always put
2783 instrumentation of the of 'base' and 'base + len' in a "if (len !=
2784 0) statement, even for cases where either 'base' or 'base + len'
2785 are not instrumented -- because they have been previously
2786 instrumented. Simplify the logic by putting all the statements
2787 instrument 'base + len' inside a sequence, and then insert that
2788 sequence right before the current insertion point. Then, to
2789 instrument 'base + len', just get an iterator on that statement.
2790 And do not forget to update the pointer to iterator the function
2791 received as argument.
2792
47918951
VM
27932013-02-15 Vladimir Makarov <vmakarov@redhat.com>
2794
2795 PR rtl-optimization/56348
2796 * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.
2797
3fb7c699
SB
27982013-02-15 Steven Bosscher <steven@gcc.gnu.org>
2799
2800 * graph.c (start_graph_dump): Print dumpfile base as digraph label.
2801 (clean_graph_dump_file): Pass base to start_graph_dump.
2802
576fe41a
RH
28032013-02-14 Richard Henderson <rth@redhat.com>
2804
2805 PR target/55941
2806 * lower-subreg.c (simple_move): Check dest mode instead of src mode.
2807
bb3accfa
SB
28082013-02-14 Steven Bosscher <steven@gcc.gnu.org>
2809
2810 * collect2-aix.h: Define F_LOADONLY.
2811
03143140
RB
28122013-02-14 Richard Biener <rguenther@suse.de>
2813
2814 PR lto/50494
2815 * varasm.c (output_constant_def_1): Get the decl representing
2816 the constant as argument.
2817 (output_constant_def): Wrap output_constant_def_1.
2818 (make_decl_rtl): Use output_constant_def_1 with the decl
2819 representing the constant.
2820 (build_constant_desc): Optionally re-use a decl already
2821 representing the constant.
2822 (tree_output_constant_def): Adjust.
2823
8fb06726
DS
28242013-02-14 Dodji Seketeli <dodji@redhat.com>
2825
2826 Fix an asan crash
2827 * asan.c (instrument_builtin_call): Really put the length of the
2828 second source argument into src1_len.
2829
c4bfe8bf
JJ
28302013-02-13 Jakub Jelinek <jakub@redhat.com>
2831
2832 * asan.c (create_cond_insert_point): Add create_then_fallthru_edge
2833 argument. If it is false, don't create edge from then_bb to
2834 fallthru_bb.
2835 (insert_if_then_before_iter): Pass true to it.
2836 (build_check_stmt): Pass false to it.
2837 (transform_statements): Flush hash table only on extended basic
2838 block boundaries, rather than at the beginning of every bb.
2839 Don't flush hash table on nonfreeing_call_p calls.
2840 * tree-flow.h (nonfreeing_call_p): New prototype.
2841 * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
2842
7afe2801
DM
28432013-02-13 David S. Miller <davem@davemloft.net>
2844
2845 * expmed.c (expand_shift_1): Only strip scalar integer subregs.
2846
70cc3288
VM
28472013-02-13 Vladimir Makarov <vmakarov@redhat.com>
2848
2849 PR target/56184
2850 * ira.c (max_regno_before_ira): Move from ...
2851 (ira): ... here.
2852 (fix_reg_equiv_init): Use max_regno_before_ira instead of
2853 vec_safe_length.
2854
6422242b
JJ
28552013-02-13 Jakub Jelinek <jakub@redhat.com>
2856
2857 * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
2858
976a81ee
RB
28592013-02-13 Richard Biener <rguenther@suse.de>
2860
2861 PR lto/56295
2862 * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
2863 globals in MEM_REFs.
2864
c1874a87
RB
28652013-02-13 Richard Biener <rguenther@suse.de>
2866
2867 * loop-init.c (loop_optimizer_init): Clear loop state when
2868 re-initializing preserved loops.
2869 * loop-unswitch.c (unswitch_single_loop): Return whether
2870 we unswitched the loop. Do not verify loop state here.
88b97037 2871 (unswitch_loops): When we unswitched a loop discover new loops.
c1874a87 2872
b4ab7d34
KS
28732013-02-13 Kostya Serebryany <kcc@google.com>
2874
88b97037
UB
2875 * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset
2876 on x86_64 linux.
b4ab7d34
KS
2877 * sanitizer.def: Rename __asan_init to __asan_init_v1.
2878
bdcbe80c
DS
28792013-02-12 Dodji Seketeli <dodji@redhat.com>
2880
2881 Avoid instrumenting duplicated memory access in the same basic block
2882 * Makefile.in (asan.o): Add new dependency on hash-table.h
2883 * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
2884 (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
2885 (has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
2886 (free_mem_ref_resources, has_mem_ref_been_instrumented)
2887 (has_stmt_been_instrumented_p, update_mem_ref_hash_table)
2888 (get_mem_ref_of_assignment): New functions.
2889 (get_mem_refs_of_builtin_call): Extract from
2890 instrument_builtin_call and tweak a little bit to make it fit with
2891 the new signature.
2892 (instrument_builtin_call): Use the new
2893 get_mem_refs_of_builtin_call. Use gimple_call_builtin_p instead
2894 of is_gimple_builtin_call.
2895 (instrument_derefs, instrument_mem_region_access): Insert the
2896 instrumented memory reference into the hash table.
2897 (maybe_instrument_assignment): Renamed instrument_assignment into
2898 this, and change it to advance the iterator when instrumentation
2899 actually happened and return true in that case. This makes it
2900 homogeneous with maybe_instrument_assignment, and thus give a
2901 chance to callers to be more 'regular'.
2902 (transform_statements): Clear the memory reference hash table
2903 whenever we enter a new BB, when we cross a function call, or when
2904 we are done transforming statements. Use
2905 maybe_instrument_assignment instead of instrumentation. No more
2906 need to special case maybe_instrument_assignment and advance the
2907 iterator after calling it; it's now handled just like
2908 maybe_instrument_call. Update comment.
2909
4861a1f7
RB
29102013-02-13 Richard Biener <rguenther@suse.de>
2911
2912 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
2913 Fix loop discovery code.
2914
1c86bd80
VM
29152013-02-12 Vladimir Makarov <vmakarov@redhat.com>
2916
2917 PR inline-asm/56148
2918 * lra-constraints.c (process_alt_operands): Match early clobber
70cc3288 2919 operand with itself. Check conflicts with earlyclobber only if
1c86bd80
VM
2920 the operand is not reloaded. Prefer to reload conflicting operand
2921 if earlyclobber and matching operands are the same.
2922
7cbda518
RB
29232013-02-12 Richard Biener <rguenther@suse.de>
2924
2925 PR lto/56297
2926 * lto-streamer-out.c (write_symbol): Do not output symbols
2927 for hard register variables.
2928
e68a4ef6
GJL
29292013-02-12 Georg-Johann Lay <avr@gjlay.de>
2930
2931 PR target/54222
2932 * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
2933 (umulsidi3_insn, mulsidi3_insn): New insns.
2934
a72d8780 29352013-02-12 Christophe Lyon <christophe.lyon@linaro.org>
2597da22
CL
2936
2937 * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
2938 (struct tune_params): Add vec_costs field.
2939 * config/arm/arm.c (arm_builtin_vectorization_cost)
2940 (arm_add_stmt_cost): New functions.
2941 (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
2942 (TARGET_VECTORIZE_ADD_STMT_COST): Define.
2943 (arm_default_vec_cost): New struct of type cpu_vec_costs.
2944 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
2945 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
2946 (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
2947 (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
2948
43320568
RB
29492013-02-12 Richard Biener <rguenther@suse.de>
2950
2951 PR lto/56295
2952 * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
2953 decls again if possible.
2954
a011aa39
RB
29552013-02-12 Richard Biener <rguenther@suse.de>
2956
2957 PR middle-end/56288
2958 * tree-ssa.c (verify_ssa_name): Fix check, move
2959 SSA_NAME_IN_FREE_LIST check up.
2960
6da26889
JJ
29612013-02-12 Jakub Jelinek <jakub@redhat.com>
2962 Steven Bosscher <steven@gcc.gnu.org>
2963
2964 PR rtl-optimization/56151
2965 * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
2966 equal to op0 or op1, and last_insn pattern is CODE operation
2967 with MEM dest and one of the operands matches that MEM.
2968
f80e0faf
ST
29692013-02-11 Sriraman Tallam <tmsriramgoogle.com>
2970
2971 * doc/extend.texi: Document Function Multiversioning and "default"
2972 parameter string to target attribute.
2973 * config/i386/i386.c (get_builtin_code_for_version): Return 0 if
2974 target attribute parameter is "default".
2975 (ix86_compare_version_priority): Remove checks for target attribute.
2976 (ix86_mangle_function_version_assembler_name): Change error to sorry.
2977 Remove check for target attribute equal to NULL. Add assert.
2978 (ix86_generate_version_dispatcher_body): Change error to sorry.
2979
6c59ffd1
IS
29802013-02-11 Iain Sandoe <iain@codesourcery.com>
2981 Jack Howarth <howarth@bromo.med.uc.edu>
2982 Patrick Marlier <patrick.marlier@gmail.com>
2983
2984 PR libitm/55693
2985 * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
2986 define ENDFILE_SPEC as TM_DESTRUCTOR.
2987 * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
2988
a72d8780 29892013-02-11 Alexander Potapenko <glider@google.com>
6a52ccb3
AP
2990 Jack Howarth <howarth@bromo.med.uc.edu>
2991 Jakub Jelinek <jakub@redhat.com>
2992
2993 PR sanitizer/55617
2994 * config/darwin.c (cdtor_record): Rename ctor_record.
2995 (sort_cdtor_records): Rename sort_ctor_records.
2996 (finalize_dtors): New routine to sort destructors by
2997 priority before use in assemble_integer.
2998 (machopic_asm_out_destructor): Use finalize_dtors if needed.
2999
b63fe007
UB
30002013-02-11 Uros Bizjak <ubizjak@gmail.com>
3001
3002 PR rtl-optimization/56275
3003 * simplify-rtx.c (avoid_constant_pool_reference): Check that
3004 offset is non-negative and less than cmode size before
3005 calling simplify_subreg.
3006
8e89b5b5
RB
30072013-02-11 Richard Biener <rguenther@suse.de>
3008
3009 PR tree-optimization/56264
3010 * cfgloop.h (fix_loop_structure): Adjust prototype.
3011 * loop-init.c (fix_loop_structure): Return the number of
3012 newly discovered loops.
3013 * tree-cfgcleanup.c (repair_loop_structures): When new loops
3014 are discovered, do a full loop-closed SSA rewrite.
3015
b4a4b56d
RB
30162013-02-11 Richard Biener <rguenther@suse.de>
3017
3018 PR tree-optimization/56273
3019 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
3020 first VRP run.
3021 (check_array_ref): Fix missing newline in dumps.
3022 (search_for_addr_array): Likewise.
3023
0c885229
DE
30242013-02-09 David Edelsohn <dje.gcc@gmail.com>
3025
3026 * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
3027
59ac9a55
JJ
30282013-02-09 Jakub Jelinek <jakub@redhat.com>
3029
3030 PR target/56256
3031 * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
3032
25bb0bb5
VM
30332013-02-08 Vladimir Makarov <vmakarov@redhat.com>
3034
3035 PR rtl-optimization/56246
0c885229 3036 * lra-constraints.c (simplify_operand_subreg): Try to reuse
25bb0bb5
VM
3037 reload pseudo.
3038 * lra.c (lra): Clear lra_optional_reload_pseudos only when all
3039 constraints are satisfied.
3040
a698cc03
JL
30412013-02-08 Jeff Law <law@redhat.com>
3042
3043 PR debug/53948
3044 * emit-rtl.c (reg_is_parm_p): New function.
3045 * regs.h (reg_is_parm_p): New prototype.
3046 * ira-conflicts.c (ira_build_conflicts): Allow parameters in
3047 callee-clobbered registers.
3048
e1122ddd
MM
30492013-02-08 Michael Meissner <meissner@linux.vnet.ibm.com>
3050
3051 PR target/56043
3052 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
3053 If there is no implicit builtin declaration, just return NULL.
3054
19c5f6e6
UB
30552013-02-08 Uros Bizjak <ubizjak@gmail.com>
3056
3057 * config/i386/sse.md (FMAMODEM): New mode iterator.
3058 (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
3059 mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
3060
2480f2ca 30612013-02-08 Uros Bizjak <ubizjak@gmail.com>
76ef61fb 3062
2480f2ca
UB
3063 * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
3064 when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
3065 * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
3066
30672013-02-08 Edgar E. Iglesias <edgar.iglesias@gmail.com>
3068
3069 * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
3070 (microblaze*-*-elf): Likewise.
3071 * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
3072 LINK_SPEC.
3073 * config/microblaze/microblaze-c.c: Add builtin defines for
3074 _LITTLE_ENDIAN and _BIG_ENDIAN.
3075 * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
3076 add to TARGET_DEFAULT flags.
76ef61fb 3077 Expand ASM_SPEC and LINK_SPEC.
2480f2ca
UB
3078 Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
3079 * config/microblaze/microblaze.md: Update extendsidi2 and
3080 movdi_internal instructions to use low-order / high-order reg
3081 print_operands.
3082 * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
3083 options and inversemask / mask of LITTLE_ENDIAN.
3084 * config/microblaze/t-microblaze: Expand multilib options to
3085 include mlittle-endian (le) and update exceptions patterns.
3086
600a5961
JJ
30872013-02-08 Jakub Jelinek <jakub@redhat.com>
3088
5df81313
JJ
3089 PR rtl-optimization/56195
3090 * lra-constraints.c (get_reload_reg): Don't reuse regs
3091 if they have smaller mode than requested, if they have
3092 wider mode than requested, try to return a SUBREG.
3093
600a5961
JJ
3094 PR tree-optimization/56250
3095 * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
3096 if type is unsigned and code isn't MULT_EXPR.
3097
ff544649
GJL
30982013-02-08 Georg-Johann Lay <avr@gjlay.de>
3099
3100 PR tree-optimization/56064
3101 * fixed-value.c (fixed_from_double_int): Sign/zero extend payload
3102 bits according to mode.
3103 * fixed-value.h (fixed_from_double_int)
3104 (const_fixed_from_double_int): Adjust comments.
3105
e45cde98
RB
31062013-02-08 Richard Biener <rguenther@suse.de>
3107
3108 PR lto/56231
3109 * lto-streamer.h (struct data_in): Remove current_file, current_line
3110 and current_col members.
3111 * lto-streamer-out.c (lto_output_location): Stream changed bits
3112 en-block for efficiency.
3113 * lto-streamer-in.c (clear_line_info): Remove.
3114 (lto_input_location): Cache current file, line and column
3115 globally via local statics. Read changed bits en-block.
3116 (input_function): Do not call clear_line_info.
3117 (lto_read_body): Likewise.
3118 (lto_input_toplevel_asms): Likewise.
3119
c1ca73d8
MM
31202013-02-08 Michael Matz <matz@suse.de>
3121
3122 PR tree-optimization/52448
3123 * tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
3124 (nt_call_phase): New static.
3125 (add_or_mark_expr): Only mark accesses with newer phase than any
3126 call seen.
3127 (nonfreeing_call_p): New.
3128 (nt_init_block): Update nt_call_phase, mark blocks as visited.
3129 (nt_fini_block): Keep blocks marked as visited.
3130 (get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
3131
57548aa2
RB
31322013-02-08 Richard Biener <rguenther@suse.de>
3133
3134 * ira.c (ira): Free broken dominator information.
3135
8e10366f
UB
31362013-02-08 Uros Bizjak <ubizjak@gmail.com>
3137
3138 * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
3139
f64fb0fa
MP
31402013-02-08 Marek Polacek <polacek@redhat.com>
3141
8e10366f 3142 * cfgloop.c (verify_loop_structure): Add more checking of headers.
f64fb0fa 3143
0375167b
RB
31442013-02-08 Richard Biener <rguenther@suse.de>
3145
3146 PR middle-end/56181
3147 * cfgloop.h (flow_loops_find): Adjust.
3148 (bb_loop_header_p): Declare.
3149 * cfgloop.c (bb_loop_header_p): New function split out from ...
3150 (flow_loops_find): ... here. Adjust function signature,
3151 support incremental loop structure update.
3152 (verify_loop_structure): Cleanup. Verify a loop is a loop.
3153 * cfgloopmanip.c (fix_loop_structure): Move ...
3154 * loop-init.c (fix_loop_structure): ... here.
3155 (apply_loop_flags): Split out from ...
3156 (loop_optimizer_init): ... here.
3157 (fix_loop_structure): Use apply_loop_flags. Use flow_loops_find
3158 in incremental mode, only remove dead loops here.
3159
85d768f3
GJL
31602013-02-08 Georg-Johann Lay <avr@gjlay.de>
3161
3162 PR target/54222
3163 * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
3164 * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
3165 (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
3166 (*round<mode>3.libgcc): New insns for fixed-modes.
3167 * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
3168 (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
3169 (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
3170 * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
3171 implementations. Define to __builtin_avr_absFX,
3172 __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
3173 (roundFX, countlsFX): Define to __builtin_avr_roundFX,
3174 __builtin_avr_countlsFX, respectively.
3175 * config/avr/avr-c.c (target.h): Include it.
3176 (enum avr_builtin_id): New enum.
3177 (avr_resolve_overloaded_builtin): New static function.
3178 (avr_register_target_pragmas): Use it to set
3179 targetm.resolve_overloaded_builtin.
3180 * config/avr/avr.c (avr_init_builtins): Supply myriads of local
3181 tree nodes used by DEF_BUILTIN.
3182 (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
3183 (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
3184 <AVR_BUILTIN_xxBITS>: Same.
3185
661bc682
RB
31862013-02-08 Richard Biener <rguenther@suse.de>
3187
3188 * cfgloop.c (verify_loop_structure): Properly handle
3189 a loop exiting to another loop header.
3190 * ira-int.h (ira_loops): Remove.
3191 * ira.c (ira_loops): Remove.
3192 (ira): Use loop_optimizer_init and loop_optimizer_finalize.
3193 (do_reload): Use loop_optimizer_finalize.
3194 * ira-build.c (create_loop_tree_nodes): Use get_loops and
3195 number_of_loops to access the loop tree.
3196 (more_one_region_p): Likewise.
3197 (finish_loop_tree_nodes): Likewise.
3198 (rebuild_regno_allocno_maps): Likewise.
3199 (mark_loops_for_removal): Likewise.
3200 (mark_all_loops_for_removal): Likewise.
3201 (remove_unnecessary_regions): Likewise.
3202 (ira_build): Likewise.
3203 * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
3204
0d5049b2
RB
32052013-02-08 Richard Biener <rguenther@suse.de>
3206
3207 * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
3208 * ipa-pure-const.c (analyze_function): Avoid calling
3209 mark_irreducible_loops twice.
8e10366f 3210 * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops for fixup.
0d5049b2 3211
499f32e8
DM
32122013-02-07 David S. Miller <davem@davemloft.net>
3213
3214 * dwarf2out.c (based_loc_descr): Perform leaf register remapping
3215 on 'reg'.
3216 * var-tracking.c (vt_add_function_parameter): Test the presence of
3217 HAVE_window_save properly and do not remap argument registers when
3218 we have a leaf function.
3219
6edc3e32
UB
32202013-02-07 Uros Bizjak <ubizjak@gmail.com>
3221
3222 PR bootstrap/56227
3223 * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
3224 instead of "ll".
3225 * config/i386/i386.c (ix86_print_operand): Ditto.
3226
5306401f
VM
32272013-02-07 Vladimir Makarov <vmakarov@redhat.com>
3228
6edc3e32 3229 * lra-constraints.c (process_alt_operands): Fix recently added comment.
5306401f 3230
027ece11
VM
32312013-02-07 Vladimir Makarov <vmakarov@redhat.com>
3232
3233 PR rtl-optimization/56225
3234 * lra-constraints.c (process_alt_operands): Check that reload hard
3235 reg can hold value for strict_low_part.
3236
f980dfdb
JJ
32372013-02-07 Jakub Jelinek <jakub@redhat.com>
3238
3239 PR debug/56154
3240 * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
3241 dwarf2out_end_function.
3242 (in_first_function_p, maybe_at_text_label_p,
3243 first_loclabel_num_not_at_text_label): New variables.
3244 (dwarf2out_var_location): In the first function find out
6edc3e32 3245 lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
f980dfdb
JJ
3246 (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
3247 functions.
3248
73dd3123
EB
32492013-02-07 Eric Botcazou <ebotcazou@adacore.com>
3250
3251 PR rtl-optimization/56178
3252 * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
3253 SUBREG of a register. Tidy up related block of code.
3254 * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
3255 note if the source is a register or a SUBREG of a register.
3256
e3936f47
JJ
32572013-02-07 Jakub Jelinek <jakub@redhat.com>
3258
3259 PR target/56228
3260 * config/rs6000/rs6000.md (ptrm): New mode attr.
3261 (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
3262 call_value_indirect_aix<pttrsize>,
3263 call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
3264 m in constraints.
3265
d96d674b
MH
32662013-02-07 Michael Haubenwallner <michael.haubenwallner@salomon.at>
3267
3268 * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
3269 if -bnortl. Convert to strcmp and strncmp.
3270
921f2dee
AM
32712013-02-07 Alan Modra <amodra@gmail.com>
3272
3273 PR target/54009
3274 * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
3275 addresses won't wrap when offsetting.
3276 (rs6000_secondary_reload): Provide secondary reloads needed for
3277 wrapping LO_SUM addresses.
3278
d09c7dba
TS
32792013-02-06 Thomas Schwinge <thomas@codesourcery.com>
3280
3281 * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
3282 MACH, just __MACH__.
3283
a44bbd48
RB
32842013-02-06 Richard Biener <rguenther@suse.de>
3285
3286 * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
3287 instead of calling fix_loop_structure.
3288
6d840d99
JJ
32892013-02-06 Jakub Jelinek <jakub@redhat.com>
3290
3291 PR middle-end/56217
3292 * omp-low.c (use_pointer_for_field): Return false if
3293 lower_send_shared_vars doesn't generate any copy-out code.
3294
0f33baa9
TV
32952013-02-06 Tom de Vries <tom@codesourcery.com>
3296
3297 PR rtl-optimization/56131
3298 * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
3299 to get the bb of a NOTE_INSN_BASIC_BLOCK. Handle the case that the bb
3300 of the label is NULL. Add comment.
3301
11f1e3ab
JJ
33022013-02-05 Jakub Jelinek <jakub@redhat.com>
3303
31502f9f
JJ
3304 * tree.h (struct tree_decl_with_vis): Remove thread_local field.
3305
a74db9bd
JJ
3306 PR sanitizer/55374
3307 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
3308 (STATIC_LIBTSAN_LIBS): Likewise.
3309 * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
3310 (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
3311 is defined, don't add anything else beyond that.
3312 (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
3313 (LINK_COMMAND_SPEC): Use them.
3314
11f1e3ab
JJ
3315 PR tree-optimization/56205
3316 * tree-stdarg.c (check_all_va_list_escapes): Return true if
3317 there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
3318 and some va_list_escape_vars SSA_NAME appears in some PHI argument.
3319
14ac6aa2
RB
33202013-02-05 Richard Biener <rguenther@suse.de>
3321
3322 PR tree-optimization/53342
3323 PR tree-optimization/53185
3324 * tree-vectorizer.h (vect_check_strided_load): Remove.
3325 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
3326 not disallow peeling for vectorized strided loads.
3327 (vect_check_strided_load): Make static and simplify.
3328 (vect_analyze_data_refs): Adjust.
3329 * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
3330 correctly when vectorizing strided loads.
3331
6f22445a
RB
33322013-02-05 Richard Biener <rguenther@suse.de>
3333
3334 * doc/install.texi: Refer to ISL, not PPL.
3335
39f9719e
JH
33362013-02-05 Jan Hubicka <jh@suse.cz>
3337
ec4224ac
JH
3338 PR tree-optimization/55789
3339 * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
3340
33412013-02-05 Jan Hubicka <jh@suse.cz>
3342
3343 PR tree-optimization/55789
39f9719e
JH
3344 * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
3345 the dead call anyway.
3346
956d3b33
EB
33472013-02-05 Eric Botcazou <ebotcazou@adacore.com>
3348
3349 PR sanitizer/55374
3350 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
3351
33522013-02-04 Alexander Potapenko <glider@google.com>
3353 Jack Howarth <howarth@bromo.med.uc.edu>
ae526fe5
AP
3354 Jakub Jelinek <jakub@redhat.com>
3355
3356 PR sanitizer/55617
3357 * config/darwin.c (sort_ctor_records): Stabilized qsort
3358 on constructor priority by using original position.
3359 (finalize_ctors): New routine to sort constructors by
3360 priority before use in assemble_integer.
3361 (machopic_asm_out_constructor): Use finalize_ctors if needed.
3362
7ac3af38
JJ
33632013-02-04 Jakub Jelinek <jakub@redhat.com>
3364
3365 PR libstdc++/54314
3366 * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
3367 about visibility on artificial decls.
3368 * config/sol2.c (solaris_assemble_visibility): Likewise.
3369
152689dc
KT
33702013-02-04 Kai Tietz <ktietz@redhat.com>
3371
3372 PR target/56186
3373 * config/i386/i386.c (function_value_ms_64): Add additional valtype
3374 argument and improve checking of return-argument types for 16-byte
3375 modes.
3376 (ix86_function_value_1): Add additional valtype argument on call
3377 of function_value_64.
3378 (return_in_memory_ms_64): Sync 16-byte sized mode handling with
3379 handling infunction_value_64 function.
3380
2b5987b5
MGD
33812013-02-04 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
3382
7ac3af38 3383 * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
2b5987b5 3384
14597080
RB
33852013-02-04 Richard Biener <rguenther@suse.de>
3386
3387 PR tree-optimization/56188
3388 * tree-ssa-structalias.c (label_visit): Consider case with
3389 initially non-empty points-to set.
3390 (perform_var_substitution): Dump node mapping and clean up.
3391
ed73881e
RG
33922013-02-04 Richard Guenther <rguenther@suse.de>
3393
3394 PR lto/56168
3395 * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
3396 node prevail as last resort.
3397 (lto_symtab_merge_decls): Remove guard on LTRANS here.
6edc3e32 3398 (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
ed73881e 3399
139a0707
RB
34002013-02-04 Richard Biener <rguenther@suse.de>
3401
3402 PR tree-optimization/56113
3403 * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
3404 Merge into ...
3405 (equiv_class_lookup_or_add): ... this.
3406 (label_visit): Adjust and fix error in previous patch.
3407 (perform_var_substitution): Adjust.
3408
50fe8924
OE
34092013-02-03 Oleg Endo <olegendo@gcc.gnu.org>
3410
3411 * config/sh/divtab.c: Fix formatting and comments throughout the file.
3412 * config/sh/sh4-300.md: Likewise.
3413 * config/sh/sh4a.md: Likewise.
3414 * config/sh/constraints.md: Likewise.
3415 * config/sh/sh.md: Likewise.
3416 * config/sh/netbsd-elf.h: Likewise.
3417 * config/sh/predicates.md: Likewise.
3418 * config/sh/sh-protos.h: Likewise.
3419 * config/sh/ushmedia.h: Likewise.
3420 * config/sh/linux.h: Likewise.
3421 * config/sh/sh.c: Likewise.
3422 * config/sh/superh.h: Likewise.
3423 * config/sh/elf.h: Likewise.
3424 * config/sh/sh4.md: Likewise.
3425 * config/sh/sh.h: Likewise.
3426
1a04ac2b
JDA
34272013-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3428
3429 * config/pa/constraints.md: Adjust unused letters. Change "T"
3430 constraint to match_test floating_point_store_memory_operand().
3431 * config/pa/predicates.md (reg_plus_base_memory_operand): New.
3432 (base14_operand): New.
3433 (floating_point_store_memory_operand): New.
3434 (integer_store_memory_operand): Revise to use base14_operand and
3435 reg_plus_base_memory_operand.
3436 (move_dest_operand): Allow symbolic_memory_operands.
3437 (symbolic_memory_operand): Check for LO_SOM.
3438 (symbolic_operand): Change default case to break.
3439 * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
3440 CONST_DOUBLE values to be reloaded by putting them into memory when
3441 the destination is a floating point register.
3442 (movdf): Remove code to handle CONST_DOUBLE.
3443 (movsf): Likewise.
3444 (reload_indf_r1): New.
3445 (reload_insf_r1): New.
3446 Consistently use "Q" and "T" constraints with integer and floating
3447 point move instructions, respectively.
3448 (movdi): Remove FAIL.
3449 Change predicate for source operand unamed DImode move from
3450 general_operand to move_src_operand.
3451 (umulsidi3): Change predicate for destination operand to
3452 register_operand.
3453 Likewise for similar unamed patterns.
3454 * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
3455 * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
3456 (hppa_legitimize_address): Simplify mask calculation.
3457 (pa_emit_move_sequence): Revised handling of secondary reloads from
3458 REG+D addresses for floating point loads and stores. Directly handle
3459 loading CONST0_RTX (mode) to a floating point register.
3460 (pa_secondary_reload): Handle reloading DF and SFmode constant values
3461 to floating point registers. Don't restrict secondary reloads to
3462 floating point registers to integer modes. Revise some comments and
3463 cleanup some code.
3464 (TARGET_LEGITIMATE_ADDRESS_P): Define.
3465 (pa_legitimate_address_p): New.
3466 (pa_legitimize_reload_address): New.
3467 * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
3468 (STRICT_REG_OK_FOR_BASE_P): New.
3469 (GO_IF_LEGITIMATE_ADDRESS): Delete. Update some related comments.
3470 (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
3471
3bf65591
DE
34722013-02-03 David Edelsohn <dje.gcc@gmail.com>
3473 Andrew Dixie <andrewd@gentrack.com>
3474
3475 * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
3476 flag set.
3477
c0a8a3e6
RS
34782013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
3479
3480 * expmed.c (extract_bit_field_1): Pass the full width of the
3481 structure to get_best_reg_extraction_insn.
3482
99113dff
DE
34832013-02-01 David Edelsohn <dje.gcc@gmail.com>
3484
3485 PR target/54601
3486 * configure.ac (use_cxa_atexit): Add AIX.
3487 * configure: Regenerate.
3488
3489 * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
3490
ddd84654
JJ
34912013-02-01 Jakub Jelinek <jakub@redhat.com>
3492
3493 PR debug/54793
3494 * final.c (need_profile_function): New variable.
3495 (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
3496 If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
3497 is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
3498 notes, targetm.asm_out.function_prologue doesn't emit anything,
3499 HAVE_prologue and profiler should be emitted before prologue,
3500 set need_profile_function instead of emitting it.
3501 (final_scan_insn): If need_profile_function, emit
3502 profile_function on the first NOTE_INSN_BASIC_BLOCK or
3503 NOTE_INSN_FUNCTION_BEG note.
3504
35052013-02-01 Richard Henderson <rth@redhat.com>
749af8ee
RH
3506
3507 * config/rs6000/rs6000.md (smulditi3): New.
3508 (umulditi3): New.
3509
ff2a9d88
RH
3510 * config/alpha/alpha.md (umulditi3): New.
3511
14d52b90
DE
35122013-02-01 David Edelsohn <dje.gcc@gmail.com>
3513
3514 * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
3515 (ASM_OUTPUT_ALIGNED_LOCAL): New.
3516
8c7ca45c
RB
35172013-02-01 Richard Biener <rguenther@suse.de>
3518
3519 PR tree-optimization/56113
3520 * tree-ssa-structalias.c (label_visit): Reduce work for
3521 single-predecessor nodes.
3522
9f419393
EB
35232013-02-01 Eric Botcazou <ebotcazou@adacore.com>
3524
3525 * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
3526 range isn't testing for zero.
3527
c5f4be84
SB
35282013-01-31 Steven Bosscher <steven@gcc.gnu.org>
3529
3530 PR middle-end/56113
3531 * fwprop.c (fwprop_init): Set up loops without CFG modifications.
3532
dbdbd982
NC
35332013-01-31 Hiroyuki Ono <hiroyuki.ono.jc@renesas.com>
3534 Nick Clifton <nickc@redhat.com>
3535
3536 * config/v850/constraints.md (Q): Define as a memory constraint.
3537 * config/v850/predicates.md (label_ref_operand): New predicate.
3538 (e3v5_shift_operand): New predicate.
3539 (ior_operator): New predicate.
3540 * config/v850/t-v850: Add e3v5 multilib.
3541 * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
3542 (v850_gen_movdi): Prototype.
3543 * config/v850/v850.c: Add support for e3v5 architecture.
3544 Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
3545 TARGET_V850E_UP.
3546 (construct_save_jarl): Add e3v5 long JARL support.
3547 (v850_adjust_insn_length): New function. Adjust length of call
3548 insns when using e3v5 instructions.
3549 (v850_gen_movdi): New function: Generate instructions to move a
3550 DImode value.
3551 * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
3552 (CPP_SPEC): Define __v850e3v5__ as appropriate.
3553 (TARGET_USE_FPU): Enable for e3v5.
3554 (CONST_OK_FOR_W): New macro.
3555 (ADJUST_INSN_LENGTH): Define.
3556 * config/v850/v850.md (UNSPEC_LOOP): Define.
3557 (attr cpu): Add v850e3v5.
3558 Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
3559 (movdi): New pattern.
3560 (movdi_internal): New pattern.
3561 (cbranchsf4): Conditionalize on TARGET_USE_FPU.
3562 (cbranchdf4): Conditionalize on TARGET_USE_FPU.
3563 (cstoresf4): Likewise.
3564 (cstoredf4): Likewise.
3565 (insv): New pattern.
3566 (rotlso3_a): New pattern.
3567 (rotlsi3_b): New pattern
3568 (rotlsi3_v850e3v5): New pattern.
3569 (doloop_begin): New pattern.
3570 (fix_loop_counter): New pattern.
3571 (doloop_end): New pattern.
3572 (branch_normal): Add e3v5 long branch support.
3573 (branch_invert): Likewise.
3574 (branch_z_normal): Likewise.
3575 (branch_z_invert): Likewise.
3576 (branch_nz_normal): Likewise.
3577 (branch_nz_invert): Likewise.
3578 (call_internal_short): Add e3v5 register-indirect JARL support.
3579 (call_internal_long): Likewise.
3580 (call_value_internal_short): Likewise.
3581 (call_value_internal_long): Likewise.
3582 * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
3583 (mloop): New option.
3584 * config.gcc: Add support for configuring v840e3v5 target.
6edc3e32 3585 * doc/invoke.texi: Document new v850 specific command line options.
dbdbd982 3586
73861a41
PK
35872013-01-31 Paul Koning <ni1d@arrl.net>
3588
3589 PR debug/55059
3590 PR debug/54508
3591 * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
3592 children if parent is a class.
3593 (prune_unused_types_prune): Don't add DW_AT_declaration.
3594
e44978dc
RB
35952013-01-31 Richard Biener <rguenther@suse.de>
3596
3597 PR tree-optimization/56157
3598 * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
3599 match up operand with SLP child.
3600
90b10dec
JM
36012013-01-31 Jason Merrill <jason@redhat.com>
3602
04d2dadd 3603 PR debug/54410
90b10dec
JM
3604 * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
3605 parameters the first time.
3606 (gen_scheduled_generic_parms_dies): Check completeness here.
3607
6e616110
RB
36082013-01-31 Richard Biener <rguenther@suse.de>
3609
3610 PR middle-end/53073
3611 * common.opt (faggressive-loop-optimizations): New flag,
3612 enabled by default.
3613 * doc/invoke.texi (faggressive-loop-optimizations): Document.
3614 * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
3615 infer_loop_bounds_from_undefined by it.
3616
636f59cf
RB
36172013-01-31 Richard Biener <rguenther@suse.de>
3618
3619 PR tree-optimization/56150
3620 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
3621 visit virtual operands.
3622 (find_uses_to_rename_bb): Likewise.
3623
36242013-01-31 Richard Biener <rguenther@suse.de>
fcfa87ac
RB
3625
3626 PR tree-optimization/56150
3627 * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
3628 mixed store non-store stmts.
3629
32887460
JJ
36302013-01-30 Jakub Jelinek <jakub@redhat.com>
3631
e60e09a0
JJ
3632 PR sanitizer/55374
3633 * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
3634 LIBASAN_EARLY_SPEC is defined.
3635 (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
3636 (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
3637 before %o.
3638 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
3639
32887460
JJ
3640 PR c++/55742
3641 * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
3642 invalid args instead of ICEing on it.
3643 (ix86_valid_target_attribute_tree): Return error_mark_node if
3644 ix86_valid_target_attribute_inner_p failed.
3645 (ix86_valid_target_attribute_p): Return false only if
3646 ix86_valid_target_attribute_tree returned error_mark_node. Allow
3647 target("default") attribute.
3648 (sorted_attr_string): Change argument from const char * to tree,
3649 merge in all target attribute arguments rather than just one.
3650 Formatting fix. Use XNEWVEC instead of xmalloc and XDELETEVEC
3651 instead of free. Avoid using strcat.
3652 (ix86_mangle_function_version_assembler_name): Mangle
3653 target("default") as if no target attribute is present. Adjust
3654 sorted_attr_string caller. Avoid leaking memory. Use XNEWVEC
3655 instead of xmalloc and XDELETEVEC instead of free.
3656 (ix86_function_versions): Don't return true if one of the decls
3657 doesn't have target attribute. If they don't and one of the decls
3658 is DECL_FUNCTION_VERSIONED, report an error. Adjust
3659 sorted_attr_string caller. Use XDELETEVEC instead of free.
3660 (ix86_supports_function_versions): Remove.
3661 (make_name): Fix up formatting.
3662 (make_dispatcher_decl): Remove resolver_name and its initialization.
3663 Avoid leaking memory.
3664 (is_function_default_version): Return true if there is
3665 target("default") attribute rather than no target attribute at all.
3666 (make_resolver_func): Avoid leaking memory.
3667 (ix86_generate_version_dispatcher_body): Likewise.
3668 (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
3669 * target.def (supports_function_versions): Remove.
3670 * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
3671 * doc/tm.texi: Regenerated.
3672
73cca0cc
VM
36732013-01-30 Vladimir Makarov <vmakarov@redhat.com>
3674
3675 PR rtl-optimization/56144
3676 * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
3677 for values with side effects.
3678
11452e7b
RB
36792013-01-30 Richard Biener <rguenther@suse.de>
3680
3681 * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
3682 (sparseset_pop): Likewise.
3683 * cfganal.c (compute_idf): Likewise. Increase work-stack size
3684 to be able to use quick_push in the worker loop.
3685
01cb1ef5
MP
36862013-01-30 Marek Polacek <polacek@redhat.com>
3687
3688 * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
3689
e892936e
RB
36902013-01-30 Richard Biener <rguenther@suse.de>
3691
3692 PR lto/56147
6edc3e32 3693 * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
e892936e 3694
cc06c01d
GJL
36952013-01-30 Georg-Johann Lay <avr@gjlay.de>
3696
3697 PR tree-optimization/56064
3698 * fixed-value.c (fixed_from_double_int): New function.
3699 * fixed-value.h (fixed_from_double_int): New prototype.
3700 (const_fixed_from_double_int): New static inline function.
3701 * fold-const.c (native_interpret_fixed): New static function.
3702 (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
3703 (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
3704 (native_encode_fixed): New static function.
3705 (native_encode_expr) <FIXED_CST>: Use it.
3706 (native_interpret_int): Move double_int worker code to...
3707 * double-int.c (double_int::from_buffer): ...this new static method.
3708 * double-int.h (double_int::from_buffer): Prototype it.
3709
d394a308
RB
37102013-01-30 Richard Biener <rguenther@suse.de>
3711
3712 * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
3713 New pointer-map and obstack.
3714 (init_alias_vars): Allocate pointer-map and obstack.
3715 (delete_points_to_sets): Free them.
3716 (find_what_var_points_to): Cache result.
3717 (find_what_p_points_to): Adjust for changed interface of
3718 find_what_var_points_to.
3719 (compute_points_to_sets): Likewise.
3720 (ipa_pta_execute): Likewise.
3721
20804d96
RO
37222013-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3723
3724 * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
3725 * configure: Regenerate.
3726 * config.in: Regenerate.
3727 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
3728 #nobits/#progbits if supported.
3729
a7ad88a2
OE
37302013-01-29 Oleg Endo <olegendo@gcc.gnu.org>
3731
3732 PR target/56121
3733 * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
3734 bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
3735 bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
3736
7af79f92
GY
37372013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
3738
91bfca59
OE
3739 * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
3740 (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
7af79f92 3741
753bcf7b
GY
37422013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
3743
91bfca59
OE
3744 * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
3745 * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
753bcf7b 3746
8cbc2ea8
GY
37472013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
3748
91bfca59
OE
3749 * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
3750 declaration.
3751 * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
3752 * config/arm/cortex-a7.md: New bypasses using
3753 arm_mac_accumulator_is_result.
8cbc2ea8 3754
697a3325
GY
37552013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
3756
91bfca59 3757 * config/arm/cortex-a7.md (cortex_a7_neon_mul): New reservation.
697a3325 3758 (cortex_a7_neon_mla): Likewise.
91bfca59
OE
3759 (cortex_a7_fpfmad): New reservation.
3760 (cortex_a7_fpmacs): Use ffmas and update required units.
3761 (cortex_a7_fpmuld): Update required units and latency.
3762 (cortex_a7_fpmacd): Likewise.
3763 (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
3764 (cortex_a7_neon). Likewise.
3765 (bypass) Update participating units.
697a3325 3766
29637783
GY
37672013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
3768
91bfca59
OE
3769 * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
3770 * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
3771 from fmac to ffma.
3772 * config/arm/vfp11.md (vfp_farith): Use ffmas.
3773 (vfp_fmul): Use ffmad.
3774 * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
3775 (cortex_r4_fmacd): Use ffmad.
3776 * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
3777 * config/arm/cortex-a9.md (cortex_a9_fmacs): Use ffmas.
3778 (cortex_a9_fmacd): Use ffmad.
3779 * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
3780 (cortex_a8_vfp_macd): Use ffmad.
3781 * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
3782 (cortex_a5_fpmacd): Use ffmad.
3783 * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
3784 (cortex_a15_vfp_macd): Use ffmad.
3785 * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
29637783 3786
2ee8a2d5
JM
37872013-01-29 Jason Merrill <jason@redhat.com>
3788
3789 PR libstdc++/54314
3790 * varasm.c (default_assemble_visibility): Don't warn about
3791 visibility on artificial decls.
3792
78d087bc
RB
37932013-01-29 Richard Biener <rguenther@suse.de>
3794
3795 PR tree-optimization/56113
3796 * tree-ssa-structalias.c (equiv_class_lookup): Also return
3797 the bitmap leader.
3798 (label_visit): Free duplicate bitmaps and record the leader instead.
3799 (perform_var_substitution): Adjust.
3800
83ba4d6f
RB
38012013-01-29 Richard Biener <rguenther@suse.de>
3802
3803 PR tree-optimization/55270
3804 * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
3805 the CFG, schedule loops for fixup.
3806
66dfe13f
NC
38072013-01-29 Nick Clifton <nickc@redhat.com>
3808
3809 * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
3810 SP_REG.
3811
5a579c3b
LE
38122013-01-28 Leif Ekblad <leif@rdos.net>
3813
3814 * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
3815 * config/i386/i386.h (TARGET_RDOS): New macro.
3816 (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
3817 * config/i386/i386.c (ix86_option_override_internal): For 64bit
3818 TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
3819 * config/i386/i386.opt (mlarge-data-threshold): Initialize to
3820 DEFAULT_LARGE_SECTION_THRESHOLD.
3821 * config/i386/i386.md (R14_REG, R15_REG): New constants.
3822 * config/i386/rdos.h: New file.
3823 * config/i386/rdos64.h: New file.
3824
51e44392
BS
38252013-01-28 Bernd Schmidt <bernds@codesourcery.com>
3826
3827 PR other/54814
3828 * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
3829 TEST_HARD_REG_BIT.
3830
db1fb332
JJ
38312013-01-28 Jakub Jelinek <jakub@redhat.com>
3832
3833 PR rtl-optimization/56117
3834 * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
3835 call cselib_lookup_from_insn on the MEM before calling
3836 add_insn_mem_dependence.
3837
16917761
RB
38382013-01-28 Richard Biener <rguenther@suse.de>
3839
3840 * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
3841 to a stmt that didn't have one.
3842 (copy_phis_for_bb): Likewise for PHI arguments.
3843 (copy_debug_stmt): Likewise for debug stmts.
3844
b9fc0497
RB
38452013-01-28 Richard Biener <rguenther@suse.de>
3846
3847 PR tree-optimization/56034
6edc3e32 3848 * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
b9fc0497
RB
3849 (partition_builtin_p): Adjust.
3850 (generate_code_for_partition): Handle PKIND_REDUCTION. Assert
3851 it is the last partition.
3852 (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
3853 up the vertex for the definition.
3854 (classify_partition): Classify whether a partition is a
3855 PKIND_REDUCTION, thus has uses outside of the loop.
3856 (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
3857 Merge all PKIND_REDUCTION partitions into the last partition.
3858 (tree_loop_distribution): Seed partitions from reductions as well.
3859
aa710d25
JJ
38602013-01-28 Jakub Jelinek <jakub@redhat.com>
3861
0bfbca58
JJ
3862 PR tree-optimization/56125
3863 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
3864 pow(x,c) into sqrt(x) * powi(x, n/2) or
3865 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
3866 optimizing for size.
3867 Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
3868 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
3869 integer.
3870
aa710d25
JJ
3871 PR tree-optimization/56094
3872 * gimplify.c (force_gimple_operand_1): Temporarily set input_location
3873 to UNKNOWN_LOCATION while gimplifying expr.
3874
77dc5297
UB
38752013-01-27 Uros Bizjak <ubizjak@gmail.com>
3876
3877 PR target/56114
3878 * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
3879 operand 0 in movabs insn template for -masm=intel asm alternative.
3880 (*movabs<mode>_2): Ditto for operand 1.
3881
0bfbca58 38822013-01-26 David Holsgrove <david.holsgrove@xilinx.com>
fbf0cf90
DH
3883
3884 PR target/54663
3885 * config.gcc (microblaze*-linux*): Add tmake_file to allow building
3886 of microblaze-c.o
3887
0bfbca58 38882013-01-26 Edgar E. Iglesias <edgar.iglesias@gmail.com>
6f14eef2
EI
3889
3890 * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
3891 tm_file.
3892
0bfbca58 38932013-01-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
706b2314
N
3894
3895 * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
3896 Undef to avoid warning.
3897
478f60f9
MH
38982013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at>
3899
3900 * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
3901 * configure: Regenerate.
3902
d7fa6ee2
JJ
39032013-01-25 Jakub Jelinek <jakub@redhat.com>
3904
3905 PR tree-optimization/56098
3906 * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
3907 for stmts with volatile ops.
3908 (cond_store_replacement): Don't optimize if assign has volatile ops.
3909 (cond_if_else_store_replacement_1): Don't optimize if either
3910 then_assign or else_assign have volatile ops.
3911 (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
3912 volatile ops.
3913
f8fe87bd
GJL
39142013-01-25 Georg-Johann Lay <avr@gjlay.de>
3915
3916 * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
3917
28398d0d
GJL
39182013-01-25 Georg-Johann Lay <avr@gjlay.de>
3919
3920 * doc/extend.texi (Example of asm with clobbered asm reg): Fix
3921 missing ':' in asm example.
3922
b7d7d917
TB
39232013-01-25 Tejas Belagod <tejas.belagod@arm.com>
3924
3925 * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
3926 entries into lane and laneq entries.
77dc5297
UB
3927 * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
3928 Remove AdvSIMD scalar modes.
b7d7d917
TB
3929 (aarch64_sq<r>dmulh_laneq<mode>): New.
3930 (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
3931 modes.
3932 * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
3933 builtin implementations to relfect changes in RTL in aarch64-simd.md.
3934 * config/aarch64/iterators.md (VCOND): New.
3935 (VCONQ): New.
3936
556f9906
GJL
39372013-01-25 Georg-Johann Lay <avr@gjlay.de>
3938
3939 PR target/54222
3940 * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
3941 Add NULL LIBNAME argument to existing definitions.
3942 (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
3943 * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
3944 * config/avr/avr.c (DEF_BUILTIN): Same.
3945 (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
3946 (avr_expand_builtin): Expand to a vanilla call if a libgcc
3947 implementation is available (DECL_ASSEMBLER_NAME is set).
3948 (avr_fold_absfx): New static function.
3949 (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
3950 AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
3951 AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
3952 AVR_BUILTIN_ABSLLK.
3953 * config/avr/stdfix.h (abshr, absr, abslr, absllr)
3954 (abshk, absk, abslk, absllk): Provide as static inline functions.
3955
1f546bbb
MP
39562013-01-25 Marek Polacek <polacek@redhat.com>
3957
3958 PR tree-optimization/56035
3959 * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
3960
7e184bd7
UB
39612012-01-24 Uros Bizjak <ubizjak@gmail.com>
3962
3963 * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
3964 (*movtf_internal_rex64): Add (!o,C) alternative
3965 (*movxf_internal_rex64): Ditto.
3966 (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
3967
f5ba49ac
SM
39682013-01-24 Shenghou Ma <minux.ma@gmail.com>
3969
3970 * doc/invoke.texi: fix typo.
3971 * doc/objc.texi: fix typo.
3972
a6343728
RS
39732013-01-24 Richard Sandiford <rdsandiford@googlemail.com>
3974
3975 * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
3976 for the first two alternatives.
3977
cd030c07
DN
39782013-01-24 Diego Novillo <dnovillo@google.com>
3979
77dc5297 3980 * Makefile.in (GGC): Remove. Replace all instances with ggc-page.o.
cd030c07
DN
3981 (ggc-zone.o): Remove.
3982 * configure.ac: Remove option --with-gc.
3983 * configure: Re-generate.
3984 * doc/install.texi: Remove documentation for --with-gc.
3985 * gengtype.c (write_enum_defn): Remove. Update all users.
3986 (write_Types_process_field): Remove generation of gt_e_* argument.
3987 (output_type_enum): Remove. Update all users.
3988 (write_enum_defn): Remove. Update all users.
3989 (enum alloc_zone): Remove. Update all users.
77dc5297 3990 (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
cd030c07
DN
3991 * ggc-common.c (ggc_splay_alloc): Remove first argument.
3992 Update all callers.
3993 (struct ptr_data): Remove field TYPE. Update all users.
77dc5297 3994 (gt_pch_note_object): Remove argument TYPE. Update all users.
cd030c07
DN
3995 * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
3996 Update all users.
aaf1e810 3997 * ggc-none.c (ggc_alloc_typed_stat): Remove.
cd030c07
DN
3998 (struct alloc_zone): Remove.
3999 (ggc_internal_alloc_zone_stat): Remove.
4000 (ggc_internal_cleared_alloc_zone_stat): Remove.
4001 * ggc-page.c (ggc_alloc_typed_stat): Remove.
77dc5297
UB
4002 (ggc_pch_count_object): Remove last argument. Update all users.
4003 (ggc_pch_alloc_object): Remove last argument. Update all users.
cd030c07
DN
4004 (struct alloc_zone): Remove.
4005 * ggc-zone.c: Remove.
77dc5297 4006 * ggc.h (gt_pch_note_object): Remove last argument. Update all users.
cd030c07
DN
4007 (struct alloc_zone): Remove.
4008 (ggc_alloc_typed_stat): Remove.
4009 (ggc_alloc_typed): Remove.
4010 (ggc_splay_alloc): Remove first argument.
4011 (rtl_zone): Remove. Update all users.
4012 (tree_zone): Remove. Update all users.
4013 (tree_id_zone): Remove. Update all users.
4014 (ggc_internal_zone_alloc_stat): Remove. Update all users.
77dc5297 4015 (ggc_internal_zone_cleared_alloc_stat): Remove. Update all users.
cd030c07 4016 (ggc_internal_zone_vec_alloc_stat): Remove. Update all users.
77dc5297 4017 * tree-ssanames.c: Remove references to zone allocator in comments.
cd030c07 4018
a861ffa4
GJL
40192013-01-24 Georg-Johann Lay <avr@gjlay.de>
4020
4021 * config/avr/avr.c (avr_out_fract): Make register numbers that
4022 might be outside of source operand signed.
4023
593c0ddd
UB
40242013-01-24 Uros Bizjak <ubizjak@gmail.com>
4025
4026 * config/i386/constraints.md (Yf): New constraint.
4027 * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
4028 of f constraint to conditionaly disable x87 register preferences.
4029 (*movdf_internal): Ditto.
4030 (*movsf_internal): Ditto.
4031
e86c0101
SB
40322013-01-24 Steven Bosscher <steven@gcc.gnu.org>
4033
4034 PR inline-asm/55934
4035 * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
4036 that have operands with impossible constraints.
4037 Add a FIXME for a speed-up opportunity.
4038 * lra-constraints.c (process_alt_operands): Verify that a class
4039 selected from constraints on asms is valid for the operand mode.
4040 (curr_insn_transform): Remove incorrect comment.
4041
f6fee35f
DE
40422013-01-23 David Edelsohn <dje.gcc@gmail.com>
4043
4044 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
4045 TOC operand is a valid symbol ref in the constant pool.
4046
40472013-01-23 Edgar E. Iglesias <edgar.iglesias@gmail.com>
c7729184 4048
aaf1e810 4049 * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
c7729184 4050
dc62d7d1
GJL
40512013-01-23 Georg-Johann Lay <avr@gjlay.de>
4052
4053 PR target/54222
4054 * config/avr/stdfix.h: New file.
4055 * t-avr (stdfix-gcc.h): New rule to build it.
4056 (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
4057
2660d12d
KS
40582013-01-23 Kostya Serebryany <kcc@google.com>
4059
77dc5297
UB
4060 * config/darwin.h: remove dependency on
4061 CoreFoundation (asan on Mac OS).
2660d12d 4062
a70418fc
JJ
40632013-01-23 Jakub Jelinek <jakub@redhat.com>
4064
4065 PR target/49069
4066 * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
4067 instead of cmpdi_operand for first comparison operand.
4068 Don't assert that comparison operands aren't both constants.
4069
47876a2a
JW
40702013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
4071
4072 * doc/install.texi (Downloading the Source): Update references to
4073 downloading separate components.
4074
40752013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
4ebd56a5
JW
4076
4077 * doc/extend.texi (__int128): Improve grammar.
4078
47876a2a 40792013-01-22 Uros Bizjak <ubizjak@gmail.com>
32fc5b8a
UB
4080
4081 PR target/56028
4082 * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
4083 alternative to (o,r).
4084 (*movdi_internal_rex64): Remove (!o,n) alternative.
4085 (DImode immediate->memory splitter): Remove.
4086 (DImode immediate->memory peephole2): Remove.
4087 (movtf): Enable for TARGET_64BIT || TARGET_SSE.
4088 (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
4089 alternative to (!o,*r).
4090 (*movtf_internal_sse): New pattern.
4091 (*movxf_internal_rex64): New pattern.
4092 (*movxf_internal): Disable for TARGET_64BIT.
4093 (*movdf_internal_rex64): Remove (!o,F) alternative.
4094
3a984f10
JJ
40952013-01-22 Jakub Jelinek <jakub@redhat.com>
4096
502498d5
JJ
4097 PR middle-end/56074
4098 * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
4099 isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
4100 * tree-vect-loop-manip.c (find_loop_location): Also ignore
4101 stmt locations where LOCATION_LOCUS of the stmt location is
4102 UNKNOWN_LOCATION or BUILTINS_LOCATION.
4103
3a984f10
JJ
4104 PR target/55686
4105 * config/i386/i386.md (UNSPEC_STOS): New.
4106 (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
4107 *strsetqi_1): Add UNSPEC_STOS.
4108
fa817f7f
PC
41092013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
4110
4111 PR c++/56067
4112 * doc/invoke.texi: Remove left over -Wsynth example.
4113
8f498c1b
JJ
41142013-01-21 Jakub Jelinek <jakub@redhat.com>
4115
4116 PR tree-optimization/56051
4117 * fold-const.c (fold_binary_loc): Don't fold
4118 X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
4119 a narrowing conversion, or widening conversion from signed
4120 to unsigned.
4121
47876a2a 41222013-01-21 Uros Bizjak <ubizjak@gmail.com>
35d59da7
UB
4123
4124 PR rtl-optimization/56023
4125 * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
4126 dependent on debug instruction.
4127
5b9db1bc
MJ
41282013-01-21 Martin Jambor <mjambor@suse.cz>
4129
4130 PR middle-end/56022
4131 * function.c (allocate_struct_function): Call
4132 invoke_set_current_function_hook earlier.
4133
e8bb7d68
JJ
41342013-01-21 Jakub Jelinek <jakub@redhat.com>
4135
4136 * reload1.c (init_reload): Only initialize reload_obstack
4137 during the first call.
4138
616a4e32
MP
41392013-01-21 Marek Polacek <polacek@redhat.com>
4140
4141 * cfgloop.c (verify_loop_structure): Fix up grammar.
4142
4401981b
YHH
41432013-01-21 Yi-Hsiu Hsu <ahsu@marvell.com>
4144
4145 * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
4146 pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
4147
8e87740b
RR
41482013-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4149
4150 PR target/56058
4151 * config/arm/marvell-pj4.md: Update copyright year.
4152 Fix up use of alu to alu_reg and simple_alu_imm.
4153
47876a2a 41542013-01-21 Uros Bizjak <ubizjak@gmail.com>
1f6bc337
UB
4155
4156 * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
4157
89d56d79
VM
41582013-01-20 Vladimir Makarov <vmakarov@redhat.com>
4159
4160 PR target/55433
4161 * lra-constraints.c (curr_insn_transform): Don't reuse original
1f6bc337 4162 insn for secondary memory move when memory mode should be different.
89d56d79 4163
fe603553
JDA
41642013-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4165
4166 * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
4167 atomic_storedi_1): New patterns.
4168
01284895
VK
41692013-01-20 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
4170
4171 btver2 pipeline descriptions.
4172 * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
4173 descriptions.
4174 * config/i386/i386.md (btver2_decode): New type attributes.
1f6bc337 4175 * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
01284895
VK
4176 type attributes.
4177 * config/i386/btver2.md: New file describing btver2 pipelines.
4178
5630e3e1
JL
41792013-01-19 Andrew Pinski <apinski@cavium.com>
4180
4181 PR tree-optimization/52631
4182 * tree-ssa-sccvn (visit_use): Before looking up the original
4183 statement, try looking up the simplified expression.
4184
650ae806
AG
41852013-01-19 Anthony Green <green@moxielogic.com>
4186
4187 * config/moxie/moxie.c (moxie_expand_prologue): Set
4188 current_function_static_stack_size.
4189
e300ec2d
JJ
41902013-01-18 Jakub Jelinek <jakub@redhat.com>
4191
4192 PR tree-optimization/56029
4193 * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
4194 gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
4195
a3d7af04
SS
41962013-01-18 Sharad Singhai <singhai@google.com>
4197
4198 PR tree-optimization/55995
4199 * dumpfile.c (dump_loc): Print location only if available.
4200 * tree-vectorizer.c (increase_alignment): Intialize vect_location.
4201
66aa7879
VM
42022013-01-18 Vladimir Makarov <vmakarov@redhat.com>
4203
4204 PR target/55433
4205 * lra-constraints.c (curr_insn_transform): Reuse original insn for
4206 secondary memory move.
4207 (inherit_reload_reg): Use rclass instead of cl for
4208 check_secondary_memory_needed_p.
4209
3f0fee7b
JJ
42102013-01-18 Jakub Jelinek <jakub@redhat.com>
4211
4212 PR middle-end/56015
4213 * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1f6bc337 4214 the case where writing real complex part of target modifies op1.
3f0fee7b 4215
70c67693
JG
42162013-01-18 James Greenhalgh <james.greenhalgh@arm.com>
4217
4218 * config/aarch64/aarch64-simd.md
4219 (aarch64_vcond_internal<mode>): Handle unordered cases.
4220 * config/aarch64/iterators.md (v_cmp_result): New.
4221
df8de9b3
YHH
42222013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com>
4223 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4224
4225 * config/arm/marvell-pj4.md: New file.
4226 * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
4227 * config/arm/arm.md (generic_sched): Add marvell_pj4.
4228 (generic_vfp): Likewise.
4229 * config/arm/arm-cores.def: Add marvell-pj4.
4230 * config/arm/arm-tune.md: Regenerate.
4231 * config/arm/arm-tables.opt: Regenerate.
4232 * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
4233 * doc/invoke.texi: Document marvell-pj4.
4234
be30c356
TB
42352013-01-18 Tejas Belagod <tejas.belagod@arm.com>
4236
4237 * config/aarch64/arm_neon.h: Map scalar types to standard types.
4238
0bfbca58 42392013-01-18 Alexandre Oliva <aoliva@redhat.com>
af6236c1
AO
4240
4241 PR debug/54114
4242 PR debug/54402
4243 PR debug/49888
4244 * var-tracking.c (negative_power_of_two_p): New.
4245 (global_get_addr_cache, local_get_addr_cache): New.
4246 (get_addr_from_global_cache, get_addr_from_local_cache): New.
4247 (vt_canonicalize_addr): Rewrite using the above. Adjust the
4248 heading comment.
4249 (vt_stack_offset_p): Remove.
4250 (vt_canon_true_dep): Always canonicalize loc's address.
4251 (clobber_overlapping_mems): Make sure we have a MEM.
4252 (local_get_addr_clear_given_value): New.
4253 (val_reset): Clear local cached entries.
4254 (compute_bb_dataflow): Create and release the local cache.
4255 Disable duplicate MEMs clobbering.
4256 (emit_notes_in_bb): Clobber MEMs likewise.
4257 (vt_emit_notes): Create and release the local cache.
4258 (vt_initialize, vt_finalize): Create and release the global
4259 cache, respectively.
1f6bc337 4260 * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
af6236c1 4261
0bfbca58 42622013-01-18 Alexandre Oliva <aoliva@redhat.com>
7ff37ffa
AO
4263
4264 PR libmudflap/53359
4265 * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
4266 not found in the symtab.
4267
0bfbca58 42682013-01-18 Alexandre Oliva <aoliva@redhat.com>
3aa03517 4269
c350ba53 4270 PR debug/56006
3aa03517
AO
4271 PR rtl-optimization/55547
4272 PR rtl-optimization/53827
4273 PR debug/53671
4274 PR debug/49888
4275 * alias.c (offset_overlap_p): New, factored out of...
4276 (memrefs_conflict_p): ... this. Use absolute sizes. Retain
4277 the conservative special case for symbolic constants. Don't
4278 adjust zero sizes on alignment.
4279
c664546f
JL
42802013-01-18 Bernd Schmidt <bernds@codesourcery.com>
4281
4282 PR rtl-optimization/52573
4283 * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
4284 REG_UNUSED for the same register.
4285
1bd3f750
MP
42862013-01-17 Richard Biener <rguenther@suse.de>
4287 Marek Polacek <polacek@redhat.com>
4288
4289 PR rtl-optimization/55833
4290 * loop-unswitch.c (unswitch_loops): Move loop verification...
4291 (unswitch_single_loop): ...here. Call mark_irreducible_loops.
4292 * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
4293 Set it to true when we're removing a loop from hierarchy tree in
4294 an irreducible region.
4295 (fix_bb_placements): Adjust caller.
4296 (fix_loop_placements): Likewise.
4297
e52a8b71
GJL
42982013-01-17 Georg-Johann Lay <avr@gjlay.de>
4299
4300 * config/avr/builtins.def (DEF_BUILTIN): Factor out
4301 "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
4302 Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
4303 Remove ID. Adjust comments.
4304 * config/avr/avr-c.c (avr_builtin_name): Remove.
4305 (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
4306 * config/avr/avr.c (avr_tolower): New static function.
4307 (DEF_BUILTIN): Remove parameter ID. Prefix ICODE by 'CODE_FOR_'.
4308 Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
4309 (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
4310 default expansion.
4311
8386a7ea
JH
43122013-01-17 Jan Hubicka <jh@suse.cz>
4313
610fb637 4314 PR tree-optimization/55273
8386a7ea
JH
4315 * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
4316
47876a2a 43172013-01-17 Uros Bizjak <ubizjak@gmail.com>
8abaebcd
UB
4318
4319 PR target/55981
4320 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
4321 store through atomic_store<mode>_1.
4322 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
4323
8222c37e
MJ
43242013-01-17 Martin Jambor <mjambor@suse.cz>
4325
4326 PR tree-optimizations/55264
4327 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
4328 for virtual methods.
4329 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
4330 virtual methods before inlining is over.
4331 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
4332 virtual functions.
4333 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
4334 non-virtual.
4335
79f01c76
VM
43362013-01-16 Vladimir Makarov <vmakarov@redhat.com>
4337
4338 PR rtl-optimization/56005
4339 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
4340 pending reads for prefetch.
4341
d0b6bb1b
IB
43422013-01-16 Ian Bolton <ian.bolton@arm.com>
4343
aaf1e810 4344 * config/aarch64/aarch64.md
d0b6bb1b
IB
4345 (*cstoresi_neg_uxtw): New pattern.
4346 (*cmovsi_insn_uxtw): New pattern.
4347 (*<optab>si3_uxtw): New pattern.
4348 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
4349 (*<optab>si3_insn_uxtw): New pattern.
4350 (*bswapsi2_uxtw): New pattern.
4351
cb9cf03b
RB
43522013-01-16 Richard Biener <rguenther@suse.de>
4353
4354 * tree-inline.c (tree_function_versioning): Remove set but
4355 never used variable.
4356
2cfc56b9
RB
43572013-01-16 Richard Biener <rguenther@suse.de>
4358
4359 PR tree-optimization/55964
4360 * tree-flow.h (rename_variables_in_loop): Remove.
4361 (rename_variables_in_bb): Likewise.
4362 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
4363 (copy_loop_before): Adjust and delete update-ssa status.
4364 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
8abaebcd 4365 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
2cfc56b9
RB
4366 (rename_variables_in_loop): Remove.
4367 (slpeel_update_phis_for_duplicate_loop): Likewise.
4368 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
4369 use available cfg machinery instead of duplicating it.
4370 Update PHI nodes and perform poor-mans SSA update here.
4371 (slpeel_tree_peel_loop_to_edge): Adjust.
4372
c25a0c60
RB
43732013-01-16 Richard Biener <rguenther@suse.de>
4374
4375 PR tree-optimization/54767
4376 PR tree-optimization/53465
4377 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
4378 (vrp_visit_phi_node): For PHI arguments coming via backedges
4379 drop all symbolical range information.
4380 (execute_vrp): Compute backedges.
4381
04b535af
RB
43822013-01-16 Richard Biener <rguenther@suse.de>
4383
4384 * doc/install.texi: Update CLooG and ISL requirements to
4385 0.18.0 and 0.11.1.
4386
8b0a1e0b
CB
43872013-01-16 Christian Bruel <christian.bruel@st.com>
4388
4389 PR target/55301
4390 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
4391 (broken_move): Handle UNSPECV_SP_SWITCH_B.
4392 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
4393
43942013-01-16 DJ Delorie <dj@redhat.com>
4395
4396 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
4397 (UNSPECV_SP_SWITCH_E): New.
4398 (sp_switch_1): Change to an unspec.
4399 (sp_switch_2): Change to an unspec. Don't use post-inc when we
4400 replace $r15.
4401
44022013-01-16 Uros Bizjak <ubizjak@gmail.com>
88e784e6
UB
4403
4404 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
4405 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
4406 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
4407 (expand_mem_thread_fence): Ditto.
4408 (expand_mem_signal_fence): Ditto.
4409 (expand_atomic_load): Ditto.
4410 (expand_atomic_store): Ditto.
4411
0bfbca58 44122013-01-16 Alexandre Oliva <aoliva@redhat.com>
5147bf6a
AO
4413
4414 PR rtl-optimization/55547
4415 PR rtl-optimization/53827
4416 PR debug/53671
4417 PR debug/49888
4418 * alias.c (memrefs_conflict_p): Set sizes to negative after
4419 AND adjustments.
4420
305e3ac1
JJ
44212013-01-15 Jakub Jelinek <jakub@redhat.com>
4422
4423 PR target/55940
4424 * function.c (thread_prologue_and_epilogue_insns): Always
4425 add crtl->drap_reg to set_up_by_prologue.set, even if
4426 stack_realign_drap is false.
4427
f78ac4f2
JBG
44282013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
4429
4430 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
4431 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
4432 *call): Fix indention.
4433
a78a8cc4
TV
44342013-01-15 Tom de Vries <tom@codesourcery.com>
4435
4436 PR target/55876
4437 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
4438 Update comment.
4439
0e80383f
VM
44402013-01-15 Vladimir Makarov <vmakarov@redhat.com>
4441
305e3ac1 4442 PR rtl-optimization/55153
0e80383f
VM
4443 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
4444
207b5956
MJ
44452013-01-15 Martin Jambor <mjambor@suse.cz>
4446
4447 PR tree-optimization/55920
4448 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
4449 accesses as grp_to_be_debug_replaced.
4450
a7818b54
JJ
44512013-01-15 Jakub Jelinek <jakub@redhat.com>
4452
4453 PR tree-optimization/55920
4454 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
4455 there is non-useless type conversion needed from debug rhs to lhs,
4456 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
4457
b0fe107e
JM
44582013-01-15 Joseph Myers <joseph@codesourcery.com>
4459 Mikael Pettersson <mikpe@it.uu.se>
4460
4461 PR target/43961
4462 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
4463 Thumb.
4464 (ASM_OUTPUT_CASE_LABEL): Remove.
4465 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
4466 * final.c (shorten_branches): Update alignment of labels before
4467 jump tables if CASE_VECTOR_SHORTEN_MODE.
4468
34ab62ee
RB
44692013-01-15 Richard Biener <rguenther@suse.de>
4470
4471 PR bootstrap/55961
4472 * system.h: Do not include gmp.h for building host tools.
4473
783a3a05
RB
44742013-01-15 Richard Biener <rguenther@suse.de>
4475
4476 PR middle-end/55882
4477 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
4478 account for bitpos when computing alignment.
4479
3a579e09
VY
44802013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
4481
4482 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
4483 (ix86_target_macros_internal): Likewise.
4484
4485 * config/i386/i386.c (m_CORE2I7): Removed.
4486 (m_CORE_HASWELL): New macro.
4487 (m_CORE_ALL): Likewise.
4488 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
4489 (initial_ix86_arch_features): Likewise.
4490 (processor_target_table): Initializations for Core avx2.
4491 (cpu_names): New names "core-avx2".
4492 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
4493 PROCESSOR_CORE_HASWELL.
4494 (ix86_issue_rate): New case.
4495 (ia32_multipass_dfa_lookahead): Likewise.
4496 (ix86_sched_init_global): Likewise.
4497
4498 * config/i386/i386.h (TARGET_HASWELL): New macro.
4499 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
4500 (processor_type): New PROCESSOR_HASWELL.
4501
955f5a07
JJ
45022013-01-15 Jakub Jelinek <jakub@redhat.com>
4503
ff784829
JJ
4504 PR tree-optimization/55955
4505 * tree-vect-loop.c (vectorizable_reduction): Give up early on
4506 *SHIFT_EXPR and *ROTATE_EXPR codes.
4507
955f5a07
JJ
4508 PR tree-optimization/48766
4509 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
4510 -ftrapv disable -fwrapv.
4511
aeb8b4e9
GJL
45122013-01-14 Georg-Johann Lay <avr@gjlay.de>
4513
4514 PR target/55974
4515 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
4516 etc. to 1 and not to __flash.
4517 Use LL suffix for __INT24_MAX__ with -mint8.
4518 Use ULL suffix for __UINT24_MAX__ with -mint8.
4519
1c494c6a
GJL
45202013-01-14 Georg-Johann Lay <avr@gjlay.de>
4521
4522 * config/avr/avr-arch.h
4523 (struct base_arch_s): Use typedef avr_arch_t instead.
4524 (struct arch_info_s): Use typedef avr_arch_info_t instead.
4525 (struct mcu_type_s): Use typedef avr_mcu_t instead.
4526 * config/avr/avr.c: Same.
4527 * config/avr/avr-devices.c: Same.
4528 * config/avr/driver-avr.c: Same.
4529 * config/avr/gen-avr-mmcu-texi.c: Same.
4530 * config/avr/avr-mcus.def: Adjust comment.
4531
a50344cb
TB
45322013-01-14 Tejas Belagod <tejas.belagod@arm.com>
4533
88e784e6
UB
4534 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
4535 * config/aarch64/iterators.md (VALLDI): New.
a50344cb 4536
47876a2a 45372013-01-14 Uros Bizjak <ubizjak@gmail.com>
e6f0e052
UB
4538 Andi Kleen <ak@linux.intel.com>
4539
4540 PR target/55948
4541 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
4542 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
4543 memmodel flag.
4544
00892272
GJL
45452013-01-14 Georg-Johann Lay <avr@gjlay.de>
4546
4547 * config/avr/avr-stdint.h: Remove trailing blanks.
4548 * config/avr/avr-log.h: Same.
4549 * config/avr/avr-arch.h: Same.
4550 * config/avr/avr-devices.c: Same.
4551 * config/avr/avr-dimode.md: Same.
4552 * config/avr/predicates.md: Same.
4553 * config/avr/avr-c.c: Same. And fix typo.
e6f0e052 4554
00892272
GJL
4555 * config/avr/avr-protos.h: Same. And:
4556 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
4557 (init_cumulative_args): Rename to avr_init_cumulative_args.
4558 (expand_prologue): Rename to avr_expand_prologue.
4559 (expand_epilogue): Rename to avr_expand_epilogue.
4560 (adjust_insn_length): Rename to avr_adjust_insn_length.
4561 (notice_update_cc): Rename to avr_notice_update_cc.
4562 (final_prescan_insn): Rename to avr_final_prescan_insn.
4563 * config/avr/avr.c: Same.
4564 * config/avr/avr.h: Same.
4565 * config/avr/avr.md: Remove trailing blanks.
4566 (prologue): Use avr_expand_prologue.
4567 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
4568
7bb01996
RB
45692013-01-14 Richard Biener <rguenther@suse.de>
4570
4571 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
4572 verify_location, collect_subblocks): New functions.
4573 (verify_gimple_in_cfg): Verify that locations only reference
4574 BLOCKs in the functions BLOCK tree.
4575
2724573f
RB
45762013-01-14 Richard Biener <rguenther@suse.de>
4577
4578 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
4579 PHI argument.
4580 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
4581 unshare reference.
4582 (insert_out_of_ssa_copy_on_edge): Likewise.
4583 (rewrite_close_phi_out_of_ssa): Likewise.
4584 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
4585 debug expressions.
4586 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
4587 propagated constants.
4588 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
4589 can not be shared.
4590
9a0bbab6
GJL
45912013-01-14 Georg-Johann Lay <avr@gjlay.de>
4592
4593 * config/avr/avr-modes.def: Add GPL copyright notice.
4594
45805f17
UB
45952013-01-13 Uros Bizjak <ubizjak@gmail.com>
4596
4597 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
4598 MEMMODEL_MASK to determine memory model.
4599 (atomic_store<mode>): Ditto from operands[2].
4600 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
4601
9d60be38
JJ
46022013-01-13 Jakub Jelinek <jakub@redhat.com>
4603
4604 PR fortran/55935
45805f17 4605 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
9d60be38
JJ
4606 (fold_gimple_assign): Don't call unshare_expr here.
4607 (fold_ctor_reference): Call unshare_expr.
4608
e7f49d92
TG
46092013-01-13 Terry Guo <terry.guo@arm.com>
4610
aaf1e810
EB
4611 * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
4612 * doc/fragments.texi: Document MULTILIB_REUSE.
4613 * gcc.c (multilib_reuse): New internal spec.
e7f49d92 4614 (set_multilib_dir): Also search multilib from multilib_reuse.
aaf1e810 4615 * genmultilib (tmpmultilib3): Refactor code.
e7f49d92
TG
4616 (tmpmultilib4): Ditto.
4617 (multilib_reuse): New multilib argument.
4618
fbd03a27
RS
46192013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
4620
4621 * Makefile.in: Update copyright.
4622
b3681f13
TV
46232013-01-12 Tom de Vries <tom@codesourcery.com>
4624
4625 PR middle-end/55890
4626 * calls.c (expand_call): Check if arg_nr is valid.
4627
3f287e4b
MM
46282013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4629
4630 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
4631 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
5bc35113
MM
4632 documentation. Add missing '__' in front of
4633 __builtin_ia32_packssdw256.
3f287e4b 4634
1abcd5eb
AK
46352013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4636
4637 PR target/55719
4638 * config/s390/s390.c (s390_preferred_reload_class): Do not return
4639 NO_REGS for larl operands.
4640 (s390_reload_larl_operand): Use s390_load_address instead of
4641 emit_move_insn.
4642
980d0812
RB
46432013-01-11 Richard Biener <rguenther@suse.de>
4644
4645 * tree-cfg.c (verify_node_sharing_1): Split out from ...
4646 (verify_node_sharing): ... here.
4647 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
4648
7cb9fd07
EB
46492013-01-11 Eric Botcazou <ebotcazou@adacore.com>
4650
4651 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
4652 Substitute TREECHECKING.
4653 * configure: Regenerate.
4654 * Makefile.in (TREECHECKING): New.
4655
47876a2a 46562013-01-11 Richard Guenther <rguenther@suse.de>
c7ab2530
RG
4657
4658 PR tree-optimization/44061
4659 * tree-vrp.c (extract_range_basic): Compute zero as
4660 value-range for __builtin_constant_p of function parameters.
4661
d1e082c2
RS
46622013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
4663
45805f17 4664 Update copyright years.
d1e082c2 4665
f85021b0
VM
46662013-01-10 Vladimir Makarov <vmakarov@redhat.com>
4667
9d60be38 4668 PR rtl-optimization/55672
0160442c
VM
4669 * lra-eliminations.c (mark_not_eliminable): Permit addition with
4670 const to be eliminable.
f85021b0 4671
7a8b1ec4
DE
46722013-01-10 David Edelsohn <dje.gcc@gmail.com>
4673
4674 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
4675 * configure: Regenerate.
4676
ad2e5b71
RB
46772013-01-10 Richard Biener <rguenther@suse.de>
4678
ddf9322d 4679 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
ad2e5b71 4680
ffc5b2bb
RB
46812013-01-10 Richard Biener <rguenther@suse.de>
4682
4683 PR bootstrap/55792
4684 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
4685 locations for virtual PHI arguments.
4686 (rewrite_update_phi_arguments): Likewise.
4687
e1f674e4
JS
46882013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
4689
4690 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
4691 on to assembler.
4692
a57fc743
JJ
46932013-01-10 Jakub Jelinek <jakub@redhat.com>
4694
4695 PR tree-optimization/55921
4696 * tree-complex.c (expand_complex_asm): New function.
4697 (expand_complex_operations_1): Call it for GIMPLE_ASM.
4698
0ff4390d
AK
46992013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4700
4701 PR target/55718
4702 * config/s390/s390.c (s390_symref_operand_p)
4703 (s390_loadrelative_operand_p): Merge the two functions.
4704 (s390_check_qrst_address, print_operand_address): Add parameters
4705 to s390_loadrelative_operand_p invokation.
4706 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
4707 (s390_reload_larl_operand, s390_secondary_reload): Use
4708 s390_loadrelative_operand_p instead of s390_symref_operand_p.
4709 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
4710
6f557e0e
MS
47112013-01-09 Mike Stump <mikestump@comcast.net>
4712
4713 * dse.c (record_store): Remove unnecessary assert.
4714
7770c9e9
JH
47152013-01-09 Jan Hubicka <jh@suse.cz>
4716
4717 PR tree-optimization/55569
4718 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
4719 * cfgloop.h (scale_loop_profile): Likewise.
4720
a19b1432
JH
47212013-01-09 Jan Hubicka <jh@suse.cz>
4722
4723 PR lto/45375
ddf9322d
UB
4724 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
4725 functions.
a19b1432
JH
4726 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
4727
9a002da8
RS
47282013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
4729
4730 PR middle-end/55114
4731 * expr.h (maybe_emit_group_store): Declare.
4732 * expr.c (maybe_emit_group_store): New function.
4733 * builtins.c (expand_builtin_int_roundingfn): Call it.
4734 (expand_builtin_int_roundingfn_2): Likewise.
4735
511dcace
VM
47362013-01-09 Vladimir Makarov <vmakarov@redhat.com>
4737
e1f2b729 4738 PR rtl-optimization/55829
511dcace
VM
4739 * lra-constraints.c (match_reload): Add code for absent output.
4740 (curr_insn_transform): Add code for reloads of matched inputs
4741 without output.
4742
7b0fe4f4
UB
47432013-01-09 Uros Bizjak <ubizjak@gmail.com>
4744
4745 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
4746 attribute of movddup insn to DF.
4747 (*vec_interleave_lowv2df): Ditto.
4748 (vec_dupv2df): Ditto.
4749
870ca331
JH
47502013-01-09 Jan Hubicka <jh@suse.cz>
4751
4752 PR tree-optimiation/55875
4753 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
4754 EVERY_ITERATION parameter.
7b0fe4f4 4755 (number_of_iterations_exit): Check if exit is executed every iteration.
870ca331
JH
4756 (idx_infer_loop_bounds): Similarly here.
4757 (n_of_executions_at_most): Simplify
4758 to only test for cases where statement is dominated by the
7b0fe4f4 4759 particular bound; handle correctly the "postdominance" test.
870ca331
JH
4760 (scev_probably_wraps_p): Use max loop iterations info
4761 as a global bound first.
4762
6f575fe4 47632013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
3cd232b5
NDD
4764 Nick Clifton <nickc@redhat.com>
4765
4766 * config/v850/v850.md (cbranchsf4): New pattern.
4767 (cstoresf4): New pattern.
4768 (cbranchdf4): New pattern.
4769 (cstoredf4): New pattern.
4770 (movsicc): Disallow floating point comparisons.
4771 (cmpsf_le_insn): Fix order of operators.
4772 (cmpsf_lt_insn): Likewise.
4773 (cmpsf_eq_insn): Likewise.
4774 (cmpdf_le_insn): Likewise.
4775 (cmpdf_lt_insn): Likewise.
4776 (cmpdf_eq_insn): Likewise.
4777 (cmpsf_ge_insn): Use LE comparison.
4778 (cmpdf_ge_insn): Likewise.
4779 (cmpsf_gt_insn): Use LT comparison.
4780 (cmpdf_gt_insn): Likewise.
4781 (cmpsf_ne_insn): Delete pattern.
4782 (cmpdf_ne_insn): Delete pattern.
4783 * config/v850/v850.c (v850_gen_float_compare): Use
4784 gen_cmpdf_eq_insn for NE comparison.
4785 (v850_float_z_comparison_operator)
4786 (v850_float_nz_comparison_operator): Move from here ...
4787 * config/v850/predicates.md: ... to here. Move GT and GE
4788 comparisons into v850_float_z_comparison_operator.
4789 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
4790 Delete prototype.
4791 (v850_float_nz_comparison_operator): Likewise.
4792
f0d54148
JDA
47932013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4794
4795 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
4796 with calls to gen_insvsi/gen_insvdi.
4797
8f01beca
VK
47982013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
4799
4800 * config/i386/i386.c (initial_ix86_tune_features): Set up
4801 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
4802
2aa579ad
JJ
48032013-01-09 Steven Bosscher <steven@gcc.gnu.org>
4804 Jakub Jelinek <jakub@redhat.com>
4805
4806 PR tree-optimization/48189
4807 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
4808 If nitercst is 0, don't predict the exit edge.
4809
6edc3e32 48102013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
01a3a324
N
4811
4812 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
4813 in asm_fprintf with reg_names.
4814 (aarch64_print_operand_address): Likewise.
4815 (aarch64_return_addr): Likewise.
4816 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
4817
f6f94d94
JDA
48182013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4819
4820 * config/pa/pa.h (VAL_U6_BITS_P): Define.
4821 (INT_U6_BITS): Likewise.
4822 * config/pa/predicates.md (uint6_operand): New predicate.
4823 (shift5_operand, shift6_operand): Likewise.
4824 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
4825 arith32_operand.
4826 (lshrdi3): Use shift6_operand.
4827 (shrpsi4, shrpdi4): New insn patterns.
4828 (extzv): Delete expander.
4829 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
4830 predicates in unamed zero extract patterns. Tighten common constraint.
4831 (extv): Delete expander.
4832 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
4833 predicates in unamed sign extract patterns. Tighten common constraint.
4834 (insv): Delete expander.
4835 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
4836 predicates in unamed insert patterns. Tighten common constraint.
4837 Change uint32_operand predicate to uint6_operand predicate in unamed
4838 DImode pattern to insert constant values of type 1...1xxxx.
4839
36b72910
JH
48402013-01-04 Jan Hubicka <jh@suse.cz>
4841
4842 PR tree-optimization/55823
7b0fe4f4
UB
4843 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
4844 issue.
36b72910 4845
47876a2a 48462013-01-08 Jakub Jelinek <jakub@redhat.com>
c6d851b9
JJ
4847 Uros Bizjak <ubizjak@gmail.com>
4848
4849 PR rtl-optimization/55845
4850 * df-problems.c (can_move_insns_across): Stop scanning at
4851 volatile_insn_p source instruction or give up if
4852 across_from .. across_to range contains any volatile_insn_p
4853 instructions.
4854
4369c11e
TB
48552013-01-08 Tejas Belagod <tejas.belagod@arm.com>
4856
7b0fe4f4
UB
4857 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
4858 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
4859 Declare.
4369c11e 4860 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
7b0fe4f4 4861 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
4369c11e 4862
aeb7e7c1
JJ
48632013-01-08 Jakub Jelinek <jakub@redhat.com>
4864
4865 PR fortran/55341
4866 * asan.c (asan_clear_shadow): New function.
4867 (asan_emit_stack_protection): Use it.
4868
a02ad1aa
TB
48692013-01-08 Tejas Belagod <tejas.belagod@arm.com>
4870
4871 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
4872 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
4873 with tab instead of space.
4874
f90d87f5
NC
48752013-01-08 Nick Clifton <nickc@redhat.com>
4876
4877 * config/rl78/rl78.c (rl78_expand_prologue): Always select
4878 register bank 0 at the start of an interrupt handler.
83ffd964
NC
4879 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
4880 MDBH registers.
f90d87f5 4881
385eb93d
JG
48822013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
4883
4884 * config/aarch64/aarch64-simd.md
4885 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
4886 (aarch64_simd_bsl): Likewise.
4887 (aarch64_vcond_internal<mode>): Likewise.
4888 (vcond<mode><mode>): Likewise.
4889 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
4890 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
4891
4dcd1054
JG
48922013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
4893
4894 * config/aarch64/aarch64-builtins.c
4895 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
4896
4267a4a6
MJ
48972013-01-08 Martin Jambor <mjambor@suse.cz>
4898
4899 PR debug/55579
4900 * tree-sra.c (analyze_access_subtree): Return true also after
4901 potentially creating a debug-only replacement.
4902
5f4e6de3
JJ
49032013-01-08 Jakub Jelinek <jakub@redhat.com>
4904
3138f224
JJ
4905 PR middle-end/55890
4906 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
4907
5f4e6de3
JJ
4908 PR tree-optimization/54120
4909 * tree-vrp.c (range_fits_type_p): Don't allow
4910 src_precision < precision from signed vr to unsigned_p
4911 if vr->min or vr->max is negative.
4912 (simplify_float_conversion_using_ranges): Test can_float_p
4913 against CODE_FOR_nothing.
4914
f3ef18ff
JJ
49152013-01-08 Jakub Jelinek <jakub@redhat.com>
4916 Richard Biener <rguenther@suse.de>
4917
4918 PR middle-end/55851
4919 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
4920 types instead of just INTEGER_TYPE types.
4921
25c210f9
MK
49222013-01-07 Mark Kettenis <kettenis@openbsd.org>
4923
4924 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
4925 TF_SIZE): Define.
f90d87f5 4926
81826a7b
SE
49272013-01-07 Steve Ellcey <sellcey@mips.com>
4928
4929 PR target/42661
4930 * config/mips/mips.opt: Change mad to mmad to match documentation.
4931
35678514
GJL
49322013-01-07 Georg-Johann Lay <avr@gjlay.de>
4933
4934 PR target/55897
4935 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
4936 .progmemx.data now.
4937
e5669488
GJL
49382013-01-07 Georg-Johann Lay <avr@gjlay.de>
4939
4940 PR target/55897
4941 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
4942 (avr_addrspace_t): Add .section_name field.
4943 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
4944 array size.
4945 (avr_addrspace): Same. Initialize .section_name. Remove last
4946 NULL entry. Put __memx into .progmemx.data.
4947 (progmem_section_prefix): Remove.
4948 (avr_asm_init_sections): No need to initialize progmem_section.
4949 (avr_asm_named_section): Use avr_addrspace[].section_name to get
4950 section name prefix.
4951 (avr_asm_select_section): Ditto. And use get_unnamed_section to
4952 retrieve the progmem section.
4953 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
4954 boundary to run over avr_addrspace[].
4955 (avr_register_target_pragmas): Ditto.
4956
656e6f37
JJ
49572013-01-06 Jakub Jelinek <jakub@redhat.com>
4958
4959 * varasm.c (output_constant_def_contents): For asan_protect_global
4960 protected strings, adjust DECL_ALIGN if needed, before testing for
4961 anchored symbols.
4962 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
4963 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
4964 normal decls.
4965 (output_object_block): For asan protected decls, emit asan padding
4966 after their contents.
4967 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
4968 (asan_finish_file): Test it here instead.
4969
6edc3e32
UB
49702013-01-07 Nick Clifton <nickc@redhat.com>
4971 Matthias Klose <doko@debian.org>
4972 Doug Kwan <dougkwan@google.com>
4973 H.J. Lu <hongjiu.lu@intel.com>
b352afba
NC
4974
4975 PR driver/55470
4976 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
4977
4978 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
4979
4980 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
4981
7b0fe4f4 4982 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
b352afba
NC
4983
4984 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
4985
2a095093
GJL
49862013-01-07 Georg-Johann Lay <avr@gjlay.de>
4987
f3b503f4 4988 PR target/54461
2a095093
GJL
4989 * doc/install.texi (Cross-Compiler-Specific Options): Document
4990 --with-avrlibc.
4991
383f9b34
TB
49922013-01-07 Tejas Belagod <tejas.belagod@arm.com>
4993
4994 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
4995 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
4996 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
4997 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
4998 vqmovun_high_s64): Fix source operand number and update copyright.
4999
3626621a
RB
50002013-01-07 Richard Biener <rguenther@suse.de>
5001
5002 PR middle-end/55890
5003 * gimple.h (gimple_call_builtin_p): New overload.
5004 * gimple.c (validate_call): New function.
5005 (gimple_call_builtin_p): Likewise.
5006 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
5007 Use gimple_call_builtin_p.
5008 (find_func_clobbers): Likewise.
5009 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
5010 (strlen_optimize_stmt): Likewise.
5011
8b2ea410
JG
50122013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
5013
5014 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
5015 (vld1q_dup_*): Likewise.
5016 (vld1_*): Likewise.
5017 (vld1q_*): Likewise.
5018 (vld1_lane_*): Likewise.
5019 (vld1q_lane_*): Likewise.
5020
9713d329
RB
50212013-01-07 Richard Biener <rguenther@suse.de>
5022
5023 * lto-streamer.h (LTO_minor_version): Bump to 2.
5024
3520f7cc
JG
50252013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
5026
5027 * config/aarch64/aarch64-protos.h
5028 (aarch64_const_double_zero_rtx_p): Rename to...
5029 (aarch64_float_const_zero_rtx_p): ...this.
5030 (aarch64_float_const_representable_p): New.
5031 (aarch64_output_simd_mov_immediate): Likewise.
5032 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
5033 move immediate case.
5034 * config/aarch64/aarch64.c
5035 (aarch64_const_double_zero_rtx_p): Rename to...
5036 (aarch64_float_const_zero_rtx_p): ...this.
5037 (aarch64_print_operand): Allow printing of new constants.
5038 (aarch64_valid_floating_const): New.
5039 (aarch64_legitimate_constant_p): Check for valid floating-point
5040 constants.
5041 (aarch64_simd_valid_immediate): Likewise.
5042 (aarch64_vect_float_const_representable_p): New.
5043 (aarch64_float_const_representable_p): Likewise.
5044 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
5045 (aarch64_output_simd_mov_immediate): New.
5046 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
5047 (*movdf_aarch64): Likewise.
5048 * config/aarch64/constraints.md (Ufc): New.
5049 (Y): call aarch64_float_const_zero_rtx.
5050 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
5051
e167c04d
RB
50522013-01-07 Richard Biener <rguenther@suse.de>
5053
5054 PR tree-optimization/55888
5055 PR tree-optimization/55862
5056 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
5057 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
5058 not if it is contained therein.
5059
0139aaab
GJL
50602013-01-07 Georg-Johann Lay <avr@gjlay.de>
5061
5062 * config/avr/t-avr: Typo.
5063
4a176b23
GJL
50642013-01-07 Georg-Johann Lay <avr@gjlay.de>
5065
5066 PR55243
5067 * config/avr/t-avr: Don't automatically rebuild
5068 $(srcdir)/config/avr/t-multilib
5069 $(srcdir)/config/avr/avr-tables.opt
5070 $(srcdir)/doc/avr-mmcu.texi
5071 (avr-mcus): New phony target to build them on request.
5072 (s-avr-mlib, s-avr-mmcu-texi): Remove.
5073 * avr/avr-mcus.def: Adjust comments.
5074
c7afdc98
UB
50752013-01-07 Uros Bizjak <ubizjak@gmail.com>
5076
5077 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
5078
1ab05c31
RS
50792013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
5080
5081 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
5082
488e3acc
RS
50832013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
5084
5085 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
5086
a89599d2
DE
50872013-01-05 David Edelsohn <dje.gcc@gmail.com>
5088
5089 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
5090 to generate profiling.
5091 * config/rs6000/aix64.h (LIB_SPEC): Same.
5092
70f09188
AP
50932013-01-04 Andrew Pinski <apinski@cavium.com>
5094
5095 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
5096 New function.
5097 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
5098
918d445f
UB
50992013-01-04 Uros Bizjak <ubizjak@gmail.com>
5100
5101 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
5102 unconditionally.
5103 (ix86_expand_move): Ditto.
5104 (ix86_zero_extend_to_Pmode): Ditto.
5105 (ix86_expand_call): Ditto.
5106 (ix86_expand_special_args_builtin): Ditto.
5107 (ix86_expand_builtin): Ditto.
5108
361618ec
RB
51092013-01-04 Richard Biener <rguenther@suse.de>
5110
5111 PR tree-optimization/55862
5112 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
5113 translating them through PHI nodes.
5114
87eab554
MJ
51152013-01-04 Martin Jambor <mjambor@suse.cz>
5116
5117 PR tree-optimization/55755
5118 * tree-sra.c (sra_modify_assign): Do not check that an access has no
5119 children when trying to avoid producing a VIEW_CONVERT_EXPR.
5120
33879b9f
MP
51212013-01-04 Marek Polacek <polacek@redhat.com>
5122
5123 PR middle-end/55859
5124 * opts.c (default_options_optimization): Clarify error message.
5125
3068819a
RB
51262013-01-04 Richard Biener <rguenther@suse.de>
5127
5128 PR middle-end/55863
5129 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
5130 reassociation.
5131
0e4ae794
JDA
51322013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5133
5134 PR target/53789
5135 * config/pa/pa.md (movsi): Revert previous change.
e58d2e48
JDA
5136 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
5137 references.
0e4ae794 5138
65c88cef
RH
51392013-01-03 Richard Henderson <rth@redhat.com>
5140
5141 * config/i386/i386.c (ix86_expand_move): Always assign to op1
5142 after eliminating TLS symbols.
5143
8ac16127
MG
51442013-01-03 Marc Glisse <marc.glisse@inria.fr>
5145
5146 PR bootstrap/50167
5147 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
5148 * graphite-poly.c (debug_gmp_value): Likewise.
5149
bb664f09
UB
51502013-01-03 Uros Bizjak <ubizjak@gmail.com>
5151
5152 PR target/55712
5153 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
5154 selected code model, define __code_mode_small__, __code_model_medium__,
5155 __code_model_large__, __code_model_32__ or __code_model_kernel__.
5156 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
5157 xchg temporary register with %k. Declare temporary register as
5158 early clobbered.
5159 [__x86_64__]: For medium and large code models, preserve %rbx register.
5160
bcf1ef00
RB
51612013-01-03 Richard Biener <rguenther@suse.de>
5162
0506634a 5163 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
bcf1ef00
RB
5164 (dump_subscript): Adjust.
5165 (finalize_ddr_dependent): Do not dump redundant info.
5166 (analyze_siv_subscript): Adjust.
5167 (subscript_dependence_tester): Likewise.
5168 (compute_affine_dependence): Likewise.
5169
59fd17e3
RB
51702013-01-03 Richard Biener <rguenther@suse.de>
5171
5172 Revert
5173 2013-01-03 Richard Biener <rguenther@suse.de>
5174
5175 PR tree-optimization/55857
5176 * tree-vect-stmts.c (vectorizable_load): Do not setup
5177 re-alignment for invariant loads.
5178
5179 2013-01-02 Richard Biener <rguenther@suse.de>
5180
5181 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 5182 invariant load do not generate a vector load from the scalar location.
59fd17e3 5183
595c2679
RB
51842013-01-03 Richard Biener <rguenther@suse.de>
5185
5186 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
5187 for not vectorizing.
5188 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
5189 not build INDIRECT_REFs, call get_name once only.
5190 (vect_create_data_ref_ptr): Likewise. Dump base object kind
5191 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
5192
90bb7d7a
RB
51932013-01-03 Richard Biener <rguenther@suse.de>
5194
5195 PR tree-optimization/55857
5196 * tree-vect-stmts.c (vectorizable_load): Do not setup
5197 re-alignment for invariant loads.
5198
f09b77ca
RB
51992013-01-03 Richard Biener <rguenther@suse.de>
5200
5201 PR lto/55848
5202 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
5203 prefer a built-in decl.
5204
3461a16e
JJ
52052013-01-03 Jakub Jelinek <jakub@redhat.com>
5206
df8e2b4f
JJ
5207 * gcc.c (process_command): Update copyright notice dates.
5208 * gcov.c (print_version): Likewise.
5209 * gcov-dump.c (print_version): Likewise.
5210
3461a16e
JJ
5211 PR rtl-optimization/55838
5212 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
5213 iv0.step, iv1.step and step.
5214
8b5546d6
JJ
52152013-01-03 Jakub Jelinek <jakub@redhat.com>
5216 Marc Glisse <marc.glisse@inria.fr>
5217
5218 PR tree-optimization/55832
5219 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
5220 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
5221 integer_{one,zero}_node.
5222
8ab1d2e9
JJ
52232013-01-03 Jakub Jelinek <jakub@redhat.com>
5224
5225 PR debug/54402
5226 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
5227 * var-tracking.c (reverse_op): Don't add reverse ops to
5228 VALUEs that have already
0506634a 5229 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
8ab1d2e9 5230
5b9ad1d4
GP
52312013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
5232
5233 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
5234
e25a6711
TJ
52352013-01-02 Teresa Johnson <tejohnson@google.com>
5236
5237 * dumpfile.c (dump_loc): Print filename with location.
5238 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
5239 new location_t parameter to emit complete unroll message with
5240 new dump framework.
5241 (canonicalize_loop_induction_variables): Compute loops location
5242 and pass to try_unroll_loop_completely.
5243 * loop-unroll.c (report_unroll_peel): New function.
5244 (peel_loops_completely): Use new dump format with location
5245 for main dumpfile message, and invoke report_unroll_peel on success.
5246 (decide_unrolling_and_peeling): Ditto.
5247 (decide_peel_once_rolling): Remove old dumpfile message subsumed
5248 by report_unroll_peel.
5249 (decide_peel_completely): Ditto.
5250 (decide_unroll_constant_iterations): Ditto.
5251 (decide_unroll_runtime_iterations): Ditto.
5252 (decide_peel_simple): Ditto.
5253 (decide_unroll_stupid): Ditto.
5254 * cfgloop.c (get_loop_location): New function.
5255 * cfgloop.h (get_loop_location): Declare.
5256
77878621
ST
52572013-01-02 Sriraman Tallam <tmsriram@google.com>
5258
5259 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
5260 NULL.
5261
9e65d03e
JDA
52622013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5263
5264 PR middle-end/55198
5265 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
5266 BLKmode objects when EXPAND_MEMORY is specified.
5267
6a7da30f
ST
52682013-01-02 Sriraman Tallam <tmsriram@google.com>
5269
5270 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
5271 in loop predicate.
5272 (fold_builtin_cpu): Do not share cpu model decls across statements.
5273
e78167f2
JM
52742013-01-02 Jason Merrill <jason@redhat.com>
5275
5276 PR c++/55804
5277 * tree.c (build_array_type_1): Revert earlier change.
5278
8c075fb4
YZ
52792013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
5280
5281 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
5282 "cortex-a57".
5283 * config/aarch64/aarch64-tune.md: Re-generate.
5284
0682ed3e
RB
52852013-01-02 Richard Biener <rguenther@suse.de>
5286
5287 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 5288 invariant load do not generate a vector load from the scalar location.
0682ed3e 5289
b8f6a302
RB
52902013-01-02 Richard Biener <rguenther@suse.de>
5291
5292 PR bootstrap/55784
5293 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
5294 * configure: Regenerate.
5295
04b80dbb
RS
52962013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5297
5298 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
5299 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
5300 (expand_builtin_int_roundingfn_2): Keep the original target around
5301 for the fallback case.
5302
635b0b0c
RS
53032013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5304
5305 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
5306 to be clear for sign changes.
5307
42d57399
JH
53082013-01-01 Jan Hubicka <jh@suse.cz>
5309
5310 * ipa-inline-analysis.c: Fix formatting.
5311
5bb6669d
JJ
53122013-01-01 Jakub Jelinek <jakub@redhat.com>
5313
5314 PR tree-optimization/55831
5315 * tree-vect-loop.c (get_initial_def_for_induction): Use
5316 gsi_after_labels instead of gsi_start_bb.
ad41bd84 5317\f
86a2db33 5318Copyright (C) 2013 Free Software Foundation, Inc.
ad41bd84
JM
5319
5320Copying and distribution of this file, with or without modification,
5321are permitted in any medium without royalty provided the copyright
5322notice and this notice are preserved.