1 2013-01-30 Richard Biener <rguenther@suse.de>
3 * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
4 (sparseset_pop): Likewise.
5 * cfganal.c (compute_idf): Likewise. Increase work-stack size
6 to be able to use quick_push in the worker loop.
8 2013-01-30 Marek Polacek <polacek@redhat.com>
10 * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
12 2013-01-30 Richard Biener <rguenther@suse.de>
15 * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN
18 2013-01-30 Georg-Johann Lay <avr@gjlay.de>
20 PR tree-optimization/56064
21 * fixed-value.c (fixed_from_double_int): New function.
22 * fixed-value.h (fixed_from_double_int): New prototype.
23 (const_fixed_from_double_int): New static inline function.
24 * fold-const.c (native_interpret_fixed): New static function.
25 (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
26 (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
27 (native_encode_fixed): New static function.
28 (native_encode_expr) <FIXED_CST>: Use it.
29 (native_interpret_int): Move double_int worker code to...
30 * double-int.c (double_int::from_buffer): ...this new static method.
31 * double-int.h (double_int::from_buffer): Prototype it.
33 2013-01-30 Richard Biener <rguenther@suse.de>
35 * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
36 New pointer-map and obstack.
37 (init_alias_vars): Allocate pointer-map and obstack.
38 (delete_points_to_sets): Free them.
39 (find_what_var_points_to): Cache result.
40 (find_what_p_points_to): Adjust for changed interface of
41 find_what_var_points_to.
42 (compute_points_to_sets): Likewise.
43 (ipa_pta_execute): Likewise.
45 2013-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
47 * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
48 * configure: Regenerate.
49 * config.in: Regenerate.
50 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
51 #nobits/#progbits if supported.
53 2013-01-29 Oleg Endo <olegendo@gcc.gnu.org>
56 * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
57 bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
58 bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
60 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
62 * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
63 (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
65 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
67 * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
68 * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
70 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
72 * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
74 * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
75 * config/arm/cortex-a7.md: New bypasses using
76 arm_mac_accumulator_is_result.
78 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
80 * config/arm/cortex-a7.md (cortex_a7_neon_mul): New reservation.
81 (cortex_a7_neon_mla): Likewise.
82 (cortex_a7_fpfmad): New reservation.
83 (cortex_a7_fpmacs): Use ffmas and update required units.
84 (cortex_a7_fpmuld): Update required units and latency.
85 (cortex_a7_fpmacd): Likewise.
86 (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
87 (cortex_a7_neon). Likewise.
88 (bypass) Update participating units.
90 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
92 * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
93 * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
95 * config/arm/vfp11.md (vfp_farith): Use ffmas.
96 (vfp_fmul): Use ffmad.
97 * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
98 (cortex_r4_fmacd): Use ffmad.
99 * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
100 * config/arm/cortex-a9.md (cortex_a9_fmacs): Use ffmas.
101 (cortex_a9_fmacd): Use ffmad.
102 * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
103 (cortex_a8_vfp_macd): Use ffmad.
104 * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
105 (cortex_a5_fpmacd): Use ffmad.
106 * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
107 (cortex_a15_vfp_macd): Use ffmad.
108 * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
110 2013-01-29 Jason Merrill <jason@redhat.com>
113 * varasm.c (default_assemble_visibility): Don't warn about
114 visibility on artificial decls.
116 2013-01-29 Richard Biener <rguenther@suse.de>
118 PR tree-optimization/56113
119 * tree-ssa-structalias.c (equiv_class_lookup): Also return
121 (label_visit): Free duplicate bitmaps and record the leader instead.
122 (perform_var_substitution): Adjust.
124 2013-01-29 Richard Biener <rguenther@suse.de>
126 PR tree-optimization/55270
127 * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
128 the CFG, schedule loops for fixup.
130 2013-01-29 Nick Clifton <nickc@redhat.com>
132 * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
135 2013-01-28 Leif Ekblad <leif@rdos.net>
137 * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
138 * config/i386/i386.h (TARGET_RDOS): New macro.
139 (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
140 * config/i386/i386.c (ix86_option_override_internal): For 64bit
141 TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
142 * config/i386/i386.opt (mlarge-data-threshold): Initialize to
143 DEFAULT_LARGE_SECTION_THRESHOLD.
144 * config/i386/i386.md (R14_REG, R15_REG): New constants.
145 * config/i386/rdos.h: New file.
146 * config/i386/rdos64.h: New file.
148 2013-01-28 Bernd Schmidt <bernds@codesourcery.com>
151 * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
154 2013-01-28 Jakub Jelinek <jakub@redhat.com>
156 PR rtl-optimization/56117
157 * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
158 call cselib_lookup_from_insn on the MEM before calling
159 add_insn_mem_dependence.
161 2013-01-28 Richard Biener <rguenther@suse.de>
163 * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
164 to a stmt that didn't have one.
165 (copy_phis_for_bb): Likewise for PHI arguments.
166 (copy_debug_stmt): Likewise for debug stmts.
168 2013-01-28 Richard Biener <rguenther@suse.de>
170 PR tree-optimization/56034
171 * tree-loop-distribution.c (enum partition_kind): Add
173 (partition_builtin_p): Adjust.
174 (generate_code_for_partition): Handle PKIND_REDUCTION. Assert
175 it is the last partition.
176 (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
177 up the vertex for the definition.
178 (classify_partition): Classify whether a partition is a
179 PKIND_REDUCTION, thus has uses outside of the loop.
180 (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
181 Merge all PKIND_REDUCTION partitions into the last partition.
182 (tree_loop_distribution): Seed partitions from reductions as well.
184 2013-01-28 Jakub Jelinek <jakub@redhat.com>
186 PR tree-optimization/56125
187 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
188 pow(x,c) into sqrt(x) * powi(x, n/2) or
189 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
191 Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
192 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
195 PR tree-optimization/56094
196 * gimplify.c (force_gimple_operand_1): Temporarily set input_location
197 to UNKNOWN_LOCATION while gimplifying expr.
199 2013-01-27 Uros Bizjak <ubizjak@gmail.com>
202 * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
203 operand 0 in movabs insn template for -masm=intel asm alternative.
204 (*movabs<mode>_2): Ditto for operand 1.
206 2013-01-26 David Holsgrove <david.holsgrove@xilinx.com>
209 * config.gcc (microblaze*-linux*): Add tmake_file to allow building
212 2013-01-26 Edgar E. Iglesias <edgar.iglesias@gmail.com>
214 * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
217 2013-01-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
219 * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
220 Undef to avoid warning.
222 2013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at>
224 * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
225 * configure: Regenerate.
227 2013-01-25 Jakub Jelinek <jakub@redhat.com>
229 PR tree-optimization/56098
230 * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
231 for stmts with volatile ops.
232 (cond_store_replacement): Don't optimize if assign has volatile ops.
233 (cond_if_else_store_replacement_1): Don't optimize if either
234 then_assign or else_assign have volatile ops.
235 (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
238 2013-01-25 Georg-Johann Lay <avr@gjlay.de>
240 * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
242 2013-01-25 Georg-Johann Lay <avr@gjlay.de>
244 * doc/extend.texi (Example of asm with clobbered asm reg): Fix
245 missing ':' in asm example.
247 2013-01-25 Tejas Belagod <tejas.belagod@arm.com>
249 * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
250 entries into lane and laneq entries.
251 * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
252 Remove AdvSIMD scalar modes.
253 (aarch64_sq<r>dmulh_laneq<mode>): New.
254 (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
256 * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
257 builtin implementations to relfect changes in RTL in aarch64-simd.md.
258 * config/aarch64/iterators.md (VCOND): New.
261 2013-01-25 Georg-Johann Lay <avr@gjlay.de>
264 * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
265 Add NULL LIBNAME argument to existing definitions.
266 (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
267 * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
268 * config/avr/avr.c (DEF_BUILTIN): Same.
269 (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
270 (avr_expand_builtin): Expand to a vanilla call if a libgcc
271 implementation is available (DECL_ASSEMBLER_NAME is set).
272 (avr_fold_absfx): New static function.
273 (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
274 AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
275 AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
277 * config/avr/stdfix.h (abshr, absr, abslr, absllr)
278 (abshk, absk, abslk, absllk): Provide as static inline functions.
280 2013-01-25 Marek Polacek <polacek@redhat.com>
282 PR tree-optimization/56035
283 * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
285 2012-01-24 Uros Bizjak <ubizjak@gmail.com>
287 * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
288 (*movtf_internal_rex64): Add (!o,C) alternative
289 (*movxf_internal_rex64): Ditto.
290 (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
292 2013-01-24 Shenghou Ma <minux.ma@gmail.com>
294 * doc/invoke.texi: fix typo.
295 * doc/objc.texi: fix typo.
297 2013-01-24 Richard Sandiford <rdsandiford@googlemail.com>
299 * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
300 for the first two alternatives.
302 2013-01-24 Diego Novillo <dnovillo@google.com>
304 * Makefile.in (GGC): Remove. Replace all instances with ggc-page.o.
305 (ggc-zone.o): Remove.
306 * configure.ac: Remove option --with-gc.
307 * configure: Re-generate.
308 * doc/install.texi: Remove documentation for --with-gc.
309 * gengtype.c (write_enum_defn): Remove. Update all users.
310 (write_Types_process_field): Remove generation of gt_e_* argument.
311 (output_type_enum): Remove. Update all users.
312 (write_enum_defn): Remove. Update all users.
313 (enum alloc_zone): Remove. Update all users.
314 (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
315 * ggc-common.c (ggc_splay_alloc): Remove first argument.
317 (struct ptr_data): Remove field TYPE. Update all users.
318 (gt_pch_note_object): Remove argument TYPE. Update all users.
319 * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
321 * ggc-none.c (ggc_alloc_typed_stat): Remove.
322 (struct alloc_zone): Remove.
323 (ggc_internal_alloc_zone_stat): Remove.
324 (ggc_internal_cleared_alloc_zone_stat): Remove.
325 * ggc-page.c (ggc_alloc_typed_stat): Remove.
326 (ggc_pch_count_object): Remove last argument. Update all users.
327 (ggc_pch_alloc_object): Remove last argument. Update all users.
328 (struct alloc_zone): Remove.
329 * ggc-zone.c: Remove.
330 * ggc.h (gt_pch_note_object): Remove last argument. Update all users.
331 (struct alloc_zone): Remove.
332 (ggc_alloc_typed_stat): Remove.
333 (ggc_alloc_typed): Remove.
334 (ggc_splay_alloc): Remove first argument.
335 (rtl_zone): Remove. Update all users.
336 (tree_zone): Remove. Update all users.
337 (tree_id_zone): Remove. Update all users.
338 (ggc_internal_zone_alloc_stat): Remove. Update all users.
339 (ggc_internal_zone_cleared_alloc_stat): Remove. Update all users.
340 (ggc_internal_zone_vec_alloc_stat): Remove. Update all users.
341 * tree-ssanames.c: Remove references to zone allocator in comments.
343 2013-01-24 Georg-Johann Lay <avr@gjlay.de>
345 * config/avr/avr.c (avr_out_fract): Make register numbers that
346 might be outside of source operand signed.
348 2013-01-24 Uros Bizjak <ubizjak@gmail.com>
350 * config/i386/constraints.md (Yf): New constraint.
351 * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
352 of f constraint to conditionaly disable x87 register preferences.
353 (*movdf_internal): Ditto.
354 (*movsf_internal): Ditto.
356 2013-01-24 Steven Bosscher <steven@gcc.gnu.org>
359 * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
360 that have operands with impossible constraints.
361 Add a FIXME for a speed-up opportunity.
362 * lra-constraints.c (process_alt_operands): Verify that a class
363 selected from constraints on asms is valid for the operand mode.
364 (curr_insn_transform): Remove incorrect comment.
366 2013-01-23 David Edelsohn <dje.gcc@gmail.com>
368 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
369 TOC operand is a valid symbol ref in the constant pool.
371 2013-01-23 Edgar E. Iglesias <edgar.iglesias@gmail.com>
373 * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
375 2013-01-23 Georg-Johann Lay <avr@gjlay.de>
378 * config/avr/stdfix.h: New file.
379 * t-avr (stdfix-gcc.h): New rule to build it.
380 (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
382 2013-01-23 Kostya Serebryany <kcc@google.com>
384 * config/darwin.h: remove dependency on
385 CoreFoundation (asan on Mac OS).
387 2013-01-23 Jakub Jelinek <jakub@redhat.com>
390 * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
391 instead of cmpdi_operand for first comparison operand.
392 Don't assert that comparison operands aren't both constants.
394 2013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
396 * doc/install.texi (Downloading the Source): Update references to
397 downloading separate components.
399 2013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
401 * doc/extend.texi (__int128): Improve grammar.
403 2013-01-22 Uros Bizjak <ubizjak@gmail.com>
406 * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
407 alternative to (o,r).
408 (*movdi_internal_rex64): Remove (!o,n) alternative.
409 (DImode immediate->memory splitter): Remove.
410 (DImode immediate->memory peephole2): Remove.
411 (movtf): Enable for TARGET_64BIT || TARGET_SSE.
412 (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
413 alternative to (!o,*r).
414 (*movtf_internal_sse): New pattern.
415 (*movxf_internal_rex64): New pattern.
416 (*movxf_internal): Disable for TARGET_64BIT.
417 (*movdf_internal_rex64): Remove (!o,F) alternative.
419 2013-01-22 Jakub Jelinek <jakub@redhat.com>
422 * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
423 isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
424 * tree-vect-loop-manip.c (find_loop_location): Also ignore
425 stmt locations where LOCATION_LOCUS of the stmt location is
426 UNKNOWN_LOCATION or BUILTINS_LOCATION.
429 * config/i386/i386.md (UNSPEC_STOS): New.
430 (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
431 *strsetqi_1): Add UNSPEC_STOS.
433 2013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
436 * doc/invoke.texi: Remove left over -Wsynth example.
438 2013-01-21 Jakub Jelinek <jakub@redhat.com>
440 PR tree-optimization/56051
441 * fold-const.c (fold_binary_loc): Don't fold
442 X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
443 a narrowing conversion, or widening conversion from signed
446 2013-01-21 Uros Bizjak <ubizjak@gmail.com>
448 PR rtl-optimization/56023
449 * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
450 dependent on debug instruction.
452 2013-01-21 Martin Jambor <mjambor@suse.cz>
455 * function.c (allocate_struct_function): Call
456 invoke_set_current_function_hook earlier.
458 2013-01-21 Jakub Jelinek <jakub@redhat.com>
460 * reload1.c (init_reload): Only initialize reload_obstack
461 during the first call.
463 2013-01-21 Marek Polacek <polacek@redhat.com>
465 * cfgloop.c (verify_loop_structure): Fix up grammar.
467 2013-01-21 Yi-Hsiu Hsu <ahsu@marvell.com>
469 * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
470 pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
472 2013-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
475 * config/arm/marvell-pj4.md: Update copyright year.
476 Fix up use of alu to alu_reg and simple_alu_imm.
478 2013-01-21 Uros Bizjak <ubizjak@gmail.com>
480 * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
482 2013-01-20 Vladimir Makarov <vmakarov@redhat.com>
485 * lra-constraints.c (curr_insn_transform): Don't reuse original
486 insn for secondary memory move when memory mode should be different.
488 2013-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
490 * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
491 atomic_storedi_1): New patterns.
493 2013-01-20 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
495 btver2 pipeline descriptions.
496 * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
498 * config/i386/i386.md (btver2_decode): New type attributes.
499 * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
501 * config/i386/btver2.md: New file describing btver2 pipelines.
503 2013-01-19 Andrew Pinski <apinski@cavium.com>
505 PR tree-optimization/52631
506 * tree-ssa-sccvn (visit_use): Before looking up the original
507 statement, try looking up the simplified expression.
509 2013-01-19 Anthony Green <green@moxielogic.com>
511 * config/moxie/moxie.c (moxie_expand_prologue): Set
512 current_function_static_stack_size.
514 2013-01-18 Jakub Jelinek <jakub@redhat.com>
516 PR tree-optimization/56029
517 * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
518 gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
520 2013-01-18 Sharad Singhai <singhai@google.com>
522 PR tree-optimization/55995
523 * dumpfile.c (dump_loc): Print location only if available.
524 * tree-vectorizer.c (increase_alignment): Intialize vect_location.
526 2013-01-18 Vladimir Makarov <vmakarov@redhat.com>
529 * lra-constraints.c (curr_insn_transform): Reuse original insn for
530 secondary memory move.
531 (inherit_reload_reg): Use rclass instead of cl for
532 check_secondary_memory_needed_p.
534 2013-01-18 Jakub Jelinek <jakub@redhat.com>
537 * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
538 the case where writing real complex part of target modifies op1.
540 2013-01-18 James Greenhalgh <james.greenhalgh@arm.com>
542 * config/aarch64/aarch64-simd.md
543 (aarch64_vcond_internal<mode>): Handle unordered cases.
544 * config/aarch64/iterators.md (v_cmp_result): New.
546 2013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com>
547 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
549 * config/arm/marvell-pj4.md: New file.
550 * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
551 * config/arm/arm.md (generic_sched): Add marvell_pj4.
552 (generic_vfp): Likewise.
553 * config/arm/arm-cores.def: Add marvell-pj4.
554 * config/arm/arm-tune.md: Regenerate.
555 * config/arm/arm-tables.opt: Regenerate.
556 * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
557 * doc/invoke.texi: Document marvell-pj4.
559 2013-01-18 Tejas Belagod <tejas.belagod@arm.com>
561 * config/aarch64/arm_neon.h: Map scalar types to standard types.
563 2013-01-18 Alexandre Oliva <aoliva@redhat.com>
568 * var-tracking.c (negative_power_of_two_p): New.
569 (global_get_addr_cache, local_get_addr_cache): New.
570 (get_addr_from_global_cache, get_addr_from_local_cache): New.
571 (vt_canonicalize_addr): Rewrite using the above. Adjust the
573 (vt_stack_offset_p): Remove.
574 (vt_canon_true_dep): Always canonicalize loc's address.
575 (clobber_overlapping_mems): Make sure we have a MEM.
576 (local_get_addr_clear_given_value): New.
577 (val_reset): Clear local cached entries.
578 (compute_bb_dataflow): Create and release the local cache.
579 Disable duplicate MEMs clobbering.
580 (emit_notes_in_bb): Clobber MEMs likewise.
581 (vt_emit_notes): Create and release the local cache.
582 (vt_initialize, vt_finalize): Create and release the global
584 * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
586 2013-01-18 Alexandre Oliva <aoliva@redhat.com>
589 * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
590 not found in the symtab.
592 2013-01-18 Alexandre Oliva <aoliva@redhat.com>
595 PR rtl-optimization/55547
596 PR rtl-optimization/53827
599 * alias.c (offset_overlap_p): New, factored out of...
600 (memrefs_conflict_p): ... this. Use absolute sizes. Retain
601 the conservative special case for symbolic constants. Don't
602 adjust zero sizes on alignment.
604 2013-01-18 Bernd Schmidt <bernds@codesourcery.com>
606 PR rtl-optimization/52573
607 * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
608 REG_UNUSED for the same register.
610 2013-01-17 Richard Biener <rguenther@suse.de>
611 Marek Polacek <polacek@redhat.com>
613 PR rtl-optimization/55833
614 * loop-unswitch.c (unswitch_loops): Move loop verification...
615 (unswitch_single_loop): ...here. Call mark_irreducible_loops.
616 * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
617 Set it to true when we're removing a loop from hierarchy tree in
618 an irreducible region.
619 (fix_bb_placements): Adjust caller.
620 (fix_loop_placements): Likewise.
622 2013-01-17 Georg-Johann Lay <avr@gjlay.de>
624 * config/avr/builtins.def (DEF_BUILTIN): Factor out
625 "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
626 Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
627 Remove ID. Adjust comments.
628 * config/avr/avr-c.c (avr_builtin_name): Remove.
629 (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
630 * config/avr/avr.c (avr_tolower): New static function.
631 (DEF_BUILTIN): Remove parameter ID. Prefix ICODE by 'CODE_FOR_'.
632 Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
633 (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
636 2013-01-17 Jan Hubicka <jh@suse.cz>
638 PR tree-optimization/55273
639 * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
641 2013-01-17 Uros Bizjak <ubizjak@gmail.com>
644 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
645 store through atomic_store<mode>_1.
646 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
648 2013-01-17 Martin Jambor <mjambor@suse.cz>
650 PR tree-optimizations/55264
651 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
653 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
654 virtual methods before inlining is over.
655 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
657 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
660 2013-01-16 Vladimir Makarov <vmakarov@redhat.com>
662 PR rtl-optimization/56005
663 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
664 pending reads for prefetch.
666 2013-01-16 Ian Bolton <ian.bolton@arm.com>
668 * config/aarch64/aarch64.md
669 (*cstoresi_neg_uxtw): New pattern.
670 (*cmovsi_insn_uxtw): New pattern.
671 (*<optab>si3_uxtw): New pattern.
672 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
673 (*<optab>si3_insn_uxtw): New pattern.
674 (*bswapsi2_uxtw): New pattern.
676 2013-01-16 Richard Biener <rguenther@suse.de>
678 * tree-inline.c (tree_function_versioning): Remove set but
681 2013-01-16 Richard Biener <rguenther@suse.de>
683 PR tree-optimization/55964
684 * tree-flow.h (rename_variables_in_loop): Remove.
685 (rename_variables_in_bb): Likewise.
686 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
687 (copy_loop_before): Adjust and delete update-ssa status.
688 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
689 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
690 (rename_variables_in_loop): Remove.
691 (slpeel_update_phis_for_duplicate_loop): Likewise.
692 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
693 use available cfg machinery instead of duplicating it.
694 Update PHI nodes and perform poor-mans SSA update here.
695 (slpeel_tree_peel_loop_to_edge): Adjust.
697 2013-01-16 Richard Biener <rguenther@suse.de>
699 PR tree-optimization/54767
700 PR tree-optimization/53465
701 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
702 (vrp_visit_phi_node): For PHI arguments coming via backedges
703 drop all symbolical range information.
704 (execute_vrp): Compute backedges.
706 2013-01-16 Richard Biener <rguenther@suse.de>
708 * doc/install.texi: Update CLooG and ISL requirements to
711 2013-01-16 Christian Bruel <christian.bruel@st.com>
714 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
715 (broken_move): Handle UNSPECV_SP_SWITCH_B.
716 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
718 2013-01-16 DJ Delorie <dj@redhat.com>
720 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
721 (UNSPECV_SP_SWITCH_E): New.
722 (sp_switch_1): Change to an unspec.
723 (sp_switch_2): Change to an unspec. Don't use post-inc when we
726 2013-01-16 Uros Bizjak <ubizjak@gmail.com>
728 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
729 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
730 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
731 (expand_mem_thread_fence): Ditto.
732 (expand_mem_signal_fence): Ditto.
733 (expand_atomic_load): Ditto.
734 (expand_atomic_store): Ditto.
736 2013-01-16 Alexandre Oliva <aoliva@redhat.com>
738 PR rtl-optimization/55547
739 PR rtl-optimization/53827
742 * alias.c (memrefs_conflict_p): Set sizes to negative after
745 2013-01-15 Jakub Jelinek <jakub@redhat.com>
748 * function.c (thread_prologue_and_epilogue_insns): Always
749 add crtl->drap_reg to set_up_by_prologue.set, even if
750 stack_realign_drap is false.
752 2013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
754 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
755 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
756 *call): Fix indention.
758 2013-01-15 Tom de Vries <tom@codesourcery.com>
761 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
764 2013-01-15 Vladimir Makarov <vmakarov@redhat.com>
766 PR rtl-optimization/55153
767 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
769 2013-01-15 Martin Jambor <mjambor@suse.cz>
771 PR tree-optimization/55920
772 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
773 accesses as grp_to_be_debug_replaced.
775 2013-01-15 Jakub Jelinek <jakub@redhat.com>
777 PR tree-optimization/55920
778 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
779 there is non-useless type conversion needed from debug rhs to lhs,
780 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
782 2013-01-15 Joseph Myers <joseph@codesourcery.com>
783 Mikael Pettersson <mikpe@it.uu.se>
786 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
788 (ASM_OUTPUT_CASE_LABEL): Remove.
789 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
790 * final.c (shorten_branches): Update alignment of labels before
791 jump tables if CASE_VECTOR_SHORTEN_MODE.
793 2013-01-15 Richard Biener <rguenther@suse.de>
796 * system.h: Do not include gmp.h for building host tools.
798 2013-01-15 Richard Biener <rguenther@suse.de>
801 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
802 account for bitpos when computing alignment.
804 2013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
806 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
807 (ix86_target_macros_internal): Likewise.
809 * config/i386/i386.c (m_CORE2I7): Removed.
810 (m_CORE_HASWELL): New macro.
811 (m_CORE_ALL): Likewise.
812 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
813 (initial_ix86_arch_features): Likewise.
814 (processor_target_table): Initializations for Core avx2.
815 (cpu_names): New names "core-avx2".
816 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
817 PROCESSOR_CORE_HASWELL.
818 (ix86_issue_rate): New case.
819 (ia32_multipass_dfa_lookahead): Likewise.
820 (ix86_sched_init_global): Likewise.
822 * config/i386/i386.h (TARGET_HASWELL): New macro.
823 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
824 (processor_type): New PROCESSOR_HASWELL.
826 2013-01-15 Jakub Jelinek <jakub@redhat.com>
828 PR tree-optimization/55955
829 * tree-vect-loop.c (vectorizable_reduction): Give up early on
830 *SHIFT_EXPR and *ROTATE_EXPR codes.
832 PR tree-optimization/48766
833 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
834 -ftrapv disable -fwrapv.
836 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
839 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
840 etc. to 1 and not to __flash.
841 Use LL suffix for __INT24_MAX__ with -mint8.
842 Use ULL suffix for __UINT24_MAX__ with -mint8.
844 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
846 * config/avr/avr-arch.h
847 (struct base_arch_s): Use typedef avr_arch_t instead.
848 (struct arch_info_s): Use typedef avr_arch_info_t instead.
849 (struct mcu_type_s): Use typedef avr_mcu_t instead.
850 * config/avr/avr.c: Same.
851 * config/avr/avr-devices.c: Same.
852 * config/avr/driver-avr.c: Same.
853 * config/avr/gen-avr-mmcu-texi.c: Same.
854 * config/avr/avr-mcus.def: Adjust comment.
856 2013-01-14 Tejas Belagod <tejas.belagod@arm.com>
858 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
859 * config/aarch64/iterators.md (VALLDI): New.
861 2013-01-14 Uros Bizjak <ubizjak@gmail.com>
862 Andi Kleen <ak@linux.intel.com>
865 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
866 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
869 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
871 * config/avr/avr-stdint.h: Remove trailing blanks.
872 * config/avr/avr-log.h: Same.
873 * config/avr/avr-arch.h: Same.
874 * config/avr/avr-devices.c: Same.
875 * config/avr/avr-dimode.md: Same.
876 * config/avr/predicates.md: Same.
877 * config/avr/avr-c.c: Same. And fix typo.
879 * config/avr/avr-protos.h: Same. And:
880 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
881 (init_cumulative_args): Rename to avr_init_cumulative_args.
882 (expand_prologue): Rename to avr_expand_prologue.
883 (expand_epilogue): Rename to avr_expand_epilogue.
884 (adjust_insn_length): Rename to avr_adjust_insn_length.
885 (notice_update_cc): Rename to avr_notice_update_cc.
886 (final_prescan_insn): Rename to avr_final_prescan_insn.
887 * config/avr/avr.c: Same.
888 * config/avr/avr.h: Same.
889 * config/avr/avr.md: Remove trailing blanks.
890 (prologue): Use avr_expand_prologue.
891 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
893 2013-01-14 Richard Biener <rguenther@suse.de>
895 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
896 verify_location, collect_subblocks): New functions.
897 (verify_gimple_in_cfg): Verify that locations only reference
898 BLOCKs in the functions BLOCK tree.
900 2013-01-14 Richard Biener <rguenther@suse.de>
902 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
904 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
906 (insert_out_of_ssa_copy_on_edge): Likewise.
907 (rewrite_close_phi_out_of_ssa): Likewise.
908 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
910 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
911 propagated constants.
912 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
915 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
917 * config/avr/avr-modes.def: Add GPL copyright notice.
919 2013-01-13 Uros Bizjak <ubizjak@gmail.com>
921 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
922 MEMMODEL_MASK to determine memory model.
923 (atomic_store<mode>): Ditto from operands[2].
924 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
926 2013-01-13 Jakub Jelinek <jakub@redhat.com>
929 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
930 (fold_gimple_assign): Don't call unshare_expr here.
931 (fold_ctor_reference): Call unshare_expr.
933 2013-01-13 Terry Guo <terry.guo@arm.com>
935 * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
936 * doc/fragments.texi: Document MULTILIB_REUSE.
937 * gcc.c (multilib_reuse): New internal spec.
938 (set_multilib_dir): Also search multilib from multilib_reuse.
939 * genmultilib (tmpmultilib3): Refactor code.
940 (tmpmultilib4): Ditto.
941 (multilib_reuse): New multilib argument.
943 2013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
945 * Makefile.in: Update copyright.
947 2013-01-12 Tom de Vries <tom@codesourcery.com>
950 * calls.c (expand_call): Check if arg_nr is valid.
952 2013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
954 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
955 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
956 documentation. Add missing '__' in front of
957 __builtin_ia32_packssdw256.
959 2013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
962 * config/s390/s390.c (s390_preferred_reload_class): Do not return
963 NO_REGS for larl operands.
964 (s390_reload_larl_operand): Use s390_load_address instead of
967 2013-01-11 Richard Biener <rguenther@suse.de>
969 * tree-cfg.c (verify_node_sharing_1): Split out from ...
970 (verify_node_sharing): ... here.
971 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
973 2013-01-11 Eric Botcazou <ebotcazou@adacore.com>
975 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
976 Substitute TREECHECKING.
977 * configure: Regenerate.
978 * Makefile.in (TREECHECKING): New.
980 2013-01-11 Richard Guenther <rguenther@suse.de>
982 PR tree-optimization/44061
983 * tree-vrp.c (extract_range_basic): Compute zero as
984 value-range for __builtin_constant_p of function parameters.
986 2013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
988 Update copyright years.
990 2013-01-10 Vladimir Makarov <vmakarov@redhat.com>
992 PR rtl-optimization/55672
993 * lra-eliminations.c (mark_not_eliminable): Permit addition with
994 const to be eliminable.
996 2013-01-10 David Edelsohn <dje.gcc@gmail.com>
998 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
999 * configure: Regenerate.
1001 2013-01-10 Richard Biener <rguenther@suse.de>
1003 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
1005 2013-01-10 Richard Biener <rguenther@suse.de>
1008 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
1009 locations for virtual PHI arguments.
1010 (rewrite_update_phi_arguments): Likewise.
1012 2013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
1014 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
1017 2013-01-10 Jakub Jelinek <jakub@redhat.com>
1019 PR tree-optimization/55921
1020 * tree-complex.c (expand_complex_asm): New function.
1021 (expand_complex_operations_1): Call it for GIMPLE_ASM.
1023 2013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1026 * config/s390/s390.c (s390_symref_operand_p)
1027 (s390_loadrelative_operand_p): Merge the two functions.
1028 (s390_check_qrst_address, print_operand_address): Add parameters
1029 to s390_loadrelative_operand_p invokation.
1030 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
1031 (s390_reload_larl_operand, s390_secondary_reload): Use
1032 s390_loadrelative_operand_p instead of s390_symref_operand_p.
1033 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
1035 2013-01-09 Mike Stump <mikestump@comcast.net>
1037 * dse.c (record_store): Remove unnecessary assert.
1039 2013-01-09 Jan Hubicka <jh@suse.cz>
1041 PR tree-optimization/55569
1042 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
1043 * cfgloop.h (scale_loop_profile): Likewise.
1045 2013-01-09 Jan Hubicka <jh@suse.cz>
1048 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
1050 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
1052 2013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
1055 * expr.h (maybe_emit_group_store): Declare.
1056 * expr.c (maybe_emit_group_store): New function.
1057 * builtins.c (expand_builtin_int_roundingfn): Call it.
1058 (expand_builtin_int_roundingfn_2): Likewise.
1060 2013-01-09 Vladimir Makarov <vmakarov@redhat.com>
1062 PR rtl-optimization/55829
1063 * lra-constraints.c (match_reload): Add code for absent output.
1064 (curr_insn_transform): Add code for reloads of matched inputs
1067 2013-01-09 Uros Bizjak <ubizjak@gmail.com>
1069 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
1070 attribute of movddup insn to DF.
1071 (*vec_interleave_lowv2df): Ditto.
1072 (vec_dupv2df): Ditto.
1074 2013-01-09 Jan Hubicka <jh@suse.cz>
1076 PR tree-optimiation/55875
1077 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
1078 EVERY_ITERATION parameter.
1079 (number_of_iterations_exit): Check if exit is executed every iteration.
1080 (idx_infer_loop_bounds): Similarly here.
1081 (n_of_executions_at_most): Simplify
1082 to only test for cases where statement is dominated by the
1083 particular bound; handle correctly the "postdominance" test.
1084 (scev_probably_wraps_p): Use max loop iterations info
1085 as a global bound first.
1087 2013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
1088 Nick Clifton <nickc@redhat.com>
1090 * config/v850/v850.md (cbranchsf4): New pattern.
1091 (cstoresf4): New pattern.
1092 (cbranchdf4): New pattern.
1093 (cstoredf4): New pattern.
1094 (movsicc): Disallow floating point comparisons.
1095 (cmpsf_le_insn): Fix order of operators.
1096 (cmpsf_lt_insn): Likewise.
1097 (cmpsf_eq_insn): Likewise.
1098 (cmpdf_le_insn): Likewise.
1099 (cmpdf_lt_insn): Likewise.
1100 (cmpdf_eq_insn): Likewise.
1101 (cmpsf_ge_insn): Use LE comparison.
1102 (cmpdf_ge_insn): Likewise.
1103 (cmpsf_gt_insn): Use LT comparison.
1104 (cmpdf_gt_insn): Likewise.
1105 (cmpsf_ne_insn): Delete pattern.
1106 (cmpdf_ne_insn): Delete pattern.
1107 * config/v850/v850.c (v850_gen_float_compare): Use
1108 gen_cmpdf_eq_insn for NE comparison.
1109 (v850_float_z_comparison_operator)
1110 (v850_float_nz_comparison_operator): Move from here ...
1111 * config/v850/predicates.md: ... to here. Move GT and GE
1112 comparisons into v850_float_z_comparison_operator.
1113 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
1115 (v850_float_nz_comparison_operator): Likewise.
1117 2013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1119 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
1120 with calls to gen_insvsi/gen_insvdi.
1122 2013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
1124 * config/i386/i386.c (initial_ix86_tune_features): Set up
1125 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
1127 2013-01-09 Steven Bosscher <steven@gcc.gnu.org>
1128 Jakub Jelinek <jakub@redhat.com>
1130 PR tree-optimization/48189
1131 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
1132 If nitercst is 0, don't predict the exit edge.
1134 2013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
1136 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
1137 in asm_fprintf with reg_names.
1138 (aarch64_print_operand_address): Likewise.
1139 (aarch64_return_addr): Likewise.
1140 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
1142 2013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1144 * config/pa/pa.h (VAL_U6_BITS_P): Define.
1145 (INT_U6_BITS): Likewise.
1146 * config/pa/predicates.md (uint6_operand): New predicate.
1147 (shift5_operand, shift6_operand): Likewise.
1148 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
1150 (lshrdi3): Use shift6_operand.
1151 (shrpsi4, shrpdi4): New insn patterns.
1152 (extzv): Delete expander.
1153 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
1154 predicates in unamed zero extract patterns. Tighten common constraint.
1155 (extv): Delete expander.
1156 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
1157 predicates in unamed sign extract patterns. Tighten common constraint.
1158 (insv): Delete expander.
1159 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
1160 predicates in unamed insert patterns. Tighten common constraint.
1161 Change uint32_operand predicate to uint6_operand predicate in unamed
1162 DImode pattern to insert constant values of type 1...1xxxx.
1164 2013-01-04 Jan Hubicka <jh@suse.cz>
1166 PR tree-optimization/55823
1167 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
1170 2013-01-08 Jakub Jelinek <jakub@redhat.com>
1171 Uros Bizjak <ubizjak@gmail.com>
1173 PR rtl-optimization/55845
1174 * df-problems.c (can_move_insns_across): Stop scanning at
1175 volatile_insn_p source instruction or give up if
1176 across_from .. across_to range contains any volatile_insn_p
1179 2013-01-08 Tejas Belagod <tejas.belagod@arm.com>
1181 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
1182 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
1184 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
1185 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
1187 2013-01-08 Jakub Jelinek <jakub@redhat.com>
1190 * asan.c (asan_clear_shadow): New function.
1191 (asan_emit_stack_protection): Use it.
1193 2013-01-08 Tejas Belagod <tejas.belagod@arm.com>
1195 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
1196 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
1197 with tab instead of space.
1199 2013-01-08 Nick Clifton <nickc@redhat.com>
1201 * config/rl78/rl78.c (rl78_expand_prologue): Always select
1202 register bank 0 at the start of an interrupt handler.
1203 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
1206 2013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
1208 * config/aarch64/aarch64-simd.md
1209 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
1210 (aarch64_simd_bsl): Likewise.
1211 (aarch64_vcond_internal<mode>): Likewise.
1212 (vcond<mode><mode>): Likewise.
1213 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
1214 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
1216 2013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
1218 * config/aarch64/aarch64-builtins.c
1219 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
1221 2013-01-08 Martin Jambor <mjambor@suse.cz>
1224 * tree-sra.c (analyze_access_subtree): Return true also after
1225 potentially creating a debug-only replacement.
1227 2013-01-08 Jakub Jelinek <jakub@redhat.com>
1230 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
1232 PR tree-optimization/54120
1233 * tree-vrp.c (range_fits_type_p): Don't allow
1234 src_precision < precision from signed vr to unsigned_p
1235 if vr->min or vr->max is negative.
1236 (simplify_float_conversion_using_ranges): Test can_float_p
1237 against CODE_FOR_nothing.
1239 2013-01-08 Jakub Jelinek <jakub@redhat.com>
1240 Richard Biener <rguenther@suse.de>
1243 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
1244 types instead of just INTEGER_TYPE types.
1246 2013-01-07 Mark Kettenis <kettenis@openbsd.org>
1248 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
1251 2013-01-07 Steve Ellcey <sellcey@mips.com>
1254 * config/mips/mips.opt: Change mad to mmad to match documentation.
1256 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
1259 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
1262 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
1265 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
1266 (avr_addrspace_t): Add .section_name field.
1267 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
1269 (avr_addrspace): Same. Initialize .section_name. Remove last
1270 NULL entry. Put __memx into .progmemx.data.
1271 (progmem_section_prefix): Remove.
1272 (avr_asm_init_sections): No need to initialize progmem_section.
1273 (avr_asm_named_section): Use avr_addrspace[].section_name to get
1274 section name prefix.
1275 (avr_asm_select_section): Ditto. And use get_unnamed_section to
1276 retrieve the progmem section.
1277 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
1278 boundary to run over avr_addrspace[].
1279 (avr_register_target_pragmas): Ditto.
1281 2013-01-06 Jakub Jelinek <jakub@redhat.com>
1283 * varasm.c (output_constant_def_contents): For asan_protect_global
1284 protected strings, adjust DECL_ALIGN if needed, before testing for
1286 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
1287 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
1289 (output_object_block): For asan protected decls, emit asan padding
1290 after their contents.
1291 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
1292 (asan_finish_file): Test it here instead.
1294 2013-01-07 Nick Clifton <nickc@redhat.com>
1295 Matthias Klose <doko@debian.org>
1296 Doug Kwan <dougkwan@google.com>
1297 H.J. Lu <hongjiu.lu@intel.com>
1300 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
1302 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
1304 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
1306 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
1308 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
1310 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
1313 * doc/install.texi (Cross-Compiler-Specific Options): Document
1316 2013-01-07 Tejas Belagod <tejas.belagod@arm.com>
1318 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
1319 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
1320 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
1321 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
1322 vqmovun_high_s64): Fix source operand number and update copyright.
1324 2013-01-07 Richard Biener <rguenther@suse.de>
1327 * gimple.h (gimple_call_builtin_p): New overload.
1328 * gimple.c (validate_call): New function.
1329 (gimple_call_builtin_p): Likewise.
1330 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
1331 Use gimple_call_builtin_p.
1332 (find_func_clobbers): Likewise.
1333 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
1334 (strlen_optimize_stmt): Likewise.
1336 2013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
1338 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
1339 (vld1q_dup_*): Likewise.
1341 (vld1q_*): Likewise.
1342 (vld1_lane_*): Likewise.
1343 (vld1q_lane_*): Likewise.
1345 2013-01-07 Richard Biener <rguenther@suse.de>
1347 * lto-streamer.h (LTO_minor_version): Bump to 2.
1349 2013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
1351 * config/aarch64/aarch64-protos.h
1352 (aarch64_const_double_zero_rtx_p): Rename to...
1353 (aarch64_float_const_zero_rtx_p): ...this.
1354 (aarch64_float_const_representable_p): New.
1355 (aarch64_output_simd_mov_immediate): Likewise.
1356 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
1357 move immediate case.
1358 * config/aarch64/aarch64.c
1359 (aarch64_const_double_zero_rtx_p): Rename to...
1360 (aarch64_float_const_zero_rtx_p): ...this.
1361 (aarch64_print_operand): Allow printing of new constants.
1362 (aarch64_valid_floating_const): New.
1363 (aarch64_legitimate_constant_p): Check for valid floating-point
1365 (aarch64_simd_valid_immediate): Likewise.
1366 (aarch64_vect_float_const_representable_p): New.
1367 (aarch64_float_const_representable_p): Likewise.
1368 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
1369 (aarch64_output_simd_mov_immediate): New.
1370 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
1371 (*movdf_aarch64): Likewise.
1372 * config/aarch64/constraints.md (Ufc): New.
1373 (Y): call aarch64_float_const_zero_rtx.
1374 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
1376 2013-01-07 Richard Biener <rguenther@suse.de>
1378 PR tree-optimization/55888
1379 PR tree-optimization/55862
1380 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
1381 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
1382 not if it is contained therein.
1384 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
1386 * config/avr/t-avr: Typo.
1388 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
1391 * config/avr/t-avr: Don't automatically rebuild
1392 $(srcdir)/config/avr/t-multilib
1393 $(srcdir)/config/avr/avr-tables.opt
1394 $(srcdir)/doc/avr-mmcu.texi
1395 (avr-mcus): New phony target to build them on request.
1396 (s-avr-mlib, s-avr-mmcu-texi): Remove.
1397 * avr/avr-mcus.def: Adjust comments.
1399 2013-01-07 Uros Bizjak <ubizjak@gmail.com>
1401 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
1403 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
1405 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
1407 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
1409 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
1411 2013-01-05 David Edelsohn <dje.gcc@gmail.com>
1413 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
1414 to generate profiling.
1415 * config/rs6000/aix64.h (LIB_SPEC): Same.
1417 2013-01-04 Andrew Pinski <apinski@cavium.com>
1419 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
1421 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
1423 2013-01-04 Uros Bizjak <ubizjak@gmail.com>
1425 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
1427 (ix86_expand_move): Ditto.
1428 (ix86_zero_extend_to_Pmode): Ditto.
1429 (ix86_expand_call): Ditto.
1430 (ix86_expand_special_args_builtin): Ditto.
1431 (ix86_expand_builtin): Ditto.
1433 2013-01-04 Richard Biener <rguenther@suse.de>
1435 PR tree-optimization/55862
1436 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
1437 translating them through PHI nodes.
1439 2013-01-04 Martin Jambor <mjambor@suse.cz>
1441 PR tree-optimization/55755
1442 * tree-sra.c (sra_modify_assign): Do not check that an access has no
1443 children when trying to avoid producing a VIEW_CONVERT_EXPR.
1445 2013-01-04 Marek Polacek <polacek@redhat.com>
1448 * opts.c (default_options_optimization): Clarify error message.
1450 2013-01-04 Richard Biener <rguenther@suse.de>
1453 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
1456 2013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1459 * config/pa/pa.md (movsi): Revert previous change.
1460 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
1463 2013-01-03 Richard Henderson <rth@redhat.com>
1465 * config/i386/i386.c (ix86_expand_move): Always assign to op1
1466 after eliminating TLS symbols.
1468 2013-01-03 Marc Glisse <marc.glisse@inria.fr>
1471 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
1472 * graphite-poly.c (debug_gmp_value): Likewise.
1474 2013-01-03 Uros Bizjak <ubizjak@gmail.com>
1477 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
1478 selected code model, define __code_mode_small__, __code_model_medium__,
1479 __code_model_large__, __code_model_32__ or __code_model_kernel__.
1480 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
1481 xchg temporary register with %k. Declare temporary register as
1483 [__x86_64__]: For medium and large code models, preserve %rbx register.
1485 2013-01-03 Richard Biener <rguenther@suse.de>
1487 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
1488 (dump_subscript): Adjust.
1489 (finalize_ddr_dependent): Do not dump redundant info.
1490 (analyze_siv_subscript): Adjust.
1491 (subscript_dependence_tester): Likewise.
1492 (compute_affine_dependence): Likewise.
1494 2013-01-03 Richard Biener <rguenther@suse.de>
1497 2013-01-03 Richard Biener <rguenther@suse.de>
1499 PR tree-optimization/55857
1500 * tree-vect-stmts.c (vectorizable_load): Do not setup
1501 re-alignment for invariant loads.
1503 2013-01-02 Richard Biener <rguenther@suse.de>
1505 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
1506 invariant load do not generate a vector load from the scalar location.
1508 2013-01-03 Richard Biener <rguenther@suse.de>
1510 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
1511 for not vectorizing.
1512 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
1513 not build INDIRECT_REFs, call get_name once only.
1514 (vect_create_data_ref_ptr): Likewise. Dump base object kind
1515 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
1517 2013-01-03 Richard Biener <rguenther@suse.de>
1519 PR tree-optimization/55857
1520 * tree-vect-stmts.c (vectorizable_load): Do not setup
1521 re-alignment for invariant loads.
1523 2013-01-03 Richard Biener <rguenther@suse.de>
1526 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
1527 prefer a built-in decl.
1529 2013-01-03 Jakub Jelinek <jakub@redhat.com>
1531 * gcc.c (process_command): Update copyright notice dates.
1532 * gcov.c (print_version): Likewise.
1533 * gcov-dump.c (print_version): Likewise.
1535 PR rtl-optimization/55838
1536 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
1537 iv0.step, iv1.step and step.
1539 2013-01-03 Jakub Jelinek <jakub@redhat.com>
1540 Marc Glisse <marc.glisse@inria.fr>
1542 PR tree-optimization/55832
1543 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
1544 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
1545 integer_{one,zero}_node.
1547 2013-01-03 Jakub Jelinek <jakub@redhat.com>
1550 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
1551 * var-tracking.c (reverse_op): Don't add reverse ops to
1552 VALUEs that have already
1553 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
1555 2013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
1557 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
1559 2013-01-02 Teresa Johnson <tejohnson@google.com>
1561 * dumpfile.c (dump_loc): Print filename with location.
1562 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
1563 new location_t parameter to emit complete unroll message with
1565 (canonicalize_loop_induction_variables): Compute loops location
1566 and pass to try_unroll_loop_completely.
1567 * loop-unroll.c (report_unroll_peel): New function.
1568 (peel_loops_completely): Use new dump format with location
1569 for main dumpfile message, and invoke report_unroll_peel on success.
1570 (decide_unrolling_and_peeling): Ditto.
1571 (decide_peel_once_rolling): Remove old dumpfile message subsumed
1572 by report_unroll_peel.
1573 (decide_peel_completely): Ditto.
1574 (decide_unroll_constant_iterations): Ditto.
1575 (decide_unroll_runtime_iterations): Ditto.
1576 (decide_peel_simple): Ditto.
1577 (decide_unroll_stupid): Ditto.
1578 * cfgloop.c (get_loop_location): New function.
1579 * cfgloop.h (get_loop_location): Declare.
1581 2013-01-02 Sriraman Tallam <tmsriram@google.com>
1583 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
1586 2013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1589 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
1590 BLKmode objects when EXPAND_MEMORY is specified.
1592 2013-01-02 Sriraman Tallam <tmsriram@google.com>
1594 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
1596 (fold_builtin_cpu): Do not share cpu model decls across statements.
1598 2013-01-02 Jason Merrill <jason@redhat.com>
1601 * tree.c (build_array_type_1): Revert earlier change.
1603 2013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
1605 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
1607 * config/aarch64/aarch64-tune.md: Re-generate.
1609 2013-01-02 Richard Biener <rguenther@suse.de>
1611 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
1612 invariant load do not generate a vector load from the scalar location.
1614 2013-01-02 Richard Biener <rguenther@suse.de>
1617 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
1618 * configure: Regenerate.
1620 2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1622 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
1623 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
1624 (expand_builtin_int_roundingfn_2): Keep the original target around
1625 for the fallback case.
1627 2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1629 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
1630 to be clear for sign changes.
1632 2013-01-01 Jan Hubicka <jh@suse.cz>
1634 * ipa-inline-analysis.c: Fix formatting.
1636 2013-01-01 Jakub Jelinek <jakub@redhat.com>
1638 PR tree-optimization/55831
1639 * tree-vect-loop.c (get_initial_def_for_induction): Use
1640 gsi_after_labels instead of gsi_start_bb.
1642 Copyright (C) 2013 Free Software Foundation, Inc.
1644 Copying and distribution of this file, with or without modification,
1645 are permitted in any medium without royalty provided the copyright
1646 notice and this notice are preserved.