]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
* config/arc/arc.opt (misize): Add PchIgnore property.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
212bfe71
JR
12014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
2
3 * opts.h (CL_PCH_IGNORE): Define.
4 * targhooks.c (option_affects_pch_p):
5 Return false for options that have CL_PCH_IGNORE set.
6 * opt-functions.awk: Process PchIgnore.
7 * doc/options.texi: Document PchIgnore.
8
7a3d0a39
JR
9 * config/arc/arc.opt (misize): Add PchIgnore property.
10
b46ed885
BS
112014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12
13 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
14 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
15 constraint on constants to permit them being loaded into
16 GENERAL_REGS or BASE_REGS.
17
c6f709ec
NC
182014-03-03 Nick Clifton <nickc@redhat.com>
19
20 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
21 anti-cacnonical alternatives.
22 (negandhi3_real): New pattern.
23 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
24
5752f78f
SKS
252014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
26
27 * config/avr/avr-mcus.def: Remove atxmega16x1.
28 * config/avr/avr-tables.opt: Regenerate.
29 * config/avr/t-multilib: Regenerate.
30 * doc/avr-mmcu.texi: Regenerate.
31
0afe7332
TG
322014-03-03 Tobias Grosser <tobias@grosser.es>
33 Mircea Namolaru <mircea.namolaru@inria.fr>
34
35 PR tree-optimization/58028
36 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
37 scalar dimensions.
38
3416dd87
RR
392014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
40
41 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
42 not handled by recognizers.
43
79c7fda6
JJ
442014-03-03 Jakub Jelinek <jakub@redhat.com>
45
46 PR middle-end/60175
47 * function.c (expand_function_end): Don't emit
48 clobber_return_register sequence if clobber_after is a BARRIER.
49 * cfgexpand.c (construct_exit_block): Append instructions before
50 return_label to prev_bb.
51
715a5c85
BS
522014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
53
54 * config/rs6000/constraints.md: Document reserved use of "wc".
55
9ffbf271
JH
562014-03-02 Jan Hubicka <hubicka@ucw.cz>
57
58 PR ipa/60150
59 * ipa.c (function_and_variable_visibility): When dissolving comdat
60 group, also set all symbols to local.
61
993df21e 622014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 63
993df21e
JH
64 PR ipa/60306
65
66 Revert:
67 2013-12-14 Jan Hubicka <jh@suse.cz>
68 PR middle-end/58477
69 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
70
9b0af790
JB
712014-03-02 Jon Beniston <jon@beniston.com>
72
73 PR bootstrap/48230
74 PR bootstrap/50927
75 PR bootstrap/52466
76 PR target/46898
77 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 78 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 79 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 80 (simple_return, *simple_return): New patterns
9b0af790
JB
81 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
82 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
83
c582aac9
PC
842014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
85
86 * dwarf2out.c (gen_subprogram_die): Tidy.
87
19305875
OE
882014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
89
90 PR target/60071
91 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
92 (*mov_t_msb_neg_negc): ... this new insn.
93
570215f9
JM
942014-02-28 Jason Merrill <jason@redhat.com>
95
96 PR c++/58678
97 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
98 function.
99
c5b001b5
PC
1002014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
101
102 PR c++/60314
103 * dwarf2out.c (decltype_auto_die): New static.
104 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
105 (gen_type_die_with_usage): Handle 'decltype(auto)'.
106 (is_cxx_auto): Likewise.
107
5750e120
IB
1082014-02-28 Ian Bolton <ian.bolton@arm.com>
109
110 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
111 we are not using general regs only.
112
fba7c564
RB
1132014-02-28 Richard Biener <rguenther@suse.de>
114
115 PR target/60280
116 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
117 previous fix and only allow to remove trivial pre-headers
118 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 119 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 120
0618dee5
AO
1212014-02-28 Alexandre Oliva <aoliva@redhat.com>
122
123 PR debug/59992
124 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
125 (cselib_preserved_hash_table): New.
126 (preserve_constants_and_equivs): Move preserved vals to it.
127 (cselib_find_slot): Look it up first.
128 (cselib_init): Initialize it.
129 (cselib_finish): Release it.
130 (dump_cselib_table): Dump it.
131
22414f3f
AO
1322014-02-28 Alexandre Oliva <aoliva@redhat.com>
133
134 PR debug/59992
135 * cselib.c (remove_useless_values): Skip to avoid quadratic
136 behavior if the condition moved from...
137 (cselib_process_insn): ... here holds.
138
2e084917
AO
1392014-02-28 Alexandre Oliva <aoliva@redhat.com>
140
141 PR debug/57232
142 * var-tracking.c (vt_initialize): Apply the same condition to
143 preserve the CFA base value.
144
9910c53c
JY
1452014-02-28 Joey Ye <joey.ye@arm.com>
146
147 PR target/PR60169
148 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
149 if reload in progress or completed.
150
ef271341
TB
1512014-02-28 Tobias Burnus <burnus@net-b.de>
152
153 PR middle-end/60147
154 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
155 NAMELIST_DECL.
156
c4f6267b
L
1572014-02-27 H.J. Lu <hongjiu.lu@intel.com>
158
159 * doc/tm.texi.in (Condition Code Status): Update documention for
160 relative locations of cc0-setter and cc0-user.
161
7a76df7f
JL
1622014-02-27 Jeff Law <law@redhat.com>
163
164 PR rtl-optimization/52714
165 * combine.c (try_combine): When splitting an unrecognized PARALLEL
166 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 167 pattern we place into I3 is a (set (pc) ...).
7a76df7f 168
728acca0
MP
1692014-02-27 Mikael Pettersson <mikpe@it.uu.se>
170 Jeff Law <law@redhat.com>
171
172 PR rtl-optimization/49847
173 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
174 are in different blocks.
175 * doc/tm.texi (Condition Code Status): Update documention for
176 relative locations of cc0-setter and cc0-user.
177
93aaa05d
VM
1782014-02-27 Vladimir Makarov <vmakarov@redhat.com>
179
180 PR target/59222
181 * lra.c (lra_emit_add): Check SUBREG too.
182
1ee6eb01
AS
1832014-02-27 Andreas Schwab <schwab@suse.de>
184
185 * config/m68k/m68k.c (m68k_option_override): Disable
186 -flive-range-shrinkage for classic m68k.
187 (m68k_override_options_after_change): Likewise.
188
bb0d8e84
MP
1892014-02-27 Marek Polacek <polacek@redhat.com>
190
191 PR middle-end/59223
192 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
193 -Wmaybe-uninitialized.
194
3157b879
AM
1952014-02-27 Alan Modra <amodra@gmail.com>
196
3e17cad2 197 PR target/57936
3157b879
AM
198 * reload1.c (emit_input_reload_insns): When reload_override_in,
199 set old to rl->in_reg when rl->in_reg is a subreg.
200
bb750f4f
RB
2012014-02-26 Richard Biener <rguenther@suse.de>
202
203 PR bootstrap/60343
204 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
205
22c8aab3
IT
2062014-02-25 Ilya Tocar <ilya.tocar@intel.com>
207
208 * common/config/i386/predicates.md (const1256_operand): Remove.
209 (const2356_operand): New.
210 (const_1_to_2_operand): Remove.
211 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
212 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
213 (*avx512pf_gatherpf<mode>sf): Ditto.
214 (avx512pf_gatherpf<mode>df): Ditto.
215 (*avx512pf_gatherpf<mode>df_mask): Ditto.
216 (*avx512pf_gatherpf<mode>df): Ditto.
217 (avx512pf_scatterpf<mode>sf): Ditto.
218 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
219 (*avx512pf_scatterpf<mode>sf): Ditto.
220 (avx512pf_scatterpf<mode>df): Ditto.
221 (*avx512pf_scatterpf<mode>df_mask): Ditto.
222 (*avx512pf_scatterpf<mode>df): Ditto.
223 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
224
260d3642
IT
2252014-02-26 Ilya Tocar <ilya.tocar@intel.com>
226
227 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
228 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
229 (_mm512_mask_testn_epi64_mask): Move to ...
230 * config/i386/avx512cdintrin.h: Here.
231 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
232 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
233 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
234 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
235 TARGET_AVX512F from TARGET_AVX512CD.
236
477145c8
RB
2372014-02-26 Richard Biener <rguenther@suse.de>
238
239 PR ipa/60327
240 * ipa.c (walk_polymorphic_call_targets): Properly guard
241 call to inline_update_overall_summary.
242
a3afdbb8
BC
2432014-02-26 Bin Cheng <bin.cheng@arm.com>
244
245 PR target/60280
84d7e312
UB
246 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
247 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
248 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
249 LOOPS_HAVE_PREHEADERS.
250
b8a542c6
AP
2512014-02-25 Andrew Pinski <apinski@cavium.com>
252
253 * builtins.c (expand_builtin_thread_pointer): Create a new target
254 when the target is NULL.
255
88def637
VM
2562014-02-25 Vladimir Makarov <vmakarov@redhat.com>
257
258 PR rtl-optimization/60317
259 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
260 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
261 * lra-assigns.c: Include params.h.
262 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
263 other reload pseudos considerations.
264
68908a06
BS
2652014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
266
cf36d2cc
WS
267 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
268 to use canonical form for nor<mode>3.
68908a06 269
db57bbc9
KT
2702014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
271
272 PR target/55426
273 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
274 conversions.
275
43b3f52f
IT
2762014-02-25 Ilya Tocar <ilya.tocar@intel.com>
277
278 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
279 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
280 (ix86_handle_option): Handle OPT_mprefetchwt1.
281 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
282 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
283 PREFETCHWT1 CPUID.
284 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
285 OPTION_MASK_ISA_PREFETCHWT1.
286 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
287 (PTA_PREFETCHWT1): New.
288 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
289 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 290 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
291 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
292 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 293 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
294 * config/i386/i386.opt (mprefetchwt1): New.
295 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
296 (_mm_prefetch): Handle intent to write.
297 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
298
84053e02
RB
2992014-02-25 Richard Biener <rguenther@suse.de>
300
301 PR middle-end/60291
302 * emit-rtl.c (mem_attrs_htab): Remove.
303 (mem_attrs_htab_hash): Likewise.
304 (mem_attrs_htab_eq): Likewise.
84d7e312 305 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
306 (init_emit_once): Do not allocate mem_attrs_htab.
307
4094757e
RB
3082014-02-25 Richard Biener <rguenther@suse.de>
309
310 PR lto/60319
311 * lto-opts.c (lto_write_options): Output non-explicit conservative
312 -fwrapv, -fno-trapv and -fno-strict-overflow.
313 * lto-wrapper.c (merge_and_complain): Handle merging those options.
314 (run_gcc): And pass them through.
315
41b2d514 3162014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 317
41b2d514
AB
318 * sel-sched.c (calculate_new_fences): New parameter ptime.
319 Calculate it as a maximum over all fence cycles.
320 (sel_sched_region_2): Adjust the call to calculate_new_fences.
321 Print the final schedule timing when sched_verbose.
322
c1c99405
AB
3232014-02-25 Andrey Belevantsev <abel@ispras.ru>
324
325 PR rtl-optimization/60292
326 * sel-sched.c (fill_vec_av_set): Do not reset target availability
327 bit fot the fence instruction.
328
1d9def42
AD
3292014-02-24 Alangi Derick <alangiderick@gmail.com>
330
331 * calls.h: Fix typo in comment.
332
325fefe0
JDA
3332014-02-24 John David Anglin <danglin@gcc.gnu.org>
334
335 * config/pa/pa.c (pa_output_move_double): Don't valididate when
336 adjusting offsetable addresses.
337
ad43b47a
GW
3382014-02-24 Guozhi Wei <carrot@google.com>
339
340 * sparseset.h (sparseset_pop): Fix the wrong index.
341
341c653c
WL
3422014-02-24 Walter Lee <walt@tilera.com>
343
344 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
345 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
346 triplet.
347 * common/config/tilegx/tilegx-common.c
348 (TARGET_DEFAULT_TARGET_FLAGS): Define.
349 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
350 (LINK_SPEC): Ditto.
351 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
352 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
353 (tilegx_gimplify_va_arg_expr): Handle big endian.
354 (tilegx_expand_unaligned_load): Ditto.
355 (tilegx_expand_unaligned_store): Ditto.
356 (TARGET_RETURN_IN_MSB): New.
357 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
358 (TARGET_ENDIAN_DEFAULT): New.
359 (TARGET_BIG_ENDIAN): Handle big endian.
360 (BYTES_BIG_ENDIAN): Ditto.
361 (WORDS_BIG_ENDIAN): Ditto.
362 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
363 (ENDIAN_SPEC): New.
364 (EXTRA_SPECS): New.
365 * config/tilegx/tilegx.md (extv): Handle big endian.
366 (extzv): Ditto.
367 (insn_st<n>): Ditto.
368 (insn_st<n>_add<bitsuffix>): Ditto.
369 (insn_stnt<n>): Ditto.
370 (insn_stnt<n>_add<bitsuffix>):Ditto.
371 (vec_interleave_highv8qi): Handle big endian.
372 (vec_interleave_highv8qi_be): New.
373 (vec_interleave_highv8qi_le): New.
374 (insn_v1int_h): Handle big endian.
375 (vec_interleave_lowv8qi): Handle big endian.
376 (vec_interleave_lowv8qi_be): New.
377 (vec_interleave_lowv8qi_le): New.
378 (insn_v1int_l): Handle big endian.
379 (vec_interleave_highv4hi): Handle big endian.
380 (vec_interleave_highv4hi_be): New.
381 (vec_interleave_highv4hi_le): New.
382 (insn_v2int_h): Handle big endian.
383 (vec_interleave_lowv4hi): Handle big endian.
384 (vec_interleave_lowv4hi_be): New.
385 (vec_interleave_lowv4hi_le): New.
386 (insn_v2int_l): Handle big endian.
387 (vec_interleave_highv2si): Handle big endian.
388 (vec_interleave_highv2si_be): New.
389 (vec_interleave_highv2si_le): New.
390 (insn_v4int_h): Handle big endian.
391 (vec_interleave_lowv2si): Handle big endian.
392 (vec_interleave_lowv2si_be): New.
393 (vec_interleave_lowv2si_le): New.
394 (insn_v4int_l): Handle big endian.
395 * config/tilegx/tilegx.opt (mbig-endian): New option.
396 (mlittle-endian): New option.
397 * doc/install.texi: Document tilegxbe-linux.
398 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
399
f3fec19f
MJ
4002014-02-24 Martin Jambor <mjambor@suse.cz>
401
402 PR ipa/60266
403 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
404 there are no parameter descriptors.
405
9039622a
AB
4062014-02-24 Andrey Belevantsev <abel@ispras.ru>
407
408 PR rtl-optimization/60268
409 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
410 initialization to ...
411 (sched_rgn_init): ... here.
412 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
413
e7e7bc4b
DH
4142014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
415
9039622a
AB
416 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
417 names.
e7e7bc4b 418
8011ccca
ME
4192014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
420
421 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
422 definition.
423
c332c7df
DH
4242014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
425
84d7e312
UB
426 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
427 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 428
d5a19af1
DH
4292014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
430
431 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 432 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 433 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 434 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
435 to microblaze_expand_conditional_branch and consolidate logic.
436 (microblaze_expand_conditional_branch): emit branch_compare
437 insn instead of handling cmp op separate from branch insn.
438
34c25d23
BS
4392014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
440
441 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
442 to permit subregs.
443
a6eecdc1
BS
4442014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
445
d5a19af1
DH
446 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
447 define_insn with define_expand and new define_insn
448 *altivec_lve<VI_char>x_internal.
449 (altivec_stve<VI_char>x): Replace define_insn with define_expand
450 and new define_insn *altivec_stve<VI_char>x_internal.
451 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
452 prototype.
453 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
454 lve*x built-ins.
455 (altivec_expand_stvex_be): New function.
a6eecdc1 456
8aa7d1fc
JR
4572014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
458
459 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 460 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
461 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
462 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
463
a810ee82
VM
4642014-02-21 Vladimir Makarov <vmakarov@redhat.com>
465
466 PR target/60298
467 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
468 instead of emit_move_insn.
469
b90ab1ba
BS
4702014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
471
472 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
473 vspltw with vsldoi.
474 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
475 gen_altivec_vsumsws.
476
1af73690
WS
4772014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
478
479 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 480 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
481 (altivec_lvxl_<mode>): New define_expand incorporating
482 -maltivec=be semantics where needed.
483 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
484 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
485 semantics where needed.
486 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
487 (altivec_stvx_<mode>): New define_expand incorporating
488 -maltivec=be semantics where needed.
489 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
490 VM2 iterator instead of V4SI.
491 (altivec_stvxl_<mode>): New define_expand incorporating
492 -maltivec=be semantics where needed.
493 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
494 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
495 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
496 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
497 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
498 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
499 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
500 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
501 ALTIVEC_BUILTIN_STVXL.
84d7e312 502 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
503 (altivec_expand_stvx_be): Likewise.
504 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
505 (altivec_expand_lvx_be): Likewise.
506 (altivec_expand_stvx_be): Likewise.
507 (altivec_expand_builtin): Add cases for
508 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
509 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
510 (altivec_init_builtins): Add definitions for
511 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 512 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 513
0a39d07b
CM
5142014-02-21 Catherine Moore <clm@codesourcery.com>
515
516 * doc/invoke.texi (mvirt, mno-virt): Document.
517 * config/mips/mips.opt (mvirt): New option.
518 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
519
f2556b68
RB
5202014-02-21 Richard Biener <rguenther@suse.de>
521
522 PR tree-optimization/60276
523 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
524 (STMT_VINFO_MIN_NEG_DIST): New macro.
525 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
526 STMT_VINFO_MIN_NEG_DIST.
527 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
528 made for negative dependence distances still hold.
529
32417082
RB
5302014-02-21 Richard Biener <rguenther@suse.de>
531
532 PR middle-end/60291
533 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
534 DECL_INITIAL for globals not in the current function context.
535
92261ce0
JJ
5362014-02-21 Jakub Jelinek <jakub@redhat.com>
537
538 PR tree-optimization/56490
539 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
540 * tree-ssa-uninit.c: Include params.h.
541 (compute_control_dep_chain): Add num_calls argument, return false
542 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
543 num_calls to recursive call.
544 (find_predicates): Change dep_chain into normal array,
545 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
546 variable and adjust compute_control_dep_chain caller.
547 (find_def_preds): Likewise.
548
aa6ef874
TS
5492014-02-21 Thomas Schwinge <thomas@codesourcery.com>
550
551 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
552 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
553
4b156fd0
NC
5542014-02-21 Nick Clifton <nickc@redhat.com>
555
556 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
557 (pushhi1): Likewise.
558 (popqi1): Add mode to pre_dec.
559 (pophi1): Likewise.
560
dffd569e
JJ
5612014-02-21 Jakub Jelinek <jakub@redhat.com>
562
563 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
564 mode for mask of V8SFmode permutation.
565
2fdc29e8
RH
5662014-02-20 Richard Henderson <rth@redhat.com>
567
568 PR c++/60272
569 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
570 a new pseudo for OLDVAL.
571
aa637f66
JJ
5722014-02-20 Jakub Jelinek <jakub@redhat.com>
573
574 PR target/57896
575 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
576 gen_reg_rtx if d->testing_p.
577 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
578 if d->testing_p and we will certainly return true.
579 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
580 if d->testing_p.
581
004a7e45
UB
5822014-02-20 Uros Bizjak <ubizjak@gmail.com>
583
584 * emit-rtl.c (gen_reg_rtx): Assert that
585 crtl->emit.regno_pointer_align_length is non-zero.
586
5872014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
588
589 PR c++/60272
590 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
591 on failure the store back into EXPECT.
592
95ce7613
CLT
5932014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
594 Sandra Loosemore <sandra@codesourcery.com>
595
596 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
597 * config/nios2/nios2.c (nios2_function_profiler): Add
598 -fPIC (flag_pic == 2) support.
95ce7613
CLT
599 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
600 (nios2_large_offset_p): New function.
601 (nios2_unspec_reloc_p): Move up position, update to use
602 nios2_large_offset_p.
603 (nios2_unspec_address): Remove function.
604 (nios2_unspec_offset): New function.
605 (nios2_large_got_address): New function.
606 (nios2_got_address): Add large offset support.
607 (nios2_legitimize_tls_address): Update usage of removed and new
608 functions.
609 (nios2_symbol_binds_local_p): New function.
610 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
611 (nios2_legitimize_address): Update to use nios2_large_offset_p.
612 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
613 (nios2_print_operand): Merge H/L processing, add hiadj/lo
614 processing for (const (unspec ...)).
615 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
616
efd2d3c8
RB
6172014-02-20 Richard Biener <rguenther@suse.de>
618
619 * tree-cfg.c (replace_uses_by): Mark altered BBs before
620 doing the substitution.
004a7e45 621 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 622
9576e7b1
MJ
6232014-02-20 Martin Jambor <mjambor@suse.cz>
624
625 PR ipa/55260
626 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
627 info when checking whether lattices are bottom.
628
25fe40b0
RB
6292014-02-20 Richard Biener <rguenther@suse.de>
630
631 PR middle-end/60221
632 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
633 regions at -O0.
634
bd936951
JH
6352014-02-20 Jan Hubicka <hubicka@ucw.cz>
636
637 PR ipa/58555
004a7e45
UB
638 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
639 parameter specifying the scaling.
bd936951
JH
640 (inline_call): Update.
641 (want_inline_recursively): Guard division by zero.
642 (recursive_inlining): Update.
643 * ipa-inline.h (clone_inlined_nodes): Update.
644
3c898e1a
IT
6452014-02-20 Ilya Tocar <ilya.tocar@intel.com>
646
647 PR target/60204
648 * config/i386/i386.c (classify_argument): Pass structures of size
649 64 bytes or less in register.
650
df62b4af 6512014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 652 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
653
654 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
655 (_mm_rcp28_round_ss): Ditto.
656 (_mm_rsqrt28_round_sd): Ditto.
657 (_mm_rsqrt28_round_ss): Ditto.
658 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
659 (_mm_rcp14_round_ss): Ditto.
660 (_mm_rsqrt14_round_sd): Ditto.
661 (_mm_rsqrt14_round_ss): Ditto.
662 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
663 the first input operand, get rid of match_dup.
664 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
665 attribute to sse.
666 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
667 Ditto.
668 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
669 operand as the first input operand, set type attribute.
670 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
671 Set type attribute.
672 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
673 operand as the first input operand, set type attribute.
674
9254148e
BS
6752014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
676
677 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
678 bit of zero.
679
fff91793
L
6802014-02-19 H.J. Lu <hongjiu.lu@intel.com>
681
682 PR target/60207
683 * config/i386/i386.c (construct_container): Remove TFmode check
684 for X86_64_INTEGER_CLASS.
685
6aa5b4b8
UB
6862014-02-19 Uros Bizjak <ubizjak@gmail.com>
687
688 PR target/59794
689 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
690 only when -Wpsabi is enabled.
691
aadc1c43
MHD
6922014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
693
694 PR target/59799
695 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
696 passing arrays in registers are the same as for structs, so remove the
697 special case for them.
698
322913f8
EB
6992014-02-19 Eric Botcazou <ebotcazou@adacore.com>
700
701 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
702 destination type, extract only the valid bits if the source type is not
703 integral and has a different mode.
704
fd9710dc
RB
7052014-02-19 Richard Biener <rguenther@suse.de>
706
707 PR ipa/60243
708 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
709 for all calls.
710
4df65a85
RB
7112014-02-19 Richard Biener <rguenther@suse.de>
712
713 PR ipa/60243
714 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
715 (ipa_modify_call_arguments): Emit an argument load explicitely and
716 preserve virtual SSA form there and for the replacement call.
717 Do not update SSA form nor free dominance info.
718
7fea98d8
JH
7192014-02-18 Jan Hubicka <hubicka@ucw.cz>
720
721 * ipa.c (function_and_variable_visibility): Also clear WEAK
722 flag when disolving COMDAT_GROUP.
723
0a2550e7
JH
7242014-02-18 Jan Hubicka <hubicka@ucw.cz>
725
726 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
727 * ipa-prop.c (ipa_set_jf_known_type): Return early when
728 not devirtualizing.
729 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
730 do more sanity checks.
731 (detect_type_change): Return true when giving up early.
732 (compute_complex_assign_jump_func): Fix type parameter of
733 ipa_set_ancestor_jf.
734 (compute_complex_ancestor_jump_func): Likewise.
735 (update_jump_functions_after_inlining): Fix updating of
736 ancestor function.
6aa5b4b8 737 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 738
2dbe8b70
JH
7392014-02-18 Jan Hubicka <hubicka@ucw.cz>
740
741 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
742 inline clones when edge disappears.
743
b9809dc4
MM
7442014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
745
746 PR target/60203
747 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
748 Split 64-bit moves into 2 patterns. Do not allow the use of
749 direct move for TDmode in little endian, since the decimal value
750 has little endian bytes within a word, but the 64-bit pieces are
751 ordered in a big endian fashion, and normal subreg's of TDmode are
752 not allowed.
753 (mov<mode>_64bit_dm): Likewise.
754 (movtd_64bit_nodm): Likewise.
755
bababbfb
EB
7562014-02-18 Eric Botcazou <ebotcazou@adacore.com>
757
758 PR tree-optimization/60174
759 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
760 statement of an SSA_NAME that occurs in an abnormal PHI node.
761
70aacc97
JJ
7622014-02-18 Jakub Jelinek <jakub@redhat.com>
763
764 PR sanitizer/60142
765 * final.c (SEEN_BB): Remove.
766 (SEEN_NOTE, SEEN_EMITTED): Renumber.
767 (final_scan_insn): Don't force_source_line on second
768 NOTE_INSN_BASIC_BLOCK.
769
223cdd15
UB
7702014-02-18 Uros Bizjak <ubizjak@gmail.com>
771
772 PR target/60205
773 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
774 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
775 (type_natural_mode): Warn ABI change when %zmm register is not
776 available for AVX512F vector value passing.
777
48810be0
KT
7782014-02-18 Kai Tietz <ktietz@redhat.com>
779
780 PR target/60193
223cdd15
UB
781 * config/i386/i386.c (ix86_expand_prologue): Use value in
782 rax register as displacement when restoring %r10 or %rax.
783 Fix wrong offset when restoring both registers.
48810be0 784
20afe640
EB
7852014-02-18 Eric Botcazou <ebotcazou@adacore.com>
786
787 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
788 assertion with conditional return.
789
d0b50387
JJ
7902014-02-18 Jakub Jelinek <jakub@redhat.com>
791 Uros Bizjak <ubizjak@gmail.com>
792
793 PR driver/60233
794 * config/i386/driver-i386.c (host_detect_local_cpu): If
795 YMM state is not saved by the OS, also clear has_f16c. Move
796 CPUID 0x80000001 handling before YMM state saving checking.
797
c4cd7435
AB
7982014-02-18 Andrey Belevantsev <abel@ispras.ru>
799
800 PR rtl-optimization/58960
801 * haifa-sched.c (alloc_global_sched_pressure_data): New,
802 factored out from ...
803 (sched_init): ... here.
804 (free_global_sched_pressure_data): New, factored out from ...
805 (sched_finish): ... here.
806 * sched-int.h (free_global_sched_pressure_data): Declare.
807 * sched-rgn.c (nr_regions_initial): New static global.
808 (haifa_find_rgns): Initialize it.
809 (schedule_region): Disable sched-pressure for the newly
810 generated regions.
811
f0281fde
RB
8122014-02-17 Richard Biener <rguenther@suse.de>
813
814 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
815 release SSA defs of pattern stmts.
816
c742772c
RB
8172014-02-17 Richard Biener <rguenther@suse.de>
818
819 * tree-inline.c (expand_call_inline): Release the virtual
820 operand defined by the call we are about to inline.
821
0492158e
RB
8222014-02-17 Richard Biener <rguenther@suse.de>
823
824 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
825
583a9919
KY
8262014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
827 Ilya Tocar <ilya.tocar@intel.com>
828
829 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
830 arguments order in builtin.
831 (_mm512_permutexvar_epi64): Ditto.
832 (_mm512_mask_permutexvar_epi64): Ditto
833 (_mm512_maskz_permutexvar_epi32): Ditto
834 (_mm512_permutexvar_epi32): Ditto
835 (_mm512_mask_permutexvar_epi32): Ditto
836
d737743f
BS
8372014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
838
223cdd15 839 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
840 (p8_vmrgow): Likewise.
841
54c4bfd7
BS
8422014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
843
844 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
845 endian targets.
846
518fea64
MM
8472014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
848
849 PR target/60203
850 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
851 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
852 into 64-bit and 32-bit moves. On 64-bit moves, add support for
853 using direct move instructions on ISA 2.07. Also adjust
854 instruction length for 64-bit.
855 (mov<mode>_64bit, TFmode/TDmode): Likewise.
856 (mov<mode>_32bit, TFmode/TDmode): Likewise.
857
61640916
AM
8582014-02-15 Alan Modra <amodra@gmail.com>
859
860 PR target/58675
861 PR target/57935
862 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
863 find_replacement on parts of insn rtl that might be reloaded.
864
a2b33cc3
RB
8652014-02-15 Richard Biener <rguenther@suse.de>
866
867 PR tree-optimization/60183
223cdd15 868 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
869 (tree_ssa_phiprop): Calculate and free post-dominators.
870
059742a4
JL
8712014-02-14 Jeff Law <law@redhat.com>
872
873 PR rtl-optimization/60131
874 * ree.c (get_extended_src_reg): New function.
223cdd15 875 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
876 (find_and_remove_re): Verify first operand of extension is
877 a REG before adding the insns to the copy list.
878
88f7c49a
RM
8792014-02-14 Roland McGrath <mcgrathr@google.com>
880
881 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
882 * configure: Regenerated.
883 * config.in: Regenerated.
884 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
885 instead of ASM_SHORT.
886
2ae577fd
VM
8872014-02-14 Vladimir Makarov <vmakarov@redhat.com>
888 Richard Earnshaw <rearnsha@arm.com>
889
890 PR rtl-optimization/59535
891 * lra-constraints.c (process_alt_operands): Encourage alternative
892 when unassigned pseudo class is superset of the alternative class.
893 (inherit_reload_reg): Don't inherit when optimizing for code size.
894 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
895 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
896 modes not less than 4 for Thumb1.
897
5d88af08
KM
8982014-02-14 Kyle McMartin <kyle@redhat.com>
899
900 PR pch/60010
901 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
902
3069b421
RB
9032014-02-14 Richard Biener <rguenther@suse.de>
904
905 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
906 (get_frame_arg): Drop the assert with langhook types_compatible_p.
907 Do not strip INDIRECT_REFs.
908
1966fd99
RB
9092014-02-14 Richard Biener <rguenther@suse.de>
910
911 PR lto/60179
912 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
913 DECL_FUNCTION_SPECIFIC_TARGET.
914 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
915 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 916 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
917 (write_ts_function_decl_tree_pointers): Do not stream
918 DECL_FUNCTION_SPECIFIC_TARGET.
919 * tree-streamer-in.c (unpack_ts_target_option): Remove.
920 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
921 (lto_input_ts_function_decl_tree_pointers): Do not stream
922 DECL_FUNCTION_SPECIFIC_TARGET.
923
b010d601
JJ
9242014-02-14 Jakub Jelinek <jakub@redhat.com>
925
223cdd15 926 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
927 (get_initial_def_for_induction, vectorizable_induction): Ignore
928 debug stmts when looking for exit_phi.
929 (vectorizable_live_operation): Fix up condition.
930
f2dafb91
CJW
9312014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
932
933 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
934 nreverse() because it changes the content of original tree list.
935
59043e75
CJW
9362014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
937
938 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
939 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
940
810f736f
CJW
9412014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
942
943 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
944 GNU coding standards.
945
1a025bbf
JJ
9462014-02-13 Jakub Jelinek <jakub@redhat.com>
947
948 PR debug/60152
949 * dwarf2out.c (gen_subprogram_die): Don't call
950 add_calling_convention_attribute if subr_die is old_die.
951
69479ebd
SS
9522014-02-13 Sharad Singhai <singhai@google.com>
953
954 * doc/optinfo.texi: Fix order of nodes.
955
1287ae50
UB
9562014-02-13 Uros Bizjak <ubizjak@gmail.com>
957
958 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
959 operands[2], not operands[3].
960
43372236
RB
9612014-02-13 Richard Biener <rguenther@suse.de>
962
963 PR bootstrap/59878
964 * doc/install.texi (ISL): Update recommended version to 0.12.2,
965 mention the possibility of an in-tree build.
966 (CLooG): Update recommended version to 0.18.1, mention the
967 possibility of an in-tree build and clarify that the ISL
968 bundled with CLooG does not work.
969
a4d70cfa
JJ
9702014-02-13 Jakub Jelinek <jakub@redhat.com>
971
972 PR target/43546
973 * expr.c (compress_float_constant): If x is a hard register,
974 extend into a pseudo and then move to x.
975
e697d119
DV
9762014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
977
978 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
979 caused by bad second argument to warning_at() with -mhotpatch and
980 nested functions (e.g. with gfortran).
981
9f8da907
RS
9822014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
983
984 * opts.c (option_name): Remove "enabled by default" rider.
985
0fdd1196
JDA
9862014-02-12 John David Anglin <danglin@gcc.gnu.org>
987
988 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
989
0544c448
L
9902014-02-12 H.J. Lu <hongjiu.lu@intel.com>
991 Uros Bizjak <ubizjak@gmail.com>
992
993 PR target/60151
1287ae50 994 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
995 * configure: Regenerated.
996
3a938d75
RB
9972014-02-12 Richard Biener <rguenther@suse.de>
998
999 * vec.c (vec_prefix::calculate_allocation): Move as
1000 inline variant to vec.h.
1001 (vec_prefix::calculate_allocation_1): New out-of-line version.
1002 * vec.h (vec_prefix::calculate_allocation_1): Declare.
1003 (vec_prefix::m_has_auto_buf): Rename to ...
1004 (vec_prefix::m_using_auto_storage): ... this.
1005 (vec_prefix::calculate_allocation): Inline the easy cases
1006 and dispatch to calculate_allocation_1 which doesn't need the
1007 prefix address.
1008 (va_heap::reserve): Use gcc_checking_assert.
1009 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
1010 m_using_auto_storage.
1011 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
1012 member and adjust.
1013 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
1014 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
1015 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
1016
ad0188be
RB
10172014-02-12 Richard Biener <rguenther@suse.de>
1018
1019 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
1020 when we found a dependence.
1021
64e5ace5
TS
10222014-02-12 Thomas Schwinge <thomas@codesourcery.com>
1023
88ac13da
TS
1024 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
1025 common code...
1026 (maybe_fold_stmt): ... into this new function.
1027 * omp-low.c (lower_omp): Update comment.
1028
bae729a2
TS
1029 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
1030 last use.
1031
64e5ace5
TS
1032 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
1033 dereference.
1034
7b40f5cf
JG
10352014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
1036
1037 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
1038 identifiers in comments.
1039 (cortexa53_extra_costs): Likewise.
1287ae50 1040 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
1041 (cortexa7_extra_costs): Likewise.
1042 (cortexa12_extra_costs): Likewise.
1043 (cortexa15_extra_costs): Likewise.
1044 (v7m_extra_costs): Likewise.
1045
c4c8514e
RB
10462014-02-12 Richard Biener <rguenther@suse.de>
1047
1048 PR middle-end/60092
1049 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
1050 of posix_memalign being successful.
1051 (lower_stmt): Restrict lowering of posix_memalign to when
1052 -ftree-bit-ccp is enabled.
1053
8eb651bd
SKS
10542014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1055
1056 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
1057 arg_loc.
1058 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
1059
62b03553
EB
10602014-02-12 Eric Botcazou <ebotcazou@adacore.com>
1061
1062 PR rtl-optimization/60116
1063 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
1064 other_insn once the combination has been validated.
1065
ec77d61f
JH
10662014-02-11 Jan Hubicka <hubicka@ucw.cz>
1067
1068 PR lto/59468
1069 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
1070 and wrapper.
1071 * ipa-devirt.c: Include demangle.h
1072 (odr_violation_reported): New static variable.
1073 (add_type_duplicate): Update odr_violations.
1074 (maybe_record_node): Add completep parameter; update it.
1075 (record_target_from_binfo): Add COMPLETEP parameter;
1076 update it as needed.
1077 (possible_polymorphic_call_targets_1): Likewise.
1078 (struct polymorphic_call_target_d): Add nonconstruction_targets;
1079 rename FINAL to COMPLETE.
1080 (record_targets_from_bases): Sanity check we found the binfo;
1081 fix COMPLETEP updating.
1082 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
1083 parameter, fix computing of COMPLETEP.
1287ae50
UB
1084 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
1085 at LTO time do demangling.
ec77d61f
JH
1086 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
1087 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
1088 parameter.
1089 (gimple_get_virt_method_for_binfo): Likewise.
1090 * gimple-fold.h (gimple_get_virt_method_for_binfo,
1091 gimple_get_virt_method_for_vtable): Update prototypes.
1092
5a4dcd9b
VM
10932014-02-11 Vladimir Makarov <vmakarov@redhat.com>
1094
1095 PR target/49008
1096 * genautomata.c (add_presence_absence): Fix typo with
1097 {final_}presence_list.
1098
69b7afed
MM
10992014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1100
1101 PR target/60137
1102 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
1103 for VSX/Altivec vectors that land in GPR registers.
1104
8268ad5c
JJ
11052014-02-11 Richard Henderson <rth@redhat.com>
1106 Jakub Jelinek <jakub@redhat.com>
1107
1108 PR debug/59776
1109 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
1110 around drhs if type conversion to lacc->type is not useless.
1111
4fd92af6
KT
11122014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1113
1114 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
1115 tuning struct.
1116 (cortex-a57.cortex-a53): Likewise.
1117 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
1118
7cb14cb8
KT
11192014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1120
1121 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
1122 arm_restrict_it.
1123
6d3715b9
RL
11242014-02-11 Renlin Li <Renlin.Li@arm.com>
1125
1126 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
1127 add_options_for_arm_vfp3.
1128
cddddfff
JL
11292014-02-11 Jeff Law <law@redhat.com>
1130
1131 PR middle-end/54041
1132 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
1133 object with an undesirable mode.
1134
7c1aef7e
RO
11352014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1136
1137 PR libgomp/60107
1138 * config/i386/sol2-9.h: New file.
1139 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
1140 *-*-solaris2.9*): Use it.
1141
d63f1311
NM
11422014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
1143
1144 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
1145 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
1146
11472014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
1148
1149 * config/microblaze/microblaze.c: Extend mcpu version format
1150
9b5414c6
DH
11512014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
1152
1153 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
1154
004a7e45 11552014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
1156
1157 PR target/59927
1158 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
1159 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
1160 ms-abi vs -mno-accumulate-outgoing-args.
1161 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
1162 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
1163 respect to ms-abi.
1164
e2fc3b4f
BE
11652014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
1166
1167 PR middle-end/60080
1168 * cfgexpand.c (expand_asm_operands): Attach source location to
1169 ASM_INPUT rtx objects.
1170 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
1171
3a22ad89
NC
11722014-02-10 Nick Clifton <nickc@redhat.com>
1173
1174 * config/mn10300/mn10300.c (popcount): New function.
1175 (mn10300_expand_prologue): Include saved registers in stack usage
1176 count.
1177
f27be550
JL
11782014-02-10 Jeff Law <law@redhat.com>
1179
1180 PR middle-end/52306
1181 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 1182 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 1183
e15e3815
UW
11842014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1185
1186 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
1187 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
1188 -mcall-openbsd, or -mcall-linux.
1189 (CC1_ENDIAN_BIG_SPEC): Remove.
1190 (CC1_ENDIAN_LITTLE_SPEC): Remove.
1191 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
1192 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
1193 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
1194 and %cc1_endian_default.
1195 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
1196
4e1f39e4
RB
11972014-02-10 Richard Biener <rguenther@suse.de>
1198
1199 PR tree-optimization/60115
1200 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
1201 MEM_REF handling. Properly verify that the accesses are not
1202 out of the objects bound.
1203
e7af1c22
KT
12042014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1205
1206 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
1207 coretex to cortex.
1208
79c7de84
EB
12092014-02-10 Eric Botcazou <ebotcazou@adacore.com>
1210
1211 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
1212 proper constants and fix formatting.
1213 (possible_polymorphic_call_targets): Fix formatting.
1214
cf73ee60
KY
12152014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
1216 Ilya Tocar <ilya.tocar@intel.com>
1217
1218 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
1219 (_mm512_loadu_epi32): Renamed into...
1220 (_mm512_loadu_si512): This.
1221 (_mm512_storeu_epi32): Renamed into...
1222 (_mm512_storeu_si512): This.
1223 (_mm512_maskz_ceil_ps): Removed.
1224 (_mm512_maskz_ceil_pd): Ditto.
1225 (_mm512_maskz_floor_ps): Ditto.
1226 (_mm512_maskz_floor_pd): Ditto.
1227 (_mm512_floor_round_ps): Ditto.
1228 (_mm512_floor_round_pd): Ditto.
1229 (_mm512_ceil_round_ps): Ditto.
1230 (_mm512_ceil_round_pd): Ditto.
1231 (_mm512_mask_floor_round_ps): Ditto.
1232 (_mm512_mask_floor_round_pd): Ditto.
1233 (_mm512_mask_ceil_round_ps): Ditto.
1234 (_mm512_mask_ceil_round_pd): Ditto.
1235 (_mm512_maskz_floor_round_ps): Ditto.
1236 (_mm512_maskz_floor_round_pd): Ditto.
1237 (_mm512_maskz_ceil_round_ps): Ditto.
1238 (_mm512_maskz_ceil_round_pd): Ditto.
1239 (_mm512_expand_pd): Ditto.
1240 (_mm512_expand_ps): Ditto.
1241 * config/i386/i386.c (ix86_builtins): Remove
1242 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
1243 (bdesc_args): Ditto.
1244 * config/i386/predicates.md (const1256_operand): New.
1245 (const_1_to_2_operand): Ditto.
1246 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
1247 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
1248 (*avx512pf_gatherpf<mode>sf): Ditto.
1249 (avx512pf_gatherpf<mode>df): Ditto.
1250 (*avx512pf_gatherpf<mode>df_mask): Ditto.
1251 (*avx512pf_gatherpf<mode>df): Ditto.
1252 (avx512pf_scatterpf<mode>sf): Ditto.
1253 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
1254 (*avx512pf_scatterpf<mode>sf): Ditto.
1255 (avx512pf_scatterpf<mode>df): Ditto.
1256 (*avx512pf_scatterpf<mode>df_mask): Ditto.
1257 (*avx512pf_scatterpf<mode>df): Ditto.
1258 (avx512f_expand<mode>): Removed.
1259 (<shift_insn><mode>3<mask_name>): Change predicate type.
1260
8fcbce72
JJ
12612014-02-08 Jakub Jelinek <jakub@redhat.com>
1262
41475e96
JJ
1263 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
1264 not at the end of datarefs vector use ordered_remove to avoid
1265 reordering datarefs vector.
1266
c74559df
JJ
1267 PR c/59984
1268 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
1269 mark local addressable non-static vars as GOVD_PRIVATE
1270 instead of GOVD_LOCAL.
1271 * omp-low.c (lower_omp_for): Move gimple_bind_vars
1272 and BLOCK_VARS of gimple_bind_block to new_stmt rather
1273 than copying them.
1274
8fcbce72
JJ
1275 PR middle-end/60092
1276 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
1277 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
1278 assume_aligned or alloc_align attributes.
1279 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
1280 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
1281 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
1282 calls to functions with assume_aligned or alloc_align attributes.
1283 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 1284
451bdd23
TG
12852014-02-08 Terry Guo <terry.guo@arm.com>
1286
1287 * doc/invoke.texi: Document ARM -march=armv7e-m.
1288
d31d42c7
JJ
12892014-02-08 Jakub Jelinek <jakub@redhat.com>
1290
d71dfeb7
JJ
1291 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
1292 flag on __cilkrts_rethrow builtin.
1293
d31d42c7
JJ
1294 PR ipa/60026
1295 * ipa-cp.c (determine_versionability): Fail at -O0
1296 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
1297 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
1298
1299 Revert:
1300 2014-02-04 Jakub Jelinek <jakub@redhat.com>
1301
1302 PR ipa/60026
1303 * tree-inline.c (copy_forbidden): Fail for
1304 __attribute__((optimize (0))) functions.
1305
a0a98fef
JH
13062014-02-07 Jan Hubicka <hubicka@ucw.cz>
1307
1308 * varpool.c: Include pointer-set.h.
1309 (varpool_remove_unreferenced_decls): Variables in other partitions
1310 will not be output; be however careful to not lose information
1311 about partitioning.
1312
8c311b50
JH
13132014-02-07 Jan Hubicka <hubicka@ucw.cz>
1314
1315 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
1316 lookup in the vtable constructor.
1317
7ba03e5e
JL
13182014-02-07 Jeff Law <law@redhat.com>
1319
63e6247d
JL
1320 PR target/40977
1321 * config/m68k/m68k.md (ashldi_extsi): Turn into a
1322 define_insn_and_split.
1323
7ba03e5e
JL
1324 * ipa-inline.c (inline_small_functions): Fix typos.
1325
177bc204
RS
13262014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1327
1328 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
1329 (s390_can_use_return_insn): Declare.
1330 * config/s390/s390.h (EPILOGUE_USES): Define.
1331 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
1332 instructions.
1333 (s390_chunkify_start): Handle return JUMP_LABELs.
1334 (s390_early_mach): Emit a main_pool instruction on the entry edge.
1335 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
1336 (s390_can_use_return_insn): New functions.
1337 (s390_fix_long_loop_prediction): Handle conditional returns.
1338 (TARGET_SET_UP_BY_PROLOGUE): Define.
1339 * config/s390/s390.md (ANY_RETURN): New code iterator.
1340 (*creturn, *csimple_return, return, simple_return): New patterns.
1341
0621cf3c
RS
13422014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1343
1344 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
1345 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
1346 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
1347 REG_CFA_RESTORE list when deciding not to restore a register.
1348
4099494d
RS
13492014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1350
1351 * config/s390/s390.c: Include tree-pass.h and context.h.
1352 (s390_early_mach): New function, split out from...
1353 (s390_emit_prologue): ...here.
1354 (pass_data_s390_early_mach): New pass structure.
1355 (pass_s390_early_mach): New class.
1356 (s390_option_override): Create and register early_mach pass.
1357 Move to end of file.
1358
3489cc33
RS
13592014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1360
1361 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
1362 to match for the exit block.
1363
75cc21e2
AK
13642014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1365
1366 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
1367 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
1368 Reject misaligned operands.
1369
8bd7070a
AK
13702014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1371
1287ae50 1372 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 1373
831806cb
RB
13742014-02-07 Richard Biener <rguenther@suse.de>
1375
1376 PR middle-end/60092
1377 * gimple-low.c (lower_builtin_posix_memalign): New function.
1378 (lower_stmt): Call it to lower posix_memalign in a way
1379 to make alignment info accessible.
1380
7ee9c16f
JJ
13812014-02-07 Jakub Jelinek <jakub@redhat.com>
1382
1383 PR c++/60082
1384 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
1385 __builtin_setjmp_receiver.
1386
32cab212
RB
13872014-02-07 Richard Biener <rguenther@suse.de>
1388
1389 PR middle-end/60092
1390 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
1391 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
1392 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
1393 Handle BUILT_IN_POSIX_MEMALIGN.
1394 (find_func_clobbers): Likewise.
1395 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
1396 (call_may_clobber_ref_p_1): Likewise.
1397
6d6af792
JH
13982014-02-06 Jan Hubicka <hubicka@ucw.cz>
1399
1400 PR ipa/59918
1287ae50
UB
1401 * ipa-devirt.c (record_target_from_binfo): Remove overactive
1402 sanity check.
6d6af792 1403
3c0f1105
JH
14042014-02-06 Jan Hubicka <hubicka@ucw.cz>
1405
1406 PR ipa/59469
1407 * lto-cgraph.c (lto_output_node): Use
1408 symtab_get_symbol_partitioning_class.
1409 (lto_output_varpool_node): likewise.
1410 (symtab_get_symbol_partitioning_class): Move here from
1411 lto/lto-partition.c
1412 * cgraph.h (symbol_partitioning_class): Likewise.
1413 (symtab_get_symbol_partitioning_class): Declare.
1414
b3bb0eb9
JH
14152014-02-06 Jan Hubicka <hubicka@ucw.cz>
1416
1417 * ggc.h (ggc_internal_cleared_alloc): New macro.
1418 * vec.h (vec_safe_copy): Handle memory stats.
1419 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
1420 * target-globals.c (save_target_globals): Likewise.
1421
14222014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
1423
1424 PR target/60077
1425 * expr.c (emit_move_resolve_push): Export; be bit more selective
1426 on when to clear alias set.
1427 * expr.h (emit_move_resolve_push): Declare.
1428 * function.h (struct function): Add tail_call_marked.
1429 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
1430 * config/i386/i386-protos.h (ix86_expand_push): Remove.
1431 * config/i386/i386.md (TImode move expander): De not call
1432 ix86_expand_push.
1433 (FP push expanders): Preserve memory attributes.
1434 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 1435 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
1436 (ix86_expand_push): Remove.
1437 * config/i386/mmx.md (push<mode>1): Remove.
1438
47d552eb
JJ
14392014-02-06 Jakub Jelinek <jakub@redhat.com>
1440
1441 PR rtl-optimization/60030
1442 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
1443 lopart with paradoxical subreg before shifting it up by hprec.
1444
45c75ea7
KT
14452014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1446
1447 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
1448 Remove extra newline at end of file.
1449 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
1450 (arm_issue_rate): Handle cortexa57.
1451 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
1452 (cortex-a57.cortex-a53): Likewise.
1453
af116cae
JJ
14542014-02-06 Jakub Jelinek <jakub@redhat.com>
1455
652a3e3a
JJ
1456 PR target/59575
1457 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
1458 don't record in REG_FRAME_RELATED_EXPR registers not set in that
1459 bitmask.
1460 (arm_expand_prologue): Adjust all callers.
1461 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
1462 info, registers also at the lowest numbered registers side. Use
1463 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
1464 XEXP.
1465
af116cae 1466 PR debug/59992
1287ae50
UB
1467 * var-tracking.c (adjust_mems): Before adding a SET to
1468 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 1469
fdcee33b
AM
14702014-02-06 Alan Modra <amodra@gmail.com>
1471
1472 PR target/60032
1473 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
1474 change SDmode to DDmode when lra_in_progress.
1475
251901a0
JJ
14762014-02-06 Jakub Jelinek <jakub@redhat.com>
1477
d3ef8c53
JJ
1478 PR middle-end/59150
1479 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
1480 free_data_ref on the dr first, and before goto again also set dr
1481 to the next dr. For simd_lane_access, free old datarefs[i] before
1482 overwriting it. For get_vectype_for_scalar_type failure, don't
1483 free_data_ref if simd_lane_access.
1484
2754b38f
JJ
1485 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
1486
251901a0
JJ
1487 PR target/60062
1488 * tree.h (opts_for_fn): New inline function.
1489 (opt_for_fn): Define.
1490 * config/i386/i386.c (ix86_function_regparm): Use
1491 opt_for_fn (decl, optimize) instead of optimize.
1492
4a985a37
MS
14932014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
1494
1495 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
1496 for SYMBOL_REF in large memory model.
1497
c366d38c
KT
14982014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1499
1500 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
1501 and crypto support.
1502 (cortex-a57): Likewise.
1503 (cortex-a57.cortex-a53): Likewise.
1504
c801e246
YG
15052014-02-06 Yury Gribov <y.gribov@samsung.com>
1506 Kugan Vivekanandarajah <kuganv@linaro.org>
1507
1508 * config/arm/arm.c (arm_vector_alignment_reachable): Check
1509 unaligned_access.
1510 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
1511
d50f7b84
RB
15122014-02-06 Richard Biener <rguenther@suse.de>
1513
1514 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
1515 set_loop_copy and initialize_original_copy_tables.
1516
179d2941
AV
15172014-02-06 Alex Velenko <Alex.Velenko@arm.com>
1518
1519 * config/aarch64/aarch64-simd.md
1520 (aarch64_ashr_simddi): Change QI to SI.
1521
78b1469d
JH
15222014-02-05 Jan Hubicka <hubicka@ucw.cz>
1523 Jakub Jelinek <jakub@redhat.com>
1524
1525 PR middle-end/60013
1526 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
1527 of the dataflow.
1528
d85f364c
BS
15292014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1530
1531 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
1532 CODE_FOR_altivec_vpku[hw]um to
1533 CODE_FOR_altivec_vpku[hw]um_direct.
1534 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
1535 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
1536 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
1537 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
1538
7b1cd427
BS
15392014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1540
1541 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
1542 generation for -maltivec=be.
1543 (altivec_vsumsws): Simplify redundant test.
1544
52a93551
BS
15452014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1546
1547 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
1548 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
1549 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
1550 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
1551 gen_altivec_vpkuwum.
1552 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
1553 BYTES_BIG_ENDIAN.
1554 (altivec_vpks<VI_char>ss): Likewise.
1555 (altivec_vpks<VI_char>us): Likewise.
1556 (altivec_vpku<VI_char>us): Likewise.
1557 (altivec_vpku<VI_char>um): Likewise.
1558 (altivec_vpku<VI_char>um_direct): New (copy of
1559 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
1560 internal use).
1561 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
1562 target is little endian and -maltivec=be is not specified.
1563 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 1564 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
1565 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
1566 target is little endian and -maltivec=be is not specified.
1567 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 1568 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
1569 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
1570 little endian and -maltivec=be is not specified.
1571 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
1572 little endian and -maltivec=be is not specified.
1573
004a7e45 15742014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
1575
1576 PR debug/52727
1577 * combine-stack-adj.c: Revert r206943.
1578 * sched-int.h (struct deps_desc): Add last_args_size.
1579 * sched-deps.c (init_deps): Initialize it.
1580 (sched_analyze_insn): Add OUTPUT dependencies between insns that
1581 contain REG_ARGS_SIZE notes.
1582
f300e7b8
JH
15832014-02-05 Jan Hubicka <hubicka@ucw.cz>
1584
1585 * lto-cgraph.c (asm_nodes_output): Make global.
1586 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 1587 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
1588 (driver_handle_option): Handle OPT_fwpa.
1589
609524d2
JJ
15902014-02-05 Jakub Jelinek <jakub@redhat.com>
1591
add5c763
JJ
1592 PR ipa/59947
1593 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
1594 a comment typo and formatting issue. If odr_hash hasn't been
1595 created, return vNULL and set *completep to false.
1596
609524d2
JJ
1597 PR middle-end/57499
1598 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
1599 bb with no successors.
1600
05ab6e21
JG
16012014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
1602
1603 PR target/59718
1604 * doc/invoke.texi (-march): Clarify documentation for ARM.
1605 (-mtune): Likewise.
1606 (-mcpu): Likewise.
1607
d55d9ed0
RB
16082014-02-05 Richard Biener <rguenther@suse.de>
1609
1610 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
1611 when not vectorizing because of too many alias checks.
1612 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
1613 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
1614
c70da878
NC
16152014-02-05 Nick Clifton <nickc@redhat.com>
1616
1617 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 1618 accept extended registers in any mode when compiling for the MN10300.
c70da878 1619
25a07c7e
YG
16202014-02-05 Yury Gribov <y.gribov@samsung.com>
1621
1622 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
1623 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
1624 sanitization attributes.
1625 (can_inline_edge_p): Likewise.
1626 (sanitize_attrs_match_for_inline_p): New function.
1627
4bf2a588
JH
16282014-02-04 Jan Hubicka <hubicka@ucw.cz>
1629
1630 * ipa-prop.c (detect_type_change): Shor circuit testing of
1631 type changes on THIS pointer.
1632
d92f4df0
JDA
16332014-02-04 John David Anglin <danglin@gcc.gnu.org>
1634
1635 PR target/59777
1636 * config/pa/pa.c (legitimize_tls_address): Return original address
1637 if not passed a SYMBOL_REF rtx.
1638 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
1639 addresses.
1640 (pa_emit_move_sequence): Simplify TLS source operands.
1641 (pa_legitimate_constant_p): Reject all TLS constants.
1642 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
1643 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
1644
d665f8dd
JH
16452014-02-04 Jan Hubicka <hubicka@ucw.cz>
1646
1647 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
1648 groups when we know they are controlled by LTO.
1649 * varasm.c (default_binds_local_p_1): If object is in other partition,
1650 it will be resolved locally.
1651
6a071860
BE
16522014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
1653
e2fc3b4f 1654 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 1655 use SSIZE_MAX because it is not always defined.
6a071860 1656
8e9d68a9
VM
16572014-02-04 Vladimir Makarov <vmakarov@redhat.com>
1658
1659 PR bootstrap/59913
1660 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
1661 threshold for pseudo splitting.
1662 (update_ebb_live_info): Process call argument hard registers and
1663 hard registers from insn definition too.
1664 (max_small_class_regs_num): New constant.
1665 (inherit_in_ebb): Update live hard regs through EBBs. Update
1666 reloads_num only for small register classes. Don't split for
1667 outputs of jumps.
1668
8472fa80
MT
16692014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
1670
1671 PR ipa/60058
1672 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
1673 is non-null.
1674
df98e37f
JH
16752014-02-04 Jan Hubicka <hubicka@ucw.cz>
1676
1287ae50
UB
1677 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
1678 visibility is safe.
df98e37f 1679
71e55f04
MP
16802014-02-04 Marek Polacek <polacek@redhat.com>
1681
1682 * gdbinit.in (pel): Define.
1683
229e56f9
BE
16842014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
1685
1686 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
1687 behavior.
1688
c39276b8
RB
16892014-02-04 Richard Biener <rguenther@suse.de>
1690
1691 PR lto/59723
1692 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
1693 in function context local.
1694 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
1695 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
1696 similar to LTO_imported_decl_ref.
1697
66b3ed5f
JJ
16982014-02-04 Jakub Jelinek <jakub@redhat.com>
1699
029ce7a2
JJ
1700 PR tree-optimization/60002
1701 * cgraphclones.c (build_function_decl_skip_args): Clear
1702 DECL_LANG_SPECIFIC.
1703
8e91d222
JJ
1704 PR tree-optimization/60023
1705 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
1706 false to gsi_replace.
1707 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
1708 has been in some EH region and vec_stmt could throw, add
1709 vec_stmt into the same EH region.
1710 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
1711 has no lhs, ignore it.
1712 * internal-fn.c (expand_MASK_LOAD): Likewise.
1713
eb259c4a
JJ
1714 PR ipa/60026
1715 * tree-inline.c (copy_forbidden): Fail for
1716 __attribute__((optimize (0))) functions.
1717
92d05580
JJ
1718 PR other/58712
1719 * omp-low.c (simd_clone_struct_copy): If from->inbranch
1720 is set, copy one less argument.
30540e79
JJ
1721 (expand_simd_clones): Don't subtract clone_info->inbranch
1722 from simd_clone_struct_alloc argument.
92d05580 1723
be3afd67
JJ
1724 PR rtl-optimization/57915
1725 * recog.c (simplify_while_replacing): If all unary/binary/relational
1726 operation arguments are constant, attempt to simplify those.
1727
66b3ed5f
JJ
1728 PR middle-end/59261
1729 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
1730 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
1731
5961d779
RB
17322014-02-04 Richard Biener <rguenther@suse.de>
1733
1734 PR tree-optimization/60012
1735 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
1736 TBAA disambiguation to all DDRs.
1737
91da0481
RO
17382014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1739
1740 PR target/59788
1741 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
1742 (LINK_SPEC): Use it for -shared, -shared-libgcc.
1743
39960d1c
JH
17442014-02-03 Jan Hubicka <hubicka@ucw.cz>
1745
1746 PR ipa/59882
1747 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
1748
17492014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
1750
1751 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
1752 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
1753
39960d1c 17542014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
1755
1756 PR ipa/59831
1757 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
1758 to figure out targets of polymorphic calls with known decl.
1759 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1760 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
1761 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
1762 (get_polymorphic_call_info): ... here.
1763 (get_polymorphic_call_info_from_invariant): New function.
1764
39960d1c 17652014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
1766
1767 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
1768 lookup via vtable pointer; check for type consistency
1769 and turn inconsitent facts into UNREACHABLE.
1770 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
1771 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
1772 type inconsistent querries; return UNREACHABLE instead.
9de2f554 1773
ade3ff24
RH
17742014-02-03 Richard Henderson <rth@twiddle.net>
1775
1776 PR tree-opt/59924
1777 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
1778 already processed this node.
1779 (normalize_one_pred_1): Pass along mark_set.
1780 (normalize_one_pred): Create and destroy a pointer_set_t.
1781 (normalize_one_pred_chain): Likewise.
1782
55428cc3
LA
17832014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
1784
1785 PR gcov-profile/58602
1287ae50 1786 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 1787
85942f45
JH
17882014-02-03 Jan Hubicka <hubicka@ucw.cz>
1789
1790 PR ipa/59831
1287ae50
UB
1791 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
1792 -fno-devirtualize; try to devirtualize by the knowledge of
1793 virtual table pointer given by aggregate propagation.
85942f45 1794 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 1795 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
1796 is relevant for polymorphic calls.
1797 (determine_known_aggregate_parts): Add arg_type parameter; use it
1798 instead of determining the type from pointer type.
1799 (ipa_compute_jump_functions_for_edge): Update call of
1800 determine_known_aggregate_parts.
1801 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
1802 (gimple_get_virt_method_for_binfo): ... here; simplify using
1803 vtable_pointer_value_to_vtable.
1804 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
1805 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 1806 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
1807 (vtable_pointer_value_to_vtable): Break out from ...; handle also
1808 POINTER_PLUS_EXPR.
1809 (vtable_pointer_value_to_binfo): ... here.
1810 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
1811
bddc974e
TJ
18122014-02-03 Teresa Johnson <tejohnson@google.com>
1813
1814 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
1815 redef of outer loop index variable.
1816
5d77fb19
MG
18172014-02-03 Marc Glisse <marc.glisse@inria.fr>
1818
1819 PR c++/53017
1820 PR c++/59211
1821 * doc/extend.texi (Function Attributes): Typo.
1822
cf5b2be2
CH
18232014-02-03 Cong Hou <congh@google.com>
1824
1825 PR tree-optimization/60000
1826 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
1827 if the vectorized statement is a store. A store statement can only
1828 appear at the end of pattern statements.
1829
a2a1ddb5
L
18302014-02-03 H.J. Lu <hongjiu.lu@intel.com>
1831
1832 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
1833 (ix86_option_override_internal): Default long double to 64-bit for
1834 32-bit Bionic and to 128-bit for 64-bit Bionic.
1835
1836 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
1837 TARGET_LONG_DOUBLE_128 is true.
1838 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
1839
1840 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
1841 (mlong-double-64): Negate -mlong-double-128.
1842 (mlong-double-128): New option.
1843
1844 * config/i386/i386-c.c (ix86_target_macros): Define
1845 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
1846
1847 * doc/invoke.texi: Document -mlong-double-128.
1848
f742cf90
L
18492014-02-03 H.J. Lu <hongjiu.lu@intel.com>
1850
1851 PR rtl-optimization/60024
1852 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
1853
8f36fd30
MT
18542014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
1855
1287ae50 1856 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 1857
861ec4f3
AB
18582014-02-03 Andrey Belevantsev <abel@ispras.ru>
1859
1860 PR rtl-optimization/57662
1861 * sel-sched.c (code_motion_path_driver): Do not mark already not
1862 existing blocks in the visiting bitmap.
1863
fe08255d
AB
18642014-02-03 Andrey Belevantsev <abel@ispras.ru>
1865
1866 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
1867 on the insn being emitted.
1868
96d3a240
JG
18692014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
1870 Will Deacon <will.deacon@arm.com>
1871
1872 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
1873
9dd6c9f7
KT
18742014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1875
1876 * config/arm/arm-tables.opt: Regenerate.
1877
60331d00
BS
18782014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1879
1880 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
1881 for vector types other than V16QImode.
1882 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
1883 define_expand, and call altivec_expand_vec_perm_le when producing
1884 code with little endian element order.
1885 (*altivec_vperm_<mode>_internal): New insn having previous
1886 behavior of altivec_vperm_<mode>.
1887 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
1888 altivec_expand_vec_perm_le when producing code with little endian
1889 element order.
1890 (*altivec_vperm_<mode>_uns_internal): New insn having previous
1891 behavior of altivec_vperm_<mode>_uns.
1892
b80afde9
BS
18932014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1894
1895 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
1896 (altivec_vsumsws): Add handling for -maltivec=be with a little
1897 endian target.
1898 (altivec_vsumsws_direct): New.
1899 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
1900 gen_altivec_vsumsws.
1901
39960d1c 19022014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
1903
1904 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
1905 vtable_pointer_value_to_binfo): New functions.
1906 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
1907 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
1908
02b67731
SL
19092014-02-02 Sandra Loosemore <sandra@codesourcery.com>
1910
1911 * config/nios2/nios2.md (load_got_register): Initialize GOT
1912 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
1913 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
1914
2ace77c2
JH
19152014-02-02 Jan Hubicka <hubicka@ucw.cz>
1916
1917 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
1918 preserverd by passthrough, do not propagate the type.
1919
70b2d364
RS
19202014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
1921
1922 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
1923 (mips_atomic_assign_expand_fenv): New function.
1924 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
1925
a90c0245
RS
19262014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
1927
1928 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
1929 (__builtin_mips_set_fcsr): Likewise.
1930 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
1931 MIPS_USI_FTYPE_VOID.
1932 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
1933 (mips16_expand_set_fcsr): Likewise.
1934 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
1935 (mips16_set_fcsr_stub): Likewise.
1936 (mips16_get_fcsr_one_only_stub): New class.
1937 (mips16_set_fcsr_one_only_stub): Likewise.
1938 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
1939 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
1940 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
1941 (hard_float): New availability predicate.
1942 (mips_builtins): Add get_fcsr and set_fcsr.
1943 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
1944 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
1945 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
1946 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
1947 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
1948 patterns.
1949
6d51cc90
RS
19502014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
1951
1952 * config/mips/mips.c (mips_one_only_stub): New class.
1953 (mips_need_mips16_rdhwr_p): Replace with...
1954 (mips16_rdhwr_stub): ...this new variable.
1955 (mips16_stub_call_address): New function.
1956 (mips16_rdhwr_one_only_stub): New class.
1957 (mips_expand_thread_pointer): Use mips16_stub_call_address.
1958 (mips_output_mips16_rdhwr): Delete.
1959 (mips_finish_stub): New function.
1960 (mips_code_end): Use it to handle rdhwr stubs.
1961
6c90f137
UB
19622014-02-02 Uros Bizjak <ubizjak@gmail.com>
1963
1964 PR target/60017
1965 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
1966 when calculating size of integer atomic types.
1967
5e64bbbb
L
19682014-02-02 H.J. Lu <hongjiu.lu@intel.com>
1969
1970 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
1971
021293cb
JJ
19722014-02-01 Jakub Jelinek <jakub@redhat.com>
1973
1974 PR tree-optimization/60003
1975 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
1976 * profile.c (branch_prob): Use gimple_call_builtin_p
1977 to check for BUILT_IN_SETJMP_RECEIVER.
1978 * tree-inline.c (copy_bb): Call notice_special_calls.
1979
6334f3e9
VM
19802014-01-31 Vladimir Makarov <vmakarov@redhat.com>
1981
1982 PR bootstrap/59985
1983 * lra-constraints.c (process_alt_operands): Update reload_sum only
1984 on the first pass.
1985
efa7882f
RH
19862014-01-31 Richard Henderson <rth@redhat.com>
1987
1988 PR middle-end/60004
1989 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
1990 until after else_eh is processed.
1991
de72ea02
IT
19922014-01-31 Ilya Tocar <ilya.tocar@intel.com>
1993
1994 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
1995 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
1996 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
1997 in smmintrin.h, remove them.
1998 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
1999 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
2000 * config/i386/i386.md (ROUND_SAE): Fix value.
2001 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
2002 (const48_operand): New.
2003 * config/i386/subst.md (round), (round_expand): Use
2004 const_4_or_8_to_11_operand.
2005 (round_saeonly), (round_saeonly_expand): Use const48_operand.
2006
be792bce
IT
20072014-01-31 Ilya Tocar <ilya.tocar@intel.com>
2008
2009 * config/i386/constraints.md (Yk): Swap meaning with k.
2010 * config/i386/i386.md (movhi_internal): Change Yk to k.
2011 (movqi_internal): Ditto.
2012 (*k<logic><mode>): Ditto.
2013 (*andhi_1): Ditto.
2014 (*andqi_1): Ditto.
2015 (kandn<mode>): Ditto.
2016 (*<code>hi_1): Ditto.
2017 (*<code>qi_1): Ditto.
2018 (kxnor<mode>): Ditto.
2019 (kortestzhi): Ditto.
2020 (kortestchi): Ditto.
2021 (kunpckhi): Ditto.
2022 (*one_cmplhi2_1): Ditto.
2023 (*one_cmplqi2_1): Ditto.
2024 * config/i386/sse.md (): Change k to Yk.
2025 (avx512f_load<mode>_mask): Ditto.
2026 (avx512f_blendm<mode>): Ditto.
2027 (avx512f_store<mode>_mask): Ditto.
2028 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
2029 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
2030 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
2031 Ditto.
be792bce
IT
2032 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
2033 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
2034 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
2035 (avx512f_maskcmp<mode>3): Ditto.
2036 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
2037 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
2038 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
2039 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
2040 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
2041 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
2042 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
2043 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
2044 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
2045 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
2046 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
2047 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
2048 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
2049 (vec_extract_lo_<mode>_maskm): Ditto.
2050 (vec_extract_hi_<mode>_maskm): Ditto.
2051 (avx512f_vternlog<mode>_mask): Ditto.
2052 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
2053 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
2054 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
2055 (avx512f_<code>v8div16qi2_mask): Ditto.
2056 (avx512f_<code>v8div16qi2_mask_store): Ditto.
2057 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
2058 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
2059 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
2060 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
2061 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
2062 (*avx512pf_gatherpf<mode>df_mask): Ditto.
2063 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
2064 (*avx512pf_scatterpf<mode>df_mask): Ditto.
2065 (avx512cd_maskb_vec_dupv8di): Ditto.
2066 (avx512cd_maskw_vec_dupv16si): Ditto.
2067 (avx512f_vpermi2var<mode>3_maskz): Ditto.
2068 (avx512f_vpermi2var<mode>3_mask): Ditto.
2069 (avx512f_vpermi2var<mode>3_mask): Ditto.
2070 (avx512f_vpermt2var<mode>3_maskz): Ditto.
2071 (*avx512f_gathersi<mode>): Ditto.
2072 (*avx512f_gathersi<mode>_2): Ditto.
2073 (*avx512f_gatherdi<mode>): Ditto.
2074 (*avx512f_gatherdi<mode>_2): Ditto.
2075 (*avx512f_scattersi<mode>): Ditto.
2076 (*avx512f_scatterdi<mode>): Ditto.
2077 (avx512f_compress<mode>_mask): Ditto.
2078 (avx512f_compressstore<mode>_mask): Ditto.
2079 (avx512f_expand<mode>_mask): Ditto.
2080 * config/i386/subst.md (mask): Change k to Yk.
2081 (mask_scalar_merge): Ditto.
2082 (sd): Ditto.
2083
0878d68a
MG
20842014-01-31 Marc Glisse <marc.glisse@inria.fr>
2085
2086 * doc/extend.texi (Vector Extensions): Document ?: in C++.
2087
fdfd537b
RB
20882014-01-31 Richard Biener <rguenther@suse.de>
2089
2090 PR middle-end/59990
2091 * builtins.c (fold_builtin_memory_op): Make sure to not
2092 use a floating-point mode or a boolean or enumeral type for
2093 the copy operation.
2094
4f50b9ff
DD
20952014-01-30 DJ Delorie <dj@redhat.com>
2096
2097 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
2098 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
2099 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
2100 whenever main() has an epilogue.
2101
c3e96073
BS
21022014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2103
2104 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
2105 unused variable "field".
2106 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
2107 (vsx_mergeh_<mode>): Likewise.
2108 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
2109 (altivec_vmrghh): Likewise.
2110 (altivec_vmrghw): Likewise.
2111 (altivec_vmrglb): Likewise.
2112 (altivec_vmrglh): Likewise.
2113 (altivec_vmrglw): Likewise.
2114 (altivec_vspltb): Add missing uses.
2115 (altivec_vsplth): Likewise.
2116 (altivec_vspltw): Likewise.
2117 (altivec_vspltsf): Likewise.
2118
4bb9c32d
JJ
21192014-01-30 Jakub Jelinek <jakub@redhat.com>
2120
2121 PR target/59923
2122 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
2123 frame related instructions.
2124
7613fa50
VM
21252014-01-30 Vladimir Makarov <vmakarov@redhat.com>
2126
2127 PR rtl-optimization/59959
2128 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
2129 any reload of register whose subreg is invalid.
2130
6fb82517
JJ
21312014-01-30 Jakub Jelinek <jakub@redhat.com>
2132
33425d6c 2133 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
2134 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
2135 Add missing return type - void.
2136
bf53d4b8
BS
21372014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2138
2139 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
2140 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
2141 remove element index adjustment for endian (now handled in vsx.md
2142 and altivec.md).
2143 (altivec_expand_vec_perm_const): Use
2144 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
2145 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
2146 (vsx_xxspltw_<mode>): Adjust element index for little endian.
2147 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
2148 define_expand and a new define_insn *altivec_vspltb_internal;
2149 adjust for -maltivec=be on a little endian target.
2150 (altivec_vspltb_direct): New.
2151 (altivec_vsplth): Divide into a define_expand and a new
2152 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
2153 little endian target.
2154 (altivec_vsplth_direct): New.
2155 (altivec_vspltw): Divide into a define_expand and a new
2156 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
2157 little endian target.
2158 (altivec_vspltw_direct): New.
2159 (altivec_vspltsf): Divide into a define_expand and a new
2160 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
2161 a little endian target.
2162
c965e187
RB
21632014-01-30 Richard Biener <rguenther@suse.de>
2164
2165 PR tree-optimization/59993
2166 * tree-ssa-forwprop.c (associate_pointerplus): Check we
2167 can propagate form the earlier stmt and avoid the transform
2168 when the intermediate result is needed.
2169
ba117645
AD
21702014-01-30 Alangi Derick <alangiderick@gmail.com>
2171
2172 * README.Portability: Fix typo.
2173
29bd5728
DH
21742014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
2175
2176 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
2177 comparison_operator with ordered_comparison_operator.
2178
c345a0b1
NC
21792014-01-30 Nick Clifton <nickc@redhat.com>
2180
2181 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
2182 Rename to mn10300_store_multiple_regs.
2183 * config/mn10300/mn10300.c: Likewise.
2184 * config/mn10300/mn10300.md (store_movm): Fix typo: call
2185 store_multiple_regs.
2186 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
2187 Call mn10300_store_multiple_regs.
2188
2d70f6d4
NC
21892014-01-30 Nick Clifton <nickc@redhat.com>
2190 DJ Delorie <dj@redhat.com>
2191
2192 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
2193 %fp 2 to keep registers after it properly word-aligned.
2194 (rl78_alloc_physical_registers_umul): Handle the case where both
2195 input operands are the same.
2196
c972624e
RB
21972014-01-30 Richard Biener <rguenther@suse.de>
2198
2199 PR tree-optimization/59903
2200 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
2201 check properly.
2202
fc044323
JM
22032014-01-30 Jason Merrill <jason@redhat.com>
2204
404c2aea
JM
2205 PR c++/59633
2206 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
2207
fc044323
JM
2208 PR c++/59645
2209 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
2210
f30a0ba5
RB
22112014-01-30 Richard Biener <rguenther@suse.de>
2212
2213 PR tree-optimization/59951
33425d6c 2214 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 2215
aad8816f
SZ
22162014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
2217
2218 PR target/59784
2219 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
2220 SFmode to DFmode case.
2221
3b16363e
DD
22222014-01-29 DJ Delorie <dj@redhat.com>
2223
2224 * config/msp430/msp430.opt (-minrt): New.
2225 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
2226 if -minrt given.
2227 (ENDFILE_SPEC): Likewise.
2228
39960d1c 22292014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
2230
2231 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
2232 (estimate_function_body_sizes): Use it.
2233
1200933c
PC
22342014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
2235
2236 PR c++/58561
2237 * dwarf2out.c (is_cxx_auto): New.
2238 (is_base_type): Use it.
2239 (gen_type_die_with_usage): Likewise.
2240
68d3bacf
BS
22412014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2242
2243 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
2244 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
2245 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
2246 -maltivec=be with LE targets.
2247 (vsx_mergeh_<mode>): Likewise.
33425d6c 2248 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
2249 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
2250 (altivec_vmrghb): Replace with define_expand and new
33425d6c 2251 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
2252 (altivec_vmrghb_direct): New define_insn.
2253 (altivec_vmrghh): Replace with define_expand and new
33425d6c 2254 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
2255 (altivec_vmrghh_direct): New define_insn.
2256 (altivec_vmrghw): Replace with define_expand and new
33425d6c 2257 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
2258 (altivec_vmrghw_direct): New define_insn.
2259 (*altivec_vmrghsf): Adjust for endianness.
2260 (altivec_vmrglb): Replace with define_expand and new
33425d6c 2261 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
2262 (altivec_vmrglb_direct): New define_insn.
2263 (altivec_vmrglh): Replace with define_expand and new
33425d6c 2264 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
2265 (altivec_vmrglh_direct): New define_insn.
2266 (altivec_vmrglw): Replace with define_expand and new
33425d6c 2267 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
2268 (altivec_vmrglw_direct): New define_insn.
2269 (*altivec_vmrglsf): Adjust for endianness.
2270 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
2271 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
2272 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
2273 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
2274 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
2275 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
2276 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
2277 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
2278
aef66c94
MS
22792014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
2280
2281 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
2282 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
2283 whitespace.
2284
77574c35
RB
22852014-01-29 Richard Biener <rguenther@suse.de>
2286
2287 PR tree-optimization/58742
2288 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
2289 associate_pointerplus_align.
2290 (associate_pointerplus_diff): New function.
2291 (associate_pointerplus): Likewise. Call associate_pointerplus_align
2292 and associate_pointerplus_diff.
2293
15b25b24
RB
22942014-01-29 Richard Biener <rguenther@suse.de>
2295
2296 * lto-streamer.h (LTO_major_version): Bump to 3.
2297 (LTO_minor_version): Reset to 0.
2298
eb6006ad
RL
22992014-01-29 Renlin Li <Renlin.Li@arm.com>
2300
2301 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
2302 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
2303 (arm_file_start): Generate correct asm header for armv7ve.
2304 * config/arm/bpabi.h: Add multilib support for armv7ve.
2305 * config/arm/driver-arm.c: Change the architectures of cortex-a7
2306 and cortex-a15 to armv7ve.
2307 * config/arm/t-aprofile: Add multilib support for armv7ve.
2308 * doc/invoke.texi: Document -march=armv7ve.
2309
4bfb2fa2
RB
23102014-01-29 Richard Biener <rguenther@suse.de>
2311
2312 PR tree-optimization/58742
2313 * tree-ssa-forwprop.c (associate_plusminus): Return true
2314 if we changed sth, defer EH cleanup to ...
2315 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
2316 (simplify_mult): New function.
2317
42eb8bd1
JJ
23182014-01-29 Jakub Jelinek <jakub@redhat.com>
2319
09b22f48
JJ
2320 PR middle-end/59917
2321 PR tree-optimization/59920
2322 * tree.c (build_common_builtin_nodes): Remove
2323 __builtin_setjmp_dispatcher initialization.
2324 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
2325 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
2326 instead of gsi_after_labels + manually skipping debug stmts.
2327 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
2328 ignore bbs with IFN_ABNORMAL_DISPATCHER.
2329 * tree-inline.c (copy_edges_for_bb): Remove
2330 can_make_abnormal_goto argument, instead add abnormal_goto_dest
2331 argument. Ignore computed_goto_p stmts. Don't call
2332 make_abnormal_goto_edges. If a call might need abnormal edges
2333 for non-local gotos, see if it already has an edge to
2334 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
2335 with true argument, don't do anything then, otherwise add
2336 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
2337 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
2338 caller.
2339 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
2340 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
2341 (lower_stmt): Don't set data->calls_builtin_setjmp.
2342 (lower_builtin_setjmp): Adjust comment.
2343 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
2344 * tree-cfg.c (found_computed_goto): Remove.
2345 (factor_computed_gotos): Remove.
2346 (make_goto_expr_edges): Return bool, true for computed gotos.
2347 Don't call make_abnormal_goto_edges.
2348 (build_gimple_cfg): Don't set found_computed_goto, don't call
2349 factor_computed_gotos.
2350 (computed_goto_p): No longer static.
2351 (make_blocks): Don't set found_computed_goto.
2352 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
2353 (make_edges): If make_goto_expr_edges returns true, push bb
2354 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
2355 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
2356 vector. Record mapping between bbs and OpenMP regions if there
2357 are any, adjust make_gimple_omp_edges caller. Call
2358 handle_abnormal_edges.
2359 (make_abnormal_goto_edges): Remove.
2360 * tree-cfg.h (make_abnormal_goto_edges): Remove.
2361 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
2362 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 2363 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
2364 * internal-fn.def (ABNORMAL_DISPATCHER): New.
2365 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
2366 filling *region also set *region_idx to (*region)->entry->index.
2367
42eb8bd1
JJ
2368 PR other/58712
2369 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
2370 For REGs set ORIGINAL_REGNO.
2371
4a271b7e
BM
23722014-01-29 Bingfeng Mei <bmei@broadcom.com>
2373
33425d6c 2374 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
2375 vec_widen_(s|u)mul_even/odd pair if it is less efficient
2376 than hi/lo pair.
2377
3d54b29d
JJ
23782014-01-29 Jakub Jelinek <jakub@redhat.com>
2379
2380 PR tree-optimization/59594
2381 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
2382 a copy of the datarefs vector rather than the vector itself.
2383
2e5e7103
JM
23842014-01-28 Jason Merrill <jason@redhat.com>
2385
2386 PR c++/53756
2387 * dwarf2out.c (auto_die): New static.
2388 (gen_type_die_with_usage): Handle C++1y 'auto'.
2389 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
2390 on definition.
2391
d5d618b5
L
23922014-01-28 H.J. Lu <hongjiu.lu@intel.com>
2393
2394 PR target/59672
2395 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
2396 (SPEC_X32): Likewise.
2397 (SPEC_64): Likewise.
2398 * config/i386/i386.c (ix86_option_override_internal): Turn off
2399 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
2400 for TARGET_16BIT.
2401 (x86_file_start): Output .code16gcc for TARGET_16BIT.
2402 * config/i386/i386.h (TARGET_16BIT): New macro.
2403 (TARGET_16BIT_P): Likewise.
2404 * config/i386/i386.opt: Add m16.
2405 * doc/invoke.texi: Document -m16.
2406
367c8286
DS
24072014-01-28 Jakub Jelinek <jakub@redhat.com>
2408
2409 PR preprocessor/59935
2410 * input.c (location_get_source_line): Bail out on when line number
33425d6c 2411 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 2412
07ec81f9
RB
24132014-01-28 Richard Biener <rguenther@suse.de>
2414
2415 PR tree-optimization/58742
2416 * tree-ssa-forwprop.c (associate_plusminus): Handle
2417 pointer subtraction of the form (T)(P + A) - (T)P.
2418
5facb998
KT
24192014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2420
2421 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
2422 at const_int_cost.
2423
e04faf24
RB
24242014-01-28 Richard Biener <rguenther@suse.de>
2425
2426 Revert
2427 2014-01-28 Richard Biener <rguenther@suse.de>
2428
2429 PR rtl-optimization/45364
2430 PR rtl-optimization/59890
2431 * var-tracking.c (local_get_addr_clear_given_value): Handle
2432 already cleared slot.
2433 (val_reset): Handle not allocated local_get_addr_cache.
2434 (vt_find_locations): Use post-order on the inverted CFG.
2435
6593260b
RB
24362014-01-28 Richard Biener <rguenther@suse.de>
2437
33425d6c 2438 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 2439
9ec2d2c1
RB
24402014-01-28 Richard Biener <rguenther@suse.de>
2441
2442 PR rtl-optimization/45364
2443 PR rtl-optimization/59890
2444 * var-tracking.c (local_get_addr_clear_given_value): Handle
2445 already cleared slot.
2446 (val_reset): Handle not allocated local_get_addr_cache.
2447 (vt_find_locations): Use post-order on the inverted CFG.
2448
2ceb362d
AM
24492014-01-28 Alan Modra <amodra@gmail.com>
2450
2451 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
2452 * configure.ac <recursive call for build != host>: Define
2453 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
2454 and LD_FOR_BUILD too.
2455 * configure: Regenerate.
2456
0ebe2584
ASJ
24572014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
2458
2459 * config/i386/i386.c (get_builtin_code_for_version): Separate
2460 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
2461 Broadwell from Haswell.
2462
a33fc7fe
SE
24632014-01-27 Steve Ellcey <sellcey@mips.com>
2464
2465 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
2466 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
2467 * config/mips/mips.c (mips_option_override): Change setting
2468 of TARGET_DSP.
2469 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
2470 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
2471 Change from Mask to Var.
a33fc7fe 2472
a99be3c9
JL
24732014-01-27 Jeff Law <law@redhat.com>
2474
2475 * ipa-inline.c (inline_small_functions): Fix typo.
2476
d256b866
IT
24772014-01-27 Ilya Tocar <ilya.tocar@intel.com>
2478
2479 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
2480 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
2481 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
2482 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
2483 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
2484 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
2485 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
2486 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
2487 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
2488 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
2489 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
2490 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
2491 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
2492 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
2493 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
2494 (_mm512_storeu_epi64): Ditto.
2495 (_mm512_cmpge_epi32_mask): Ditto.
2496 (_mm512_cmpge_epu32_mask): Ditto.
2497 (_mm512_cmpge_epi64_mask): Ditto.
2498 (_mm512_cmpge_epu64_mask): Ditto.
2499 (_mm512_cmple_epi32_mask): Ditto.
2500 (_mm512_cmple_epu32_mask): Ditto.
2501 (_mm512_cmple_epi64_mask): Ditto.
2502 (_mm512_cmple_epu64_mask): Ditto.
2503 (_mm512_cmplt_epi32_mask): Ditto.
2504 (_mm512_cmplt_epu32_mask): Ditto.
2505 (_mm512_cmplt_epi64_mask): Ditto.
2506 (_mm512_cmplt_epu64_mask): Ditto.
2507 (_mm512_cmpneq_epi32_mask): Ditto.
2508 (_mm512_cmpneq_epu32_mask): Ditto.
2509 (_mm512_cmpneq_epi64_mask): Ditto.
2510 (_mm512_cmpneq_epu64_mask): Ditto.
2511 (_mm512_expand_pd): Ditto.
2512 (_mm512_expand_ps): Ditto.
2513 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
2514 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
2515 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
2516 * config/i386/i386.c (ix86_builtins): Add
2517 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
2518 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
2519 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
2520 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
2521 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
2522 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
2523 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
2524 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
2525 IX86_BUILTIN_PMOVUSQW512_MEM.
2526 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
2527 __builtin_ia32_pmovsqd512mem_mask,
2528 __builtin_ia32_pmovqd512mem_mask,
2529 __builtin_ia32_pmovusqw512mem_mask,
2530 __builtin_ia32_pmovsqw512mem_mask,
2531 __builtin_ia32_pmovqw512mem_mask,
2532 __builtin_ia32_pmovusdw512mem_mask,
2533 __builtin_ia32_pmovsdw512mem_mask,
2534 __builtin_ia32_pmovdw512mem_mask,
2535 __builtin_ia32_pmovqb512mem_mask,
2536 __builtin_ia32_pmovusqb512mem_mask,
2537 __builtin_ia32_pmovsqb512mem_mask,
2538 __builtin_ia32_pmovusdb512mem_mask,
2539 __builtin_ia32_pmovsdb512mem_mask,
2540 __builtin_ia32_pmovdb512mem_mask.
2541 (bdesc_args): Add __builtin_ia32_expanddf512,
2542 __builtin_ia32_expandsf512.
2543 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
2544 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
2545 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
2546 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
2547 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
2548 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
2549 (avx512f_<code>v8div16qi2_mask_store): This.
2550 (avx512f_expand<mode>): New.
2551
e711dffd
KY
25522014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
2553
1287ae50 2554 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 2555 New.
e711dffd
KY
2556 (_mm512_mask_prefetch_i64gather_pd): Ditto.
2557 (_mm512_prefetch_i32scatter_pd): Ditto.
2558 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
2559 (_mm512_prefetch_i64scatter_pd): Ditto.
2560 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
2561 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
2562 (_mm512_mask_prefetch_i64gather_ps): Ditto.
2563 (_mm512_prefetch_i32scatter_ps): Ditto.
2564 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
2565 (_mm512_prefetch_i64scatter_ps): Ditto.
2566 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
2567 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
2568 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
2569 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
2570 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
2571 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
2572 IX86_BUILTIN_SCATTERPFQPD.
2573 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
2574 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
2575 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
2576 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
2577 __builtin_ia32_scatterpfqps.
2578 (ix86_expand_builtin): Expand new built-ins.
2579 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
2580 fix memory access data type.
2581 (*avx512pf_gatherpf<mode>_mask): Ditto.
2582 (*avx512pf_gatherpf<mode>): Ditto.
2583 (avx512pf_scatterpf<mode>): Ditto.
2584 (*avx512pf_scatterpf<mode>_mask): Ditto.
2585 (*avx512pf_scatterpf<mode>): Ditto.
2586 (GATHER_SCATTER_SF_MEM_MODE): New.
2587 (avx512pf_gatherpf<mode>df): Ditto.
2588 (*avx512pf_gatherpf<mode>df_mask): Ditto.
2589 (*avx512pf_scatterpf<mode>df): Ditto.
2590
904e5ccd
JJ
25912014-01-27 Jakub Jelinek <jakub@redhat.com>
2592
2593 PR bootstrap/59934
2594 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
2595 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
2596 reached.
2597
84e90123
JG
25982014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
2599
2600 * common/config/arm/arm-common.c
2601 (arm_rewrite_mcpu): Handle multiple names.
2602 * config/arm/arm.h
2603 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
2604
c6f6157a
JG
26052014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
2606
2607 * gimple-builder.h (create_gimple_tmp): Delete.
2608
770516c9
CB
26092014-01-27 Christian Bruel <christian.bruel@st.com>
2610
2611 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
2612 words comparisons.
2613
cc5cec10
JDA
26142014-01-26 John David Anglin <danglin@gcc.gnu.org>
2615
5aa3c762
JDA
2616 * config/pa/pa.md (call): Generate indirect long calls to non-local
2617 functions when outputing 32-bit code.
2618 (call_value): Likewise except for special call to buggy powf function.
2619
cc5cec10
JDA
2620 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
2621 portable runtime and PIC indirect calls.
2622 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
2623 and PIC call sequences. Use ldo instead of blr to set return register
2624 in PIC call sequence.
2625
6bb0e248
WL
26262014-01-25 Walter Lee <walt@tilera.com>
2627
2628 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
2629 avoid clobbering a live register.
2630
dab03fe3
WL
26312014-01-25 Walter Lee <walt@tilera.com>
2632
770516c9 2633 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 2634 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 2635 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
2636 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
2637
905c20c1
WL
26382014-01-25 Walter Lee <walt@tilera.com>
2639
2640 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
2641 arguments on even registers.
2642 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
2643 STACK_BOUNDARY.
2644 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
2645 (BIGGEST_ALIGNMENT): Ditto.
2646 (BIGGEST_FIELD_ALIGNMENT): Ditto.
2647
8e90a625
WL
26482014-01-25 Walter Lee <walt@tilera.com>
2649
2650 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
2651 insns before bundling.
0ebe2584 2652 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 2653
450c1ffe
WL
26542014-01-25 Walter Lee <walt@tilera.com>
2655
2656 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
2657 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
2658 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 2659
450c1ffe 26602014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 2661
317a951f
RS
2662 * config/mips/constraints.md (kl): Delete.
2663 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
2664 define expands, using...
2665 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
2666 instructions for MIPS16.
2667 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
2668 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
2669
3abe9053
WL
26702014-01-25 Walter Lee <walt@tilera.com>
2671
0ebe2584 2672 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
2673 (clzdi2): Ditto.
2674 (ffsdi2): Ditto.
2675
b0e0fe41
WL
26762014-01-25 Walter Lee <walt@tilera.com>
2677
2678 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
2679 (TARGET_EXPAND_TO_RTL_HOOK): Define.
2680
2c8798a2
RS
26812014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
2682
2683 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
2684 Handle XOR.
2685
2105be5a
JJ
26862014-01-25 Jakub Jelinek <jakub@redhat.com>
2687
4def6060
JJ
2688 * print-rtl.c (in_call_function_usage): New var.
2689 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
2690 EXPR_LIST mode as mode and not as reg note name.
2691
2105be5a
JJ
2692 PR middle-end/59561
2693 * cfgloopmanip.c (copy_loop_info): If
2694 loop->warned_aggressive_loop_optimizations, make sure
2695 the flag is set in target loop too.
2696
b72271b9
BI
26972014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2698
2699 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
2700 flag_cilkplus.
2701 * builtins.def: Likewise.
2702 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
2703 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
2704 * ira.c (ira_setup_eliminable_regset): Likewise.
2705 * omp-low.c (gate_expand_omp): Likewise.
2706 (execute_lower_omp): Likewise.
2707 (diagnose_sb_0): Likewise.
2708 (gate_diagnose_omp_blocks): Likewise.
2709 (simd_clone_clauses_extract): Likewise.
2710 (gate): Likewise.
2711
8adcc78b
BS
27122014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2713
2714 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
2715 correction for little endian...
2716 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
2717 here.
2718
3d750496
JL
27192014-01-24 Jeff Law <law@redhat.com>
2720
2721 PR tree-optimization/59919
2722 * tree-vrp.c (find_assert_locations_1): Do not register asserts
2723 for non-returning calls.
2724
1c05df59
JG
27252014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
2726
2727 * common/config/aarch64/aarch64-common.c
2728 (aarch64_rewrite_mcpu): Handle multiple names.
2729 * config/aarch64/aarch64.h
2730 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
2731
317363b4
DS
27322014-01-24 Dodji Seketeli <dodji@redhat.com>
2733
2734 * input.c (add_file_to_cache_tab): Handle the case where fopen
2735 returns NULL.
2736
16370fa7
L
27372014-01-23 H.J. Lu <hongjiu.lu@intel.com>
2738
2739 PR target/59929
2740 * config/i386/i386.md (pushsf splitter): Get stack adjustment
2741 from push operand if code of push isn't PRE_DEC.
2742
b846c948
MM
27432014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
2744
2745 PR target/59909
2746 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
2747 -mquad-memory-atomic. Update -mquad-memory documentation to say
2748 it is only used for non-atomic loads/stores.
2749
2750 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
2751 -mquad-memory or -mquad-memory-atomic switches.
2752
2753 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
2754 -mquad-memory-atomic to ISA 2.07 support.
2755
2756 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
2757 to separate support of normal quad word memory operations (ldq, stq)
2758 from the atomic quad word memory operations.
b846c948
MM
2759
2760 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
2761 support to separate non-atomic quad word operations from atomic
2762 quad word operations. Disable non-atomic quad word operations in
2763 little endian mode so that we don't have to swap words after the
2764 load and before the store.
2765 (quad_load_store_p): Add comment about atomic quad word support.
2766 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
2767 options printed with -mdebug=reg.
2768
2769 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
2770 -mquad-memory-atomic as the test for whether we have quad word
2771 atomic instructions.
0ebe2584
ASJ
2772 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
2773 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
2774
2775 * config/rs6000/sync.md (load_lockedti): Insure that the address
2776 is a proper indexed or indirect address for the lqarx instruction.
2777 On little endian systems, swap the hi/lo registers after the lqarx
2778 instruction.
2779 (load_lockedpti): Use indexed_or_indirect_operand predicate to
2780 insure the address is valid for the lqarx instruction.
2781 (store_conditionalti): Insure that the address is a proper indexed
2782 or indirect address for the stqcrx. instruction. On little endian
2783 systems, swap the hi/lo registers before doing the stqcrx.
2784 instruction.
2785 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
2786 insure the address is valid for the stqcrx. instruction.
2787
2788 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
2789 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
2790 type of quad memory support is available.
2791
6e23f296
VM
27922014-01-23 Vladimir Makarov <vmakarov@redhat.com>
2793
2794 PR regression/59915
2795 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
2796 there is a danger of looping.
2797
0a4f04e5
PH
27982014-01-23 Pat Haugen <pthaugen@us.ibm.com>
2799
2800 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
2801 force flag_ira_loop_pressure if set via command line.
2802
f9a4c9a6
AV
28032014-01-23 Alex Velenko <Alex.Velenko@arm.com>
2804
2805 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
2806 (ashr_simd): New builtin handling DI mode.
2807 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
2808 (aarch64_sshr_simddi): New match pattern.
2809 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
2810 (vshrd_n_s64): Likewise.
2811 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
2812
949ad971
NC
28132014-01-23 Nick Clifton <nickc@redhat.com>
2814
2815 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
2816 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
2817 favour of mcu specific scripts.
2818 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
2819 430x multilibs.
2820
d5ecead9
JG
28212014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
2822 Alex Velenko <Alex.Velenko@arm.com>
2823
2824 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
2825 (vaddv_s16): Likewise.
2826 (vaddv_s32): Likewise.
2827 (vaddv_u8): Likewise.
2828 (vaddv_u16): Likewise.
2829 (vaddv_u32): Likewise.
2830 (vaddvq_s8): Likewise.
2831 (vaddvq_s16): Likewise.
2832 (vaddvq_s32): Likewise.
2833 (vaddvq_s64): Likewise.
2834 (vaddvq_u8): Likewise.
2835 (vaddvq_u16): Likewise.
2836 (vaddvq_u32): Likewise.
2837 (vaddvq_u64): Likewise.
2838 (vaddv_f32): Likewise.
2839 (vaddvq_f32): Likewise.
2840 (vaddvq_f64): Likewise.
2841 (vmaxv_f32): Likewise.
2842 (vmaxv_s8): Likewise.
2843 (vmaxv_s16): Likewise.
2844 (vmaxv_s32): Likewise.
2845 (vmaxv_u8): Likewise.
2846 (vmaxv_u16): Likewise.
2847 (vmaxv_u32): Likewise.
2848 (vmaxvq_f32): Likewise.
2849 (vmaxvq_f64): Likewise.
2850 (vmaxvq_s8): Likewise.
2851 (vmaxvq_s16): Likewise.
2852 (vmaxvq_s32): Likewise.
2853 (vmaxvq_u8): Likewise.
2854 (vmaxvq_u16): Likewise.
2855 (vmaxvq_u32): Likewise.
2856 (vmaxnmv_f32): Likewise.
2857 (vmaxnmvq_f32): Likewise.
2858 (vmaxnmvq_f64): Likewise.
2859 (vminv_f32): Likewise.
2860 (vminv_s8): Likewise.
2861 (vminv_s16): Likewise.
2862 (vminv_s32): Likewise.
2863 (vminv_u8): Likewise.
2864 (vminv_u16): Likewise.
2865 (vminv_u32): Likewise.
2866 (vminvq_f32): Likewise.
2867 (vminvq_f64): Likewise.
2868 (vminvq_s8): Likewise.
2869 (vminvq_s16): Likewise.
2870 (vminvq_s32): Likewise.
2871 (vminvq_u8): Likewise.
2872 (vminvq_u16): Likewise.
2873 (vminvq_u32): Likewise.
2874 (vminnmv_f32): Likewise.
2875 (vminnmvq_f32): Likewise.
2876 (vminnmvq_f64): Likewise.
2877
1dd055a2
JG
28782014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
2879
2880 * config/aarch64/aarch64-simd.md
2881 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
2882 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
2883 (*aarch64_mul3_elt<mode>): Likewise.
2884 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
2885 (*aarch64_mul3_elt_to_64v2df): Likewise.
2886 (*aarch64_mla_elt<mode>): Likewise.
2887 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
2888 (*aarch64_mls_elt<mode>): Likewise.
2889 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
2890 (*aarch64_fma4_elt<mode>): Likewise.
2891 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
2892 (*aarch64_fma4_elt_to_64v2df): Likewise.
2893 (*aarch64_fnma4_elt<mode>): Likewise.
2894 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
2895 (*aarch64_fnma4_elt_to_64v2df): Likewise.
2896 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
2897 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
2898 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
2899 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
2900 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
2901 (aarch64_sqdmull_lane<mode>_internal): Likewise.
2902 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
2903
dafb9b64
AV
29042013-01-23 Alex Velenko <Alex.Velenko@arm.com>
2905
2906 * config/aarch64/aarch64-simd.md
2907 (aarch64_be_checked_get_lane<mode>): New define_expand.
2908 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 2909 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
2910 New builtin definition.
2911 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
2912 Use new safe be builtin.
2913
89b4515c
AV
29142014-01-23 Alex Velenko <Alex.Velenko@arm.com>
2915
2916 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
2917 New define_insn.
2918 (aarch64_be_st1<mode>): Likewise.
2919 (aarch_ld1<VALL:mode>): Define_expand modified.
2920 (aarch_st1<VALL:mode>): Likewise.
2921 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
2922 (UNSPEC_ST1): Likewise.
2923
f3eeb82c
DH
29242014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
2925
2926 * config/microblaze/microblaze.md: Add trap insn and attribute
2927
7ecc3eb9
DS
29282014-01-23 Dodji Seketeli <dodji@redhat.com>
2929
2930 PR preprocessor/58580
2931 * input.h (location_get_source_line): Take an additional line_size
2932 parameter.
2933 (void diagnostics_file_cache_fini): Declare new function.
2934 * input.c (struct fcache): New type.
2935 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
2936 New static constants.
2937 (diagnostic_file_cache_init, total_lines_num)
2938 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
2939 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
2940 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
2941 (get_next_line, read_next_line, goto_next_line, read_line_num):
2942 New static function definitions.
2943 (diagnostic_file_cache_fini): New function.
2944 (location_get_source_line): Take an additional output line_len
2945 parameter. Re-write using lookup_or_add_file_to_cache_tab and
2946 read_line_num.
2947 * diagnostic.c (diagnostic_finish): Call
2948 diagnostic_file_cache_fini.
2949 (adjust_line): Take an additional input parameter for the length
2950 of the line, rather than calculating it with strlen.
2951 (diagnostic_show_locus): Adjust the use of
2952 location_get_source_line and adjust_line with respect to their new
2953 signature. While displaying a line now, do not stop at the first
2954 null byte. Rather, display the zero byte as a space and keep
2955 going until we reach the size of the line.
2956 * Makefile.in: Add vec.o to OBJS-libcommon
2957
2196a885
KY
29582014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
2959 Ilya Tocar <ilya.tocar@intel.com>
2960
2961 * config/i386/avx512fintrin.h (_mm512_kmov): New.
2962 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
2963 (__builtin_ia32_kmov16): Ditto.
2964 * config/i386/i386.md (UNSPEC_KMOV): New.
2965 (kmovw): Ditto.
2966
70473c63
KY
29672014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
2968
2969 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
2970 (_mm512_storeu_si512): Ditto.
2971
f9ae4df8
RS
29722014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
2973
2974 PR target/52125
2975 * rtl.h (get_referenced_operands): Declare.
2976 * recog.c (get_referenced_operands): New function.
2977 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
2978 operands have been referenced when recording LO_SUM references.
2979
e50f5f2e
DH
29802014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
2981
2982 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
2983
39960d1c 29842014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
2985
2986 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
2987 Enable for generic and recent AMD targets.
2988
39960d1c 29892014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
2990
2991 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
2992 ARG_SIZE note when adjustment was eliminated.
2993
bb50b870
JL
29942014-01-22 Jeff Law <law@redhat.com>
2995
2996 PR tree-optimization/59597
2997 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
2998 in file. Accept new argument REGISTERING and use it to modify
2999 dump output appropriately.
3000 (register_jump_thread): Corresponding changes.
3001 (mark_threaded_blocks): Reinstate code to cancel unprofitable
3002 thread paths involving joiner blocks. Add code to dump cancelled
3003 jump threading paths.
3004
df2980be
VM
30052014-01-22 Vladimir Makarov <vmakarov@redhat.com>
3006
3007 PR rtl-optimization/59477
3008 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 3009 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 3010
1bb99900
TT
30112014-01-22 Tom Tromey <tromey@redhat.com>
3012
3013 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
3014 PARAMS.
3015 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
3016
9102dadd
VM
30172014-01-21 Vladimir Makarov <vmakarov@redhat.com>
3018
3019 PR rtl-optimization/59896
3020 * lra-constraints.c (process_alt_operands): Check unused note for
3021 matched operands of insn with no output reloads.
3022
ca376eb8
RS
30232014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
3024
3025 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
3026 (mips_move_from_gpr_cost): Likewise.
3027
a9711f36
VM
30282014-01-21 Vladimir Makarov <vmakarov@redhat.com>
3029
3030 PR rtl-optimization/59858
3031 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
3032 ira_class_hard_regs_num.
3033 (process_alt_operands): Increase reject for dying matched operand.
3034
f8ea7cb0
JJ
30352014-01-21 Jakub Jelinek <jakub@redhat.com>
3036
3037 PR target/59003
3038 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
3039 smaller than size, perform several stores or loads and stores
3040 at dst + count - size to store or copy all of size bytes, rather
3041 than just last modesize bytes.
3042
84db09e3
DD
30432014-01-20 DJ Delorie <dj@redhat.com>
3044
3045 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
3046 that CLOBBERs are REGs before propogating their values.
3047
1cf11770
L
30482014-01-20 H.J. Lu <hongjiu.lu@intel.com>
3049
3050 PR middle-end/59789
3051 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
3052 (cgraph_inline_failed_type): New function.
3053 * cgraph.h (DEFCIFCODE): Add type.
3054 (cgraph_inline_failed_type_t): New enum.
3055 (cgraph_inline_failed_type): New prototype.
3056 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
3057 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
3058 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
3059 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
3060 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
3061 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
3062 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 3063 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
3064 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
3065 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
3066 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
3067 OPTIMIZATION_MISMATCH.
3068 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 3069 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 3070
8586e4bd
UB
30712014-01-20 Uros Bizjak <ubizjak@gmail.com>
3072
3073 PR target/59685
3074 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
3075 mode attribute in insn output.
3076
99482090
EB
30772014-01-20 Eric Botcazou <ebotcazou@adacore.com>
3078
3079 * output.h (output_constant): Delete.
3080 * varasm.c (output_constant): Make private.
3081
ede23272
AV
30822014-01-20 Alex Velenko <Alex.Velenko@arm.com>
3083
3084 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
3085
9a7eefec
JJ
30862014-01-20 Jakub Jelinek <jakub@redhat.com>
3087
3088 PR middle-end/59860
3089 * tree.h (fold_builtin_strcat): New prototype.
3090 * builtins.c (fold_builtin_strcat): No longer static. Add len
3091 argument, if non-NULL, don't call c_strlen. Optimize
3092 directly into __builtin_memcpy instead of __builtin_strcpy.
3093 (fold_builtin_2): Adjust fold_builtin_strcat caller.
3094 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
3095
3e729145
UB
30962014-01-20 Uros Bizjak <ubizjak@gmail.com>
3097
3098 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
3099 for SImode_address_operand operands, having only a REG argument.
3100
eee0e487
MS
31012014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
3102
3103 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
3104 loader name using mbig-endian.
3105 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
3106
9e540e37
JG
31072014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
3108
3109 * doc/invoke.texi (-march): Clarify documentation for AArch64.
3110 (-mtune): Likewise.
3111 (-mcpu): Likewise.
3112
69675d50
TB
31132014-01-20 Tejas Belagod <tejas.belagod@arm.com>
3114
3115 * config/aarch64/aarch64-protos.h
3116 (aarch64_cannot_change_mode_class_ptr): Declare.
3117 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
3118 aarch64_cannot_change_mode_class_ptr): New.
3119 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
3120 backend hook aarch64_cannot_change_mode_class.
3121
ffee7aa9
JG
31222014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
3123
3124 * common/config/aarch64/aarch64-common.c
3125 (aarch64_handle_option): Don't handle any option order logic here.
3126 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
3127 selected_cpu, warn on architecture version mismatch.
3128 (aarch64_override_options): Fix parsing order for option strings.
3129
c7169779
JBG
31302014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
3131 Iain Sandoe <iain@codesourcery.com>
3132
3133 PR bootstrap/59496
3134 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
3135 warning. Amend comment to reflect current functionality.
3136
409b6ac1
RB
31372014-01-20 Richard Biener <rguenther@suse.de>
3138
3139 PR middle-end/59860
3140 * builtins.c (fold_builtin_strcat): Remove case better handled
3141 by tree-ssa-strlen.c.
3142
608df31f
AL
31432014-01-20 Alan Lawrence <alan.lawrence@arm.com>
3144
3145 * config/aarch64/aarch64.opt
3146 (mcpu, march, mtune): Make case-insensitive.
3147
0fabe5f3
JJ
31482014-01-20 Jakub Jelinek <jakub@redhat.com>
3149
3150 PR target/59880
3151 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
3152 if operands[1] is a REG or ZERO_EXTEND of a REG.
3153
39960d1c 31542014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
3155
3156 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
3157
925cb97d
JDA
31582014-01-19 John David Anglin <danglin@gcc.gnu.org>
3159
3160 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
3161 long non-pic millicode calls.
3162
f43856db
JBG
31632014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
3164
3165 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
3166
d2be9965
ILT
31672014-01-19 Kito Cheng <kito@0xlab.org>
3168
3169 * builtins.c (expand_movstr): Check movstr expand done or fail.
3170
efc90043
UB
31712014-01-18 Uros Bizjak <ubizjak@gmail.com>
3172 H.J. Lu <hongjiu.lu@intel.com>
3173
3174 PR target/59379
3175 * config/i386/i386.md (*lea<mode>): Zero-extend return register
3176 to DImode for zero-extended addresses.
3177
8fce217e
JJ
31782014-01-19 Jakub Jelinek <jakub@redhat.com>
3179
3180 PR rtl-optimization/57763
3181 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
3182 on the new indirect jump_insn and increment LABEL_NUSES (label).
3183
efc90043 31842014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
3185
3186 PR bootstrap/59580
3187 PR bootstrap/59583
3188 * config.gcc (x86_archs): New variable.
3189 (x86_64_archs): Likewise.
3190 (x86_cpus): Likewise.
3191 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
3192 --with-arch/--with-cpu= options.
3193 Support --with-arch=/--with-cpu={nehalem,westmere,
3194 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
3195
7f3af6d3
UB
31962014-01-18 Uros Bizjak <ubizjak@gmail.com>
3197
3198 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
3199 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
3200
32012014-01-18 Uros Bizjak <ubizjak@gmail.com>
3202
3203 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
3204
fa5d6c75
JJ
32052014-01-18 Jakub Jelinek <jakub@redhat.com>
3206
3207 PR target/58944
3208 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
3209 clear cpp_get_options (parse_in)->warn_unused_macros for
3210 ix86_target_macros_internal with cpp_define.
3211
04da5680
RS
32122014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
3213
3214 * jump.c (delete_related_insns): Keep (use (insn))s.
3215 * reorg.c (redundant_insn): Check for barriers too.
3216
1e99bee5
L
32172014-01-17 H.J. Lu <hongjiu.lu@intel.com>
3218
7f3af6d3 3219 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 3220
fa7d0c60
JDA
32212014-01-17 John David Anglin <danglin@gcc.gnu.org>
3222
3223 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
3224 call to $$dyncall when TARGET_LONG_CALLS is true.
3225
2043135a
JL
32262014-01-17 Jeff Law <law@redhat.com>
3227
3228 * ree.c (combine_set_extension): Temporarily disable test for
3229 changing number of hard registers.
3230
39960d1c 32312014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
3232
3233 PR middle-end/58125
3234 * ipa-inline-analysis.c (inline_free_summary):
3235 Do not free summary of aliases.
3236
664ceb1e
JJ
32372014-01-17 Jakub Jelinek <jakub@redhat.com>
3238
3239 PR middle-end/59706
3240 * gimplify.c (gimplify_expr): Use create_tmp_var
3241 instead of create_tmp_var_raw. If cond doesn't have
3242 integral type, don't add the IFN_ANNOTATE builtin at all.
3243
aef83682
MJ
32442014-01-17 Martin Jambor <mjambor@suse.cz>
3245
3246 PR ipa/59736
3247 * ipa-cp.c (prev_edge_clone): New variable.
3248 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
3249 Also resize prev_edge_clone vector.
3250 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
3251 (ipcp_edge_removal_hook): New function.
3252 (ipcp_driver): Register ipcp_edge_removal_hook.
3253
3b9c787b
AP
32542014-01-17 Andrew Pinski <apinski@cavium.com>
3255 Steve Ellcey <sellcey@mips.com>
3256
3257 PR target/59462
3258 * config/mips/mips.c (mips_print_operand): Check operand mode instead
3259 of operator mode.
3260
4ee5c752
JL
32612014-01-17 Jeff Law <law@redhat.com>
3262
3263 PR middle-end/57904
3264 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
3265 so that pass_ccp runs first.
3266
40cfac7c
L
32672014-01-17 H.J. Lu <hongjiu.lu@intel.com>
3268
3269 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
3270 (ix86_adjust_cost): Use !TARGET_XXX.
3271 (do_reorder_for_imul): Likewise.
3272 (swap_top_of_ready_list): Likewise.
3273 (ix86_sched_reorder): Likewise.
3274
9a7f94d7
L
32752014-01-17 H.J. Lu <hongjiu.lu@intel.com>
3276
3277 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
3278 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
3279 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
3280 (intel_memset): New. Duplicate slm_memset.
3281 (intel_cost): New. Duplicate slm_cost.
3282 (m_INTEL): New macro.
3283 (processor_target_table): Add "intel".
3284 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
3285 with PROCESSOR_INTEL for "intel".
3286 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
3287 PROCESSOR_SILVERMONT.
9a7f94d7
L
3288 (ix86_issue_rate): Likewise.
3289 (ix86_adjust_cost): Likewise.
3290 (ia32_multipass_dfa_lookahead): Likewise.
3291 (swap_top_of_ready_list): Likewise.
3292 (ix86_sched_reorder): Likewise.
8cdcf750
L
3293 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
3294 instead of TARGET_OPT_AGU.
9a7f94d7
L
3295 * config/i386/i386.h (TARGET_INTEL): New.
3296 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
3297 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
3298 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
3299 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 3300
30078c0a
MP
33012014-01-17 Marek Polacek <polacek@redhat.com>
3302
3303 PR c/58346
3304 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
3305 size is zero.
3306
14379e66
RB
33072014-01-17 Richard Biener <rguenther@suse.de>
3308
3309 PR tree-optimization/46590
3310 * opts.c (default_options_table): Add entries for
3311 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
3312 all enabled at -O1 but not for -Og.
3313 * common.opt (fbranch-count-reg): Remove Init(1).
3314 (fmove-loop-invariants): Likewise.
3315 (ftree-pta): Likewise.
3316
f7d594d2
JJ
33172014-01-17 Jakub Jelinek <jakub@redhat.com>
3318
88e18bd5
JJ
3319 * config/i386/i386.c (ix86_data_alignment): For compatibility with
3320 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
3321 decls to at least the GCC 4.8 used alignments.
3322
f7d594d2
JJ
3323 PR fortran/59440
3324 * tree-nested.c (convert_nonlocal_reference_stmt,
3325 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
3326 of GIMPLE_BIND stmts, adjust associated decls.
3327
32500433
RB
33282014-01-17 Richard Biener <rguenther@suse.de>
3329
3330 PR tree-optimization/46590
3331 * vec.h (vec<>::bseach): New member function implementing
3332 binary search according to C89 bsearch.
3333 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
3334 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
3335 bitmap pointer again. Make accesses_in_loop a flat array.
3336 (mem_ref_obstack): New global.
3337 (outermost_indep_loop): Adjust for mem_ref->stored changes.
3338 (mark_ref_stored): Likewise.
3339 (ref_indep_loop_p_2): Likewise.
3340 (set_ref_stored_in_loop): New helper function.
3341 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
3342 (memref_free): Adjust.
3343 (record_mem_ref_loc): Simplify.
3344 (gather_mem_refs_stmt): Adjust.
3345 (sort_locs_in_loop_postorder_cmp): New function.
3346 (analyze_memory_references): Sort accesses_in_loop after
3347 loop postorder number.
3348 (find_ref_loc_in_loop_cmp): New function.
3349 (for_all_locs_in_loop): Find relevant cluster of locs in
3350 accesses_in_loop and iterate without recursion.
3351 (execute_sm): Avoid uninit warning.
3352 (struct ref_always_accessed): Simplify.
3353 (ref_always_accessed::operator ()): Likewise.
3354 (ref_always_accessed_p): Likewise.
3355 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
3356 loop postorder numbers here.
3357 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
3358 numbers.
3359
24fcf4bc
JJ
33602014-01-17 Jan Hubicka <hubicka@ucw.cz>
3361
3362 PR c++/57945
3363 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
3364 on decls for which assemble_alias has been called.
3365
d4f283a1
NC
33662014-01-17 Nick Clifton <nickc@redhat.com>
3367
3368 * config/msp430/msp430.opt: (mcpu): New option.
3369 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
3370 (msp430_option_override): Parse target_cpu. If the MCU name
3371 matches a generic string, clear target_mcu.
3372 (msp430_attr): Allow numeric interrupt values up to 63.
3373 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
3374 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
3375 option.
3376 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
3377 Add mcpu matches.
3378 * config/msp430/msp430.md (popm): Use %J rather than %I.
3379 (addsi3): Use msp430_nonimmediate_operand for operand 2.
3380 (addhi_cy_i): Use immediate_operand for operand 2.
3381 * doc/invoke.texi: Document -mcpu option.
3382
7be64667
RB
33832014-01-17 Richard Biener <rguenther@suse.de>
3384
3385 PR rtl-optimization/38518
3386 * df.h (df_analyze_loop): Declare.
3387 * df-core.c: Include cfgloop.h.
3388 (df_analyze_1): Split out main part of df_analyze.
3389 (df_analyze): Adjust.
3390 (loop_inverted_post_order_compute): New function.
3391 (loop_post_order_compute): Likewise.
3392 (df_analyze_loop): New function avoiding whole-function
3393 postorder computes.
3394 * loop-invariant.c (find_defs): Use df_analyze_loop.
3395 (find_invariants): Adjust.
3396 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
3397
82a197a2
ZC
33982014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
3399
3400 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
3401 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
3402
c68b3f52
IE
34032014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
3404
3405 * ipa-ref.c (ipa_remove_stmt_references): Fix references
3406 traversal when removing references.
3407
39960d1c 34082014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
3409
3410 PR ipa/59775
3411 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
3412
9e6f9ad6
BS
34132014-01-16 Bernd Schmidt <bernds@codesourcery.com>
3414
3415 PR middle-end/56791
3416 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
3417 pushing a reload for an autoinc when we had previously reloaded an
3418 inner part of the address.
3419
a611d7cb
JJ
34202014-01-16 Jakub Jelinek <jakub@redhat.com>
3421
d1417442
JJ
3422 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
3423 field.
3424 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
3425 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
3426 when not giving up or versioning for alias only because of
3427 loop->safelen.
3428 (vect_analyze_data_ref_dependences): Set to true.
3429 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
3430 is a GIMPLE_PHI.
3431 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
3432 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
3433 to the condition.
3434
42ed6cde
JJ
3435 PR middle-end/58344
3436 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
3437
a611d7cb 3438 PR target/59839
7f3af6d3
UB
3439 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
3440 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 3441
8f21260c
VM
34422014-01-16 Vladimir Makarov <vmakarov@redhat.com>
3443
3444 PR middle-end/59609
7f3af6d3
UB
3445 * lra-constraints.c (process_alt_operands): Add printing debug info.
3446 Check absence of input/output reloads for matched operands too.
8f21260c 3447
1a788c05
VM
34482014-01-16 Vladimir Makarov <vmakarov@redhat.com>
3449
3450 PR rtl-optimization/59835
3451 * ira.c (ira_init_register_move_cost): Increase cost for
3452 impossible modes.
3453
4cf24d27
AL
34542014-01-16 Alan Lawrence <alan.lawrence@arm.com>
3455
cc3a9f0d 3456 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 3457
030d03b8
RE
34582014-01-16 Richard Earnshaw <rearnsha@arm.com>
3459
3460 PR target/59780
3461 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
3462 non-register objects. Use gen_(high/low)part more consistently.
3463 Fix assertions.
3464
e78f06a8
MM
34652014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
3466
3467 PR target/59844
3468 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
3469 endian support, remove tests for WORDS_BIG_ENDIAN.
3470 (p8_mfvsrd_3_<mode>): Likewise.
3471 (reload_gpr_from_vsx<mode>): Likewise.
3472 (reload_gpr_from_vsxsf): Likewise.
3473 (p8_mfvsrd_4_disf): Likewise.
3474
9d1ae52c
RB
34752014-01-16 Richard Biener <rguenther@suse.de>
3476
3477 PR rtl-optimization/46590
3478 * lcm.c (compute_antinout_edge): Use postorder iteration.
3479 (compute_laterin): Use inverted postorder iteration.
3480
54c7a7f3
NC
34812014-01-16 Nick Clifton <nickc@redhat.com>
3482
3483 PR middle-end/28865
3484 * varasm.c (output_constant): Return the number of bytes actually
3485 emitted.
3486 (output_constructor_array_range): Update the field size with the
3487 number of bytes emitted by output_constant.
3488 (output_constructor_regular_field): Likewise. Also do not
3489 complain if the total number of bytes emitted is now greater
3490 than the expected fieldpos.
7f3af6d3 3491 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 3492
5147d10a
MP
34932014-01-16 Marek Polacek <polacek@redhat.com>
3494
3495 PR middle-end/59827
3496 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
3497 it is error_mark_node.
3498
4ac005ba
UB
34992014-01-15 Uros Bizjak <ubizjak@gmail.com>
3500
3501 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
3502 VALID_AVX256_REG_OR_OI_MODE.
3503
5d7574fa
PH
35042014-01-15 Pat Haugen <pthaugen@us.ibm.com>
3505
3506 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
3507 current procedure should be profiled.
3508
6ee70f81
AP
35092014-01-15 Andrew Pinski <apinski@cavium.com>
3510
3511 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
3512 of moving from/to the STACK_REG register class.
3513
004a7e45 35142014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
3515
3516 PR debug/54694
3517 * reginfo.c (global_regs_decl): Globalize.
3518 * rtl.h (global_regs_decl): Declare.
3519 * ira.c (do_reload): Diagnose frame_pointer_needed and it
3520 reserved via global_regs.
3521
4583fada
TJ
35222014-01-15 Teresa Johnson <tejohnson@google.com>
3523
3524 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
3525
d13dfec8
BS
35262014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
3527
3528 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
3529 and vmulosh rather than call gen_vec_widen_smult_*.
3530 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
3531 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
3532 (vec_widen_smult_even_v16qi): Likewise.
3533 (vec_widen_umult_even_v8hi): Likewise.
3534 (vec_widen_smult_even_v8hi): Likewise.
3535 (vec_widen_umult_odd_v16qi): Likewise.
3536 (vec_widen_smult_odd_v16qi): Likewise.
3537 (vec_widen_umult_odd_v8hi): Likewise.
3538 (vec_widen_smult_odd_v8hi): Likewise.
3539 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
3540 vmuloub rather than call gen_vec_widen_umult_*.
3541 (vec_widen_umult_lo_v16qi): Likewise.
3542 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
3543 vmulosb rather than call gen_vec_widen_smult_*.
3544 (vec_widen_smult_lo_v16qi): Likewise.
3545 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
3546 rather than call gen_vec_widen_umult_*.
3547 (vec_widen_umult_lo_v8hi): Likewise.
3548 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
3549 rather than call gen_vec_widen_smult_*.
3550 (vec_widen_smult_lo_v8hi): Likewise.
3551
a6a2d67b
JL
35522014-01-15 Jeff Law <law@redhat.com>
3553
3554 PR tree-optimization/59747
3555 * ree.c (find_and_remove_re): Properly handle case where a second
3556 eliminated extension requires widening a copy created for elimination
3557 of a prior extension.
3558 (combine_set_extension): Ensure that the number of hard regs needed
3559 for a destination register does not change when we widen it.
3560
aefe4056
SH
35612014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
3562
3563 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
3564 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
3565 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
3566 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
3567 (avr-*-rtems*): Likewise.
3568 (bfin*-rtems*): Likewise.
3569 (moxie-*-rtems*): Likewise.
3570 (h8300-*-rtems*): Likewise.
3571 (i[34567]86-*-rtems*): Likewise.
3572 (lm32-*-rtems*): Likewise.
3573 (m32r-*-rtems*): Likewise.
3574 (m68k-*-rtems*): Likewise.
3575 (microblaze*-*-rtems*): Likewise.
3576 (mips*-*-rtems*): Likewise.
3577 (powerpc-*-rtems*): Likewise.
3578 (sh-*-rtems*): Likewise.
3579 (sparc-*-rtems*): Likewise.
3580 (sparc64-*-rtems*): Likewise.
3581 (v850-*-rtems*): Likewise.
3582 (m32c-*-rtems*): Likewise.
3583
fef37404
VM
35842014-01-15 Vladimir Makarov <vmakarov@redhat.com>
3585
3586 PR rtl-optimization/59511
3587 * ira.c (ira_init_register_move_cost): Use memory costs for some
3588 cases of register move cost calculations.
3589 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
3590 instead of BB frequency.
3591 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
3592 * lra-assigns.c (find_hard_regno_for): Ditto.
3593
6b916b36
RB
35942014-01-15 Richard Biener <rguenther@suse.de>
3595
3596 PR tree-optimization/59822
3597 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
3598 (vectorizable_load): Use it to hoist defs of uses of invariant
3599 loads out of the loop.
3600
d103f29b 36012014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 3602 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
3603
3604 PR target/59695
3605 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
3606 truncation.
3607
95cb8697
RB
36082014-01-15 Richard Biener <rguenther@suse.de>
3609
3610 PR rtl-optimization/59802
3611 * lcm.c (compute_available): Use inverted postorder to seed
3612 the initial worklist.
3613
cb4b6d17
AK
36142014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3615
1c8b5303 3616 PR target/59803
cb4b6d17
AK
3617 * config/s390/s390.c (s390_preferred_reload_class): Don't return
3618 ADDR_REGS for invalid symrefs in non-PIC code.
3619
2738b4c7
JJ
36202014-01-15 Jakub Jelinek <jakub@redhat.com>
3621
3622 PR other/58712
3623 * builtins.c (determine_block_size): Initialize *probable_max_size
3624 even if len_rtx is CONST_INT.
3625
d126a4ae
AP
36262014-01-14 Andrew Pinski <apinski@cavium.com>
3627
3628 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
3629 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
3630 (cortexa53_tunings): Likewise.
3631 (aarch64_sched_issue_rate): New function.
3632 (TARGET_SCHED_ISSUE_RATE): Define.
3633
dc687582
VM
36342014-01-14 Vladimir Makarov <vmakarov@redhat.com>
3635
3636 * ira-costs.c (find_costs_and_classes): Add missed
3637 ira_init_register_move_cost_if_necessary.
3638
e940b2ec
VM
36392014-01-14 Vladimir Makarov <vmakarov@redhat.com>
3640
3641 PR target/59787
3642 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
3643
3292e376
L
36442014-01-14 H.J. Lu <hongjiu.lu@intel.com>
3645
3646 PR target/59794
3647 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
3648 to indicate if type is used for function return value. Warn ABI
3649 change if the vector mode isn't available for function return value.
3292e376
L
3650 (ix86_function_arg_advance): Pass false to type_natural_mode.
3651 (ix86_function_arg): Likewise.
3652 (ix86_gimplify_va_arg): Likewise.
3653 (function_arg_32): Don't warn ABI change.
3654 (ix86_function_value): Pass true to type_natural_mode.
3655 (ix86_return_in_memory): Likewise.
3656 (ix86_struct_value_rtx): Removed.
3657 (TARGET_STRUCT_VALUE_RTX): Likewise.
3658
db930875
RS
36592014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3660
3661 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
3662 converting a conditional jump into a conditional return.
3663
a0e35eb0
RB
36642014-01-14 Richard Biener <rguenther@suse.de>
3665
3666 PR tree-optimization/58921
3667 PR tree-optimization/59006
3668 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
3669 hoisting invariant stmts.
3670 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
3671 invariant loads on the preheader edge if possible.
3672
a984e92e
JY
36732014-01-14 Joey Ye <joey.ye@arm.com>
3674
3675 * doc/plugin.texi (Building GCC plugins): Update to C++.
3676
c56a42b9
KY
36772014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
3678
3292e376 3679 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
3680 (_mm_rcp28_round_ss): Ditto.
3681 (_mm_rsqrt28_round_sd): Ditto.
3682 (_mm_rsqrt28_round_ss): Ditto.
3683 (_mm_rcp28_sd): Ditto.
3684 (_mm_rcp28_ss): Ditto.
3685 (_mm_rsqrt28_sd): Ditto.
3686 (_mm_rsqrt28_ss): Ditto.
3687 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
3688 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
3689 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
3690 (IX86_BUILTIN_RCP28SD): Ditto.
3691 (IX86_BUILTIN_RCP28SS): Ditto.
3692 (IX86_BUILTIN_RSQRT28SD): Ditto.
3693 (IX86_BUILTIN_RSQRT28SS): Ditto.
3694 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
3695 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
3696 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
3697 (ix86_expand_special_args_builtin): Expand new FTYPE.
3698 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
3699 (srcp14<mode>): Make insn unary.
3700 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
3701 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
3702 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
3703 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
3704 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
3705 Fix rounding: make it SAE only.
4ac005ba
UB
3706 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
3707 Ditto.
3708 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
3709 Ditto.
c56a42b9
KY
3710 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
3711 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
3712 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
3713 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
3714 (round_saeonly_mask_scalar_operand4): Ditto.
3715 (round_saeonly_mask_scalar_op3): Ditto.
3716 (round_saeonly_mask_scalar_op4): Ditto.
3717
09fccb62
BS
37182014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3719
3720 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
3721 Implement -maltivec=be for vec_insert and vec_extract.
3722
fb28dac0
DD
37232014-01-10 DJ Delorie <dj@redhat.com>
3724
3725 * config/msp430/msp430.md (call_internal): Don't allow memory
3726 references with SP as the base register.
3727 (call_value_internal): Likewise.
3728 * config/msp430/constraints.md (Yc): New. For memory references
3729 that don't use SP as a base register.
3730
3731 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
3732 "an integer without a # prefix"
3733 * config/msp430/msp430.md (epilogue_helper): Use it.
3734
19e51b40
JJ
37352014-01-13 Jakub Jelinek <jakub@redhat.com>
3736
03b9e8e4
JJ
3737 PR target/59617
3738 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
3739 AVX512F gather builtins.
3740 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
3741 on gather decls with INTEGER_TYPE masktype.
3742 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
3743 directly into the builtin rather than hoisting it before loop.
3744
19e51b40
JJ
3745 PR tree-optimization/59387
3746 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
3747 (scev_const_prop): If folded_casts and type has undefined overflow,
3748 use force_gimple_operand instead of force_gimple_operand_gsi and
3749 for each added stmt if it is assign with
3750 arith_code_with_undefined_signed_overflow, call
3751 rewrite_to_defined_overflow.
3752 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
3753 gimple-fold.h instead.
3754 (arith_code_with_undefined_signed_overflow,
3755 rewrite_to_defined_overflow): Moved to ...
3756 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
3757 rewrite_to_defined_overflow): ... here. No longer static.
3758 Include gimplify-me.h.
3759 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
3760 rewrite_to_defined_overflow): New prototypes.
3761
cd794ed4
KT
37622014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3763
3764 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
3765
e75fde1a
EB
37662014-01-13 Eric Botcazou <ebotcazou@adacore.com>
3767
3768 * builtins.c (get_object_alignment_2): Minor tweak.
3769 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
3770
eae298d6
CB
37712014-01-13 Christian Bruel <christian.bruel@st.com>
3772
3773 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 3774 optimized non constant lengths.
eae298d6 3775
8175be9a
JJ
37762014-01-13 Jakub Jelinek <jakub@redhat.com>
3777
3778 PR libgomp/59194
3779 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
3780 load as __atomic_load_N if possible.
3781
9c111368
DE
37822014-01-11 David Edelsohn <dje.gcc@gmail.com>
3783
3784 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
3785 target parameter.
3786 (rs6000_expand_builtin): Adjust call.
3787
c82846bc
DE
37882014-01-11 David Edelsohn <dje.gcc@gmail.com>
3789
3790 PR target/58115
3791 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
3792 * config/rs6000/rs6000.c: Include target-globals.h.
3793 (rs6000_set_current_function): Instead of doing target_reinit
3794 unconditionally, use save_target_globals_default_opts and
3795 restore_target_globals.
3796
3797 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
3798 FPSCR.
3799 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
3800 (rs6000_expand_builtin): Handle mffs and mtfsf.
3801 (rs6000_init_builtins): Define mffs and mtfsf.
3802 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
3803 (rs6000_mffs): New pattern.
3804 (rs6000_mtfsf): New pattern.
3805
2c407426
BC
38062014-01-11 Bin Cheng <bin.cheng@arm.com>
3807
3808 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
3809 Start narrowing with START. Apply candidate-use pair
3810 and check overall cost in narrowing.
3811 (iv_ca_prune): Pass new argument.
3812
7e41c852
JL
38132014-01-10 Jeff Law <law@redhat.com>
3814
3815 PR middle-end/59743
3816 * ree.c (combine_reaching_defs): Ensure the defining statement
3817 occurs before the extension when optimizing extensions with
3818 different source and destination hard registers.
3819
39960d1c 38202014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
3821
3822 PR ipa/58585
4ac005ba
UB
3823 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
3824 vtables into the type inheritance graph.
b270b096 3825
0d6d7b9a
JJ
38262014-01-10 Jakub Jelinek <jakub@redhat.com>
3827
3828 PR rtl-optimization/59754
3829 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
3830 modes in the REGNO != REGNO case.
3831
110132c1
BS
38322014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3833
3834 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
3835
5da96960
JJ
38362014-01-10 Jakub Jelinek <jakub@redhat.com>
3837
4f87d581
JJ
3838 PR tree-optimization/59745
3839 * tree-predcom.c (tree_predictive_commoning_loop): Call
3840 free_affine_expand_cache if giving up because components is NULL.
3841
5da96960
JJ
3842 * target-globals.c (save_target_globals): Allocate < 4KB structs using
3843 GC in payload of target_globals struct instead of allocating them on
3844 the heap and the larger structs separately using GC.
3845 * target-globals.h (struct target_globals): Make regs, hard_regs,
3846 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
3847 of GTY((skip)) and change type to void *.
3848 (reset_target_globals): Cast loads from those fields to corresponding
3849 types.
3850
1aa26aac
SE
38512014-01-10 Steve Ellcey <sellcey@mips.com>
3852
3853 PR plugins/59335
3854 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
3855 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
3856 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
3857
1c992d1e
RE
38582014-01-10 Richard Earnshaw <rearnsha@arm.com>
3859
7783a246 3860 PR target/59744
1c992d1e
RE
3861 * aarch64-modes.def (CC_Zmode): New flags mode.
3862 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
3863 represents an equality.
7783a246 3864 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
3865 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
3866
86464cbd
AK
38672014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3868
3869 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
3870 extraction in good case.
3871
5e6667b2
RB
38722014-01-10 Richard Biener <rguenther@suse.de>
3873
3874 PR tree-optimization/59374
3875 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
3876 checking after SLP discovery. Mark stmts not participating
3877 in any SLP instance properly.
3878
5619162c
KT
38792014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3880
3881 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
3882 when handling a SET rtx.
3883
2d17b99f
KT
38842014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3885
3886 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
3887 (cortex-a57): Likewise.
3888 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
3889
bcca645c
KT
38902014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3891
3892 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
3893 non-iwmmxt builtins.
3894
a3788dde
JH
38952014-01-10 Jan Hubicka <hubicka@ucw.cz>
3896
3897 PR ipa/58252
3898 PR ipa/59226
3899 * ipa-devirt.c record_target_from_binfo): Take as argument
3900 stack of binfos and lookup matching one for virtual inheritance.
3901 (possible_polymorphic_call_targets_1): Update.
3902
87ed883e
HC
39032014-01-10 Huacai Chen <chenhc@lemote.com>
3904
3905 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
3906 kernel strings for Loongson-2E/2F/3A.
3907
cd4447e2
JJ
39082014-01-10 Jakub Jelinek <jakub@redhat.com>
3909
3910 PR middle-end/59670
3911 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
3912 is_gimple_call before calling gimple_call_internal_p.
3913
3fadf78a
SE
39142014-01-09 Steve Ellcey <sellcey@mips.com>
3915
3916 * Makefile.in (TREE_FLOW_H): Remove.
3917 (TREE_SSA_H): Add file names from tree-flow.h.
3918 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
3919 * tree.h: Remove tree-flow.h reference.
3920 * hash-table.h: Remove tree-flow.h reference.
3921 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
3922 reference with tree-ssa-loop.h.
3923
6edc217d
BS
39242014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3925
3926 * doc/invoke.texi: Add -maltivec={be,le} options, and document
3927 default element-order behavior for -maltivec.
3928 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
3929 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
3930 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
3931 when targeting big endian, at least for now.
3932 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
3933
a70e9985
JJ
39342014-01-09 Jakub Jelinek <jakub@redhat.com>
3935
3396aba5
JJ
3936 PR middle-end/47735
3937 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
3938 var satisfies use_register_for_decl, just take into account type
3939 alignment, rather than decl alignment.
3940
a70e9985
JJ
3941 PR tree-optimization/59622
3942 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
3943 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
3944 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
3945 Don't devirtualize for inplace at all. For targets.length () == 1,
3946 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
3947
6e9cc565
L
39482014-01-09 H.J. Lu <hongjiu.lu@intel.com>
3949
3950 * config/i386/i386.md (cpu): Remove the unused btver1.
3951
d1c0e4ac
L
39522014-01-09 H.J. Lu <hongjiu.lu@intel.com>
3953
3954 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
3955
e83b8e2e
JJ
39562014-01-09 Jakub Jelinek <jakub@redhat.com>
3957
3958 PR target/58115
3959 * tree-core.h (struct target_globals): New forward declaration.
3960 (struct tree_target_option): Add globals field.
3961 * tree.h (TREE_TARGET_GLOBALS): Define.
3962 (prepare_target_option_nodes_for_pch): New prototype.
3963 * target-globals.h (struct target_globals): Define even if
3964 !SWITCHABLE_TARGET.
3965 * tree.c (prepare_target_option_node_for_pch,
3966 prepare_target_option_nodes_for_pch): New functions.
3967 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
3968 * config/i386/i386.c: Include target-globals.h.
3969 (ix86_set_current_function): Instead of doing target_reinit
3970 unconditionally, use save_target_globals_default_opts and
3971 restore_target_globals.
3972
2aaed0f3
RB
39732014-01-09 Richard Biener <rguenther@suse.de>
3974
3975 PR tree-optimization/59715
3976 * tree-cfg.h (split_critical_edges): Declare.
3977 * tree-cfg.c (split_critical_edges): Export.
3978 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
3979
b5ebc991
MO
39802014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
3981
4ac005ba 3982 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
3983 asan stack protection.
3984 (expand_used_vars): Likewise.
3985 (partition_stack_vars): Likewise.
4ac005ba 3986 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 3987 after return stack usage.
7f3af6d3 3988 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
3989 (instrument_builtin_call): Likewise.
3990 (instrument_strlen_call): Likewise.
7f3af6d3 3991 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
3992 * doc/invoke.texi: Added doc for new options.
3993 * params.def: Added new options.
3994 * params.h: Likewise.
3995
b59e0455
JJ
39962014-01-09 Jakub Jelinek <jakub@redhat.com>
3997
3998 PR rtl-optimization/59724
3999 * ifcvt.c (cond_exec_process_if_block): Don't call
4000 flow_find_head_matching_sequence with 0 longest_match.
4001 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
4002 non-active insns if !stop_after.
4003 (try_head_merge_bb): Revert 2014-01-07 changes.
4004
650c4c85
JL
40052014-01-08 Jeff Law <law@redhat.com>
4006
4007 * ree.c (get_sub_rtx): New function, extracted from...
4008 (merge_def_and_ext): Here.
4009 (combine_reaching_defs): Use get_sub_rtx.
4010
ff36fcbe
EB
40112014-01-08 Eric Botcazou <ebotcazou@adacore.com>
4012
4013 * cgraph.h (varpool_variable_node): Do not choke on null node.
4014
9f9d82aa
CM
40152014-01-08 Catherine Moore <clm@codesourcery.com>
4016
4ac005ba
UB
4017 * config/mips/mips.md (simple_return): Attempt to use JRC
4018 for microMIPS.
9f9d82aa
CM
4019 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
4020
df6c8808
RS
40212014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
4022
4023 PR rtl-optimization/59137
4024 * reorg.c (steal_delay_list_from_target): Call update_block for
4025 elided insns.
4026 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
4027
6170ceff
BS
40282014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4029
4030 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
4031 two duplicate entries.
4032
3f140f32
RS
40332014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
4034
4035 Revert:
4036 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
4037
4038 * config/mips/mips.c (mips_truncated_op_cost): New function.
4039 (mips_rtx_costs): Adjust test for BADDU.
4040 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
4041
4042 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
4043
4044 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
4045 (*baddu_si): ...this new pattern.
4046
c6de6665
JJ
40472014-01-08 Jakub Jelinek <jakub@redhat.com>
4048
4049 PR ipa/59722
4050 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
4051
4c437f02
BE
40522014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
4053
4054 PR middle-end/57748
4055 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
4056 inner_reference_p.
4057 (expand_expr, expand_normal): Adjust.
4058 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
4059 inner_reference_p. Use inner_reference_p to expand inner references.
4060 (store_expr): Adjust.
4061 * cfgexpand.c (expand_call_stmt): Adjust.
4062
4ac005ba 40632014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
4064
4065 * gcov-io.c (gcov_var): Move from gcov-io.h.
4066 (gcov_position): Ditto.
4067 (gcov_is_error): Ditto.
4068 (gcov_rewrite): Ditto.
4069 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
4070 only part to libgcc/libgcov.h.
4071
ab04b46e
MP
40722014-01-08 Marek Polacek <polacek@redhat.com>
4073
4074 PR middle-end/59669
4075 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
4076
06636b32
MP
40772014-01-08 Marek Polacek <polacek@redhat.com>
4078
4079 PR sanitizer/59667
4080 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
4081
c15677b6
JJ
40822014-01-08 Jakub Jelinek <jakub@redhat.com>
4083
4084 PR rtl-optimization/59649
4085 * stor-layout.c (get_mode_bounds): For BImode return
4086 0 and STORE_FLAG_VALUE.
4087
5c944c6c
RB
40882014-01-08 Richard Biener <rguenther@suse.de>
4089
4090 PR middle-end/59630
4091 * gimple.h (is_gimple_builtin_call): Remove.
4092 (gimple_builtin_call_types_compatible_p): New.
4093 (gimple_call_builtin_p): New overload.
4094 * gimple.c (is_gimple_builtin_call): Remove.
4095 (validate_call): Rename to ...
4096 (gimple_builtin_call_types_compatible_p): ... this and export. Also
4097 check return types.
4098 (validate_type): New static function.
4099 (gimple_call_builtin_p): New overload and adjust.
4100 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
4101 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
4102 (gimple_fold_stmt_to_constant_1): Likewise.
4103 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
4104
0bd34ae4
RB
41052014-01-08 Richard Biener <rguenther@suse.de>
4106
4107 PR middle-end/59471
4108 * gimplify.c (gimplify_expr): Gimplify register-register type
4109 VIEW_CONVERT_EXPRs to separate stmts.
4110
04af8ab6
JL
41112014-01-07 Jeff Law <law@redhat.com>
4112
3c92da90
JL
4113 PR middle-end/53623
4114 * ree.c (combine_set_extension): Handle case where source
4115 and destination registers in an extension insn are different.
4ac005ba
UB
4116 (combine_reaching_defs): Allow source and destination registers
4117 in extension to be different under limited circumstances.
3c92da90 4118 (add_removable_extension): Remove restriction that the
4ac005ba 4119 source and destination registers in the extension are the same.
3c92da90
JL
4120 (find_and_remove_re): Emit a copy from the extension's
4121 destination to its source after the defining insn if
4122 the source and destination registers are different.
4123
04af8ab6
JL
4124 PR middle-end/59285
4125 * ifcvt.c (merge_if_block): If we are merging a block with more than
4126 one successor with a block with no successors, remove any BARRIER
4127 after the second block.
4128
955b33ed
JL
41292014-01-07 Dan Xio Qiang <ziyan01@163.com>
4130
4131 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
4132
55ada375
JDA
41332014-01-07 John David Anglin <danglin@gcc.gnu.org>
4134
4135 PR target/59652
4136 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
4137 for 14-bit register offsets when INT14_OK_STRICT is false.
4138
877c72e7
RS
41392014-01-07 Roland Stigge <stigge@antcom.de>
4140 Michael Meissner <meissner@linux.vnet.ibm.com>
4141
4142 PR 57386/target
4143 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 4144 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 4145
8b2721da
JG
41462014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
4147
4148 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
4149 -mcpu.
4150
5d72b79f
YZ
41512014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
4152
4153 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
4154 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
4155 rtx is const0_rtx or not.
4156
48d53439
RS
41572014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
4158
4159 PR target/58115
4160 * target-globals.c (save_target_globals): Remove this_fn_optab
4161 handling.
4162 * toplev.c: Include optabs.h.
4163 (target_reinit): Temporarily restore the global options if another
4164 set of options are in force.
4165
41626746
JJ
41662014-01-07 Jakub Jelinek <jakub@redhat.com>
4167
a0cbe71e
JJ
4168 PR rtl-optimization/58668
4169 * cfgcleanup.c (flow_find_cross_jump): Don't count
4170 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
4171 to determine what is counted.
4172 (flow_find_head_matching_sequence): Use active_insn_p to determine
4173 what is counted.
4174 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
4175 counting change.
4176 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
4177 determine what is counted.
4178
41626746
JJ
4179 PR tree-optimization/59643
4180 * tree-predcom.c (split_data_refs_to_components): If one dr is
4181 read and one write, determine_offset fails and the write isn't
4182 in the bad component, just put the read into the bad component.
4183
cc349a39
MS
41842014-01-07 Mike Stump <mikestump@comcast.net>
4185 Jakub Jelinek <jakub@redhat.com>
4186
4187 PR pch/59436
4188 * tree-core.h (struct tree_optimization_option): Change optabs
4189 type from unsigned char * to void *.
4190 * optabs.c (init_tree_optimization_optabs): Adjust
4191 TREE_OPTIMIZATION_OPTABS initialization.
4192
529a6471
JJ
41932014-01-06 Jakub Jelinek <jakub@redhat.com>
4194
4195 PR target/59644
4196 * config/i386/i386.h (struct machine_function): Add
4197 no_drap_save_restore field.
4198 * config/i386/i386.c (ix86_save_reg): Use
4199 !cfun->machine->no_drap_save_restore instead of
4200 crtl->stack_realign_needed.
4201 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
4202 this function clears frame_pointer_needed. Set
4203 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
4204 and DRAP reg is needed.
4205
96066ce1
MP
42062014-01-06 Marek Polacek <polacek@redhat.com>
4207
4208 PR c/57773
4209 * doc/implement-c.texi: Mention that other integer types are
4210 permitted as bit-field types in strictly conforming mode.
4211
955b33ed 42122014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
4213
4214 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
4215 is newly allocated.
4216
328402a9
RE
42172014-01-06 Richard Earnshaw <rearnsha@arm.com>
4218
4219 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
4220
a4e33812
MJ
42212014-01-06 Martin Jambor <mjambor@suse.cz>
4222
4223 PR ipa/59008
4224 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
4225 to int.
4226 * ipa-prop.c (ipa_print_node_params): Fix indentation.
4227
b5cd2a02
EB
42282014-01-06 Eric Botcazou <ebotcazou@adacore.com>
4229
4230 PR debug/59350
4231 PR debug/59510
4232 * var-tracking.c (add_stores): Preserve the value of the source even if
4233 we don't record the store.
4234
c7d19c0b
TG
42352014-01-06 Terry Guo <terry.guo@arm.com>
4236
4237 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
4238
e0c70bd7
IS
42392014-01-05 Iain Sandoe <iain@codesourcery.com>
4240
4241 PR bootstrap/59541
4242 * config/darwin.c (darwin_function_section): Adjust return values to
4243 correspond to optimisation changes made in r206070.
4244
c30f016c
UB
42452014-01-05 Uros Bizjak <ubizjak@gmail.com>
4246
4247 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
4248 from prefetch_block tune setting.
4249 (nocona_cost): Correct size of prefetch block to 64.
4250
f2bc252b
EB
42512014-01-04 Eric Botcazou <ebotcazou@adacore.com>
4252
4253 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
4254 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
4255 used to save the static chain register in the computation of the offset
4256 from which the FP registers need to be restored.
4257
dad5ed2e
JJ
42582014-01-04 Jakub Jelinek <jakub@redhat.com>
4259
39719c84
JJ
4260 PR tree-optimization/59519
4261 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
4262 ICE if get_current_def (current_new_name) is already non-NULL, as long
4263 as it is a phi result of some other phi in *new_exit_bb that has
4264 the same argument.
4265
dad5ed2e
JJ
4266 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
4267 or vmovdqu* for misaligned_operand.
4268 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
4269 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
4270 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
4271 aligned_mem for AVX512F masked aligned load and store builtins and for
4272 non-temporal moves.
4273
42742014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
4275
4276 PR tree-optimization/59651
c30f016c 4277 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
4278 Address range for negative step should be added by TYPE_SIZE_UNIT.
4279
e864837a
AS
42802014-01-03 Andreas Schwab <schwab@linux-m68k.org>
4281
4282 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 4283 overlapping registers also for registers other than the stack pointer.
e864837a 4284
56a34230
MP
42852014-01-03 Marek Polacek <polacek@redhat.com>
4286
4287 PR other/59661
4288 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
4289 __builtin_FILE.
4290
039eee3f
JJ
42912014-01-03 Jakub Jelinek <jakub@redhat.com>
4292
3bcdbd50
JJ
4293 PR target/59625
4294 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
4295 asm goto as jump.
4296
039eee3f
JJ
4297 * config/i386/i386.md (MODE_SIZE): New mode attribute.
4298 (push splitter): Use <P:MODE_SIZE> instead of
4299 GET_MODE_SIZE (<P:MODE>mode).
4300 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
4301 (mov -1, reg peephole2): Likewise.
4302 * config/i386/sse.md (*mov<mode>_internal,
4303 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
4304 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
4305 *<code><mode>3, *andnot<mode>3<mask_name>,
4306 <mask_codefor><code><mode>3<mask_name>): Likewise.
4307 * config/i386/subst.md (mask_mode512bit_condition,
4308 sd_mask_mode512bit_condition): Likewise.
4309
927734cf
XDL
43102014-01-02 Xinliang David Li <davidxl@google.com>
4311
4312 PR tree-optimization/59303
039eee3f 4313 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
4314 (dump_predicates): Better output format.
4315 (pred_equal_p): New function.
4316 (is_neq_relop_p): Ditto.
4317 (is_neq_zero_form_p): Ditto.
4318 (pred_expr_equal_p): Ditto.
4319 (pred_neg_p): Ditto.
4320 (simplify_pred): Ditto.
4321 (simplify_preds_2): Ditto.
4322 (simplify_preds_3): Ditto.
4323 (simplify_preds_4): Ditto.
4324 (simplify_preds): Ditto.
4325 (push_pred): Ditto.
4326 (push_to_worklist): Ditto.
4327 (get_pred_info_from_cmp): Ditto.
4328 (is_degenerated_phi): Ditto.
4329 (normalize_one_pred_1): Ditto.
4330 (normalize_one_pred): Ditto.
4331 (normalize_one_pred_chain): Ditto.
4332 (normalize_preds): Ditto.
4333 (normalize_cond_1): Remove function.
4334 (normalize_cond): Ditto.
4335 (is_gcond_subset_of): Ditto.
4336 (is_subset_of_any): Ditto.
4337 (is_or_set_subset_of): Ditto.
4338 (is_and_set_subset_of): Ditto.
4339 (is_norm_cond_subset_of): Ditto.
4340 (pred_chain_length_cmp): Ditto.
4341 (convert_control_dep_chain_into_preds): Type change.
4342 (find_predicates): Ditto.
4343 (find_def_preds): Ditto.
4344 (destroy_predicates_vecs): Ditto.
4345 (find_matching_predicates_in_rest_chains): Ditto.
4346 (use_pred_not_overlap_with_undef_path_pred): Ditto.
4347 (is_pred_expr_subset): Ditto.
4348 (is_pred_chain_subset_of): Ditto.
4349 (is_included_in): Ditto.
4350 (is_superset_of): Ditto.
4351
23a5b65a
RS
43522014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4353
c30f016c 4354 Update copyright years.
23a5b65a 4355
f9030485
RS
43562014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4357
4358 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
4359 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
4360 config/arc/arc.md, config/arc/arc.opt,
4361 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
4362 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
4363 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
4364 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
4365 config/linux-protos.h, config/linux.c, config/winnt-c.c,
4366 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
4367 vtable-verify.c, vtable-verify.h: Use the standard form for the
4368 copyright notice.
f9030485 4369
98db73df
TB
43702014-01-02 Tobias Burnus <burnus@net-b.de>
4371
4372 * gcc.c (process_command): Update copyright notice dates.
4373 * gcov-dump.c: Ditto.
4374 * gcov.c: Ditto.
4375 * doc/cpp.texi: Bump @copying's copyright year.
4376 * doc/cppinternals.texi: Ditto.
4377 * doc/gcc.texi: Ditto.
4378 * doc/gccint.texi: Ditto.
4379 * doc/gcov.texi: Ditto.
4380 * doc/install.texi: Ditto.
4381 * doc/invoke.texi: Ditto.
4382
2898d204 43832014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
4384
4385 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
4386
dfebbdc6 43872014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 4388
726c3546
JJ
4389 * config/i386/sse.md (*mov<mode>_internal): Guard
4390 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
4391
dfebbdc6
JJ
4392 PR rtl-optimization/59647
4393 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
4394 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 4395\f
970c3b33 4396Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
4397
4398Copying and distribution of this file, with or without modification,
4399are permitted in any medium without royalty provided the copyright
4400notice and this notice are preserved.