]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
pr59605.c: Convert to a compile test.
[gcc.git] / gcc / ChangeLog
CommitLineData
9f8da907
RS
12014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
2
3 * opts.c (option_name): Remove "enabled by default" rider.
4
0fdd1196
JDA
52014-02-12 John David Anglin <danglin@gcc.gnu.org>
6
7 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
8
0544c448
L
92014-02-12 H.J. Lu <hongjiu.lu@intel.com>
10 Uros Bizjak <ubizjak@gmail.com>
11
12 PR target/60151
13 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU
14 assembler.
15 * configure: Regenerated.
16
3a938d75
RB
172014-02-12 Richard Biener <rguenther@suse.de>
18
19 * vec.c (vec_prefix::calculate_allocation): Move as
20 inline variant to vec.h.
21 (vec_prefix::calculate_allocation_1): New out-of-line version.
22 * vec.h (vec_prefix::calculate_allocation_1): Declare.
23 (vec_prefix::m_has_auto_buf): Rename to ...
24 (vec_prefix::m_using_auto_storage): ... this.
25 (vec_prefix::calculate_allocation): Inline the easy cases
26 and dispatch to calculate_allocation_1 which doesn't need the
27 prefix address.
28 (va_heap::reserve): Use gcc_checking_assert.
29 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
30 m_using_auto_storage.
31 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
32 member and adjust.
33 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
34 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
35 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
36
ad0188be
RB
372014-02-12 Richard Biener <rguenther@suse.de>
38
39 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
40 when we found a dependence.
41
64e5ace5
TS
422014-02-12 Thomas Schwinge <thomas@codesourcery.com>
43
88ac13da
TS
44 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
45 common code...
46 (maybe_fold_stmt): ... into this new function.
47 * omp-low.c (lower_omp): Update comment.
48
bae729a2
TS
49 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
50 last use.
51
64e5ace5
TS
52 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
53 dereference.
54
7b40f5cf
JG
552014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
56
57 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
58 identifiers in comments.
59 (cortexa53_extra_costs): Likewise.
60 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in
61 comments.
62 (cortexa7_extra_costs): Likewise.
63 (cortexa12_extra_costs): Likewise.
64 (cortexa15_extra_costs): Likewise.
65 (v7m_extra_costs): Likewise.
66
c4c8514e
RB
672014-02-12 Richard Biener <rguenther@suse.de>
68
69 PR middle-end/60092
70 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
71 of posix_memalign being successful.
72 (lower_stmt): Restrict lowering of posix_memalign to when
73 -ftree-bit-ccp is enabled.
74
8eb651bd
SKS
752014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
76
77 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
78 arg_loc.
79 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
80
62b03553
EB
812014-02-12 Eric Botcazou <ebotcazou@adacore.com>
82
83 PR rtl-optimization/60116
84 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
85 other_insn once the combination has been validated.
86
ec77d61f
JH
872014-02-11 Jan Hubicka <hubicka@ucw.cz>
88
89 PR lto/59468
90 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
91 and wrapper.
92 * ipa-devirt.c: Include demangle.h
93 (odr_violation_reported): New static variable.
94 (add_type_duplicate): Update odr_violations.
95 (maybe_record_node): Add completep parameter; update it.
96 (record_target_from_binfo): Add COMPLETEP parameter;
97 update it as needed.
98 (possible_polymorphic_call_targets_1): Likewise.
99 (struct polymorphic_call_target_d): Add nonconstruction_targets;
100 rename FINAL to COMPLETE.
101 (record_targets_from_bases): Sanity check we found the binfo;
102 fix COMPLETEP updating.
103 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
104 parameter, fix computing of COMPLETEP.
105 (dump_possible_polymorphic_call_targets): Imrove readability of dump; at
106 LTO time do demangling.
107 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
108 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
109 parameter.
110 (gimple_get_virt_method_for_binfo): Likewise.
111 * gimple-fold.h (gimple_get_virt_method_for_binfo,
112 gimple_get_virt_method_for_vtable): Update prototypes.
113
5a4dcd9b
VM
1142014-02-11 Vladimir Makarov <vmakarov@redhat.com>
115
116 PR target/49008
117 * genautomata.c (add_presence_absence): Fix typo with
118 {final_}presence_list.
119
69b7afed
MM
1202014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
121
122 PR target/60137
123 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
124 for VSX/Altivec vectors that land in GPR registers.
125
8268ad5c
JJ
1262014-02-11 Richard Henderson <rth@redhat.com>
127 Jakub Jelinek <jakub@redhat.com>
128
129 PR debug/59776
130 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
131 around drhs if type conversion to lacc->type is not useless.
132
4fd92af6
KT
1332014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
134
135 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
136 tuning struct.
137 (cortex-a57.cortex-a53): Likewise.
138 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
139
7cb14cb8
KT
1402014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
141
142 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
143 arm_restrict_it.
144
6d3715b9
RL
1452014-02-11 Renlin Li <Renlin.Li@arm.com>
146
147 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
148 add_options_for_arm_vfp3.
149
cddddfff
JL
1502014-02-11 Jeff Law <law@redhat.com>
151
152 PR middle-end/54041
153 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
154 object with an undesirable mode.
155
7c1aef7e
RO
1562014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
157
158 PR libgomp/60107
159 * config/i386/sol2-9.h: New file.
160 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
161 *-*-solaris2.9*): Use it.
162
d63f1311
NM
1632014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
164
165 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
166 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
167
1682014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
169
170 * config/microblaze/microblaze.c: Extend mcpu version format
171
9b5414c6
DH
1722014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
173
174 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
175
f830ddc2
RH
1762014-02-10 Richard Henderson <rth@redhat.com>
177
178 PR target/59927
179 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
180 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
181 ms-abi vs -mno-accumulate-outgoing-args.
182 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
183 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
184 respect to ms-abi.
185
e2fc3b4f
BE
1862014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
187
188 PR middle-end/60080
189 * cfgexpand.c (expand_asm_operands): Attach source location to
190 ASM_INPUT rtx objects.
191 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
192
3a22ad89
NC
1932014-02-10 Nick Clifton <nickc@redhat.com>
194
195 * config/mn10300/mn10300.c (popcount): New function.
196 (mn10300_expand_prologue): Include saved registers in stack usage
197 count.
198
f27be550
JL
1992014-02-10 Jeff Law <law@redhat.com>
200
201 PR middle-end/52306
202 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
203 when changing the SET_DEST of a prior insn to avoid an input
204 reload.
205
e15e3815
UW
2062014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
207
208 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
209 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
210 -mcall-openbsd, or -mcall-linux.
211 (CC1_ENDIAN_BIG_SPEC): Remove.
212 (CC1_ENDIAN_LITTLE_SPEC): Remove.
213 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
214 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
215 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
216 and %cc1_endian_default.
217 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
218
4e1f39e4
RB
2192014-02-10 Richard Biener <rguenther@suse.de>
220
221 PR tree-optimization/60115
222 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
223 MEM_REF handling. Properly verify that the accesses are not
224 out of the objects bound.
225
e7af1c22
KT
2262014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
227
228 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
229 coretex to cortex.
230
79c7de84
EB
2312014-02-10 Eric Botcazou <ebotcazou@adacore.com>
232
233 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
234 proper constants and fix formatting.
235 (possible_polymorphic_call_targets): Fix formatting.
236
cf73ee60
KY
2372014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
238 Ilya Tocar <ilya.tocar@intel.com>
239
240 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
241 (_mm512_loadu_epi32): Renamed into...
242 (_mm512_loadu_si512): This.
243 (_mm512_storeu_epi32): Renamed into...
244 (_mm512_storeu_si512): This.
245 (_mm512_maskz_ceil_ps): Removed.
246 (_mm512_maskz_ceil_pd): Ditto.
247 (_mm512_maskz_floor_ps): Ditto.
248 (_mm512_maskz_floor_pd): Ditto.
249 (_mm512_floor_round_ps): Ditto.
250 (_mm512_floor_round_pd): Ditto.
251 (_mm512_ceil_round_ps): Ditto.
252 (_mm512_ceil_round_pd): Ditto.
253 (_mm512_mask_floor_round_ps): Ditto.
254 (_mm512_mask_floor_round_pd): Ditto.
255 (_mm512_mask_ceil_round_ps): Ditto.
256 (_mm512_mask_ceil_round_pd): Ditto.
257 (_mm512_maskz_floor_round_ps): Ditto.
258 (_mm512_maskz_floor_round_pd): Ditto.
259 (_mm512_maskz_ceil_round_ps): Ditto.
260 (_mm512_maskz_ceil_round_pd): Ditto.
261 (_mm512_expand_pd): Ditto.
262 (_mm512_expand_ps): Ditto.
263 * config/i386/i386.c (ix86_builtins): Remove
264 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
265 (bdesc_args): Ditto.
266 * config/i386/predicates.md (const1256_operand): New.
267 (const_1_to_2_operand): Ditto.
268 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
269 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
270 (*avx512pf_gatherpf<mode>sf): Ditto.
271 (avx512pf_gatherpf<mode>df): Ditto.
272 (*avx512pf_gatherpf<mode>df_mask): Ditto.
273 (*avx512pf_gatherpf<mode>df): Ditto.
274 (avx512pf_scatterpf<mode>sf): Ditto.
275 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
276 (*avx512pf_scatterpf<mode>sf): Ditto.
277 (avx512pf_scatterpf<mode>df): Ditto.
278 (*avx512pf_scatterpf<mode>df_mask): Ditto.
279 (*avx512pf_scatterpf<mode>df): Ditto.
280 (avx512f_expand<mode>): Removed.
281 (<shift_insn><mode>3<mask_name>): Change predicate type.
282
8fcbce72
JJ
2832014-02-08 Jakub Jelinek <jakub@redhat.com>
284
41475e96
JJ
285 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
286 not at the end of datarefs vector use ordered_remove to avoid
287 reordering datarefs vector.
288
c74559df
JJ
289 PR c/59984
290 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
291 mark local addressable non-static vars as GOVD_PRIVATE
292 instead of GOVD_LOCAL.
293 * omp-low.c (lower_omp_for): Move gimple_bind_vars
294 and BLOCK_VARS of gimple_bind_block to new_stmt rather
295 than copying them.
296
8fcbce72
JJ
297 PR middle-end/60092
298 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
299 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
300 assume_aligned or alloc_align attributes.
301 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
302 arguments. Handle also assume_aligned and alloc_align attributes.
303 (evaluate_stmt): Adjust bit_value_assume_aligned caller.
304 Handle calls to functions with assume_aligned or alloc_align
305 attributes.
306 * doc/extend.texi: Document assume_aligned and alloc_align
307 attributes.
308
451bdd23
TG
3092014-02-08 Terry Guo <terry.guo@arm.com>
310
311 * doc/invoke.texi: Document ARM -march=armv7e-m.
312
d31d42c7
JJ
3132014-02-08 Jakub Jelinek <jakub@redhat.com>
314
d71dfeb7
JJ
315 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
316 flag on __cilkrts_rethrow builtin.
317
d31d42c7
JJ
318 PR ipa/60026
319 * ipa-cp.c (determine_versionability): Fail at -O0
320 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
321 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
322
323 Revert:
324 2014-02-04 Jakub Jelinek <jakub@redhat.com>
325
326 PR ipa/60026
327 * tree-inline.c (copy_forbidden): Fail for
328 __attribute__((optimize (0))) functions.
329
a0a98fef
JH
3302014-02-07 Jan Hubicka <hubicka@ucw.cz>
331
332 * varpool.c: Include pointer-set.h.
333 (varpool_remove_unreferenced_decls): Variables in other partitions
334 will not be output; be however careful to not lose information
335 about partitioning.
336
8c311b50
JH
3372014-02-07 Jan Hubicka <hubicka@ucw.cz>
338
339 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
340 lookup in the vtable constructor.
341
7ba03e5e
JL
3422014-02-07 Jeff Law <law@redhat.com>
343
63e6247d
JL
344 PR target/40977
345 * config/m68k/m68k.md (ashldi_extsi): Turn into a
346 define_insn_and_split.
347
7ba03e5e
JL
348 * ipa-inline.c (inline_small_functions): Fix typos.
349
177bc204
RS
3502014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
351
352 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
353 (s390_can_use_return_insn): Declare.
354 * config/s390/s390.h (EPILOGUE_USES): Define.
355 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
356 instructions.
357 (s390_chunkify_start): Handle return JUMP_LABELs.
358 (s390_early_mach): Emit a main_pool instruction on the entry edge.
359 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
360 (s390_can_use_return_insn): New functions.
361 (s390_fix_long_loop_prediction): Handle conditional returns.
362 (TARGET_SET_UP_BY_PROLOGUE): Define.
363 * config/s390/s390.md (ANY_RETURN): New code iterator.
364 (*creturn, *csimple_return, return, simple_return): New patterns.
365
0621cf3c
RS
3662014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
367
368 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
369 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
370 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
371 REG_CFA_RESTORE list when deciding not to restore a register.
372
4099494d
RS
3732014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
374
375 * config/s390/s390.c: Include tree-pass.h and context.h.
376 (s390_early_mach): New function, split out from...
377 (s390_emit_prologue): ...here.
378 (pass_data_s390_early_mach): New pass structure.
379 (pass_s390_early_mach): New class.
380 (s390_option_override): Create and register early_mach pass.
381 Move to end of file.
382
3489cc33
RS
3832014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
384
385 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
386 to match for the exit block.
387
75cc21e2
AK
3882014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
389
390 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
391 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
392 Reject misaligned operands.
393
8bd7070a
AK
3942014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
395
396 * optabs.c (expand_atomic_compare_and_swap): Allow expander to
397 fail.
398
831806cb
RB
3992014-02-07 Richard Biener <rguenther@suse.de>
400
401 PR middle-end/60092
402 * gimple-low.c (lower_builtin_posix_memalign): New function.
403 (lower_stmt): Call it to lower posix_memalign in a way
404 to make alignment info accessible.
405
7ee9c16f
JJ
4062014-02-07 Jakub Jelinek <jakub@redhat.com>
407
408 PR c++/60082
409 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
410 __builtin_setjmp_receiver.
411
32cab212
RB
4122014-02-07 Richard Biener <rguenther@suse.de>
413
414 PR middle-end/60092
415 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
416 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
417 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
418 Handle BUILT_IN_POSIX_MEMALIGN.
419 (find_func_clobbers): Likewise.
420 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
421 (call_may_clobber_ref_p_1): Likewise.
422
6d6af792
JH
4232014-02-06 Jan Hubicka <hubicka@ucw.cz>
424
425 PR ipa/59918
426 * ipa-devirt.c (record_target_from_binfo): Remove overactive sanity check.
427
3c0f1105
JH
4282014-02-06 Jan Hubicka <hubicka@ucw.cz>
429
430 PR ipa/59469
431 * lto-cgraph.c (lto_output_node): Use
432 symtab_get_symbol_partitioning_class.
433 (lto_output_varpool_node): likewise.
434 (symtab_get_symbol_partitioning_class): Move here from
435 lto/lto-partition.c
436 * cgraph.h (symbol_partitioning_class): Likewise.
437 (symtab_get_symbol_partitioning_class): Declare.
438
b3bb0eb9
JH
4392014-02-06 Jan Hubicka <hubicka@ucw.cz>
440
441 * ggc.h (ggc_internal_cleared_alloc): New macro.
442 * vec.h (vec_safe_copy): Handle memory stats.
443 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
444 * target-globals.c (save_target_globals): Likewise.
445
4462014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
447
448 PR target/60077
449 * expr.c (emit_move_resolve_push): Export; be bit more selective
450 on when to clear alias set.
451 * expr.h (emit_move_resolve_push): Declare.
452 * function.h (struct function): Add tail_call_marked.
453 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
454 * config/i386/i386-protos.h (ix86_expand_push): Remove.
455 * config/i386/i386.md (TImode move expander): De not call
456 ix86_expand_push.
457 (FP push expanders): Preserve memory attributes.
458 * config/i386/sse.md (push<mode>1): Remove.
459 * config/i386/i386.c (ix86_expand_vector_move): Handle push
460 operation.
461 (ix86_expand_push): Remove.
462 * config/i386/mmx.md (push<mode>1): Remove.
463
47d552eb
JJ
4642014-02-06 Jakub Jelinek <jakub@redhat.com>
465
466 PR rtl-optimization/60030
467 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
468 lopart with paradoxical subreg before shifting it up by hprec.
469
45c75ea7
KT
4702014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
471
472 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
473 Remove extra newline at end of file.
474 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
475 (arm_issue_rate): Handle cortexa57.
476 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
477 (cortex-a57.cortex-a53): Likewise.
478
af116cae
JJ
4792014-02-06 Jakub Jelinek <jakub@redhat.com>
480
652a3e3a
JJ
481 PR target/59575
482 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
483 don't record in REG_FRAME_RELATED_EXPR registers not set in that
484 bitmask.
485 (arm_expand_prologue): Adjust all callers.
486 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
487 info, registers also at the lowest numbered registers side. Use
488 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
489 XEXP.
490
af116cae
JJ
491 PR debug/59992
492 * var-tracking.c (adjust_mems): Before adding a SET
493 to amd->side_effects, adjust it's SET_SRC using
494 simplify_replace_fn_rtx.
495
fdcee33b
AM
4962014-02-06 Alan Modra <amodra@gmail.com>
497
498 PR target/60032
499 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
500 change SDmode to DDmode when lra_in_progress.
501
251901a0
JJ
5022014-02-06 Jakub Jelinek <jakub@redhat.com>
503
d3ef8c53
JJ
504 PR middle-end/59150
505 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
506 free_data_ref on the dr first, and before goto again also set dr
507 to the next dr. For simd_lane_access, free old datarefs[i] before
508 overwriting it. For get_vectype_for_scalar_type failure, don't
509 free_data_ref if simd_lane_access.
510
2754b38f
JJ
511 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
512
251901a0
JJ
513 PR target/60062
514 * tree.h (opts_for_fn): New inline function.
515 (opt_for_fn): Define.
516 * config/i386/i386.c (ix86_function_regparm): Use
517 opt_for_fn (decl, optimize) instead of optimize.
518
4a985a37
MS
5192014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
520
521 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
522 for SYMBOL_REF in large memory model.
523
c366d38c
KT
5242014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
525
526 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
527 and crypto support.
528 (cortex-a57): Likewise.
529 (cortex-a57.cortex-a53): Likewise.
530
c801e246
YG
5312014-02-06 Yury Gribov <y.gribov@samsung.com>
532 Kugan Vivekanandarajah <kuganv@linaro.org>
533
534 * config/arm/arm.c (arm_vector_alignment_reachable): Check
535 unaligned_access.
536 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
537
d50f7b84
RB
5382014-02-06 Richard Biener <rguenther@suse.de>
539
540 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
541 set_loop_copy and initialize_original_copy_tables.
542
179d2941
AV
5432014-02-06 Alex Velenko <Alex.Velenko@arm.com>
544
545 * config/aarch64/aarch64-simd.md
546 (aarch64_ashr_simddi): Change QI to SI.
547
78b1469d
JH
5482014-02-05 Jan Hubicka <hubicka@ucw.cz>
549 Jakub Jelinek <jakub@redhat.com>
550
551 PR middle-end/60013
552 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
553 of the dataflow.
554
d85f364c
BS
5552014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
556
557 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
558 CODE_FOR_altivec_vpku[hw]um to
559 CODE_FOR_altivec_vpku[hw]um_direct.
560 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
561 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
562 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
563 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
564
7b1cd427
BS
5652014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
566
567 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
568 generation for -maltivec=be.
569 (altivec_vsumsws): Simplify redundant test.
570
52a93551
BS
5712014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
572
573 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
574 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
575 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
576 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
577 gen_altivec_vpkuwum.
578 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
579 BYTES_BIG_ENDIAN.
580 (altivec_vpks<VI_char>ss): Likewise.
581 (altivec_vpks<VI_char>us): Likewise.
582 (altivec_vpku<VI_char>us): Likewise.
583 (altivec_vpku<VI_char>um): Likewise.
584 (altivec_vpku<VI_char>um_direct): New (copy of
585 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
586 internal use).
587 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
588 target is little endian and -maltivec=be is not specified.
589 (*altivec_vupkhs<VU_char>_direct): New (copy of
590 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal
591 use).
592 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
593 target is little endian and -maltivec=be is not specified.
594 (*altivec_vupkls<VU_char>_direct): New (copy of
595 altivec_vupkls<VU_char> that always emits vupkls*, for internal
596 use).
597 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
598 little endian and -maltivec=be is not specified.
599 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
600 little endian and -maltivec=be is not specified.
601
76df831f
RH
6022014-02-05 Richard Henderson <rth@redhat.com>
603
604 PR debug/52727
605 * combine-stack-adj.c: Revert r206943.
606 * sched-int.h (struct deps_desc): Add last_args_size.
607 * sched-deps.c (init_deps): Initialize it.
608 (sched_analyze_insn): Add OUTPUT dependencies between insns that
609 contain REG_ARGS_SIZE notes.
610
f300e7b8
JH
6112014-02-05 Jan Hubicka <hubicka@ucw.cz>
612
613 * lto-cgraph.c (asm_nodes_output): Make global.
614 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
615 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA
616 parameter
617 (driver_handle_option): Handle OPT_fwpa.
618
609524d2
JJ
6192014-02-05 Jakub Jelinek <jakub@redhat.com>
620
add5c763
JJ
621 PR ipa/59947
622 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
623 a comment typo and formatting issue. If odr_hash hasn't been
624 created, return vNULL and set *completep to false.
625
609524d2
JJ
626 PR middle-end/57499
627 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
628 bb with no successors.
629
05ab6e21
JG
6302014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
631
632 PR target/59718
633 * doc/invoke.texi (-march): Clarify documentation for ARM.
634 (-mtune): Likewise.
635 (-mcpu): Likewise.
636
d55d9ed0
RB
6372014-02-05 Richard Biener <rguenther@suse.de>
638
639 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
640 when not vectorizing because of too many alias checks.
641 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
642 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
643
c70da878
NC
6442014-02-05 Nick Clifton <nickc@redhat.com>
645
646 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
647 accept extended registers in any mode when compiling for the
648 MN10300.
649
25a07c7e
YG
6502014-02-05 Yury Gribov <y.gribov@samsung.com>
651
652 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
653 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
654 sanitization attributes.
655 (can_inline_edge_p): Likewise.
656 (sanitize_attrs_match_for_inline_p): New function.
657
4bf2a588
JH
6582014-02-04 Jan Hubicka <hubicka@ucw.cz>
659
660 * ipa-prop.c (detect_type_change): Shor circuit testing of
661 type changes on THIS pointer.
662
d92f4df0
JDA
6632014-02-04 John David Anglin <danglin@gcc.gnu.org>
664
665 PR target/59777
666 * config/pa/pa.c (legitimize_tls_address): Return original address
667 if not passed a SYMBOL_REF rtx.
668 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
669 addresses.
670 (pa_emit_move_sequence): Simplify TLS source operands.
671 (pa_legitimate_constant_p): Reject all TLS constants.
672 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
673 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
674
d665f8dd
JH
6752014-02-04 Jan Hubicka <hubicka@ucw.cz>
676
677 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
678 groups when we know they are controlled by LTO.
679 * varasm.c (default_binds_local_p_1): If object is in other partition,
680 it will be resolved locally.
681
6a071860
BE
6822014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
683
e2fc3b4f 684 * config/host-linux.c (linux_gt_pch_use_address): Don't
6a071860
BE
685 use SSIZE_MAX because it is not always defined.
686
8e9d68a9
VM
6872014-02-04 Vladimir Makarov <vmakarov@redhat.com>
688
689 PR bootstrap/59913
690 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
691 threshold for pseudo splitting.
692 (update_ebb_live_info): Process call argument hard registers and
693 hard registers from insn definition too.
694 (max_small_class_regs_num): New constant.
695 (inherit_in_ebb): Update live hard regs through EBBs. Update
696 reloads_num only for small register classes. Don't split for
697 outputs of jumps.
698
8472fa80
MT
6992014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
700
701 PR ipa/60058
702 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
703 is non-null.
704
df98e37f
JH
7052014-02-04 Jan Hubicka <hubicka@ucw.cz>
706
707 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default visibility is safe.
708
71e55f04
MP
7092014-02-04 Marek Polacek <polacek@redhat.com>
710
711 * gdbinit.in (pel): Define.
712
229e56f9
BE
7132014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
714
715 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
716 behavior.
717
c39276b8
RB
7182014-02-04 Richard Biener <rguenther@suse.de>
719
720 PR lto/59723
721 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
722 in function context local.
723 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
724 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
725 similar to LTO_imported_decl_ref.
726
66b3ed5f
JJ
7272014-02-04 Jakub Jelinek <jakub@redhat.com>
728
029ce7a2
JJ
729 PR tree-optimization/60002
730 * cgraphclones.c (build_function_decl_skip_args): Clear
731 DECL_LANG_SPECIFIC.
732
8e91d222
JJ
733 PR tree-optimization/60023
734 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
735 false to gsi_replace.
736 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
737 has been in some EH region and vec_stmt could throw, add
738 vec_stmt into the same EH region.
739 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
740 has no lhs, ignore it.
741 * internal-fn.c (expand_MASK_LOAD): Likewise.
742
eb259c4a
JJ
743 PR ipa/60026
744 * tree-inline.c (copy_forbidden): Fail for
745 __attribute__((optimize (0))) functions.
746
92d05580
JJ
747 PR other/58712
748 * omp-low.c (simd_clone_struct_copy): If from->inbranch
749 is set, copy one less argument.
30540e79
JJ
750 (expand_simd_clones): Don't subtract clone_info->inbranch
751 from simd_clone_struct_alloc argument.
92d05580 752
be3afd67
JJ
753 PR rtl-optimization/57915
754 * recog.c (simplify_while_replacing): If all unary/binary/relational
755 operation arguments are constant, attempt to simplify those.
756
66b3ed5f
JJ
757 PR middle-end/59261
758 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
759 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
760
5961d779
RB
7612014-02-04 Richard Biener <rguenther@suse.de>
762
763 PR tree-optimization/60012
764 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
765 TBAA disambiguation to all DDRs.
766
91da0481
RO
7672014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
768
769 PR target/59788
770 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
771 (LINK_SPEC): Use it for -shared, -shared-libgcc.
772
39960d1c
JH
7732014-02-03 Jan Hubicka <hubicka@ucw.cz>
774
775 PR ipa/59882
776 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
777
7782014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
779
780 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
781 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
782
39960d1c 7832014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
784
785 PR ipa/59831
786 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
787 to figure out targets of polymorphic calls with known decl.
788 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
789 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
790 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
791 (get_polymorphic_call_info): ... here.
792 (get_polymorphic_call_info_from_invariant): New function.
793
39960d1c 7942014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
795
796 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
797 lookup via vtable pointer; check for type consistency
798 and turn inconsitent facts into UNREACHABLE.
799 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
800 * gimple-fold.c (gimple_get_virt_method_for_vtable):
801 Do not ICE on type inconsistent querries; return UNREACHABLE
802 instead.
803
ade3ff24
RH
8042014-02-03 Richard Henderson <rth@twiddle.net>
805
806 PR tree-opt/59924
807 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
808 already processed this node.
809 (normalize_one_pred_1): Pass along mark_set.
810 (normalize_one_pred): Create and destroy a pointer_set_t.
811 (normalize_one_pred_chain): Likewise.
812
55428cc3
LA
8132014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
814
815 PR gcov-profile/58602
816 * gcc/gcov-io.c (gcov_open): Open with truncation when mode<0
817
85942f45
JH
8182014-02-03 Jan Hubicka <hubicka@ucw.cz>
819
820 PR ipa/59831
821 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on -fno-devirtualize;
822 Try to devirtualize by the knowledge of virtual table pointer given by
823 aggregate propagation.
824 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
825 ipa_print_node_jump_functions): Dump also offset that
826 is relevant for polymorphic calls.
827 (determine_known_aggregate_parts): Add arg_type parameter; use it
828 instead of determining the type from pointer type.
829 (ipa_compute_jump_functions_for_edge): Update call of
830 determine_known_aggregate_parts.
831 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
832 (gimple_get_virt_method_for_binfo): ... here; simplify using
833 vtable_pointer_value_to_vtable.
834 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
835 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
836 to unsigned HOST_WIDE_INT; Use vtable_pointer_value_to_vtable.
837 (vtable_pointer_value_to_vtable): Break out from ...; handle also
838 POINTER_PLUS_EXPR.
839 (vtable_pointer_value_to_binfo): ... here.
840 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
841
bddc974e
TJ
8422014-02-03 Teresa Johnson <tejohnson@google.com>
843
844 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
845 redef of outer loop index variable.
846
5d77fb19
MG
8472014-02-03 Marc Glisse <marc.glisse@inria.fr>
848
849 PR c++/53017
850 PR c++/59211
851 * doc/extend.texi (Function Attributes): Typo.
852
cf5b2be2
CH
8532014-02-03 Cong Hou <congh@google.com>
854
855 PR tree-optimization/60000
856 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
857 if the vectorized statement is a store. A store statement can only
858 appear at the end of pattern statements.
859
a2a1ddb5
L
8602014-02-03 H.J. Lu <hongjiu.lu@intel.com>
861
862 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
863 (ix86_option_override_internal): Default long double to 64-bit for
864 32-bit Bionic and to 128-bit for 64-bit Bionic.
865
866 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
867 TARGET_LONG_DOUBLE_128 is true.
868 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
869
870 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
871 (mlong-double-64): Negate -mlong-double-128.
872 (mlong-double-128): New option.
873
874 * config/i386/i386-c.c (ix86_target_macros): Define
875 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
876
877 * doc/invoke.texi: Document -mlong-double-128.
878
f742cf90
L
8792014-02-03 H.J. Lu <hongjiu.lu@intel.com>
880
881 PR rtl-optimization/60024
882 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
883
8f36fd30
MT
8842014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
885
886 * doc/invoke.texi: (fprofile-reorder-functions): Fix typo.
887
861ec4f3
AB
8882014-02-03 Andrey Belevantsev <abel@ispras.ru>
889
890 PR rtl-optimization/57662
891 * sel-sched.c (code_motion_path_driver): Do not mark already not
892 existing blocks in the visiting bitmap.
893
fe08255d
AB
8942014-02-03 Andrey Belevantsev <abel@ispras.ru>
895
896 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
897 on the insn being emitted.
898
96d3a240
JG
8992014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
900 Will Deacon <will.deacon@arm.com>
901
902 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
903
9dd6c9f7
KT
9042014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
905
906 * config/arm/arm-tables.opt: Regenerate.
907
60331d00
BS
9082014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
909
910 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
911 for vector types other than V16QImode.
912 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
913 define_expand, and call altivec_expand_vec_perm_le when producing
914 code with little endian element order.
915 (*altivec_vperm_<mode>_internal): New insn having previous
916 behavior of altivec_vperm_<mode>.
917 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
918 altivec_expand_vec_perm_le when producing code with little endian
919 element order.
920 (*altivec_vperm_<mode>_uns_internal): New insn having previous
921 behavior of altivec_vperm_<mode>_uns.
922
b80afde9
BS
9232014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
924
925 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
926 (altivec_vsumsws): Add handling for -maltivec=be with a little
927 endian target.
928 (altivec_vsumsws_direct): New.
929 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
930 gen_altivec_vsumsws.
931
39960d1c 9322014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
933
934 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
935 vtable_pointer_value_to_binfo): New functions.
936 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
937 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
938
02b67731
SL
9392014-02-02 Sandra Loosemore <sandra@codesourcery.com>
940
941 * config/nios2/nios2.md (load_got_register): Initialize GOT
942 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
943 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
944
2ace77c2
JH
9452014-02-02 Jan Hubicka <hubicka@ucw.cz>
946
947 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
948 preserverd by passthrough, do not propagate the type.
949
70b2d364
RS
9502014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
951
952 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
953 (mips_atomic_assign_expand_fenv): New function.
954 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
955
a90c0245
RS
9562014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
957
958 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
959 (__builtin_mips_set_fcsr): Likewise.
960 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
961 MIPS_USI_FTYPE_VOID.
962 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
963 (mips16_expand_set_fcsr): Likewise.
964 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
965 (mips16_set_fcsr_stub): Likewise.
966 (mips16_get_fcsr_one_only_stub): New class.
967 (mips16_set_fcsr_one_only_stub): Likewise.
968 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
969 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
970 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
971 (hard_float): New availability predicate.
972 (mips_builtins): Add get_fcsr and set_fcsr.
973 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
974 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
975 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
976 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
977 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
978 patterns.
979
6d51cc90
RS
9802014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
981
982 * config/mips/mips.c (mips_one_only_stub): New class.
983 (mips_need_mips16_rdhwr_p): Replace with...
984 (mips16_rdhwr_stub): ...this new variable.
985 (mips16_stub_call_address): New function.
986 (mips16_rdhwr_one_only_stub): New class.
987 (mips_expand_thread_pointer): Use mips16_stub_call_address.
988 (mips_output_mips16_rdhwr): Delete.
989 (mips_finish_stub): New function.
990 (mips_code_end): Use it to handle rdhwr stubs.
991
6c90f137
UB
9922014-02-02 Uros Bizjak <ubizjak@gmail.com>
993
994 PR target/60017
995 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
996 when calculating size of integer atomic types.
997
5e64bbbb
L
9982014-02-02 H.J. Lu <hongjiu.lu@intel.com>
999
1000 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
1001
021293cb
JJ
10022014-02-01 Jakub Jelinek <jakub@redhat.com>
1003
1004 PR tree-optimization/60003
1005 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
1006 * profile.c (branch_prob): Use gimple_call_builtin_p
1007 to check for BUILT_IN_SETJMP_RECEIVER.
1008 * tree-inline.c (copy_bb): Call notice_special_calls.
1009
6334f3e9
VM
10102014-01-31 Vladimir Makarov <vmakarov@redhat.com>
1011
1012 PR bootstrap/59985
1013 * lra-constraints.c (process_alt_operands): Update reload_sum only
1014 on the first pass.
1015
efa7882f
RH
10162014-01-31 Richard Henderson <rth@redhat.com>
1017
1018 PR middle-end/60004
1019 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
1020 until after else_eh is processed.
1021
de72ea02
IT
10222014-01-31 Ilya Tocar <ilya.tocar@intel.com>
1023
1024 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
1025 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
1026 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
1027 in smmintrin.h, remove them.
1028 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
1029 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
1030 * config/i386/i386.md (ROUND_SAE): Fix value.
1031 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
1032 (const48_operand): New.
1033 * config/i386/subst.md (round), (round_expand): Use
1034 const_4_or_8_to_11_operand.
1035 (round_saeonly), (round_saeonly_expand): Use const48_operand.
1036
be792bce
IT
10372014-01-31 Ilya Tocar <ilya.tocar@intel.com>
1038
1039 * config/i386/constraints.md (Yk): Swap meaning with k.
1040 * config/i386/i386.md (movhi_internal): Change Yk to k.
1041 (movqi_internal): Ditto.
1042 (*k<logic><mode>): Ditto.
1043 (*andhi_1): Ditto.
1044 (*andqi_1): Ditto.
1045 (kandn<mode>): Ditto.
1046 (*<code>hi_1): Ditto.
1047 (*<code>qi_1): Ditto.
1048 (kxnor<mode>): Ditto.
1049 (kortestzhi): Ditto.
1050 (kortestchi): Ditto.
1051 (kunpckhi): Ditto.
1052 (*one_cmplhi2_1): Ditto.
1053 (*one_cmplqi2_1): Ditto.
1054 * config/i386/sse.md (): Change k to Yk.
1055 (avx512f_load<mode>_mask): Ditto.
1056 (avx512f_blendm<mode>): Ditto.
1057 (avx512f_store<mode>_mask): Ditto.
1058 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
1059 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
1060 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
1061 Ditto.
be792bce
IT
1062 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
1063 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
1064 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
1065 (avx512f_maskcmp<mode>3): Ditto.
1066 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
1067 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
1068 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
1069 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
1070 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
1071 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
1072 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
1073 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
1074 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
1075 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
1076 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
1077 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
1078 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
1079 (vec_extract_lo_<mode>_maskm): Ditto.
1080 (vec_extract_hi_<mode>_maskm): Ditto.
1081 (avx512f_vternlog<mode>_mask): Ditto.
1082 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
1083 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
1084 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
1085 (avx512f_<code>v8div16qi2_mask): Ditto.
1086 (avx512f_<code>v8div16qi2_mask_store): Ditto.
1087 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
1088 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
1089 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
1090 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
1091 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
1092 (*avx512pf_gatherpf<mode>df_mask): Ditto.
1093 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
1094 (*avx512pf_scatterpf<mode>df_mask): Ditto.
1095 (avx512cd_maskb_vec_dupv8di): Ditto.
1096 (avx512cd_maskw_vec_dupv16si): Ditto.
1097 (avx512f_vpermi2var<mode>3_maskz): Ditto.
1098 (avx512f_vpermi2var<mode>3_mask): Ditto.
1099 (avx512f_vpermi2var<mode>3_mask): Ditto.
1100 (avx512f_vpermt2var<mode>3_maskz): Ditto.
1101 (*avx512f_gathersi<mode>): Ditto.
1102 (*avx512f_gathersi<mode>_2): Ditto.
1103 (*avx512f_gatherdi<mode>): Ditto.
1104 (*avx512f_gatherdi<mode>_2): Ditto.
1105 (*avx512f_scattersi<mode>): Ditto.
1106 (*avx512f_scatterdi<mode>): Ditto.
1107 (avx512f_compress<mode>_mask): Ditto.
1108 (avx512f_compressstore<mode>_mask): Ditto.
1109 (avx512f_expand<mode>_mask): Ditto.
1110 * config/i386/subst.md (mask): Change k to Yk.
1111 (mask_scalar_merge): Ditto.
1112 (sd): Ditto.
1113
0878d68a
MG
11142014-01-31 Marc Glisse <marc.glisse@inria.fr>
1115
1116 * doc/extend.texi (Vector Extensions): Document ?: in C++.
1117
fdfd537b
RB
11182014-01-31 Richard Biener <rguenther@suse.de>
1119
1120 PR middle-end/59990
1121 * builtins.c (fold_builtin_memory_op): Make sure to not
1122 use a floating-point mode or a boolean or enumeral type for
1123 the copy operation.
1124
4f50b9ff
DD
11252014-01-30 DJ Delorie <dj@redhat.com>
1126
1127 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
1128 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
1129 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
1130 whenever main() has an epilogue.
1131
c3e96073
BS
11322014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1133
1134 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
1135 unused variable "field".
1136 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
1137 (vsx_mergeh_<mode>): Likewise.
1138 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
1139 (altivec_vmrghh): Likewise.
1140 (altivec_vmrghw): Likewise.
1141 (altivec_vmrglb): Likewise.
1142 (altivec_vmrglh): Likewise.
1143 (altivec_vmrglw): Likewise.
1144 (altivec_vspltb): Add missing uses.
1145 (altivec_vsplth): Likewise.
1146 (altivec_vspltw): Likewise.
1147 (altivec_vspltsf): Likewise.
1148
4bb9c32d
JJ
11492014-01-30 Jakub Jelinek <jakub@redhat.com>
1150
1151 PR target/59923
1152 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
1153 frame related instructions.
1154
7613fa50
VM
11552014-01-30 Vladimir Makarov <vmakarov@redhat.com>
1156
1157 PR rtl-optimization/59959
1158 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
1159 any reload of register whose subreg is invalid.
1160
6fb82517
JJ
11612014-01-30 Jakub Jelinek <jakub@redhat.com>
1162
33425d6c 1163 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
1164 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
1165 Add missing return type - void.
1166
bf53d4b8
BS
11672014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1168
1169 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
1170 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
1171 remove element index adjustment for endian (now handled in vsx.md
1172 and altivec.md).
1173 (altivec_expand_vec_perm_const): Use
1174 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
1175 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
1176 (vsx_xxspltw_<mode>): Adjust element index for little endian.
1177 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
1178 define_expand and a new define_insn *altivec_vspltb_internal;
1179 adjust for -maltivec=be on a little endian target.
1180 (altivec_vspltb_direct): New.
1181 (altivec_vsplth): Divide into a define_expand and a new
1182 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
1183 little endian target.
1184 (altivec_vsplth_direct): New.
1185 (altivec_vspltw): Divide into a define_expand and a new
1186 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
1187 little endian target.
1188 (altivec_vspltw_direct): New.
1189 (altivec_vspltsf): Divide into a define_expand and a new
1190 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
1191 a little endian target.
1192
c965e187
RB
11932014-01-30 Richard Biener <rguenther@suse.de>
1194
1195 PR tree-optimization/59993
1196 * tree-ssa-forwprop.c (associate_pointerplus): Check we
1197 can propagate form the earlier stmt and avoid the transform
1198 when the intermediate result is needed.
1199
ba117645
AD
12002014-01-30 Alangi Derick <alangiderick@gmail.com>
1201
1202 * README.Portability: Fix typo.
1203
29bd5728
DH
12042014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
1205
1206 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
1207 comparison_operator with ordered_comparison_operator.
1208
c345a0b1
NC
12092014-01-30 Nick Clifton <nickc@redhat.com>
1210
1211 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
1212 Rename to mn10300_store_multiple_regs.
1213 * config/mn10300/mn10300.c: Likewise.
1214 * config/mn10300/mn10300.md (store_movm): Fix typo: call
1215 store_multiple_regs.
1216 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
1217 Call mn10300_store_multiple_regs.
1218
2d70f6d4
NC
12192014-01-30 Nick Clifton <nickc@redhat.com>
1220 DJ Delorie <dj@redhat.com>
1221
1222 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
1223 %fp 2 to keep registers after it properly word-aligned.
1224 (rl78_alloc_physical_registers_umul): Handle the case where both
1225 input operands are the same.
1226
c972624e
RB
12272014-01-30 Richard Biener <rguenther@suse.de>
1228
1229 PR tree-optimization/59903
1230 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
1231 check properly.
1232
fc044323
JM
12332014-01-30 Jason Merrill <jason@redhat.com>
1234
404c2aea
JM
1235 PR c++/59633
1236 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
1237
fc044323
JM
1238 PR c++/59645
1239 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
1240
f30a0ba5
RB
12412014-01-30 Richard Biener <rguenther@suse.de>
1242
1243 PR tree-optimization/59951
33425d6c 1244 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 1245
aad8816f
SZ
12462014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
1247
1248 PR target/59784
1249 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
1250 SFmode to DFmode case.
1251
3b16363e
DD
12522014-01-29 DJ Delorie <dj@redhat.com>
1253
1254 * config/msp430/msp430.opt (-minrt): New.
1255 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
1256 if -minrt given.
1257 (ENDFILE_SPEC): Likewise.
1258
39960d1c 12592014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
1260
1261 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
1262 (estimate_function_body_sizes): Use it.
1263
1200933c
PC
12642014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
1265
1266 PR c++/58561
1267 * dwarf2out.c (is_cxx_auto): New.
1268 (is_base_type): Use it.
1269 (gen_type_die_with_usage): Likewise.
1270
68d3bacf
BS
12712014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1272
1273 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
1274 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
1275 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
1276 -maltivec=be with LE targets.
1277 (vsx_mergeh_<mode>): Likewise.
33425d6c 1278 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
1279 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
1280 (altivec_vmrghb): Replace with define_expand and new
33425d6c 1281 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
1282 (altivec_vmrghb_direct): New define_insn.
1283 (altivec_vmrghh): Replace with define_expand and new
33425d6c 1284 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
1285 (altivec_vmrghh_direct): New define_insn.
1286 (altivec_vmrghw): Replace with define_expand and new
33425d6c 1287 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
1288 (altivec_vmrghw_direct): New define_insn.
1289 (*altivec_vmrghsf): Adjust for endianness.
1290 (altivec_vmrglb): Replace with define_expand and new
33425d6c 1291 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
1292 (altivec_vmrglb_direct): New define_insn.
1293 (altivec_vmrglh): Replace with define_expand and new
33425d6c 1294 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
1295 (altivec_vmrglh_direct): New define_insn.
1296 (altivec_vmrglw): Replace with define_expand and new
33425d6c 1297 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
1298 (altivec_vmrglw_direct): New define_insn.
1299 (*altivec_vmrglsf): Adjust for endianness.
1300 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
1301 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
1302 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
1303 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
1304 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
1305 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
1306 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
1307 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
1308
aef66c94
MS
13092014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
1310
1311 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
1312 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
1313 whitespace.
1314
77574c35
RB
13152014-01-29 Richard Biener <rguenther@suse.de>
1316
1317 PR tree-optimization/58742
1318 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
1319 associate_pointerplus_align.
1320 (associate_pointerplus_diff): New function.
1321 (associate_pointerplus): Likewise. Call associate_pointerplus_align
1322 and associate_pointerplus_diff.
1323
15b25b24
RB
13242014-01-29 Richard Biener <rguenther@suse.de>
1325
1326 * lto-streamer.h (LTO_major_version): Bump to 3.
1327 (LTO_minor_version): Reset to 0.
1328
eb6006ad
RL
13292014-01-29 Renlin Li <Renlin.Li@arm.com>
1330
1331 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
1332 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
1333 (arm_file_start): Generate correct asm header for armv7ve.
1334 * config/arm/bpabi.h: Add multilib support for armv7ve.
1335 * config/arm/driver-arm.c: Change the architectures of cortex-a7
1336 and cortex-a15 to armv7ve.
1337 * config/arm/t-aprofile: Add multilib support for armv7ve.
1338 * doc/invoke.texi: Document -march=armv7ve.
1339
4bfb2fa2
RB
13402014-01-29 Richard Biener <rguenther@suse.de>
1341
1342 PR tree-optimization/58742
1343 * tree-ssa-forwprop.c (associate_plusminus): Return true
1344 if we changed sth, defer EH cleanup to ...
1345 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
1346 (simplify_mult): New function.
1347
42eb8bd1
JJ
13482014-01-29 Jakub Jelinek <jakub@redhat.com>
1349
09b22f48
JJ
1350 PR middle-end/59917
1351 PR tree-optimization/59920
1352 * tree.c (build_common_builtin_nodes): Remove
1353 __builtin_setjmp_dispatcher initialization.
1354 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
1355 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
1356 instead of gsi_after_labels + manually skipping debug stmts.
1357 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
1358 ignore bbs with IFN_ABNORMAL_DISPATCHER.
1359 * tree-inline.c (copy_edges_for_bb): Remove
1360 can_make_abnormal_goto argument, instead add abnormal_goto_dest
1361 argument. Ignore computed_goto_p stmts. Don't call
1362 make_abnormal_goto_edges. If a call might need abnormal edges
1363 for non-local gotos, see if it already has an edge to
1364 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
1365 with true argument, don't do anything then, otherwise add
1366 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
1367 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
1368 caller.
1369 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
1370 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
1371 (lower_stmt): Don't set data->calls_builtin_setjmp.
1372 (lower_builtin_setjmp): Adjust comment.
1373 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
1374 * tree-cfg.c (found_computed_goto): Remove.
1375 (factor_computed_gotos): Remove.
1376 (make_goto_expr_edges): Return bool, true for computed gotos.
1377 Don't call make_abnormal_goto_edges.
1378 (build_gimple_cfg): Don't set found_computed_goto, don't call
1379 factor_computed_gotos.
1380 (computed_goto_p): No longer static.
1381 (make_blocks): Don't set found_computed_goto.
1382 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
1383 (make_edges): If make_goto_expr_edges returns true, push bb
1384 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
1385 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
1386 vector. Record mapping between bbs and OpenMP regions if there
1387 are any, adjust make_gimple_omp_edges caller. Call
1388 handle_abnormal_edges.
1389 (make_abnormal_goto_edges): Remove.
1390 * tree-cfg.h (make_abnormal_goto_edges): Remove.
1391 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
1392 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 1393 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
1394 * internal-fn.def (ABNORMAL_DISPATCHER): New.
1395 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
1396 filling *region also set *region_idx to (*region)->entry->index.
1397
42eb8bd1
JJ
1398 PR other/58712
1399 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
1400 For REGs set ORIGINAL_REGNO.
1401
4a271b7e
BM
14022014-01-29 Bingfeng Mei <bmei@broadcom.com>
1403
33425d6c 1404 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
1405 vec_widen_(s|u)mul_even/odd pair if it is less efficient
1406 than hi/lo pair.
1407
3d54b29d
JJ
14082014-01-29 Jakub Jelinek <jakub@redhat.com>
1409
1410 PR tree-optimization/59594
1411 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
1412 a copy of the datarefs vector rather than the vector itself.
1413
2e5e7103
JM
14142014-01-28 Jason Merrill <jason@redhat.com>
1415
1416 PR c++/53756
1417 * dwarf2out.c (auto_die): New static.
1418 (gen_type_die_with_usage): Handle C++1y 'auto'.
1419 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
1420 on definition.
1421
d5d618b5
L
14222014-01-28 H.J. Lu <hongjiu.lu@intel.com>
1423
1424 PR target/59672
1425 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
1426 (SPEC_X32): Likewise.
1427 (SPEC_64): Likewise.
1428 * config/i386/i386.c (ix86_option_override_internal): Turn off
1429 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
1430 for TARGET_16BIT.
1431 (x86_file_start): Output .code16gcc for TARGET_16BIT.
1432 * config/i386/i386.h (TARGET_16BIT): New macro.
1433 (TARGET_16BIT_P): Likewise.
1434 * config/i386/i386.opt: Add m16.
1435 * doc/invoke.texi: Document -m16.
1436
367c8286
DS
14372014-01-28 Jakub Jelinek <jakub@redhat.com>
1438
1439 PR preprocessor/59935
1440 * input.c (location_get_source_line): Bail out on when line number
33425d6c 1441 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 1442
07ec81f9
RB
14432014-01-28 Richard Biener <rguenther@suse.de>
1444
1445 PR tree-optimization/58742
1446 * tree-ssa-forwprop.c (associate_plusminus): Handle
1447 pointer subtraction of the form (T)(P + A) - (T)P.
1448
5facb998
KT
14492014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1450
1451 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
1452 at const_int_cost.
1453
e04faf24
RB
14542014-01-28 Richard Biener <rguenther@suse.de>
1455
1456 Revert
1457 2014-01-28 Richard Biener <rguenther@suse.de>
1458
1459 PR rtl-optimization/45364
1460 PR rtl-optimization/59890
1461 * var-tracking.c (local_get_addr_clear_given_value): Handle
1462 already cleared slot.
1463 (val_reset): Handle not allocated local_get_addr_cache.
1464 (vt_find_locations): Use post-order on the inverted CFG.
1465
6593260b
RB
14662014-01-28 Richard Biener <rguenther@suse.de>
1467
33425d6c 1468 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 1469
9ec2d2c1
RB
14702014-01-28 Richard Biener <rguenther@suse.de>
1471
1472 PR rtl-optimization/45364
1473 PR rtl-optimization/59890
1474 * var-tracking.c (local_get_addr_clear_given_value): Handle
1475 already cleared slot.
1476 (val_reset): Handle not allocated local_get_addr_cache.
1477 (vt_find_locations): Use post-order on the inverted CFG.
1478
2ceb362d
AM
14792014-01-28 Alan Modra <amodra@gmail.com>
1480
1481 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
1482 * configure.ac <recursive call for build != host>: Define
1483 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
1484 and LD_FOR_BUILD too.
1485 * configure: Regenerate.
1486
0ebe2584
ASJ
14872014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
1488
1489 * config/i386/i386.c (get_builtin_code_for_version): Separate
1490 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
1491 Broadwell from Haswell.
1492
a33fc7fe
SE
14932014-01-27 Steve Ellcey <sellcey@mips.com>
1494
1495 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
1496 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
1497 * config/mips/mips.c (mips_option_override): Change setting
1498 of TARGET_DSP.
1499 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
1500 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
1501 Change from Mask to Var.
a33fc7fe 1502
a99be3c9
JL
15032014-01-27 Jeff Law <law@redhat.com>
1504
1505 * ipa-inline.c (inline_small_functions): Fix typo.
1506
d256b866
IT
15072014-01-27 Ilya Tocar <ilya.tocar@intel.com>
1508
1509 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
1510 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
1511 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
1512 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
1513 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
1514 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
1515 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
1516 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
1517 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
1518 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
1519 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
1520 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
1521 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
1522 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
1523 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
1524 (_mm512_storeu_epi64): Ditto.
1525 (_mm512_cmpge_epi32_mask): Ditto.
1526 (_mm512_cmpge_epu32_mask): Ditto.
1527 (_mm512_cmpge_epi64_mask): Ditto.
1528 (_mm512_cmpge_epu64_mask): Ditto.
1529 (_mm512_cmple_epi32_mask): Ditto.
1530 (_mm512_cmple_epu32_mask): Ditto.
1531 (_mm512_cmple_epi64_mask): Ditto.
1532 (_mm512_cmple_epu64_mask): Ditto.
1533 (_mm512_cmplt_epi32_mask): Ditto.
1534 (_mm512_cmplt_epu32_mask): Ditto.
1535 (_mm512_cmplt_epi64_mask): Ditto.
1536 (_mm512_cmplt_epu64_mask): Ditto.
1537 (_mm512_cmpneq_epi32_mask): Ditto.
1538 (_mm512_cmpneq_epu32_mask): Ditto.
1539 (_mm512_cmpneq_epi64_mask): Ditto.
1540 (_mm512_cmpneq_epu64_mask): Ditto.
1541 (_mm512_expand_pd): Ditto.
1542 (_mm512_expand_ps): Ditto.
1543 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
1544 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
1545 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
1546 * config/i386/i386.c (ix86_builtins): Add
1547 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
1548 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
1549 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
1550 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
1551 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
1552 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
1553 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
1554 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
1555 IX86_BUILTIN_PMOVUSQW512_MEM.
1556 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
1557 __builtin_ia32_pmovsqd512mem_mask,
1558 __builtin_ia32_pmovqd512mem_mask,
1559 __builtin_ia32_pmovusqw512mem_mask,
1560 __builtin_ia32_pmovsqw512mem_mask,
1561 __builtin_ia32_pmovqw512mem_mask,
1562 __builtin_ia32_pmovusdw512mem_mask,
1563 __builtin_ia32_pmovsdw512mem_mask,
1564 __builtin_ia32_pmovdw512mem_mask,
1565 __builtin_ia32_pmovqb512mem_mask,
1566 __builtin_ia32_pmovusqb512mem_mask,
1567 __builtin_ia32_pmovsqb512mem_mask,
1568 __builtin_ia32_pmovusdb512mem_mask,
1569 __builtin_ia32_pmovsdb512mem_mask,
1570 __builtin_ia32_pmovdb512mem_mask.
1571 (bdesc_args): Add __builtin_ia32_expanddf512,
1572 __builtin_ia32_expandsf512.
1573 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
1574 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
1575 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
1576 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
1577 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
1578 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
1579 (avx512f_<code>v8div16qi2_mask_store): This.
1580 (avx512f_expand<mode>): New.
1581
e711dffd
KY
15822014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
1583
0ebe2584
ASJ
1584 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
1585 New.
e711dffd
KY
1586 (_mm512_mask_prefetch_i64gather_pd): Ditto.
1587 (_mm512_prefetch_i32scatter_pd): Ditto.
1588 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
1589 (_mm512_prefetch_i64scatter_pd): Ditto.
1590 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
1591 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
1592 (_mm512_mask_prefetch_i64gather_ps): Ditto.
1593 (_mm512_prefetch_i32scatter_ps): Ditto.
1594 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
1595 (_mm512_prefetch_i64scatter_ps): Ditto.
1596 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
1597 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
1598 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
1599 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
1600 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
1601 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
1602 IX86_BUILTIN_SCATTERPFQPD.
1603 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
1604 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
1605 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
1606 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
1607 __builtin_ia32_scatterpfqps.
1608 (ix86_expand_builtin): Expand new built-ins.
1609 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
1610 fix memory access data type.
1611 (*avx512pf_gatherpf<mode>_mask): Ditto.
1612 (*avx512pf_gatherpf<mode>): Ditto.
1613 (avx512pf_scatterpf<mode>): Ditto.
1614 (*avx512pf_scatterpf<mode>_mask): Ditto.
1615 (*avx512pf_scatterpf<mode>): Ditto.
1616 (GATHER_SCATTER_SF_MEM_MODE): New.
1617 (avx512pf_gatherpf<mode>df): Ditto.
1618 (*avx512pf_gatherpf<mode>df_mask): Ditto.
1619 (*avx512pf_scatterpf<mode>df): Ditto.
1620
904e5ccd
JJ
16212014-01-27 Jakub Jelinek <jakub@redhat.com>
1622
1623 PR bootstrap/59934
1624 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
1625 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
1626 reached.
1627
84e90123
JG
16282014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
1629
1630 * common/config/arm/arm-common.c
1631 (arm_rewrite_mcpu): Handle multiple names.
1632 * config/arm/arm.h
1633 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
1634
c6f6157a
JG
16352014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
1636
1637 * gimple-builder.h (create_gimple_tmp): Delete.
1638
770516c9
CB
16392014-01-27 Christian Bruel <christian.bruel@st.com>
1640
1641 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
1642 words comparisons.
1643
cc5cec10
JDA
16442014-01-26 John David Anglin <danglin@gcc.gnu.org>
1645
5aa3c762
JDA
1646 * config/pa/pa.md (call): Generate indirect long calls to non-local
1647 functions when outputing 32-bit code.
1648 (call_value): Likewise except for special call to buggy powf function.
1649
cc5cec10
JDA
1650 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
1651 portable runtime and PIC indirect calls.
1652 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
1653 and PIC call sequences. Use ldo instead of blr to set return register
1654 in PIC call sequence.
1655
6bb0e248
WL
16562014-01-25 Walter Lee <walt@tilera.com>
1657
1658 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
1659 avoid clobbering a live register.
1660
dab03fe3
WL
16612014-01-25 Walter Lee <walt@tilera.com>
1662
770516c9 1663 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 1664 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 1665 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
1666 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
1667
905c20c1
WL
16682014-01-25 Walter Lee <walt@tilera.com>
1669
1670 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
1671 arguments on even registers.
1672 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
1673 STACK_BOUNDARY.
1674 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
1675 (BIGGEST_ALIGNMENT): Ditto.
1676 (BIGGEST_FIELD_ALIGNMENT): Ditto.
1677
8e90a625
WL
16782014-01-25 Walter Lee <walt@tilera.com>
1679
1680 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
1681 insns before bundling.
0ebe2584 1682 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 1683
450c1ffe
WL
16842014-01-25 Walter Lee <walt@tilera.com>
1685
1686 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
1687 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
1688 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 1689
450c1ffe 16902014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 1691
317a951f
RS
1692 * config/mips/constraints.md (kl): Delete.
1693 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
1694 define expands, using...
1695 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
1696 instructions for MIPS16.
1697 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
1698 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
1699
3abe9053
WL
17002014-01-25 Walter Lee <walt@tilera.com>
1701
0ebe2584 1702 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
1703 (clzdi2): Ditto.
1704 (ffsdi2): Ditto.
1705
b0e0fe41
WL
17062014-01-25 Walter Lee <walt@tilera.com>
1707
1708 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
1709 (TARGET_EXPAND_TO_RTL_HOOK): Define.
1710
2c8798a2
RS
17112014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
1712
1713 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
1714 Handle XOR.
1715
2105be5a
JJ
17162014-01-25 Jakub Jelinek <jakub@redhat.com>
1717
4def6060
JJ
1718 * print-rtl.c (in_call_function_usage): New var.
1719 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
1720 EXPR_LIST mode as mode and not as reg note name.
1721
2105be5a
JJ
1722 PR middle-end/59561
1723 * cfgloopmanip.c (copy_loop_info): If
1724 loop->warned_aggressive_loop_optimizations, make sure
1725 the flag is set in target loop too.
1726
b72271b9
BI
17272014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1728
1729 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
1730 flag_cilkplus.
1731 * builtins.def: Likewise.
1732 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
1733 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
1734 * ira.c (ira_setup_eliminable_regset): Likewise.
1735 * omp-low.c (gate_expand_omp): Likewise.
1736 (execute_lower_omp): Likewise.
1737 (diagnose_sb_0): Likewise.
1738 (gate_diagnose_omp_blocks): Likewise.
1739 (simd_clone_clauses_extract): Likewise.
1740 (gate): Likewise.
1741
8adcc78b
BS
17422014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1743
1744 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
1745 correction for little endian...
1746 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
1747 here.
1748
3d750496
JL
17492014-01-24 Jeff Law <law@redhat.com>
1750
1751 PR tree-optimization/59919
1752 * tree-vrp.c (find_assert_locations_1): Do not register asserts
1753 for non-returning calls.
1754
1c05df59
JG
17552014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
1756
1757 * common/config/aarch64/aarch64-common.c
1758 (aarch64_rewrite_mcpu): Handle multiple names.
1759 * config/aarch64/aarch64.h
1760 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
1761
317363b4
DS
17622014-01-24 Dodji Seketeli <dodji@redhat.com>
1763
1764 * input.c (add_file_to_cache_tab): Handle the case where fopen
1765 returns NULL.
1766
16370fa7
L
17672014-01-23 H.J. Lu <hongjiu.lu@intel.com>
1768
1769 PR target/59929
1770 * config/i386/i386.md (pushsf splitter): Get stack adjustment
1771 from push operand if code of push isn't PRE_DEC.
1772
b846c948
MM
17732014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
1774
1775 PR target/59909
1776 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
1777 -mquad-memory-atomic. Update -mquad-memory documentation to say
1778 it is only used for non-atomic loads/stores.
1779
1780 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
1781 -mquad-memory or -mquad-memory-atomic switches.
1782
1783 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
1784 -mquad-memory-atomic to ISA 2.07 support.
1785
1786 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
1787 to separate support of normal quad word memory operations (ldq, stq)
1788 from the atomic quad word memory operations.
b846c948
MM
1789
1790 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
1791 support to separate non-atomic quad word operations from atomic
1792 quad word operations. Disable non-atomic quad word operations in
1793 little endian mode so that we don't have to swap words after the
1794 load and before the store.
1795 (quad_load_store_p): Add comment about atomic quad word support.
1796 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
1797 options printed with -mdebug=reg.
1798
1799 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
1800 -mquad-memory-atomic as the test for whether we have quad word
1801 atomic instructions.
0ebe2584
ASJ
1802 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
1803 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
1804
1805 * config/rs6000/sync.md (load_lockedti): Insure that the address
1806 is a proper indexed or indirect address for the lqarx instruction.
1807 On little endian systems, swap the hi/lo registers after the lqarx
1808 instruction.
1809 (load_lockedpti): Use indexed_or_indirect_operand predicate to
1810 insure the address is valid for the lqarx instruction.
1811 (store_conditionalti): Insure that the address is a proper indexed
1812 or indirect address for the stqcrx. instruction. On little endian
1813 systems, swap the hi/lo registers before doing the stqcrx.
1814 instruction.
1815 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
1816 insure the address is valid for the stqcrx. instruction.
1817
1818 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
1819 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
1820 type of quad memory support is available.
1821
6e23f296
VM
18222014-01-23 Vladimir Makarov <vmakarov@redhat.com>
1823
1824 PR regression/59915
1825 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
1826 there is a danger of looping.
1827
0a4f04e5
PH
18282014-01-23 Pat Haugen <pthaugen@us.ibm.com>
1829
1830 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
1831 force flag_ira_loop_pressure if set via command line.
1832
f9a4c9a6
AV
18332014-01-23 Alex Velenko <Alex.Velenko@arm.com>
1834
1835 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
1836 (ashr_simd): New builtin handling DI mode.
1837 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
1838 (aarch64_sshr_simddi): New match pattern.
1839 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
1840 (vshrd_n_s64): Likewise.
1841 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
1842
949ad971
NC
18432014-01-23 Nick Clifton <nickc@redhat.com>
1844
1845 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
1846 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
1847 favour of mcu specific scripts.
1848 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
1849 430x multilibs.
1850
d5ecead9
JG
18512014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
1852 Alex Velenko <Alex.Velenko@arm.com>
1853
1854 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
1855 (vaddv_s16): Likewise.
1856 (vaddv_s32): Likewise.
1857 (vaddv_u8): Likewise.
1858 (vaddv_u16): Likewise.
1859 (vaddv_u32): Likewise.
1860 (vaddvq_s8): Likewise.
1861 (vaddvq_s16): Likewise.
1862 (vaddvq_s32): Likewise.
1863 (vaddvq_s64): Likewise.
1864 (vaddvq_u8): Likewise.
1865 (vaddvq_u16): Likewise.
1866 (vaddvq_u32): Likewise.
1867 (vaddvq_u64): Likewise.
1868 (vaddv_f32): Likewise.
1869 (vaddvq_f32): Likewise.
1870 (vaddvq_f64): Likewise.
1871 (vmaxv_f32): Likewise.
1872 (vmaxv_s8): Likewise.
1873 (vmaxv_s16): Likewise.
1874 (vmaxv_s32): Likewise.
1875 (vmaxv_u8): Likewise.
1876 (vmaxv_u16): Likewise.
1877 (vmaxv_u32): Likewise.
1878 (vmaxvq_f32): Likewise.
1879 (vmaxvq_f64): Likewise.
1880 (vmaxvq_s8): Likewise.
1881 (vmaxvq_s16): Likewise.
1882 (vmaxvq_s32): Likewise.
1883 (vmaxvq_u8): Likewise.
1884 (vmaxvq_u16): Likewise.
1885 (vmaxvq_u32): Likewise.
1886 (vmaxnmv_f32): Likewise.
1887 (vmaxnmvq_f32): Likewise.
1888 (vmaxnmvq_f64): Likewise.
1889 (vminv_f32): Likewise.
1890 (vminv_s8): Likewise.
1891 (vminv_s16): Likewise.
1892 (vminv_s32): Likewise.
1893 (vminv_u8): Likewise.
1894 (vminv_u16): Likewise.
1895 (vminv_u32): Likewise.
1896 (vminvq_f32): Likewise.
1897 (vminvq_f64): Likewise.
1898 (vminvq_s8): Likewise.
1899 (vminvq_s16): Likewise.
1900 (vminvq_s32): Likewise.
1901 (vminvq_u8): Likewise.
1902 (vminvq_u16): Likewise.
1903 (vminvq_u32): Likewise.
1904 (vminnmv_f32): Likewise.
1905 (vminnmvq_f32): Likewise.
1906 (vminnmvq_f64): Likewise.
1907
1dd055a2
JG
19082014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
1909
1910 * config/aarch64/aarch64-simd.md
1911 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
1912 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
1913 (*aarch64_mul3_elt<mode>): Likewise.
1914 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
1915 (*aarch64_mul3_elt_to_64v2df): Likewise.
1916 (*aarch64_mla_elt<mode>): Likewise.
1917 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
1918 (*aarch64_mls_elt<mode>): Likewise.
1919 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
1920 (*aarch64_fma4_elt<mode>): Likewise.
1921 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
1922 (*aarch64_fma4_elt_to_64v2df): Likewise.
1923 (*aarch64_fnma4_elt<mode>): Likewise.
1924 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
1925 (*aarch64_fnma4_elt_to_64v2df): Likewise.
1926 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
1927 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
1928 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
1929 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
1930 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
1931 (aarch64_sqdmull_lane<mode>_internal): Likewise.
1932 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
1933
dafb9b64
AV
19342013-01-23 Alex Velenko <Alex.Velenko@arm.com>
1935
1936 * config/aarch64/aarch64-simd.md
1937 (aarch64_be_checked_get_lane<mode>): New define_expand.
1938 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 1939 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
1940 New builtin definition.
1941 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
1942 Use new safe be builtin.
1943
89b4515c
AV
19442014-01-23 Alex Velenko <Alex.Velenko@arm.com>
1945
1946 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
1947 New define_insn.
1948 (aarch64_be_st1<mode>): Likewise.
1949 (aarch_ld1<VALL:mode>): Define_expand modified.
1950 (aarch_st1<VALL:mode>): Likewise.
1951 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
1952 (UNSPEC_ST1): Likewise.
1953
f3eeb82c
DH
19542014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
1955
1956 * config/microblaze/microblaze.md: Add trap insn and attribute
1957
7ecc3eb9
DS
19582014-01-23 Dodji Seketeli <dodji@redhat.com>
1959
1960 PR preprocessor/58580
1961 * input.h (location_get_source_line): Take an additional line_size
1962 parameter.
1963 (void diagnostics_file_cache_fini): Declare new function.
1964 * input.c (struct fcache): New type.
1965 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
1966 New static constants.
1967 (diagnostic_file_cache_init, total_lines_num)
1968 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
1969 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
1970 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
1971 (get_next_line, read_next_line, goto_next_line, read_line_num):
1972 New static function definitions.
1973 (diagnostic_file_cache_fini): New function.
1974 (location_get_source_line): Take an additional output line_len
1975 parameter. Re-write using lookup_or_add_file_to_cache_tab and
1976 read_line_num.
1977 * diagnostic.c (diagnostic_finish): Call
1978 diagnostic_file_cache_fini.
1979 (adjust_line): Take an additional input parameter for the length
1980 of the line, rather than calculating it with strlen.
1981 (diagnostic_show_locus): Adjust the use of
1982 location_get_source_line and adjust_line with respect to their new
1983 signature. While displaying a line now, do not stop at the first
1984 null byte. Rather, display the zero byte as a space and keep
1985 going until we reach the size of the line.
1986 * Makefile.in: Add vec.o to OBJS-libcommon
1987
2196a885
KY
19882014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
1989 Ilya Tocar <ilya.tocar@intel.com>
1990
1991 * config/i386/avx512fintrin.h (_mm512_kmov): New.
1992 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
1993 (__builtin_ia32_kmov16): Ditto.
1994 * config/i386/i386.md (UNSPEC_KMOV): New.
1995 (kmovw): Ditto.
1996
70473c63
KY
19972014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
1998
1999 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
2000 (_mm512_storeu_si512): Ditto.
2001
f9ae4df8
RS
20022014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
2003
2004 PR target/52125
2005 * rtl.h (get_referenced_operands): Declare.
2006 * recog.c (get_referenced_operands): New function.
2007 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
2008 operands have been referenced when recording LO_SUM references.
2009
e50f5f2e
DH
20102014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
2011
2012 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
2013
39960d1c 20142014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
2015
2016 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
2017 Enable for generic and recent AMD targets.
2018
39960d1c 20192014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
2020
2021 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
2022 ARG_SIZE note when adjustment was eliminated.
2023
bb50b870
JL
20242014-01-22 Jeff Law <law@redhat.com>
2025
2026 PR tree-optimization/59597
2027 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
2028 in file. Accept new argument REGISTERING and use it to modify
2029 dump output appropriately.
2030 (register_jump_thread): Corresponding changes.
2031 (mark_threaded_blocks): Reinstate code to cancel unprofitable
2032 thread paths involving joiner blocks. Add code to dump cancelled
2033 jump threading paths.
2034
df2980be
VM
20352014-01-22 Vladimir Makarov <vmakarov@redhat.com>
2036
2037 PR rtl-optimization/59477
2038 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 2039 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 2040
1bb99900
TT
20412014-01-22 Tom Tromey <tromey@redhat.com>
2042
2043 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
2044 PARAMS.
2045 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
2046
9102dadd
VM
20472014-01-21 Vladimir Makarov <vmakarov@redhat.com>
2048
2049 PR rtl-optimization/59896
2050 * lra-constraints.c (process_alt_operands): Check unused note for
2051 matched operands of insn with no output reloads.
2052
ca376eb8
RS
20532014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
2054
2055 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
2056 (mips_move_from_gpr_cost): Likewise.
2057
a9711f36
VM
20582014-01-21 Vladimir Makarov <vmakarov@redhat.com>
2059
2060 PR rtl-optimization/59858
2061 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
2062 ira_class_hard_regs_num.
2063 (process_alt_operands): Increase reject for dying matched operand.
2064
f8ea7cb0
JJ
20652014-01-21 Jakub Jelinek <jakub@redhat.com>
2066
2067 PR target/59003
2068 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
2069 smaller than size, perform several stores or loads and stores
2070 at dst + count - size to store or copy all of size bytes, rather
2071 than just last modesize bytes.
2072
84db09e3
DD
20732014-01-20 DJ Delorie <dj@redhat.com>
2074
2075 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
2076 that CLOBBERs are REGs before propogating their values.
2077
1cf11770
L
20782014-01-20 H.J. Lu <hongjiu.lu@intel.com>
2079
2080 PR middle-end/59789
2081 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
2082 (cgraph_inline_failed_type): New function.
2083 * cgraph.h (DEFCIFCODE): Add type.
2084 (cgraph_inline_failed_type_t): New enum.
2085 (cgraph_inline_failed_type): New prototype.
2086 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
2087 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
2088 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
2089 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
2090 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
2091 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
2092 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 2093 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
2094 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
2095 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
2096 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
2097 OPTIMIZATION_MISMATCH.
2098 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 2099 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 2100
8586e4bd
UB
21012014-01-20 Uros Bizjak <ubizjak@gmail.com>
2102
2103 PR target/59685
2104 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
2105 mode attribute in insn output.
2106
99482090
EB
21072014-01-20 Eric Botcazou <ebotcazou@adacore.com>
2108
2109 * output.h (output_constant): Delete.
2110 * varasm.c (output_constant): Make private.
2111
ede23272
AV
21122014-01-20 Alex Velenko <Alex.Velenko@arm.com>
2113
2114 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
2115
9a7eefec
JJ
21162014-01-20 Jakub Jelinek <jakub@redhat.com>
2117
2118 PR middle-end/59860
2119 * tree.h (fold_builtin_strcat): New prototype.
2120 * builtins.c (fold_builtin_strcat): No longer static. Add len
2121 argument, if non-NULL, don't call c_strlen. Optimize
2122 directly into __builtin_memcpy instead of __builtin_strcpy.
2123 (fold_builtin_2): Adjust fold_builtin_strcat caller.
2124 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
2125
3e729145
UB
21262014-01-20 Uros Bizjak <ubizjak@gmail.com>
2127
2128 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
2129 for SImode_address_operand operands, having only a REG argument.
2130
eee0e487
MS
21312014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
2132
2133 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
2134 loader name using mbig-endian.
2135 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
2136
9e540e37
JG
21372014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
2138
2139 * doc/invoke.texi (-march): Clarify documentation for AArch64.
2140 (-mtune): Likewise.
2141 (-mcpu): Likewise.
2142
69675d50
TB
21432014-01-20 Tejas Belagod <tejas.belagod@arm.com>
2144
2145 * config/aarch64/aarch64-protos.h
2146 (aarch64_cannot_change_mode_class_ptr): Declare.
2147 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
2148 aarch64_cannot_change_mode_class_ptr): New.
2149 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
2150 backend hook aarch64_cannot_change_mode_class.
2151
ffee7aa9
JG
21522014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
2153
2154 * common/config/aarch64/aarch64-common.c
2155 (aarch64_handle_option): Don't handle any option order logic here.
2156 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
2157 selected_cpu, warn on architecture version mismatch.
2158 (aarch64_override_options): Fix parsing order for option strings.
2159
c7169779
JBG
21602014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2161 Iain Sandoe <iain@codesourcery.com>
2162
2163 PR bootstrap/59496
2164 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
2165 warning. Amend comment to reflect current functionality.
2166
409b6ac1
RB
21672014-01-20 Richard Biener <rguenther@suse.de>
2168
2169 PR middle-end/59860
2170 * builtins.c (fold_builtin_strcat): Remove case better handled
2171 by tree-ssa-strlen.c.
2172
608df31f
AL
21732014-01-20 Alan Lawrence <alan.lawrence@arm.com>
2174
2175 * config/aarch64/aarch64.opt
2176 (mcpu, march, mtune): Make case-insensitive.
2177
0fabe5f3
JJ
21782014-01-20 Jakub Jelinek <jakub@redhat.com>
2179
2180 PR target/59880
2181 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
2182 if operands[1] is a REG or ZERO_EXTEND of a REG.
2183
39960d1c 21842014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
2185
2186 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
2187
925cb97d
JDA
21882014-01-19 John David Anglin <danglin@gcc.gnu.org>
2189
2190 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
2191 long non-pic millicode calls.
2192
f43856db
JBG
21932014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2194
2195 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
2196
d2be9965
ILT
21972014-01-19 Kito Cheng <kito@0xlab.org>
2198
2199 * builtins.c (expand_movstr): Check movstr expand done or fail.
2200
efc90043
UB
22012014-01-18 Uros Bizjak <ubizjak@gmail.com>
2202 H.J. Lu <hongjiu.lu@intel.com>
2203
2204 PR target/59379
2205 * config/i386/i386.md (*lea<mode>): Zero-extend return register
2206 to DImode for zero-extended addresses.
2207
8fce217e
JJ
22082014-01-19 Jakub Jelinek <jakub@redhat.com>
2209
2210 PR rtl-optimization/57763
2211 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
2212 on the new indirect jump_insn and increment LABEL_NUSES (label).
2213
efc90043 22142014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
2215
2216 PR bootstrap/59580
2217 PR bootstrap/59583
2218 * config.gcc (x86_archs): New variable.
2219 (x86_64_archs): Likewise.
2220 (x86_cpus): Likewise.
2221 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
2222 --with-arch/--with-cpu= options.
2223 Support --with-arch=/--with-cpu={nehalem,westmere,
2224 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
2225
7f3af6d3
UB
22262014-01-18 Uros Bizjak <ubizjak@gmail.com>
2227
2228 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
2229 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
2230
22312014-01-18 Uros Bizjak <ubizjak@gmail.com>
2232
2233 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
2234
fa5d6c75
JJ
22352014-01-18 Jakub Jelinek <jakub@redhat.com>
2236
2237 PR target/58944
2238 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
2239 clear cpp_get_options (parse_in)->warn_unused_macros for
2240 ix86_target_macros_internal with cpp_define.
2241
04da5680
RS
22422014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
2243
2244 * jump.c (delete_related_insns): Keep (use (insn))s.
2245 * reorg.c (redundant_insn): Check for barriers too.
2246
1e99bee5
L
22472014-01-17 H.J. Lu <hongjiu.lu@intel.com>
2248
7f3af6d3 2249 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 2250
fa7d0c60
JDA
22512014-01-17 John David Anglin <danglin@gcc.gnu.org>
2252
2253 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
2254 call to $$dyncall when TARGET_LONG_CALLS is true.
2255
2043135a
JL
22562014-01-17 Jeff Law <law@redhat.com>
2257
2258 * ree.c (combine_set_extension): Temporarily disable test for
2259 changing number of hard registers.
2260
39960d1c 22612014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
2262
2263 PR middle-end/58125
2264 * ipa-inline-analysis.c (inline_free_summary):
2265 Do not free summary of aliases.
2266
664ceb1e
JJ
22672014-01-17 Jakub Jelinek <jakub@redhat.com>
2268
2269 PR middle-end/59706
2270 * gimplify.c (gimplify_expr): Use create_tmp_var
2271 instead of create_tmp_var_raw. If cond doesn't have
2272 integral type, don't add the IFN_ANNOTATE builtin at all.
2273
aef83682
MJ
22742014-01-17 Martin Jambor <mjambor@suse.cz>
2275
2276 PR ipa/59736
2277 * ipa-cp.c (prev_edge_clone): New variable.
2278 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
2279 Also resize prev_edge_clone vector.
2280 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
2281 (ipcp_edge_removal_hook): New function.
2282 (ipcp_driver): Register ipcp_edge_removal_hook.
2283
3b9c787b
AP
22842014-01-17 Andrew Pinski <apinski@cavium.com>
2285 Steve Ellcey <sellcey@mips.com>
2286
2287 PR target/59462
2288 * config/mips/mips.c (mips_print_operand): Check operand mode instead
2289 of operator mode.
2290
4ee5c752
JL
22912014-01-17 Jeff Law <law@redhat.com>
2292
2293 PR middle-end/57904
2294 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
2295 so that pass_ccp runs first.
2296
40cfac7c
L
22972014-01-17 H.J. Lu <hongjiu.lu@intel.com>
2298
2299 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
2300 (ix86_adjust_cost): Use !TARGET_XXX.
2301 (do_reorder_for_imul): Likewise.
2302 (swap_top_of_ready_list): Likewise.
2303 (ix86_sched_reorder): Likewise.
2304
9a7f94d7
L
23052014-01-17 H.J. Lu <hongjiu.lu@intel.com>
2306
2307 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
2308 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
2309 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
2310 (intel_memset): New. Duplicate slm_memset.
2311 (intel_cost): New. Duplicate slm_cost.
2312 (m_INTEL): New macro.
2313 (processor_target_table): Add "intel".
2314 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
2315 with PROCESSOR_INTEL for "intel".
2316 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
2317 PROCESSOR_SILVERMONT.
9a7f94d7
L
2318 (ix86_issue_rate): Likewise.
2319 (ix86_adjust_cost): Likewise.
2320 (ia32_multipass_dfa_lookahead): Likewise.
2321 (swap_top_of_ready_list): Likewise.
2322 (ix86_sched_reorder): Likewise.
8cdcf750
L
2323 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
2324 instead of TARGET_OPT_AGU.
9a7f94d7
L
2325 * config/i386/i386.h (TARGET_INTEL): New.
2326 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
2327 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
2328 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
2329 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 2330
30078c0a
MP
23312014-01-17 Marek Polacek <polacek@redhat.com>
2332
2333 PR c/58346
2334 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
2335 size is zero.
2336
14379e66
RB
23372014-01-17 Richard Biener <rguenther@suse.de>
2338
2339 PR tree-optimization/46590
2340 * opts.c (default_options_table): Add entries for
2341 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
2342 all enabled at -O1 but not for -Og.
2343 * common.opt (fbranch-count-reg): Remove Init(1).
2344 (fmove-loop-invariants): Likewise.
2345 (ftree-pta): Likewise.
2346
f7d594d2
JJ
23472014-01-17 Jakub Jelinek <jakub@redhat.com>
2348
88e18bd5
JJ
2349 * config/i386/i386.c (ix86_data_alignment): For compatibility with
2350 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
2351 decls to at least the GCC 4.8 used alignments.
2352
f7d594d2
JJ
2353 PR fortran/59440
2354 * tree-nested.c (convert_nonlocal_reference_stmt,
2355 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
2356 of GIMPLE_BIND stmts, adjust associated decls.
2357
32500433
RB
23582014-01-17 Richard Biener <rguenther@suse.de>
2359
2360 PR tree-optimization/46590
2361 * vec.h (vec<>::bseach): New member function implementing
2362 binary search according to C89 bsearch.
2363 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
2364 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
2365 bitmap pointer again. Make accesses_in_loop a flat array.
2366 (mem_ref_obstack): New global.
2367 (outermost_indep_loop): Adjust for mem_ref->stored changes.
2368 (mark_ref_stored): Likewise.
2369 (ref_indep_loop_p_2): Likewise.
2370 (set_ref_stored_in_loop): New helper function.
2371 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
2372 (memref_free): Adjust.
2373 (record_mem_ref_loc): Simplify.
2374 (gather_mem_refs_stmt): Adjust.
2375 (sort_locs_in_loop_postorder_cmp): New function.
2376 (analyze_memory_references): Sort accesses_in_loop after
2377 loop postorder number.
2378 (find_ref_loc_in_loop_cmp): New function.
2379 (for_all_locs_in_loop): Find relevant cluster of locs in
2380 accesses_in_loop and iterate without recursion.
2381 (execute_sm): Avoid uninit warning.
2382 (struct ref_always_accessed): Simplify.
2383 (ref_always_accessed::operator ()): Likewise.
2384 (ref_always_accessed_p): Likewise.
2385 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
2386 loop postorder numbers here.
2387 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
2388 numbers.
2389
24fcf4bc
JJ
23902014-01-17 Jan Hubicka <hubicka@ucw.cz>
2391
2392 PR c++/57945
2393 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
2394 on decls for which assemble_alias has been called.
2395
d4f283a1
NC
23962014-01-17 Nick Clifton <nickc@redhat.com>
2397
2398 * config/msp430/msp430.opt: (mcpu): New option.
2399 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
2400 (msp430_option_override): Parse target_cpu. If the MCU name
2401 matches a generic string, clear target_mcu.
2402 (msp430_attr): Allow numeric interrupt values up to 63.
2403 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
2404 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
2405 option.
2406 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
2407 Add mcpu matches.
2408 * config/msp430/msp430.md (popm): Use %J rather than %I.
2409 (addsi3): Use msp430_nonimmediate_operand for operand 2.
2410 (addhi_cy_i): Use immediate_operand for operand 2.
2411 * doc/invoke.texi: Document -mcpu option.
2412
7be64667
RB
24132014-01-17 Richard Biener <rguenther@suse.de>
2414
2415 PR rtl-optimization/38518
2416 * df.h (df_analyze_loop): Declare.
2417 * df-core.c: Include cfgloop.h.
2418 (df_analyze_1): Split out main part of df_analyze.
2419 (df_analyze): Adjust.
2420 (loop_inverted_post_order_compute): New function.
2421 (loop_post_order_compute): Likewise.
2422 (df_analyze_loop): New function avoiding whole-function
2423 postorder computes.
2424 * loop-invariant.c (find_defs): Use df_analyze_loop.
2425 (find_invariants): Adjust.
2426 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
2427
82a197a2
ZC
24282014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
2429
2430 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
2431 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
2432
c68b3f52
IE
24332014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
2434
2435 * ipa-ref.c (ipa_remove_stmt_references): Fix references
2436 traversal when removing references.
2437
39960d1c 24382014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
2439
2440 PR ipa/59775
2441 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
2442
9e6f9ad6
BS
24432014-01-16 Bernd Schmidt <bernds@codesourcery.com>
2444
2445 PR middle-end/56791
2446 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
2447 pushing a reload for an autoinc when we had previously reloaded an
2448 inner part of the address.
2449
a611d7cb
JJ
24502014-01-16 Jakub Jelinek <jakub@redhat.com>
2451
d1417442
JJ
2452 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
2453 field.
2454 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
2455 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
2456 when not giving up or versioning for alias only because of
2457 loop->safelen.
2458 (vect_analyze_data_ref_dependences): Set to true.
2459 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
2460 is a GIMPLE_PHI.
2461 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
2462 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
2463 to the condition.
2464
42ed6cde
JJ
2465 PR middle-end/58344
2466 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
2467
a611d7cb 2468 PR target/59839
7f3af6d3
UB
2469 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
2470 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 2471
8f21260c
VM
24722014-01-16 Vladimir Makarov <vmakarov@redhat.com>
2473
2474 PR middle-end/59609
7f3af6d3
UB
2475 * lra-constraints.c (process_alt_operands): Add printing debug info.
2476 Check absence of input/output reloads for matched operands too.
8f21260c 2477
1a788c05
VM
24782014-01-16 Vladimir Makarov <vmakarov@redhat.com>
2479
2480 PR rtl-optimization/59835
2481 * ira.c (ira_init_register_move_cost): Increase cost for
2482 impossible modes.
2483
4cf24d27
AL
24842014-01-16 Alan Lawrence <alan.lawrence@arm.com>
2485
cc3a9f0d 2486 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 2487
030d03b8
RE
24882014-01-16 Richard Earnshaw <rearnsha@arm.com>
2489
2490 PR target/59780
2491 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
2492 non-register objects. Use gen_(high/low)part more consistently.
2493 Fix assertions.
2494
e78f06a8
MM
24952014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
2496
2497 PR target/59844
2498 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
2499 endian support, remove tests for WORDS_BIG_ENDIAN.
2500 (p8_mfvsrd_3_<mode>): Likewise.
2501 (reload_gpr_from_vsx<mode>): Likewise.
2502 (reload_gpr_from_vsxsf): Likewise.
2503 (p8_mfvsrd_4_disf): Likewise.
2504
9d1ae52c
RB
25052014-01-16 Richard Biener <rguenther@suse.de>
2506
2507 PR rtl-optimization/46590
2508 * lcm.c (compute_antinout_edge): Use postorder iteration.
2509 (compute_laterin): Use inverted postorder iteration.
2510
54c7a7f3
NC
25112014-01-16 Nick Clifton <nickc@redhat.com>
2512
2513 PR middle-end/28865
2514 * varasm.c (output_constant): Return the number of bytes actually
2515 emitted.
2516 (output_constructor_array_range): Update the field size with the
2517 number of bytes emitted by output_constant.
2518 (output_constructor_regular_field): Likewise. Also do not
2519 complain if the total number of bytes emitted is now greater
2520 than the expected fieldpos.
7f3af6d3 2521 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 2522
5147d10a
MP
25232014-01-16 Marek Polacek <polacek@redhat.com>
2524
2525 PR middle-end/59827
2526 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
2527 it is error_mark_node.
2528
4ac005ba
UB
25292014-01-15 Uros Bizjak <ubizjak@gmail.com>
2530
2531 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
2532 VALID_AVX256_REG_OR_OI_MODE.
2533
5d7574fa
PH
25342014-01-15 Pat Haugen <pthaugen@us.ibm.com>
2535
2536 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
2537 current procedure should be profiled.
2538
6ee70f81
AP
25392014-01-15 Andrew Pinski <apinski@cavium.com>
2540
2541 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
2542 of moving from/to the STACK_REG register class.
2543
af6e8467
RH
25442014-01-15 Richard Henderson <rth@redhat.com>
2545
2546 PR debug/54694
2547 * reginfo.c (global_regs_decl): Globalize.
2548 * rtl.h (global_regs_decl): Declare.
2549 * ira.c (do_reload): Diagnose frame_pointer_needed and it
2550 reserved via global_regs.
2551
4583fada
TJ
25522014-01-15 Teresa Johnson <tejohnson@google.com>
2553
2554 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
2555
d13dfec8
BS
25562014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
2557
2558 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
2559 and vmulosh rather than call gen_vec_widen_smult_*.
2560 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
2561 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
2562 (vec_widen_smult_even_v16qi): Likewise.
2563 (vec_widen_umult_even_v8hi): Likewise.
2564 (vec_widen_smult_even_v8hi): Likewise.
2565 (vec_widen_umult_odd_v16qi): Likewise.
2566 (vec_widen_smult_odd_v16qi): Likewise.
2567 (vec_widen_umult_odd_v8hi): Likewise.
2568 (vec_widen_smult_odd_v8hi): Likewise.
2569 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
2570 vmuloub rather than call gen_vec_widen_umult_*.
2571 (vec_widen_umult_lo_v16qi): Likewise.
2572 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
2573 vmulosb rather than call gen_vec_widen_smult_*.
2574 (vec_widen_smult_lo_v16qi): Likewise.
2575 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
2576 rather than call gen_vec_widen_umult_*.
2577 (vec_widen_umult_lo_v8hi): Likewise.
2578 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
2579 rather than call gen_vec_widen_smult_*.
2580 (vec_widen_smult_lo_v8hi): Likewise.
2581
a6a2d67b
JL
25822014-01-15 Jeff Law <law@redhat.com>
2583
2584 PR tree-optimization/59747
2585 * ree.c (find_and_remove_re): Properly handle case where a second
2586 eliminated extension requires widening a copy created for elimination
2587 of a prior extension.
2588 (combine_set_extension): Ensure that the number of hard regs needed
2589 for a destination register does not change when we widen it.
2590
aefe4056
SH
25912014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
2592
2593 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
2594 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
2595 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
2596 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
2597 (avr-*-rtems*): Likewise.
2598 (bfin*-rtems*): Likewise.
2599 (moxie-*-rtems*): Likewise.
2600 (h8300-*-rtems*): Likewise.
2601 (i[34567]86-*-rtems*): Likewise.
2602 (lm32-*-rtems*): Likewise.
2603 (m32r-*-rtems*): Likewise.
2604 (m68k-*-rtems*): Likewise.
2605 (microblaze*-*-rtems*): Likewise.
2606 (mips*-*-rtems*): Likewise.
2607 (powerpc-*-rtems*): Likewise.
2608 (sh-*-rtems*): Likewise.
2609 (sparc-*-rtems*): Likewise.
2610 (sparc64-*-rtems*): Likewise.
2611 (v850-*-rtems*): Likewise.
2612 (m32c-*-rtems*): Likewise.
2613
fef37404
VM
26142014-01-15 Vladimir Makarov <vmakarov@redhat.com>
2615
2616 PR rtl-optimization/59511
2617 * ira.c (ira_init_register_move_cost): Use memory costs for some
2618 cases of register move cost calculations.
2619 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
2620 instead of BB frequency.
2621 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
2622 * lra-assigns.c (find_hard_regno_for): Ditto.
2623
6b916b36
RB
26242014-01-15 Richard Biener <rguenther@suse.de>
2625
2626 PR tree-optimization/59822
2627 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
2628 (vectorizable_load): Use it to hoist defs of uses of invariant
2629 loads out of the loop.
2630
d103f29b
MGD
26312014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
2632 Kugan Vivekanandarajah <kuganv@linaro.org>
2633
2634 PR target/59695
2635 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
2636 truncation.
2637
95cb8697
RB
26382014-01-15 Richard Biener <rguenther@suse.de>
2639
2640 PR rtl-optimization/59802
2641 * lcm.c (compute_available): Use inverted postorder to seed
2642 the initial worklist.
2643
cb4b6d17
AK
26442014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2645
1c8b5303 2646 PR target/59803
cb4b6d17
AK
2647 * config/s390/s390.c (s390_preferred_reload_class): Don't return
2648 ADDR_REGS for invalid symrefs in non-PIC code.
2649
2738b4c7
JJ
26502014-01-15 Jakub Jelinek <jakub@redhat.com>
2651
2652 PR other/58712
2653 * builtins.c (determine_block_size): Initialize *probable_max_size
2654 even if len_rtx is CONST_INT.
2655
d126a4ae
AP
26562014-01-14 Andrew Pinski <apinski@cavium.com>
2657
2658 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
2659 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
2660 (cortexa53_tunings): Likewise.
2661 (aarch64_sched_issue_rate): New function.
2662 (TARGET_SCHED_ISSUE_RATE): Define.
2663
dc687582
VM
26642014-01-14 Vladimir Makarov <vmakarov@redhat.com>
2665
2666 * ira-costs.c (find_costs_and_classes): Add missed
2667 ira_init_register_move_cost_if_necessary.
2668
e940b2ec
VM
26692014-01-14 Vladimir Makarov <vmakarov@redhat.com>
2670
2671 PR target/59787
2672 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
2673
3292e376
L
26742014-01-14 H.J. Lu <hongjiu.lu@intel.com>
2675
2676 PR target/59794
2677 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
2678 to indicate if type is used for function return value. Warn ABI
2679 change if the vector mode isn't available for function return value.
3292e376
L
2680 (ix86_function_arg_advance): Pass false to type_natural_mode.
2681 (ix86_function_arg): Likewise.
2682 (ix86_gimplify_va_arg): Likewise.
2683 (function_arg_32): Don't warn ABI change.
2684 (ix86_function_value): Pass true to type_natural_mode.
2685 (ix86_return_in_memory): Likewise.
2686 (ix86_struct_value_rtx): Removed.
2687 (TARGET_STRUCT_VALUE_RTX): Likewise.
2688
db930875
RS
26892014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2690
2691 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
2692 converting a conditional jump into a conditional return.
2693
a0e35eb0
RB
26942014-01-14 Richard Biener <rguenther@suse.de>
2695
2696 PR tree-optimization/58921
2697 PR tree-optimization/59006
2698 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
2699 hoisting invariant stmts.
2700 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
2701 invariant loads on the preheader edge if possible.
2702
a984e92e
JY
27032014-01-14 Joey Ye <joey.ye@arm.com>
2704
2705 * doc/plugin.texi (Building GCC plugins): Update to C++.
2706
c56a42b9
KY
27072014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
2708
3292e376 2709 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
2710 (_mm_rcp28_round_ss): Ditto.
2711 (_mm_rsqrt28_round_sd): Ditto.
2712 (_mm_rsqrt28_round_ss): Ditto.
2713 (_mm_rcp28_sd): Ditto.
2714 (_mm_rcp28_ss): Ditto.
2715 (_mm_rsqrt28_sd): Ditto.
2716 (_mm_rsqrt28_ss): Ditto.
2717 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
2718 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
2719 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
2720 (IX86_BUILTIN_RCP28SD): Ditto.
2721 (IX86_BUILTIN_RCP28SS): Ditto.
2722 (IX86_BUILTIN_RSQRT28SD): Ditto.
2723 (IX86_BUILTIN_RSQRT28SS): Ditto.
2724 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
2725 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
2726 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
2727 (ix86_expand_special_args_builtin): Expand new FTYPE.
2728 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
2729 (srcp14<mode>): Make insn unary.
2730 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
2731 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
2732 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
2733 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
2734 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
2735 Fix rounding: make it SAE only.
4ac005ba
UB
2736 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
2737 Ditto.
2738 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
2739 Ditto.
c56a42b9
KY
2740 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
2741 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
2742 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
2743 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
2744 (round_saeonly_mask_scalar_operand4): Ditto.
2745 (round_saeonly_mask_scalar_op3): Ditto.
2746 (round_saeonly_mask_scalar_op4): Ditto.
2747
09fccb62
BS
27482014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2749
2750 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
2751 Implement -maltivec=be for vec_insert and vec_extract.
2752
fb28dac0
DD
27532014-01-10 DJ Delorie <dj@redhat.com>
2754
2755 * config/msp430/msp430.md (call_internal): Don't allow memory
2756 references with SP as the base register.
2757 (call_value_internal): Likewise.
2758 * config/msp430/constraints.md (Yc): New. For memory references
2759 that don't use SP as a base register.
2760
2761 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
2762 "an integer without a # prefix"
2763 * config/msp430/msp430.md (epilogue_helper): Use it.
2764
19e51b40
JJ
27652014-01-13 Jakub Jelinek <jakub@redhat.com>
2766
03b9e8e4
JJ
2767 PR target/59617
2768 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
2769 AVX512F gather builtins.
2770 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
2771 on gather decls with INTEGER_TYPE masktype.
2772 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
2773 directly into the builtin rather than hoisting it before loop.
2774
19e51b40
JJ
2775 PR tree-optimization/59387
2776 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
2777 (scev_const_prop): If folded_casts and type has undefined overflow,
2778 use force_gimple_operand instead of force_gimple_operand_gsi and
2779 for each added stmt if it is assign with
2780 arith_code_with_undefined_signed_overflow, call
2781 rewrite_to_defined_overflow.
2782 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
2783 gimple-fold.h instead.
2784 (arith_code_with_undefined_signed_overflow,
2785 rewrite_to_defined_overflow): Moved to ...
2786 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
2787 rewrite_to_defined_overflow): ... here. No longer static.
2788 Include gimplify-me.h.
2789 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
2790 rewrite_to_defined_overflow): New prototypes.
2791
cd794ed4
KT
27922014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2793
2794 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
2795
e75fde1a
EB
27962014-01-13 Eric Botcazou <ebotcazou@adacore.com>
2797
2798 * builtins.c (get_object_alignment_2): Minor tweak.
2799 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
2800
eae298d6
CB
28012014-01-13 Christian Bruel <christian.bruel@st.com>
2802
2803 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 2804 optimized non constant lengths.
eae298d6 2805
8175be9a
JJ
28062014-01-13 Jakub Jelinek <jakub@redhat.com>
2807
2808 PR libgomp/59194
2809 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
2810 load as __atomic_load_N if possible.
2811
9c111368
DE
28122014-01-11 David Edelsohn <dje.gcc@gmail.com>
2813
2814 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
2815 target parameter.
2816 (rs6000_expand_builtin): Adjust call.
2817
c82846bc
DE
28182014-01-11 David Edelsohn <dje.gcc@gmail.com>
2819
2820 PR target/58115
2821 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
2822 * config/rs6000/rs6000.c: Include target-globals.h.
2823 (rs6000_set_current_function): Instead of doing target_reinit
2824 unconditionally, use save_target_globals_default_opts and
2825 restore_target_globals.
2826
2827 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
2828 FPSCR.
2829 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
2830 (rs6000_expand_builtin): Handle mffs and mtfsf.
2831 (rs6000_init_builtins): Define mffs and mtfsf.
2832 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
2833 (rs6000_mffs): New pattern.
2834 (rs6000_mtfsf): New pattern.
2835
2c407426
BC
28362014-01-11 Bin Cheng <bin.cheng@arm.com>
2837
2838 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
2839 Start narrowing with START. Apply candidate-use pair
2840 and check overall cost in narrowing.
2841 (iv_ca_prune): Pass new argument.
2842
7e41c852
JL
28432014-01-10 Jeff Law <law@redhat.com>
2844
2845 PR middle-end/59743
2846 * ree.c (combine_reaching_defs): Ensure the defining statement
2847 occurs before the extension when optimizing extensions with
2848 different source and destination hard registers.
2849
39960d1c 28502014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
2851
2852 PR ipa/58585
4ac005ba
UB
2853 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
2854 vtables into the type inheritance graph.
b270b096 2855
0d6d7b9a
JJ
28562014-01-10 Jakub Jelinek <jakub@redhat.com>
2857
2858 PR rtl-optimization/59754
2859 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
2860 modes in the REGNO != REGNO case.
2861
110132c1
BS
28622014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2863
2864 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
2865
5da96960
JJ
28662014-01-10 Jakub Jelinek <jakub@redhat.com>
2867
4f87d581
JJ
2868 PR tree-optimization/59745
2869 * tree-predcom.c (tree_predictive_commoning_loop): Call
2870 free_affine_expand_cache if giving up because components is NULL.
2871
5da96960
JJ
2872 * target-globals.c (save_target_globals): Allocate < 4KB structs using
2873 GC in payload of target_globals struct instead of allocating them on
2874 the heap and the larger structs separately using GC.
2875 * target-globals.h (struct target_globals): Make regs, hard_regs,
2876 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
2877 of GTY((skip)) and change type to void *.
2878 (reset_target_globals): Cast loads from those fields to corresponding
2879 types.
2880
1aa26aac
SE
28812014-01-10 Steve Ellcey <sellcey@mips.com>
2882
2883 PR plugins/59335
2884 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
2885 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
2886 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
2887
1c992d1e
RE
28882014-01-10 Richard Earnshaw <rearnsha@arm.com>
2889
7783a246 2890 PR target/59744
1c992d1e
RE
2891 * aarch64-modes.def (CC_Zmode): New flags mode.
2892 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
2893 represents an equality.
7783a246 2894 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
2895 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
2896
86464cbd
AK
28972014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2898
2899 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
2900 extraction in good case.
2901
5e6667b2
RB
29022014-01-10 Richard Biener <rguenther@suse.de>
2903
2904 PR tree-optimization/59374
2905 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
2906 checking after SLP discovery. Mark stmts not participating
2907 in any SLP instance properly.
2908
5619162c
KT
29092014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2910
2911 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
2912 when handling a SET rtx.
2913
2d17b99f
KT
29142014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2915
2916 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
2917 (cortex-a57): Likewise.
2918 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
2919
bcca645c
KT
29202014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2921
2922 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
2923 non-iwmmxt builtins.
2924
a3788dde
JH
29252014-01-10 Jan Hubicka <hubicka@ucw.cz>
2926
2927 PR ipa/58252
2928 PR ipa/59226
2929 * ipa-devirt.c record_target_from_binfo): Take as argument
2930 stack of binfos and lookup matching one for virtual inheritance.
2931 (possible_polymorphic_call_targets_1): Update.
2932
87ed883e
HC
29332014-01-10 Huacai Chen <chenhc@lemote.com>
2934
2935 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
2936 kernel strings for Loongson-2E/2F/3A.
2937
cd4447e2
JJ
29382014-01-10 Jakub Jelinek <jakub@redhat.com>
2939
2940 PR middle-end/59670
2941 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
2942 is_gimple_call before calling gimple_call_internal_p.
2943
3fadf78a
SE
29442014-01-09 Steve Ellcey <sellcey@mips.com>
2945
2946 * Makefile.in (TREE_FLOW_H): Remove.
2947 (TREE_SSA_H): Add file names from tree-flow.h.
2948 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
2949 * tree.h: Remove tree-flow.h reference.
2950 * hash-table.h: Remove tree-flow.h reference.
2951 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
2952 reference with tree-ssa-loop.h.
2953
6edc217d
BS
29542014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2955
2956 * doc/invoke.texi: Add -maltivec={be,le} options, and document
2957 default element-order behavior for -maltivec.
2958 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
2959 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
2960 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
2961 when targeting big endian, at least for now.
2962 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
2963
a70e9985
JJ
29642014-01-09 Jakub Jelinek <jakub@redhat.com>
2965
3396aba5
JJ
2966 PR middle-end/47735
2967 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
2968 var satisfies use_register_for_decl, just take into account type
2969 alignment, rather than decl alignment.
2970
a70e9985
JJ
2971 PR tree-optimization/59622
2972 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
2973 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
2974 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
2975 Don't devirtualize for inplace at all. For targets.length () == 1,
2976 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
2977
6e9cc565
L
29782014-01-09 H.J. Lu <hongjiu.lu@intel.com>
2979
2980 * config/i386/i386.md (cpu): Remove the unused btver1.
2981
d1c0e4ac
L
29822014-01-09 H.J. Lu <hongjiu.lu@intel.com>
2983
2984 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
2985
e83b8e2e
JJ
29862014-01-09 Jakub Jelinek <jakub@redhat.com>
2987
2988 PR target/58115
2989 * tree-core.h (struct target_globals): New forward declaration.
2990 (struct tree_target_option): Add globals field.
2991 * tree.h (TREE_TARGET_GLOBALS): Define.
2992 (prepare_target_option_nodes_for_pch): New prototype.
2993 * target-globals.h (struct target_globals): Define even if
2994 !SWITCHABLE_TARGET.
2995 * tree.c (prepare_target_option_node_for_pch,
2996 prepare_target_option_nodes_for_pch): New functions.
2997 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
2998 * config/i386/i386.c: Include target-globals.h.
2999 (ix86_set_current_function): Instead of doing target_reinit
3000 unconditionally, use save_target_globals_default_opts and
3001 restore_target_globals.
3002
2aaed0f3
RB
30032014-01-09 Richard Biener <rguenther@suse.de>
3004
3005 PR tree-optimization/59715
3006 * tree-cfg.h (split_critical_edges): Declare.
3007 * tree-cfg.c (split_critical_edges): Export.
3008 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
3009
b5ebc991
MO
30102014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
3011
4ac005ba 3012 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
3013 asan stack protection.
3014 (expand_used_vars): Likewise.
3015 (partition_stack_vars): Likewise.
4ac005ba 3016 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 3017 after return stack usage.
7f3af6d3 3018 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
3019 (instrument_builtin_call): Likewise.
3020 (instrument_strlen_call): Likewise.
7f3af6d3 3021 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
3022 * doc/invoke.texi: Added doc for new options.
3023 * params.def: Added new options.
3024 * params.h: Likewise.
3025
b59e0455
JJ
30262014-01-09 Jakub Jelinek <jakub@redhat.com>
3027
3028 PR rtl-optimization/59724
3029 * ifcvt.c (cond_exec_process_if_block): Don't call
3030 flow_find_head_matching_sequence with 0 longest_match.
3031 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
3032 non-active insns if !stop_after.
3033 (try_head_merge_bb): Revert 2014-01-07 changes.
3034
650c4c85
JL
30352014-01-08 Jeff Law <law@redhat.com>
3036
3037 * ree.c (get_sub_rtx): New function, extracted from...
3038 (merge_def_and_ext): Here.
3039 (combine_reaching_defs): Use get_sub_rtx.
3040
ff36fcbe
EB
30412014-01-08 Eric Botcazou <ebotcazou@adacore.com>
3042
3043 * cgraph.h (varpool_variable_node): Do not choke on null node.
3044
9f9d82aa
CM
30452014-01-08 Catherine Moore <clm@codesourcery.com>
3046
4ac005ba
UB
3047 * config/mips/mips.md (simple_return): Attempt to use JRC
3048 for microMIPS.
9f9d82aa
CM
3049 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
3050
df6c8808
RS
30512014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
3052
3053 PR rtl-optimization/59137
3054 * reorg.c (steal_delay_list_from_target): Call update_block for
3055 elided insns.
3056 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
3057
6170ceff
BS
30582014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3059
3060 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
3061 two duplicate entries.
3062
3f140f32
RS
30632014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
3064
3065 Revert:
3066 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
3067
3068 * config/mips/mips.c (mips_truncated_op_cost): New function.
3069 (mips_rtx_costs): Adjust test for BADDU.
3070 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
3071
3072 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
3073
3074 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
3075 (*baddu_si): ...this new pattern.
3076
c6de6665
JJ
30772014-01-08 Jakub Jelinek <jakub@redhat.com>
3078
3079 PR ipa/59722
3080 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
3081
4c437f02
BE
30822014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
3083
3084 PR middle-end/57748
3085 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
3086 inner_reference_p.
3087 (expand_expr, expand_normal): Adjust.
3088 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
3089 inner_reference_p. Use inner_reference_p to expand inner references.
3090 (store_expr): Adjust.
3091 * cfgexpand.c (expand_call_stmt): Adjust.
3092
4ac005ba 30932014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
3094
3095 * gcov-io.c (gcov_var): Move from gcov-io.h.
3096 (gcov_position): Ditto.
3097 (gcov_is_error): Ditto.
3098 (gcov_rewrite): Ditto.
3099 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
3100 only part to libgcc/libgcov.h.
3101
ab04b46e
MP
31022014-01-08 Marek Polacek <polacek@redhat.com>
3103
3104 PR middle-end/59669
3105 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
3106
06636b32
MP
31072014-01-08 Marek Polacek <polacek@redhat.com>
3108
3109 PR sanitizer/59667
3110 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
3111
c15677b6
JJ
31122014-01-08 Jakub Jelinek <jakub@redhat.com>
3113
3114 PR rtl-optimization/59649
3115 * stor-layout.c (get_mode_bounds): For BImode return
3116 0 and STORE_FLAG_VALUE.
3117
5c944c6c
RB
31182014-01-08 Richard Biener <rguenther@suse.de>
3119
3120 PR middle-end/59630
3121 * gimple.h (is_gimple_builtin_call): Remove.
3122 (gimple_builtin_call_types_compatible_p): New.
3123 (gimple_call_builtin_p): New overload.
3124 * gimple.c (is_gimple_builtin_call): Remove.
3125 (validate_call): Rename to ...
3126 (gimple_builtin_call_types_compatible_p): ... this and export. Also
3127 check return types.
3128 (validate_type): New static function.
3129 (gimple_call_builtin_p): New overload and adjust.
3130 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
3131 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
3132 (gimple_fold_stmt_to_constant_1): Likewise.
3133 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
3134
0bd34ae4
RB
31352014-01-08 Richard Biener <rguenther@suse.de>
3136
3137 PR middle-end/59471
3138 * gimplify.c (gimplify_expr): Gimplify register-register type
3139 VIEW_CONVERT_EXPRs to separate stmts.
3140
04af8ab6
JL
31412014-01-07 Jeff Law <law@redhat.com>
3142
3c92da90
JL
3143 PR middle-end/53623
3144 * ree.c (combine_set_extension): Handle case where source
3145 and destination registers in an extension insn are different.
4ac005ba
UB
3146 (combine_reaching_defs): Allow source and destination registers
3147 in extension to be different under limited circumstances.
3c92da90 3148 (add_removable_extension): Remove restriction that the
4ac005ba 3149 source and destination registers in the extension are the same.
3c92da90
JL
3150 (find_and_remove_re): Emit a copy from the extension's
3151 destination to its source after the defining insn if
3152 the source and destination registers are different.
3153
04af8ab6
JL
3154 PR middle-end/59285
3155 * ifcvt.c (merge_if_block): If we are merging a block with more than
3156 one successor with a block with no successors, remove any BARRIER
3157 after the second block.
3158
955b33ed
JL
31592014-01-07 Dan Xio Qiang <ziyan01@163.com>
3160
3161 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
3162
55ada375
JDA
31632014-01-07 John David Anglin <danglin@gcc.gnu.org>
3164
3165 PR target/59652
3166 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
3167 for 14-bit register offsets when INT14_OK_STRICT is false.
3168
877c72e7
RS
31692014-01-07 Roland Stigge <stigge@antcom.de>
3170 Michael Meissner <meissner@linux.vnet.ibm.com>
3171
3172 PR 57386/target
3173 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 3174 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 3175
8b2721da
JG
31762014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
3177
3178 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
3179 -mcpu.
3180
5d72b79f
YZ
31812014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
3182
3183 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
3184 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
3185 rtx is const0_rtx or not.
3186
48d53439
RS
31872014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
3188
3189 PR target/58115
3190 * target-globals.c (save_target_globals): Remove this_fn_optab
3191 handling.
3192 * toplev.c: Include optabs.h.
3193 (target_reinit): Temporarily restore the global options if another
3194 set of options are in force.
3195
41626746
JJ
31962014-01-07 Jakub Jelinek <jakub@redhat.com>
3197
a0cbe71e
JJ
3198 PR rtl-optimization/58668
3199 * cfgcleanup.c (flow_find_cross_jump): Don't count
3200 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
3201 to determine what is counted.
3202 (flow_find_head_matching_sequence): Use active_insn_p to determine
3203 what is counted.
3204 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
3205 counting change.
3206 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
3207 determine what is counted.
3208
41626746
JJ
3209 PR tree-optimization/59643
3210 * tree-predcom.c (split_data_refs_to_components): If one dr is
3211 read and one write, determine_offset fails and the write isn't
3212 in the bad component, just put the read into the bad component.
3213
cc349a39
MS
32142014-01-07 Mike Stump <mikestump@comcast.net>
3215 Jakub Jelinek <jakub@redhat.com>
3216
3217 PR pch/59436
3218 * tree-core.h (struct tree_optimization_option): Change optabs
3219 type from unsigned char * to void *.
3220 * optabs.c (init_tree_optimization_optabs): Adjust
3221 TREE_OPTIMIZATION_OPTABS initialization.
3222
529a6471
JJ
32232014-01-06 Jakub Jelinek <jakub@redhat.com>
3224
3225 PR target/59644
3226 * config/i386/i386.h (struct machine_function): Add
3227 no_drap_save_restore field.
3228 * config/i386/i386.c (ix86_save_reg): Use
3229 !cfun->machine->no_drap_save_restore instead of
3230 crtl->stack_realign_needed.
3231 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
3232 this function clears frame_pointer_needed. Set
3233 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
3234 and DRAP reg is needed.
3235
96066ce1
MP
32362014-01-06 Marek Polacek <polacek@redhat.com>
3237
3238 PR c/57773
3239 * doc/implement-c.texi: Mention that other integer types are
3240 permitted as bit-field types in strictly conforming mode.
3241
955b33ed 32422014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
3243
3244 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
3245 is newly allocated.
3246
328402a9
RE
32472014-01-06 Richard Earnshaw <rearnsha@arm.com>
3248
3249 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
3250
a4e33812
MJ
32512014-01-06 Martin Jambor <mjambor@suse.cz>
3252
3253 PR ipa/59008
3254 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
3255 to int.
3256 * ipa-prop.c (ipa_print_node_params): Fix indentation.
3257
b5cd2a02
EB
32582014-01-06 Eric Botcazou <ebotcazou@adacore.com>
3259
3260 PR debug/59350
3261 PR debug/59510
3262 * var-tracking.c (add_stores): Preserve the value of the source even if
3263 we don't record the store.
3264
c7d19c0b
TG
32652014-01-06 Terry Guo <terry.guo@arm.com>
3266
3267 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
3268
e0c70bd7
IS
32692014-01-05 Iain Sandoe <iain@codesourcery.com>
3270
3271 PR bootstrap/59541
3272 * config/darwin.c (darwin_function_section): Adjust return values to
3273 correspond to optimisation changes made in r206070.
3274
c30f016c
UB
32752014-01-05 Uros Bizjak <ubizjak@gmail.com>
3276
3277 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
3278 from prefetch_block tune setting.
3279 (nocona_cost): Correct size of prefetch block to 64.
3280
f2bc252b
EB
32812014-01-04 Eric Botcazou <ebotcazou@adacore.com>
3282
3283 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
3284 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
3285 used to save the static chain register in the computation of the offset
3286 from which the FP registers need to be restored.
3287
dad5ed2e
JJ
32882014-01-04 Jakub Jelinek <jakub@redhat.com>
3289
39719c84
JJ
3290 PR tree-optimization/59519
3291 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
3292 ICE if get_current_def (current_new_name) is already non-NULL, as long
3293 as it is a phi result of some other phi in *new_exit_bb that has
3294 the same argument.
3295
dad5ed2e
JJ
3296 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
3297 or vmovdqu* for misaligned_operand.
3298 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
3299 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
3300 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
3301 aligned_mem for AVX512F masked aligned load and store builtins and for
3302 non-temporal moves.
3303
33042014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
3305
3306 PR tree-optimization/59651
c30f016c 3307 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
3308 Address range for negative step should be added by TYPE_SIZE_UNIT.
3309
e864837a
AS
33102014-01-03 Andreas Schwab <schwab@linux-m68k.org>
3311
3312 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 3313 overlapping registers also for registers other than the stack pointer.
e864837a 3314
56a34230
MP
33152014-01-03 Marek Polacek <polacek@redhat.com>
3316
3317 PR other/59661
3318 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
3319 __builtin_FILE.
3320
039eee3f
JJ
33212014-01-03 Jakub Jelinek <jakub@redhat.com>
3322
3bcdbd50
JJ
3323 PR target/59625
3324 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
3325 asm goto as jump.
3326
039eee3f
JJ
3327 * config/i386/i386.md (MODE_SIZE): New mode attribute.
3328 (push splitter): Use <P:MODE_SIZE> instead of
3329 GET_MODE_SIZE (<P:MODE>mode).
3330 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
3331 (mov -1, reg peephole2): Likewise.
3332 * config/i386/sse.md (*mov<mode>_internal,
3333 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
3334 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
3335 *<code><mode>3, *andnot<mode>3<mask_name>,
3336 <mask_codefor><code><mode>3<mask_name>): Likewise.
3337 * config/i386/subst.md (mask_mode512bit_condition,
3338 sd_mask_mode512bit_condition): Likewise.
3339
927734cf
XDL
33402014-01-02 Xinliang David Li <davidxl@google.com>
3341
3342 PR tree-optimization/59303
039eee3f 3343 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
3344 (dump_predicates): Better output format.
3345 (pred_equal_p): New function.
3346 (is_neq_relop_p): Ditto.
3347 (is_neq_zero_form_p): Ditto.
3348 (pred_expr_equal_p): Ditto.
3349 (pred_neg_p): Ditto.
3350 (simplify_pred): Ditto.
3351 (simplify_preds_2): Ditto.
3352 (simplify_preds_3): Ditto.
3353 (simplify_preds_4): Ditto.
3354 (simplify_preds): Ditto.
3355 (push_pred): Ditto.
3356 (push_to_worklist): Ditto.
3357 (get_pred_info_from_cmp): Ditto.
3358 (is_degenerated_phi): Ditto.
3359 (normalize_one_pred_1): Ditto.
3360 (normalize_one_pred): Ditto.
3361 (normalize_one_pred_chain): Ditto.
3362 (normalize_preds): Ditto.
3363 (normalize_cond_1): Remove function.
3364 (normalize_cond): Ditto.
3365 (is_gcond_subset_of): Ditto.
3366 (is_subset_of_any): Ditto.
3367 (is_or_set_subset_of): Ditto.
3368 (is_and_set_subset_of): Ditto.
3369 (is_norm_cond_subset_of): Ditto.
3370 (pred_chain_length_cmp): Ditto.
3371 (convert_control_dep_chain_into_preds): Type change.
3372 (find_predicates): Ditto.
3373 (find_def_preds): Ditto.
3374 (destroy_predicates_vecs): Ditto.
3375 (find_matching_predicates_in_rest_chains): Ditto.
3376 (use_pred_not_overlap_with_undef_path_pred): Ditto.
3377 (is_pred_expr_subset): Ditto.
3378 (is_pred_chain_subset_of): Ditto.
3379 (is_included_in): Ditto.
3380 (is_superset_of): Ditto.
3381
23a5b65a
RS
33822014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3383
c30f016c 3384 Update copyright years.
23a5b65a 3385
f9030485
RS
33862014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3387
3388 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
3389 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
3390 config/arc/arc.md, config/arc/arc.opt,
3391 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
3392 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
3393 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
3394 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
3395 config/linux-protos.h, config/linux.c, config/winnt-c.c,
3396 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
3397 vtable-verify.c, vtable-verify.h: Use the standard form for the
3398 copyright notice.
f9030485 3399
98db73df
TB
34002014-01-02 Tobias Burnus <burnus@net-b.de>
3401
3402 * gcc.c (process_command): Update copyright notice dates.
3403 * gcov-dump.c: Ditto.
3404 * gcov.c: Ditto.
3405 * doc/cpp.texi: Bump @copying's copyright year.
3406 * doc/cppinternals.texi: Ditto.
3407 * doc/gcc.texi: Ditto.
3408 * doc/gccint.texi: Ditto.
3409 * doc/gcov.texi: Ditto.
3410 * doc/install.texi: Ditto.
3411 * doc/invoke.texi: Ditto.
3412
2898d204 34132014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
3414
3415 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
3416
dfebbdc6 34172014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 3418
726c3546
JJ
3419 * config/i386/sse.md (*mov<mode>_internal): Guard
3420 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
3421
dfebbdc6
JJ
3422 PR rtl-optimization/59647
3423 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
3424 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 3425\f
970c3b33 3426Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
3427
3428Copying and distribution of this file, with or without modification,
3429are permitted in any medium without royalty provided the copyright
3430notice and this notice are preserved.
This page took 6.193784 seconds and 5 git commands to generate.