asan.c (set_sanitized_sections): New function.
[gcc.git] / gcc / ChangeLog
1 2015-04-17 Yury Gribov <y.gribov@samsung.com>
2
3 * asan.c (set_sanitized_sections): New function.
4 (section_sanitized_p): Ditto.
5 (asan_protect_global): Optionally sanitize user-defined
6 sections.
7 * asan.h (set_sanitized_sections): Declare new function.
8 * common.opt (fsanitize-sections): New option.
9 * doc/invoke.texi (-fsanitize-sections): Document new option.
10 * opts-global.c (handle_common_deferred_options): Handle new
11 option.
12
13 2015-04-17 Jakub Jelinek <jakub@redhat.com>
14
15 PR debug/65771
16 * dwarf2out.c (loc_list_from_tree): Return NULL
17 for DEBUG_EXPR_DECL.
18
19 2015-04-17 Christian Bruel <christian.bruel@st.com>
20
21 * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
22 same attributes.
23
24 2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
25
26 * ira-color.c (setup_left_conflict_sizes_p): Do not process
27 node itself when computing left conflict subnode size.
28
29 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
30
31 * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
32 * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
33 *fop_<mode>_1_sse using enabled attribute. Use
34 register_mixssei387nonimm_operand operand 1 predicate. Change
35 alternative 3 constraints from "x" to "v".
36
37 2015-04-16 Richard Biener <rguenther@suse.de>
38
39 PR tree-optimization/65774
40 * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
41 bit-value tracking on.
42
43 2015-04-16 Richard Biener <rguenther@suse.de>
44
45 PR tree-optimization/64277
46 * tree-vrp.c (check_array_ref): Fix anti-range handling,
47 simplify upper bound handling.
48 (search_for_addr_array): Simplify.
49 (check_array_bounds): Handle ADDR_EXPRs here.
50 (check_all_array_refs): Simplify.
51
52 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
53
54 * config/i386/i386.c (print_reg): Rewrite function.
55
56 2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
57
58 * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
59 Invert the condition.
60
61 2015-04-16 Renlin Li <renlin.li@arm.com>
62
63 * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
64 simplifications for UNSIGNED_FLOAT.
65
66 2015-04-16 Nick Clifton <nickc@redhat.com>
67
68 * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
69 MUL_UNINIT.
70 (enum rl78_cpu_type): New.
71 * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
72 (umulhi3_shift_virt): Remove m constraint from operand 1.
73 (umulqihi3_virt): Likewise.
74 * config/rl78/rl78.c (rl78_option_override): Add code to process
75 -mcpu and -mmul options.
76 (rl78_alloc_physical_registers): Add code to handle divhi and
77 divsi valloc attributes.
78 (set_origin): Likewise.
79 * config/rl78/rl78.h (RL78_MUL_G14): Define.
80 (TARGET_G10, TARGET_G13, TARGET_G14): Define.
81 (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
82 __RL78_Gxx__.
83 (ASM_SPEC): Pass -mcpu on to assembler.
84 * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
85 (mulqi3_rl78): Likewise.
86 (mulhi3_g13): Likewise.
87 (mulhi3): Generate the G13 or G14 versions of the insn directly.
88 (mulsi3): Likewise.
89 (mulhi3_g14): Add clobbers of AX and BC.
90 (mulsi3_g14): Likewise.
91 (mulsi3_g13): Likewise.
92 (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
93 (udivmodsi4_g14, udivmodsi4_g13): New patterns.
94 * config/rl78/rl78.opt (mmul): Initialise value to
95 RL78_MUL_UNINIT.
96 (mcpu): New option.
97 (m13, m14, mrl78): New option aliases.
98 * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
99 (MULTILIB_DIRNAMES): Add g13 and g14.
100 * doc/invoke.texi: Document -mcpu and -mmul options.
101
102 2015-04-16 Richard Biener <rguenther@suse.de>
103
104 * tree-ssa-ccp.c (likely_value): See if we have operands that
105 are marked as never simulate again and return CONSTANT in this
106 case.
107 * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
108 not have any operands that will be simulated again as
109 not being simulated again.
110
111 2015-04-15 Uros Bizjak <ubizjak@gmail.com>
112
113 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
114 Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
115 (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
116 attribute.
117 (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
118 enabled attribute.
119 (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
120 *float<SWI48:mode><MODEF:mode>2_sse.
121 (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
122 enabled attribute.
123 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
124 enabled attribute.
125
126 2015-04-15 Tom de Vries <tom@codesourcery.com>
127
128 PR other/65487
129 * function.c (push_dummy_function): New function.
130 (init_dummy_function_start): Use push_dummy_function.
131 (pop_dummy_function): New function. Factored out of ...
132 (expand_dummy_function_end): ... here.
133 * function.h (push_dummy_function, pop_dummy_function): Declare.
134 * passes.c (pass_manager::dump_passes): Use push_dummy_function and
135 pop_dummy_function.
136 * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
137
138 2015-04-15 Jeff Law <law@redhat.com>
139
140 PR tree-optimization/47679
141 * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
142 need for forward declaration in upcoming changes.
143 (record_conditions, record_edge_info): Likewise.
144
145 PR rtl-optimization/42522
146 * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
147 SIGN_EXTRACT as a whole object rather than simplifying
148 its operand.
149
150 2015-04-15 Jakub Jelinek <jakub@redhat.com>
151
152 PR ipa/65765
153 * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
154 and GIMPLE_PREDICT use break instead of return true. For
155 GIMPLE_EH_DISPATCH, compare dispatch region.
156
157 2015-04-14 Matthew Wahab <matthew.wahab@arm.com>
158
159 * doc/extend.texi (__sync Builtins): Simplify some text. Update
160 details about the implementation. Make clear preference for
161 __atomic builtins. Reduce possibility of future change.
162
163 2015-04-15 Nick Clifton <nickc@redhat.com>
164
165 * config/rx/rx.opt (mallow-string-insns): New option.
166 * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
167 builtin if string instructions are denied.
168 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
169 __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
170 appropriate.
171 (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
172 * config/rx/rx.md (movstr): Enable pattern only if string
173 instructions are allowed.
174 (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
175 (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
176 * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
177 (MULTILIB_DIRNAMES): Add no-strings.
178 * doc/invoke.texi: Document -mno-allow-string-insns.
179
180 2015-04-15 Alan Modra <amodra@gmail.com>
181
182 PR target/65408
183 PR target/58744
184 PR middle-end/36043
185 * calls.c (load_register_parameters): Don't load past end of
186 mem unless suitably aligned.
187
188 2015-04-15 Nick Clifton <nickc@redhat.com>
189
190 * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
191 decrement instruction as being frame related.
192 (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
193 based addresses.
194 If zero extending a function address enclose the operation in
195 %code(...).
196 (rl78_preferred_reload_class): New function.
197 (TARGET_PREFERRED_RELOAD_CLASS): Define.
198 * config/rl78/rl78.md: Remove useless constraints in expanders.
199 (mulqi3_rl78): Remove + qualifier on input-only operand 1.
200 (mulhi3_rl78): Likewise.
201 (mulhi3_g13): Likewise.
202 (mulsi3_rl78): Likewise.
203 (es_addr): Move to before the multiply patterns.
204
205 2015-04-15 Alan Modra <amodra@gmail.com>
206
207 * function.h (struct emit_status): Delete x_first_insn, x_last_insn
208 and sequence_stack. Add seq.
209 (seq_stack): Delete.
210 * function.c (prepare_function_start): Don't access x_last_insn.
211 * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
212 (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
213 * emit_rtl.c (start_sequence, push_topmost_sequence,
214 pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
215 sequence accessors.
216 (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
217 remove_insn): Likewise. Simplify.
218 * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
219 and pop_topmost_sequence.
220 (m32c_function_needs_enter): Use get_topmost_sequence. Ignore
221 debug insns.
222 * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
223
224 2015-04-14 Yvan Roux <yvan.roux@linaro.org>
225
226 PR target/65729
227 * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
228 the assertiion.
229
230 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
231
232 * config/i386/i386.h (LEGACY_INT_REG_P): New define.
233 (LEGACY_INT_REGNO_P): Ditto.
234 (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
235 (ANY_MASK_REG_P): Remove.
236 (BND_REG_P): Rename from ANY_BND_REG_P.
237 * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
238 legacy integer registers. Do not handle MMX_REG_P in a special way.
239 Merge 64byte and 32byte SSE handling.
240
241 2015-04-14 Nick Clifton <nickc@redhat.com>
242
243 * expr.c (expand_assignment): Force an address offset computation
244 into a register before changing its mode.
245 (expand_expr_real_1): Likewise.
246
247 2015-04-14 Alan Lawrence <alan.lawrence@arm.com>
248
249 * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
250 vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
251 vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
252 vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
253 vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
254 vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
255 vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
256 and __aarch64_vget_lane_any.
257
258 2015-04-14 Jakub Jelinek <jakub@redhat.com>
259
260 PR rtl-optimization/65761
261 * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
262 get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
263
264 2015-04-14 Richard Biener <rguenther@suse.de>
265
266 * graphite-scop-detection.c: Do not include cp/cp-tree.h.
267 (graphite_can_represent_scev): Use POINTER_TYPE_P.
268
269 2015-04-14 Richard Biener <rguenther@suse.de>
270
271 PR tree-optimization/65758
272 * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
273 against -1.
274 (ccp_lattice_meet): Likewise.
275 (bit_value_unop): Likewise.
276 (bit_value_binop): Likewise.
277 (bit_value_assume_aligned): Likewise.
278
279 2015-04-14 Christian Bruel <christian.bruel@st.com>
280
281 * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
282 function.
283
284 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
285
286 PR tree-optimization/63387
287 * match.pd ((x unord x) | (y unord y) -> (x unord y),
288 (x unord x) | (x unord y) -> (x unord y)): New simplifications.
289
290 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
291
292 * config/i386/predicates.md (any_QIreg_operand): Rename from
293 q_regs_operand. Do not process subregs.
294 (QIreg_operand): Use QI_REGNO_P predicate.
295 (ext_QIreg_operand): Ditto.
296 (ext_register_operand): Ditto.
297 * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
298 (AND splitters): Ditto.
299 (AND with -65536 splitter): Add SWI48 mode for operand 0.
300 (AND with -256 splitter): Use any_QIreg_operand predicate and
301 SWI248 mode for operand 0.
302 (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
303 mode for operand 0.
304 (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
305
306 2015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
307
308 * doc/plugins.texi: Rewrite first introductory paragraph.
309
310 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
311
312 * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
313 (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
314
315 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
316
317 * ipa-profie.c (ipa_profile): Check number of parameters
318 and possible polymorphic call targets before
319 devirtualizing.
320
321 2015-04-13 Uros Bizjak <ubizjak@gmail.com>
322
323 * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
324 *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
325
326 2015-04-13 Richard Biener <rguenther@suse.de>
327
328 PR tree-optimization/65204
329 * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
330 takens for bit-CCP.
331
332 2015-04-13 Richard Biener <rguenther@suse.de>
333
334 PR target/65660
335 * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
336 and cond_not_taken_branch_cost to 4 and 2.
337 (bdver2_cost): Likewise.
338 (bdver3_cost): Likewise.
339 (bdver4_cost): Likewise.
340
341 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
342
343 * hash-table.h (hash_table constructor): Add mem stats.
344 (alloc_entries): Likewise.
345
346 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
347
348 * ipa-cp.c (ipcp_driver): Relase prev_edge.
349 * passes.c (execute_one_pass): Only add transform if pass has one.
350
351 2015-04-12 Joseph Myers <joseph@codesourcery.com>
352
353 * config/i386/i386.c (ix86_option_override_internal): Don't set
354 -fprefetch-loop-arrays if optimizing for size.
355
356 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
357 Gerald Pfeifer <gerald@pfeifer.com>
358
359 * doc/contrib.texi (Contributors): Add Martin Jambor and
360 Michael Matz.
361
362 2015-04-12 Jakub Jelinek <jakub@redhat.com>
363
364 * BASE-VER: Set to 6.0.0.
365
366 PR tree-optimization/65747
367 * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
368 rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
369
370 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
371
372 * doc/invoke.texi (-Wmemset-transposed-args): Break a long
373 sentence. Improve grammar.
374
375 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
376
377 * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
378
379 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
380
381 PR ipa/65743
382 * ipa-inline-transform.c (speculation_removed): Remove static var.
383 (check_speculations): New function.
384 (clone_inlined_nodes): Do not check spculations.
385 (inline_call): Call check_speculations.
386 * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
387 consider non-invariants.
388
389 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
390 Martin Liska <mliska@suse.cz>
391
392 PR ipa/65722
393 * ipa-icf.c (sem_item::compare_cgraph_references): function and
394 variable can not match.
395 (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
396 (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
397
398 2015-04-11 Jakub Jelinek <jakub@redhat.com>
399
400 PR tree-optimization/65735
401 * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
402 Remove visited_phis argument, add visited_bbs, avoid recursing into the
403 same bb rather than just into the same phi node.
404 (thread_through_normal_block): Adjust caller.
405
406 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
407
408 * doc/contrib.texi (Contributors): Add Ira Rosen.
409
410 2015-04-11 Benno Schulenberg <bensberg@justemail.net>
411
412 * gcov.c (find_source): Fix miswording in error message.
413 * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
414 (ix86_expand_sse_comi_round): Fix typo in error message.
415
416 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
417
418 * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
419
420 2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
421
422 * doc/contrib.texi (Contributors): Update Joe Buck's entry.
423
424 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
425
426 PR target/65710
427 * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
428 Print bad_spills_num and insn_pseudos_num.
429
430 2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
431
432 PR target/65694
433 * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
434 when creating +1 values for SImode.
435
436 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
437
438 PR target/65729
439 * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
440 assert.
441
442 2015-04-10 Jakub Jelinek <jakub@redhat.com>
443 Iain Sandoe <iain@codesourcery.com>
444
445 PR target/65351
446 * configure: Regenerate.
447
448 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
449
450 PR target/65671
451 * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
452
453 2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
454
455 * doc/contrib.texi (Contributors): Add John Marino.
456
457 2015-04-09 Jakub Jelinek <jakub@redhat.com>
458
459 PR tree-optimization/65709
460 * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
461 TREE_TYPE (TREE_TYPE (t)).
462
463 2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
464
465 PR target/65710
466 * lra-int.h (lra_bad_spill_regno_start): New.
467 * lra.c (lra_bad_spill_regno_start): New.
468 (lra): Set up lra_bad_spill_regno_start. Set up
469 lra_constraint_new_regno_start unconditionally.
470 * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
471 spill preferences.
472
473 2015-04-09 Marek Polacek <polacek@redhat.com>
474 Jakub Jelinek <jakub@redhat.com>
475
476 PR middle-end/65554
477 * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
478 (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
479 of STRIP_NOPS.
480
481 2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
482
483 PR rtl-optimization/65693
484 * combine.c (is_parallel_of_n_reg_sets): Move outside of
485 #ifndef HAVE_cc0.
486
487 2015-04-09 Georg-Johann Lay <avr@gjlay.de>
488
489 PR target/65296
490 * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
491 device specs file if "device-specs%s" didn't resolve to a path.
492
493 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
494
495 PR target/65676
496 * config/i386/i386.c (fixup_modeless_constant): New.
497 (ix86_expand_args_builtin): Fixup modeless constant operand.
498 (ix86_expand_round_builtin): Ditto.
499 (ix86_expand_special_args_builtin): Ditto.
500 (ix86_expand_builtin): Ditto.
501
502 2015-04-09 Jakub Jelinek <jakub@redhat.com>
503
504 PR target/65693
505 * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
506 any pow2 integer in between 2 and 0x80000000U inclusive.
507
508 2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
509
510 PR rtl-optimization/65693
511 * combine.c (is_parallel_of_n_reg_sets): Change first argument
512 from an rtx_insn * to an rtx.
513 (try_combine): Adjust both callers. Use it once more.
514
515 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
516
517 * tree-chkp.c (chkp_find_const_bounds_var): Remove.
518 (chkp_make_static_const_bounds): Search existing
519 symbol by assembler name. Use make_decl_one_only.
520 (chkp_get_zero_bounds_var): Remove node search which
521 is now performed in chkp_make_static_const_bounds.
522 (chkp_get_none_bounds_var): Likewise.
523
524 2015-04-08 Michael Witten <mfwitten@gmail.com>
525
526 * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
527 to an example.
528
529 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
530
531 * tree.h (CONVERT_EXPR_P): Commentary typo fix.
532
533 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
534
535 * doc/extend.texi (__sync Builtins): Fix grammar.
536
537 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
538
539 * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
540
541 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
542
543 * varasm.c (emit_local): Move definition of align.
544
545 2015-04-08 Julian Brown <julian@codesourcery.com>
546
547 * config/nvptx/mkoffload.c (process): Support variable mapping.
548
549 2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
550
551 * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
552 alpha_links **.
553 (alpha_write_one_linkage): Correct typo.
554
555 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
556
557 * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
558
559 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
560
561 * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
562
563 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
564
565 * tree-chkp.h (chkp_insert_retbnd_call): New.
566 * tree-chkp.c (chkp_insert_retbnd_call): New.
567 * ipa-split.c (insert_bndret_call_after): Remove.
568 (split_function): Use chkp_insert_retbnd_call.
569 * cgraphunit.c (cgraph_node::expand_thunk): Build returned
570 bounds for instrumented functions.
571
572 2015-04-07 Jan Hubicka <hubicka@ucw.cz>
573
574 PR ipa/65540
575 * calls.c (initialize_argument_information): When producing tail
576 call also turn SSA_NAMES passed by references to original PARM_DECLs
577
578 2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
579
580 PR target/65648
581 * lra-remat.c (do_remat): Process input and non-input insn
582 registers separately.
583
584 2015-04-07 Jakub Jelinek <jakub@redhat.com>
585
586 PR debug/65678
587 * valtrack.c (debug_lowpart_subreg): New function.
588 (dead_debug_insert_temp): Use it.
589
590 PR middle-end/65680
591 * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
592 into signed HOST_WIDE_INT the same as negative bit_offset.
593
594 2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
595
596 * ipa-comdats.c (ipa_comdats): Visit all thunks
597 to set proper comdat group.
598
599 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
600
601 PR target/65489
602 * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
603 on constants for NEON VSTRUCT modes.
604
605 2015-04-07 Jakub Jelinek <jakub@redhat.com>
606 Iain Sandoe <iain@codesourcery.com>
607
608 PR target/65351
609 * configure: Regenerate.
610
611 2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
612
613 PR target/65614
614 * config/rs6000/rs6000.c (struct processor_costs): Add cost field
615 for SF->DF conversions to make FLOAT_EXTEND more expensive, so
616 that LFD is used to load double constants instead of LFS. Add
617 defaults for all costs structures. Add comments for missing
618 initialization fields.
619 (size32_cost): Likewise.
620 (size64_cost): Likewise.
621 (rs64a_cost): Likewise.
622 (mpccore_cost): Likewise.
623 (ppc403_cost): Likewise.
624 (ppc405_cost): Likewise.
625 (ppc440_cost): Likewise.
626 (ppc476_cost): Likewise.
627 (ppc601_cost): Likewise.
628 (ppc603_cost): Likewise.
629 (ppc604_cost): Likewise.
630 (ppc604e_cost): Likewise.
631 (ppc620_cost): Likewise.
632 (ppc630_cost): Likewise.
633 (ppccell_cost): Likewise.
634 (ppc750_cost): Likewise.
635 (ppc7450_cost): Likewise.
636 (ppc8540_cost): Likewise.
637 (ppce300c2c3_cost): Likewise.
638 (ppce500mc_cost): Likewise.
639 (ppce500mc64_cost): Likewise.
640 (ppce5500_cost): Likewise.
641 (ppce6500_cost): Likewise.
642 (titan_cost): Likewise.
643 (power4_cost): Likewise.
644 (power6_cost): Likewise.
645 (power7_cost): Likewise.
646 (power8_cost): Likewise.
647 (ppca2_cost): Likewise.
648 (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
649
650 * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
651 instead of XXLOR to copy SFmode to clear out dirty bits created
652 when SFmode denormals are generated.
653 (mov<mode>_hardfloat, FMOVE32 case): Likewise.
654 (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
655
656 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
657
658 * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
659 * config/aarch64/aarch64-cores.def (exynos-m1): New core.
660 * config/aarch64/aarch64-tune.md: Regenerate.
661
662 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
663
664 * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
665 * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
666 * config/arm/arm-cores.def (exynos-m1): New core.
667 * config/arm/arm-tune.md: Regenerate.
668 * config/arm/arm-tables.opt: Add entry for "exynos-m1".
669 * config/arm/bpabi.h: Likewise.
670
671 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
672
673 * ipa-cp (set_single_call_flag): Remove too
674 restrictive assert.
675
676 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
677
678 * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
679 GOMP_offload_unregister from the destructor.
680
681 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
682
683 * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
684 flags for instrumentation thunk.
685 (chkp_produce_thunks): Likewise.
686
687 2015-04-05 Martin Liska <mliska@suse.cz>
688
689 PR ipa/65665
690 * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
691 has computed data structure.
692 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
693
694 2015-04-04 Jan Hubicka <hubicka@ucw.cz>
695
696 * invoke.texi (inline-unit-growth): Increase growth to 20%
697 * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
698
699 2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
700
701 PR target/65647
702 * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
703 value checking.
704 (lra_rematerialization_iter): New.
705 * lra.c (lra): Initialize lra_rematerialization_iter.
706 Stop updating lra_constraint_new_regno_start after switching of
707 inheritance and rematerialization.
708 * lra-remat.c (lra_rematerialization_iter): New.
709 (lra_remat): Add printing pass iteration. Do rematerialization
710 only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
711
712 2015-04-04 Richard Biener <rguenther@suse.de>
713
714 PR tree-optimization/64909
715 PR tree-optimization/65660
716 * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
717 to take a cost vector for scalar iteration cost.
718 (vect_get_single_scalar_iteration_cost): Likewise.
719 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
720 Compute the scalar iteration cost into a cost vector.
721 (vect_get_known_peeling_cost): Use the scalar cost vector to
722 account for the cost of the peeled iterations.
723 (vect_estimate_min_profitable_iters): Likewise.
724 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
725 Likewise.
726
727 2015-04-04 Alan Modra <amodra@gmail.com>
728
729 PR target/65576
730 PR target/65240
731 * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
732 0.0 constant unless TARGET_VSX.
733 * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
734 alternative.
735
736 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
737
738 PR ipa/65654
739 * ipa-inline-transform.c (inline_call): Skip sanity check to work
740 around the ICE
741
742 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
743
744 PR ipa/65655
745 * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
746 speculative indirect edges to avoid ordering issue.
747
748 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
749
750 PR ipa/65076
751 * ipa-inline.c (edge_badness): Add combined size to the denominator.
752
753 2015-04-03 Jakub Jelinek <jakub@redhat.com>
754
755 * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
756 TYPE_ARTIFICIAL on the .omp_data* types.
757
758 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
759
760 * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
761 instrumentation thunks.
762
763 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
764
765 * config/i386/i386.c (ix86_expand_call): Avoid nested
766 PARALLEL in returned call value.
767
768 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
769
770 * lto-cgraph.c (input_cgraph_1): Always link instrumented
771 assembler name with original one.
772
773 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
774
775 * config/i386/i386.c (ix86_register_priority): Use AX_REG.
776
777 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
778
779 Revert parts of r216820.
780 * config/i386/i386.md (movqi_internal): Correct type calculation
781 for alternatives 3 and 5.
782
783 2015-04-02 Jakub Jelinek <jakub@redhat.com>
784
785 PR preprocessor/61977
786 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
787 predefine __vector/__bool/__pixel macros nor context sensitive
788 macros for CLK_ASM.
789 * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
790
791 2015-04-02 John David Anglin <danglin@gcc.gnu.org>
792
793 * config/pa/pa.c (pa_output_move_double): Directly handle register
794 indexed memory operand. Simplify handling of scaled register indexed
795 memory operands.
796
797 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
798
799 PR driver/65444
800 * config/i386/linux-common.h (MPX_SPEC): New.
801 (CHKP_SPEC): Add MPX_SPEC.
802 * doc/invoke.texi (-fcheck-pointer-boudns): Document
803 possible issues with '-z bndplt' support in linker.
804
805 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
806
807 * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
808 (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
809 (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
810 * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
811 (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
812
813 2015-04-01 Uros Bizjak <ubizjak@gmail.com>
814
815 * config/i386/sync.md (UNSPEC_MOVA): Remove.
816 (atomic_load<mode>): Change operand 0 predicate to
817 nonimmediate_operand and fix up the destination when needed.
818 Use UNSPEC_LDA.
819 (atomic_loaddi_fpu): Use UNSPEC_LDA.
820 (atomic_store<mode>): Change operand 1 predicate to
821 nonimmendate_operand and move the source to register when needed.
822 Use UNSPEC_STA.
823 (atomic_store<mode>_1): Use UNSPEC_STA.
824 (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
825 Fix moves from memory operand. Use UNSPEC_STA.
826
827 2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
828
829 * expmed.c (strict_volatile_bitfield_p): Check that the access will
830 not cross a MODESIZE boundary.
831 (store_bit_field, extract_bit_field): Added assertions in the
832 strict volatile bitfields code path.
833
834 2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
835
836 PR target/65624
837 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
838 Increase args array size by one to avoid buffer overflow.
839
840 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
841
842 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
843 split_part.
844 * ipa-inline.c (edge_badness): Add wrapper penalty.
845 (sum_callers): Move up.
846 (inline_small_functions): Set single_caller.
847 * ipa-inline.h (inline_summary): Add single_caller.
848 * ipa-split.c (split_function): Set split_part.
849 (cgraph_node::create_clone): Do not shadow decl; copy split_part.
850 * cgraph.h (cgraph_node): Add split_part.
851
852 2015-03-31 Uros Bizjak <ubizjak@gmail.com>
853
854 PR target/58945
855 * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
856 Do not split operands 0 and operands 2 to halfmode.
857 (atomic_compare_and_swap<mode>): Update for
858 atomic_compare_and_swap<dwi>_doubleword changes.
859
860 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
861
862 * tree.c (need_assembler_name_p): Artificial types have no ODR names.
863 * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
864 no caching is done.
865
866 2015-03-31 Martin Liska <mliska@suse.cz>
867
868 PR ipa/65557
869 * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
870 has already filled up function summary.
871 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
872
873 2015-03-31 Richard Biener <rguenther@suse.de>
874
875 * tree-sra.c (create_access_replacement): Drop under-/over-alignment
876 of types.
877
878 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
879
880 * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
881 nested functions.
882 (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
883 (s390_asm_output_function_label): Adapt to new signature of
884 s390_function_num_hotpatch_hw
885 Optimise the code generating assembler output.
886 Add comments to assembler file.
887
888 2015-03-31 Richard Biener <rguenther@suse.de>
889
890 PR middle-end/65626
891 * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
892 of the noreturn call so it is last and cleanup_control_flow_bb
893 can do the CFG part.
894
895 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
896
897 PR target/65531
898 * ipa-chkp.c (chkp_maybe_create_clone): Don't set
899 same_comdat_group for external symbols.
900 * symtab.c (symtab_node::verify_symtab_nodes): Avoid
901 infinite same_comdat_group traversal loop.
902
903 2015-03-31 Jakub Jelinek <jakub@redhat.com>
904
905 PR plugins/61176
906 * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
907 automatically to $headers.
908
909 2015-03-30 Jakub Jelinek <jakub@redhat.com>
910
911 PR ipa/65610
912 * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
913 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
914 function.
915 (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
916 Use it.
917 * ipa-prop.c (param_type_may_change_p): Likewise.
918 * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
919 (remove_unused_scope_block_p): Add in_ctor_dtor_block
920 argument. Before inlining, preserve
921 inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
922 with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
923 recursive calls.
924 (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
925
926 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
927
928 PR ipa/65076
929 * ipa-inline.c (edge_badness): Base denominator on callee's
930 grwoth squared.
931
932 2015-03-27 Martin Jambor <mjambor@suse.cz>
933
934 PR ipa/65478
935 * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
936 (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
937 * ipa-prop.h (ipa_node_params): New flags node_within_scc and
938 node_calling_single_call.
939 * ipa-cp.c (count_callers): New function.
940 (set_single_call_flag): Likewise.
941 (initialize_node_lattices): Count callers and set single_flag_call if
942 necessary.
943 (incorporate_penalties): New function.
944 (good_cloning_opportunity_p): Use it, dump new flags.
945 (propagate_constants_topo): Set node_within_scc flag if appropriate.
946 * doc/invoke.texi (ipa-cp-recursion-penalty,
947 ipa-cp-single-call-pentalty): Document.
948
949 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
950
951 PR ipa/65588
952 * symtab.c (symtab_node::get_partitioning_class): Register vars
953 are duplicated.
954 * varpool.c (symbol_table::output_variables) Do not assemble unefined
955 decls for non-symbols.
956
957 2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
958
959 PR target/65248
960 * output.h (default_binds_local_p_2): New.
961 * varasm.c (default_binds_local_p_2): Renamed to ...
962 (default_binds_local_p_3): This. Don't return true on protected
963 data symbol if protected data may be external.
964 (default_binds_local_p): Use default_binds_local_p_3.
965 (default_binds_local_p_1): Likewise.
966 (default_binds_local_p_2): New.
967 * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
968 default_binds_local_p_2 if TARGET_MACHO is undefined.
969
970 2015-03-27 Jakub Jelinek <jakub@redhat.com>
971
972 PR target/65593
973 * config/i386/i386.c (legitimize_pic_address): If base
974 is SYMBOL_REF or LABEL_REF using %rip addressing, force
975 it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
976
977 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
978
979 PR target/65531
980 * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
981 comdat groups.
982
983 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
984
985 PR ipa/65600
986 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
987 of optimized out indirect call.
988 (redirect_to_unreachable): Always build symbol table node for
989 BUILT_IN_UNREACHABLE
990
991 2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
992
993 PR target/65407
994 * ira-costs.c (record_reg_classes): Process all constraint string
995 containing 0-9.
996
997 2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
998
999 * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
1000 memory_operand.
1001
1002 PR target/65052
1003 * config/c6x/constraints.md (S3): New constraint.
1004 * config/c6x/c6x.md (real_jump): Use it.
1005
1006 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
1007
1008 PR middle-end/65595
1009 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
1010 do redirection if the call is not optimized out.
1011
1012 2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
1013
1014 PR target/65495
1015 * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
1016 (fchkp-check-incomplete-type): Add LTO.
1017 (fchkp-zero-input-bounds-for-main): Likewise.
1018 (fchkp-first-field-has-own-bounds): Likewise.
1019 (fchkp-narrow-bounds): Likewise.
1020 (fchkp-narrow-to-innermost-array): Likewise.
1021 (fchkp-use-static-bounds): Likewise.
1022 (fchkp-use-static-const-bounds): Likewise.
1023 (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
1024
1025 2015-03-27 Marek Polacek <polacek@redhat.com>
1026
1027 * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
1028
1029 2015-03-27 Marek Polacek <polacek@redhat.com>
1030
1031 PR sanitizer/65583
1032 * ubsan.c (ubsan_create_edge): New function.
1033 (instrument_bool_enum_load): Call it.
1034 (instrument_nonnull_arg): Likewise.
1035 (instrument_nonnull_return): Likewise.
1036 (instrument_object_size): Likewise.
1037
1038 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
1039
1040 * lto-streamer.h (class lto_location_cache): Turn loc_cache into
1041 auto_vec.
1042
1043 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
1044
1045 PR lto/65536
1046 * lto-streamer.h (class lto_location_cache): New.
1047 (struct data_in): Add location_cache.
1048 (lto_input_location): Update prototype.
1049 (stream_input_location_now): New.
1050 * streamer-hooks.h (struct streamer_hooks): Make input_location to take
1051 pointer to location.
1052 (stream_input_location): Update.
1053 * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
1054 (warn_odr): Apply location cache before warning.
1055 (lto_input_location): Update prototype.
1056 * gimple-streamer-in.c (input_phi, input_gimple_stmt):
1057 Use stream_input_location_now.
1058 * lto-streamer-in.c (lto_location_cache::current_cache): New static
1059 variable.
1060 (lto_location_cache::cmp_loc): New function.
1061 (lto_location_cache::apply_location_cache): New function.
1062 (lto_location_cache::accept_location_cache): New function.
1063 (lto_location_cache::revert_location_cache): New function.
1064 (lto_location_cache::input_location): New function.
1065 (lto_input_location): Do location caching.
1066 (stream_input_location_now): New function.
1067 (input_eh_region, input_struct_function_base): Use
1068 stream_input_location_now.
1069 (lto_data_in_create): use new.
1070 (lto_data_in_delete): Use delete.
1071 * tree-streamer-in.c (unpack_ts_block_value_fields,
1072 unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
1073 lto_input_ts_exp_tree_pointers): Update for cached location api.
1074
1075 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
1076
1077 PR ipa/65076
1078 * passes.def: Add pass_nothrow.
1079 * ipa-pure-const.c: (pass_data_nothrow): New.
1080 (pass_nothrow): New.
1081 (pass_nothrow::execute): New.
1082 (make_pass_nothrow): New.
1083 * tree-pass.h (make_pass_nothrow): Declare.
1084
1085 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
1086
1087 * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
1088 edge to change by speculation resolution or redirection.
1089 (edge_set_predicate): Likewise.
1090 (inline_summary_t::duplicate): Likewise.
1091 (remap_edge_summaries): Likewise.
1092
1093 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
1094
1095 * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
1096 New macros.
1097 (can_inline_edge_p): Relax option matching for always inline functions.
1098
1099 2015-03-26 Uros Bizjak <ubizjak@gmail.com>
1100
1101 PR target/65561
1102 * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
1103 Check operand 4 and operand 0 for equality.
1104 (avx512f_vextract<shuffletype>32x4_1_maskm):
1105 Check operand 6 and operand 0 for equality.
1106 (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
1107 for equality.
1108 (vec_extract_hi_<mode>_maskm): Ditto.
1109
1110 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
1111
1112 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
1113 dead calls back to live.
1114 (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
1115 cross check to ...
1116 (cgraph_node::verify_node): ... here; verify only callee edges,
1117 not caller.
1118 * cif-code.def (CILK_SPAWN): New code.
1119
1120 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
1121
1122 * ipa-inline-analysis.c (redirect_to_unreachable): New function.
1123 (edge_set_predicate): Use it to mark unreachable edges.
1124 (inline_summary_t::duplicate): Remove unnecesary code.
1125 (remap_edge_summaries): Likewise.
1126 (dump_inline_summary): Report contains_cilk_spawn.
1127 (compute_inline_parameters): Compute contains_cilk_spawn.
1128 (inline_read_section, inline_write_summary): Stream
1129 contains_cilk_spawn.
1130 * ipa-inline.c (can_inline_edge_p): Do not touch
1131 DECL_STRUCT_FUNCTION that may not be available;
1132 use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
1133 remove check for callee_fun->can_throw_non_call_exceptions and
1134 replace it by optimization attribute check; check for flag_exceptions.
1135 * ipa-inline-transform.c (inline_call): Maintain
1136 DECL_FUNCTION_PERSONALITY
1137 * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
1138
1139 2015-03-26 Jakub Jelinek <jakub@redhat.com>
1140
1141 PR tree-optimization/65551
1142 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
1143 TYPE_PRECISION only for INTEGRAL_TYPE_P types.
1144
1145 2015-03-26 Richard Biener <rguenther@suse.de>
1146
1147 PR middle-end/65555
1148 * tree-cfg.c (verify_gimple_call): Do not require a call to
1149 have no LHS if it wasn't recognized as control altering yet.
1150
1151 2015-03-26 Jakub Jelinek <jakub@redhat.com>
1152
1153 PR tree-optimization/64715
1154 * passes.def: Add another instance of pass_object_sizes before ccp1.
1155 * tree-object-size.c (pass_object_sizes::execute): In
1156 first_pass_instance, only handle __bos (, 1) and __bos (, 3)
1157 calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
1158 __bos result and the computed constant. Remove redundant
1159 checks, obsoleted by gimple_call_builtin_p test.
1160
1161 * var-tracking.c (variable_tracking_main_1): Don't track
1162 variables for targetm.no_register_allocation targets.
1163
1164 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
1165
1166 * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
1167 * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
1168
1169 2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
1170
1171 PR target/65569
1172 * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
1173 XXLXOR to create 0.0. On pre-VSX systems make sure the constant
1174 0.0 is correctly setup.
1175 (extenddftf2_internal): Likewise.
1176
1177 2015-03-25 Sebastian Pop <s.pop@samsung.com>
1178
1179 PR tree-optimization/65177
1180 * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
1181 (bb_in_bbs): New.
1182 (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
1183 edges not adjacent on the path to the original code.
1184
1185 2015-03-25 Uros Bizjak <ubizjak@gmail.com>
1186
1187 PR bootstrap/65537
1188 * doc/install.texi (Building a native compiler): Document new
1189 bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
1190 configuration assumes that the host supports the linker plugin.
1191
1192 2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
1193
1194 PR target/65508
1195 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
1196 chain for generated call.
1197
1198 2015-03-25 Richard Biener <rguenther@suse.de>
1199
1200 * passes.c (pass_manager::execute_early_local_passes): Guard
1201 execution of pass_chkp_instrumentation_passes with
1202 flag_check_pointer_bounds.
1203 (pass_chkp_instrumentation_passes::gate): Likewise.
1204
1205 2015-03-25 Martin Liska <mliska@suse.cz>
1206
1207 PR tree-optimization/65538
1208 * symbol-summary.h (function_summary::~function_summary):
1209 Relese memory for allocated summaries.
1210 (function_summary::release): New function.
1211
1212 2015-03-25 Jakub Jelinek <jakub@redhat.com>
1213
1214 PR lto/65515
1215 * lto-streamer-out.c (DFS::worklist): New struct.
1216 (DFS::worklist_vec): New data member.
1217 (DFS::next_dfs_num): Remove.
1218 (DFS::DFS): Rewritten using worklist instead of recursion,
1219 using most of code from DFS::DFS_write_tree.
1220 (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
1221 pass it to DFS_write_tree calls.
1222 (DFS::DFS_write_tree): Remove SINGLE_P argument, after
1223 quick initial checks push it into worklist_vec and return.
1224
1225 2015-03-25 Richard Biener <rguenther@suse.de>
1226
1227 PR middle-end/65519
1228 * genmatch.c (expr::gen_transform): Re-write to avoid
1229 using gimple_build.
1230
1231 2015-03-25 Bin Cheng <bin.cheng@arm.com>
1232
1233 * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
1234
1235 2015-03-25 Bin Cheng <bin.cheng@arm.com>
1236
1237 * config/arm/arm.opt (print_tune_info): New option.
1238 * config/arm/arm.c (arm_print_tune_info): New function.
1239 (arm_file_start): Call arm_print_tune_info.
1240 * config/arm/arm-protos.h (struct tune_params): Add comment.
1241 * doc/invoke.texi (@item -mprint-tune-info): New item.
1242 (-mtune): mention it in ARM Option Summary.
1243
1244 2015-03-25 DJ Delorie <dj@redhat.com>
1245
1246 * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
1247 correct clause.
1248
1249 2015-03-24 Jan Hubicka <hubicka@ucw.cz>
1250 Martin Liska <mliska@suse.cz>
1251
1252 * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
1253 * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
1254 (sem_item::add_type): New function.
1255 (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
1256 (sem_function::compare_polymorphic_p): Do not consider indirect calls.
1257 (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
1258 (sem_function::equals_wpa): Fix typo.
1259 * ipa-icf.h (sem_item::add_type): New function.
1260 (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
1261 order.
1262
1263 2015-03-24 Jakub Jelinek <jakub@redhat.com>
1264
1265 PR tree-optimization/65533
1266 * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
1267 with swapped operands, call vect_free_slp_tree on
1268 SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
1269 vector.
1270
1271 2015-03-24 Richard Biener <rguenther@suse.de>
1272
1273 PR middle-end/65517
1274 * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
1275 for fixup if necessary.
1276
1277 2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
1278
1279 * doc/extend.texi (Function Attributes): Add @cindex entries
1280 for all attributes and regularize their format. Delete text
1281 about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
1282 information about "eightbit_data", "tiny_data", and "model"
1283 variable attributes to the Variable Attributes section. Fix
1284 some obvious typos and copy-editing issues.
1285 (Variable Attributes, Type Attributes): Likewise add/fix
1286 @cindex entries for all attributes.
1287
1288 2015-03-23 Jakub Jelinek <jakub@redhat.com>
1289
1290 PR target/65523
1291 * tree-chkp.c (chkp_build_returned_bound): Ignore
1292 ERF_RETURNS_ARG calls if they have fewer than needed arguments.
1293
1294 2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
1295
1296 PR target/65505
1297 * config/sh/predicates.md (simple_mem_operand,
1298 displacement_mem_operand): Add test for reg.
1299 (short_displacement_mem_operand): Test for displacement_mem_operand
1300 before invoking sh_disp_addr_displacement.
1301 * config/sh/constraints.md (Sdd, Sra): Simplify.
1302 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
1303 Remove redundant displacement_mem_operand tests.
1304
1305 2015-03-23 Georg-Johann Lay <avr@gjlay.de>
1306
1307 PR target/65296
1308 * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
1309 the same -mmcu=MCU more than once.
1310
1311 2015-03-23 Jakub Jelinek <jakub@redhat.com>
1312
1313 PR bootstrap/65522
1314 * ipa-devirt.c: Remove duplicate demangle.h include.
1315
1316 PR target/65504
1317 * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
1318 on the pseudo.
1319 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
1320 REG_POINTER on *destptr after adjusting it for prologue size.
1321
1322 PR ipa/65521
1323 * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
1324 ultimate_alias_target ()->order ints instead of
1325 ultimate_alias_target () pointers.
1326
1327 2015-03-23 Richard Biener <rguenther@suse.de>
1328
1329 PR tree-optimization/65518
1330 * tree-vect-stmts.c (vectorizable_load): Reject single-element
1331 interleaving cases we generate absymal code for.
1332
1333 2015-03-23 Richard Biener <rguenther@suse.de>
1334
1335 PR tree-optimization/65494
1336 * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
1337 matches here.
1338 (vect_analyze_slp_instance): But do that here, always and once.
1339
1340 2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1341
1342 * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
1343 adding T or multiplying by T+1 and subracting T.
1344
1345 2015-03-22 Jeff Law <law@redhat.com>
1346
1347 PR rtl-optimization/64317
1348 * Makefile.in (OBJS): Add gcse-common.c
1349 * gcse.c: Include gcse-common.h
1350 (struct modify_pair_s): Move structure definition to gcse-common.h
1351 (compute_transp): Move function to gcse-common.c.
1352 (canon_list_insert): Similarly.
1353 (record_last_mem_set_info): Break out some code and put it into
1354 gcse-common.c. Call into the new common code.
1355 (compute_local_properties): Pass additional arguments to compute_transp.
1356 * postreload-gcse.c: Include gcse-common.h and df.h
1357 (modify_mem_list_set, blocks_with_calls): New variables.
1358 (modify_mem_list, canon_modify_mem_list, transp): Likewise.
1359 (get_bb_avail_insn): Pass in the expression index too.
1360 (alloc_mem): Allocate memory for the new bitmaps and lists.
1361 (free_mem): Free memory for the new bitmaps and lists.
1362 (insert_expr_in_table): Record a bitmap index for each entry we
1363 add to the table.
1364 (record_last_mem_set_info): Call into common code in gcse-common.c.
1365 (get_bb_avail_insn): If no available insn was found in the requested
1366 BB. If BB has a single predecessor, see if the expression is
1367 transparent in BB and available in that single predecessor.
1368 (compute_expr_transp): New wrapper for compute_transp.
1369 (eliminate_partially_redundant_load): Pass expression's bitmap_index
1370 to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
1371 (gcse_after_reload_main): If there are elements in the hash table,
1372 then compute transparency for all the elements in the hash table.
1373 * gcse-common.h: New file.
1374 * gcse-common.c: New file.
1375
1376 2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
1377
1378 * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
1379 as an adjective.
1380 (System Headers): Likewise.
1381 (Ifdef): Likewise.
1382 (Traditional macros): Likewise.
1383 (Invocation): Likewise.
1384 (Option Index): Likewise.
1385 * doc/cppopts.texi (-M): Likewise.
1386 (-finput-charset): Likewise.
1387 (--help): Likewise.
1388 * doc.invoke.texi (AVR Options): Likewise.
1389 (V850 Options): Likewise.
1390
1391 2015-03-22 Jan Hubicka <hubicka@ucw.cz>
1392
1393 PR ipa/65475
1394 * ipa-devirt.c: Include demangle.h
1395 (odr_type_d): Add field rtti_broken.
1396 (odr_subtypes_equivalent_p): Do not require name to match.
1397 (compare_virtual_tables): Fix typo; if type already has ODR violation,
1398 bypass the tests; be ready for function referneces in vtables that are
1399 not DECL_VIRTUAL; make warnings to be OPT_Wodr.
1400 (warn_odr): Give up for nameless types.
1401 (warn_types_mismatch): Report mismatch in mangled names;
1402 report mismatch in anonymous namespaces; look into component types to
1403 give useful error; report when mismatch is dragged in from other ODR
1404 type.
1405 (odr_types_equivalent_p): Match types for being polymorphic; avoid
1406 duplicated diagnostics.
1407 (add_type_duplicate): Reorder checks so more informative ones come
1408 first; fix typo; do not output "the extra base is defined here" when
1409 we did not warn.
1410 (BINFO_N_BASE_BINFOS): Relax sanity check.
1411
1412 2015-03-22 Martin Liska <mliska@suse.cz>
1413 Jakub Jelinek <jakub@redhat.com>
1414
1415 * config/i386/i386.c (def_builtin): Set deferred_isa_values for
1416 masks that can potentially include a builtin.
1417 (ix86_add_new_builtins): Introduce fast filter for isa values
1418 that cannot trigger builtin inclusion.
1419
1420 2015-03-22 Martin Liska <mliska@suse.cz>
1421
1422 * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
1423 (sem_item::update_hash_by_local_refs): Likewise.
1424 (sem_variable::get_hash): Empty line is fixed.
1425 (sem_item_optimizer::execute): Include adding of hash references.
1426 (sem_item_optimizer::update_hash_by_addr_refs): New function.
1427 (sem_item_optimizer::build_hash_based_classes): Use local hash.
1428 * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
1429 (sem_item::update_hash_by_local_refs): Likewise.
1430
1431 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
1432
1433 PR ipa/65502
1434 * ipa-comdats.c (enqueue_references): Walk through thunks.
1435 (ipa_comdats): Likewise.
1436 (set_comdat_group_1): New function.
1437
1438 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
1439
1440 PR ipa/65475
1441 * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
1442 non-polymorphic
1443
1444 2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
1445 Gerald Pfeifer <gerald@pfeifer.com>
1446
1447 * doc/contrib.texi (Contributors): Update entry for Danny Smith.
1448
1449 2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
1450 Sandra Loosemore <sandra@codesourcery.com>
1451
1452 * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
1453 function parameter declaration.
1454 * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
1455 Update arguments to nios2_adjust_call_address().
1456 (sibcall_internal): Rename from *sibcall.
1457 (sibcall_value_internal): Rename from *sibcall_value.
1458 * config/nios2/nios2.c (nios2_emit_add_constant): New function.
1459 (nios2_large_got_address): Add target temp reg parameter.
1460 (nios2_got_address): Adjust call to nios2_large_got_address, add
1461 force_reg around it.
1462 (nios2_load_pic_address): Add target temp reg parameter, replace call
1463 to nios2_got_address with corresponding code.
1464 (nios2_legitimize_constant_address): Update call to
1465 nios2_load_pic_address.
1466 (nios2_adjust_call_address): Add temp reg parameter, update PIC case
1467 to use temp reg for PIC loading purposes.
1468 (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
1469 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
1470 (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
1471
1472 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
1473
1474 * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
1475 usage of "the @option{...}".
1476 (-Wopenmp-simd): Likewise.
1477 (-fsanitize-recover): Likewise.
1478 (-fsanitize-undefined-trap-on-error): Likewise.
1479 (-flto): Likewise.
1480 (tracer-dynamic-coverage-feedback): Likewise.
1481 (reorder-block-duplicate-feedback): Likewise.
1482 (loop-unroll-jam-size): Likewise.
1483 (-B): Likewise.
1484 (-I-): Likewise.
1485 (-mabs=legacy): Likewise.
1486 (-mupper-regs-df): Likewise.
1487 (-mupper-regs-sf): Likewise.
1488 (-mpointers-to-nested-functions): Likewise.
1489
1490 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
1491
1492 * doc/extend.texi (Cilk Plus Builtins): Add markup.
1493
1494 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
1495
1496 * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
1497 additional index entries and cross-references.
1498 (-fchkp-check-incomplete-type): Likewise.
1499 (-fchkp-first-field-has-own-bounds): Likewise.
1500 (-fchkp-narrow-to-innermost-array): Likewise.
1501 (-fchkp-use-fast-string-functions): Likewise.
1502 (-fchkp-use-nochk-string-functions): Likewise.
1503 (-fchkp-use-static-const-bounds): Likewise.
1504 (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
1505 (-fchkp-instrument-marked-only): Likewise.
1506 (-fchkp-use-wrappers): Likewise.
1507 (-static-libmpx): Likewise.
1508 (-static-libmpxwrappers): Likewise.
1509 * doc/extend.texi (bnd_legacy): Likewise.
1510 (bnd_instrument): Likewise.
1511 (bnd_variable_size): Likewise.
1512 (Pointer Bounds Checker builtins): Likewise.
1513
1514 2015-03-21 Tom de Vries <tom@codesourcery.com>
1515
1516 PR tree-optimization/65458
1517 * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
1518 * cgraph.h (cgraph_node): Add parallelized_function field.
1519 * lto-cgraph.c (lto_output_node): Write parallelized_function field.
1520 (input_overwrite_node): Read parallelized_function field.
1521 * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
1522 parallelized_function on cgraph_node for child_fn.
1523 * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
1524 Remove include of gt-tree-parloops.h.
1525 (parallelized_functions): Remove static variable.
1526 (parallelized_function_p): Rewrite using parallelized_function field of
1527 cgraph_node.
1528 (create_loop_fn): Remove adding to parallelized_functions.
1529 * Makefile.in (GTFILES): Remove tree-parloops.c
1530
1531 2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
1532
1533 PR rtl-optimization/64366
1534 * lra.c (lra_update_insn_regno_info): Consider regs in
1535 CALL_INSN_FUNCTION_USAGE memory.
1536
1537 2015-03-20 Richard Biener <rguenther@suse.de>
1538
1539 PR middle-end/64715
1540 * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
1541 for type comparison and gcc_checking_assert.
1542 (chrec_fold_plus_poly_poly): Likewise.
1543 (chrec_fold_multiply_poly_poly): Likewise.
1544 (chrec_convert_1): Likewise.
1545 * gimplify.c (gimplify_expr): Remove premature folding of
1546 &X + CST to &MEM[&X, CST].
1547
1548 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
1549
1550 * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
1551 already is final.
1552 (ipa_inline): Recompute inline_failed codes.
1553 * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
1554 USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
1555 CIF_FINAL_ERROR.
1556
1557 2015-03-20 Uros Bizjak <ubizjak@gmail.com>
1558
1559 PR rtl-optimization/60851
1560 * recog.c (constrain_operands): Accept a pseudo register before reload
1561 for LRA enabled targets.
1562
1563 2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
1564
1565 PR target/65240
1566 * config/rs6000/predicates.md (easy_fp_constant): Remove special
1567 -ffast-math handling that kept non-0 constants live in the RTL
1568 until reload. Remove logic testing the number of instructions it
1569 took to create a constant in a GPR that was never used, due to a
1570 test for soft-float earlier.
1571 (memory_fp_constant): Delete, no longer used.
1572
1573 * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
1574 alternatives for loading non-0 constants into GPRs for hard
1575 floating point that is no longer needed due to changes in
1576 easy_fp_constant. Add support for loading 0.0 into GPRs.
1577 (mov<mode>_hardfloat32): Likewise.
1578 (mov<mode>_hardfloat64): Likewise.
1579 (mov<mode>_64bit_dm): Likewise.
1580 (movtd_64bit_nodm): Likewise.
1581 (pre-reload move FP constant define_split): Delete define_split,
1582 since it is no longer used.
1583 (extenddftf2_internal): Remove GHF constraints that are not valid
1584 for extenddftf2.
1585
1586 2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
1587
1588 PR rtl-optimization/63491
1589 * lra-constraints.c (check_and_process_move): Use src instead of
1590 sreg. Remove some dead code.
1591
1592 2015-03-19 Jan Hubicka <hubicka@ucw.cz>
1593
1594 PR ipa/65380
1595 * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
1596 (sem_variable::merge): Likewise.
1597
1598 2015-03-19 Martin Liska <mliska@suse.cz>
1599
1600 PR ipa/65465
1601 * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
1602 all fields of cgraph_thunk_info.
1603
1604 2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
1605
1606 * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
1607 clone instrumented thunks.
1608
1609 2015-03-19 Richard Biener <rguenther@suse.de>
1610
1611 Revert
1612 2015-03-10 Richard Biener <rguenther@suse.de>
1613
1614 PR middle-end/63155
1615 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
1616 * tree-ssa-coalesce.c: Include timevar.h.
1617 (attempt_coalesce): Handle graph being NULL.
1618 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
1619 Split out abnormal coalescing to ...
1620 (perform_abnormal_coalescing): ... this function.
1621 (coalesce_ssa_name): Perform abnormal coalescing without computing
1622 live/conflict.
1623 (verify_ssa_coalescing_worker): New function.
1624 (verify_ssa_coalescing): Likewise.
1625
1626 2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1627 Jakub Jelinek <jakub@redhat.com>
1628
1629 PR sanitizer/65400
1630 * tsan.c (instrument_gimple): Clear tail call flag on
1631 calls.
1632
1633 2015-03-19 Jakub Jelinek <jakub@redhat.com>
1634
1635 PR sanitizer/65400
1636 * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
1637 call in the return bb.
1638 (find_split_points): Add RETURN_BB argument, don't call
1639 find_return_bb.
1640 (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
1641 if true append TSAN_FUNC_EXIT internal call after the call to
1642 the split off function.
1643 (execute_split_functions): Call find_return_bb here.
1644 Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
1645 Adjust find_split_points and split_function calls.
1646
1647 2015-03-18 DJ Delorie <dj@redhat.com>
1648
1649 * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
1650 (iorqi3_virt): Likewise.
1651
1652 2015-03-18 Tom de Vries <tom@codesourcery.com>
1653
1654 * tree-parloops.c (parallelize_loops): Make static.
1655 * tree-parloops.h (parallelize_loops): Remove extern declaration.
1656
1657 2015-03-18 Andrew Stubbs <ams@codesourcery.com>
1658
1659 PR middle-end/64491
1660 Revert:
1661 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
1662
1663 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
1664 condition would be removed due to undefined behaviour.
1665
1666 2015-03-18 Martin Liska <mliska@suse.cz>
1667
1668 PR ipa/65432
1669 * cgraph.c (cgraph_node::get_create): Remove unnecessary
1670 xstrdup_for_dump wrapper.
1671 * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
1672 sem_item::name.
1673 (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
1674 with xstrdup_for_dump.
1675 (sem_variable::equals): Likewise.
1676 (sem_item_optimizer::read_section): Use symtab_node::name instead of
1677 sem_item::name.
1678 (sem_item_optimizer::parse_funcs_and_vars): Likewise.
1679 (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
1680 symtab_node::asm_name with xstrdup_for_dump.
1681 (congruence_class::dump): Use symtab_node::name instead of
1682 sem_item::name.
1683 * ipa-icf.h (symtab_node::name): Remove.
1684 (symtab_node::asm_name): Likewise.
1685
1686 2015-03-18 Jakub Jelinek <jakub@redhat.com>
1687
1688 PR tree-optimization/65450
1689 * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
1690 function.
1691 (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
1692 it instead of duplicate_ssa_name_ptr_info.
1693
1694 PR target/65222
1695 * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
1696
1697 2015-03-18 Richard Biener <rguenther@suse.de>
1698
1699 * tree-data-ref.h (struct access_matrix): Remove.
1700 (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
1701 AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
1702 AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
1703 (am_vector_index_for_loop): Likewise.
1704 (struct data_reference): Remove access_matrix member.
1705 (DR_ACCESS_MATRIX): Remove.
1706 (lambda_vector_new): Add comment.
1707 (lambda_matrix_new): Use XOBNEWVEC.
1708
1709 2015-03-18 Richard Biener <rguenther@suse.de>
1710
1711 * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
1712 (pass_ch::execute): Cleanup the CFG only if we did sth.
1713 * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
1714
1715 2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1716
1717 * expmed.c (synth_mult): Use std::swap instead of manually
1718 swapping algorithms.
1719
1720 2015-03-18 Jakub Jelinek <jakub@redhat.com>
1721
1722 PR target/65078
1723 * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
1724
1725 2015-03-16 Georg-Johann Lay <avr@gjlay.de>
1726
1727 PR target/65296
1728 * config/avr/avr.opt (-nodevicelib): New option.
1729 * doc/invoke.texi (AVR Options): Document it.
1730 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
1731 libgcc.a, libc.a, libm.a.
1732 * config/avr/specs.h: Same.
1733 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
1734 which don't (directly) depend on the device. Print more help.
1735 (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
1736 (*cpp): Don't define __AVR_DEV_LIB_NAME__.
1737 * config/avr/driver-avr.c: Remove -nodevicelib from option list in
1738 case of an error.
1739 (avr_devicespecs_file): Use suffix "%s" instead of absolute path
1740 for specs file name.
1741 * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
1742 * config/avr/avr-mcus.def: Adjust initializers and comments.
1743
1744 2015-03-16 Jan Hubicka <hubicka@ucw.cz>
1745
1746 * tree-sra.c (ipa_sra_preliminary_function_checks): Use
1747 DECL_ONE_ONLY to check if decl is one only.
1748 * ipa-split.c (consider_split): Limit splitt of one only functions.
1749
1750 2015-03-16 Jakub Jelinek <jakub@redhat.com>
1751
1752 PR tree-optimization/65427
1753 * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
1754 functions.
1755 (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
1756
1757 2015-03-16 Marek Polacek <polacek@redhat.com>
1758
1759 * cgraph.h (add_new_static_var): Remove declaration.
1760 * varpool.c (add_new_static_var): Remove function.
1761
1762 2015-03-16 Jakub Jelinek <jakub@redhat.com>
1763
1764 * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
1765 instead of vec<tree> * with vec_alloc and release for args.
1766 Adjust all users.
1767
1768 PR middle-end/65431
1769 * omp-low.c (delete_omp_context): Only splay_tree_delete
1770 reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
1771 is_gimple_omp_oacc contexts. Don't look at ctx->outer.
1772
1773 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
1774
1775 PR sanitizer/64820
1776 * cfgexpand.c (align_base): New function.
1777 (alloc_stack_frame_space): Call it.
1778 (expand_stack_vars): Align prev_frame to be sure
1779 data->asan_vec elements aligned properly.
1780
1781 2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
1782
1783 PR middle-end/65409
1784 * expr.c (store_field): Do not do a direct block copy if the source is
1785 a PARALLEL with BLKmode.
1786
1787 2015-03-16 Tom de Vries <tom@codesourcery.com>
1788
1789 PR middle-end/65414
1790 Revert:
1791 2015-03-12 Tom de Vries <tom@codesourcery.com>
1792
1793 PR rtl-optimization/64895
1794 * lra-lives.c (check_pseudos_live_through_calls): Use
1795 actual_call_used_reg_set instead of call_used_reg_set, if available.
1796
1797 2015-03-16 Alan Modra <amodra@gmail.com>
1798
1799 PR target/63150
1800 * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
1801 Modify Z->r bswapdi splitter to use dest in place of scratch.
1802 In r->Z and Z->r bswapdi splitter rename word_high, word_low
1803 to word1, word2 and rearrange logic to suit.
1804 (bswapdi2_64bit): Remove early clobber on Z->r alternative.
1805 (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
1806 (bswapdi2_32bit): Remove early clobber on Z->r alternative.
1807 Add one '?' on r->r. Modify Z->r splitter to avoid need for
1808 early clobber.
1809
1810 2015-03-14 Jakub Jelinek <jakub@redhat.com>
1811
1812 PR tree-optimization/65369
1813 * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
1814 Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
1815 (vs - 1) * TYPE_SIZE_UNIT (elem_type).
1816
1817 PR tree-optimization/65418
1818 * tree-ssa-reassoc.c (extract_bit_test_mask): If there
1819 are casts in the first PLUS_EXPR operand, ensure tbias and
1820 *totallowp are in the inner type.
1821
1822 PR rtl-optimization/65401
1823 * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
1824 argument. If true, adjust_address_nv of x with big-endian
1825 correction for the mode widening to GET_MODE (y).
1826 (make_field_assignment): Don't do MEM mode widening here.
1827 Use MEM_P instead of GET_CODE == MEM.
1828
1829 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
1830
1831 * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
1832 the external decls.
1833
1834 2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1835
1836 PR target/64600
1837 * config/arm/arm.c (arm_gen_constant, AND case): Use
1838 ARM_SIGN_EXTEND when constructing AND mask.
1839
1840 2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
1841
1842 * graph.c (print_graph_cfg): Make function names visible and append
1843 parenthesis to it. Also make groups of basic blocks belonging to the
1844 same function visible.
1845
1846 2015-03-12 Richard Biener <rguenther@suse.de>
1847
1848 PR middle-end/44563
1849 * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
1850 to avoid quadratic behavior with inline expansion splitting blocks.
1851 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
1852 with the successor if the predecessor will be merged with it.
1853 * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
1854 entry block with its successor.
1855
1856 2015-03-13 Richard Biener <rguenther@suse.de>
1857
1858 PR middle-end/44563
1859 * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
1860 (cleanup_tree_cfg_1): Do not call it.
1861 (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
1862 (fixup_noreturn_call): Mark the stmt as control altering.
1863 * tree-cfg.c (execute_fixup_cfg): Do not dump the function
1864 here.
1865 (pass_data_fixup_cfg): Produce a dump file.
1866 * tree-ssa-dom.c: Include tree-cfgcleanup.h.
1867 (need_noreturn_fixup): New global.
1868 (pass_dominator::execute): Fixup queued noreturn calls.
1869 (optimize_stmt): Queue calls that became noreturn for fixup.
1870 * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
1871 * tree-ssa-pre.c: Include tree-cfgcleanup.h.
1872 (el_to_fixup): New global.
1873 (eliminate_dom_walker::before_dom_childre): Queue calls that
1874 became noreturn for fixup.
1875 (eliminate): Fixup queued noreturn calls.
1876 * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
1877 (substitute_and_fold_dom_walker): New member stmts_to_fixup.
1878 (substitute_and_fold_dom_walker::before_dom_children): Queue
1879 alls that became noreturn for fixup.
1880 (substitute_and_fold): Fixup queued noreturn calls.
1881
1882 2015-03-12 Jan Hubicka <hubicka@ucw.cz>
1883
1884 * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
1885 and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
1886 are building; for methods check ODR type of class they belong to if
1887 they may lead to a polymorphic call.
1888 (sem_function::compare_polymorphic_p): Be bit smarter about testing
1889 when function may lead to a polymorphic call.
1890 (sem_function::compare_type_list): Remove.
1891 (sem_variable::equals): Update use of compatible_types_p.
1892 (sem_variable::parse_tree_refs): Remove.
1893 (sem_item_optimizer::filter_removed_items): Do not filter out CXX
1894 cdtor.
1895 * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
1896 matching here.
1897 (func_checker::compatible_polymorphic_types_p): Break out from ...
1898 (unc_checker::compatible_types_p): ... here.
1899 * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
1900 Declare.
1901 (unc_checker::compatible_types_p): Update.
1902 * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
1903 Remove.
1904
1905 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1906
1907 PR rtl-optimization/65235
1908 * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
1909 When first element of vec_concat is const_int, calculate its size
1910 using second element.
1911
1912 2015-03-12 Richard Biener <rguenther@suse.de>
1913
1914 PR middle-end/65270
1915 * fold-const.c (operand_equal_p): Fix ordering of resetting
1916 OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
1917
1918 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
1919
1920 * config/s390/s390.c (s390_reorg): Move code to output nops after label
1921 to s390_reorg ().
1922 (s390_asm_output_function_label): Likewise.
1923 * config/s390/s390.c (s390_asm_output_function_label):
1924 Fix function label alignment with -mhtopatch.
1925 * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
1926 UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
1927 ("nop_2_byte"): New define_insn.
1928 ("nop_4_byte"): Likewise.
1929 ("nop_6_byte"): Likewise.
1930 * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
1931 * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
1932
1933 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
1934
1935 PR target/65103
1936 * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
1937 register.
1938
1939 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
1940
1941 PR target/65044
1942 * toplev.c (process_options): Restrict Pointer Bounds Checker
1943 usage with Address Sanitizer.
1944
1945 2015-03-12 Richard Biener <rguenther@suse.de>
1946
1947 * tree-cfg.c (gimple_split_block): Remove loop finding stmt
1948 to split on.
1949 * omp-low.c (expand_omp_taskreg): Split block before removing
1950 the stmt.
1951 (expand_omp_target): Likewise.
1952 * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
1953 * tree-parloops.c (create_call_for_reduction_1): Pass a proper
1954 stmt to split_block.
1955
1956 2015-03-12 Tom de Vries <tom@codesourcery.com>
1957
1958 PR rtl-optimization/64895
1959 * lra-lives.c (check_pseudos_live_through_calls): Use
1960 actual_call_used_reg_set instead of call_used_reg_set, if available.
1961
1962 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
1963
1964 * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
1965 (cgraph_node::remove): Likewise.
1966 (cgraph_node::get_untransformed_body): Likewise.
1967 * varpool.c (varpool_node::remove): Likewise.
1968 (varpool_node::get_constructor): Add sanity check.
1969
1970 2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
1971
1972 * doc/invoke.texi (-fgnu89-inline): Remove discussion about
1973 old GCC versions.
1974 (-fabi-compat-version): Likewise.
1975 (-ffriend-injection): Likewise.
1976 (-Wdeclaration-after-statement): Likewise.
1977 (-fomit-frame-pointer): Likewise.
1978 (-ftree-coalesce-inlined-vars): Likewise.
1979 (-fvisibility=): Likewise.
1980 * doc/extend.texi (Typeof): Likewise.
1981 (Zero Length): Likewise.
1982 (Escaped Newlines): Likewise.
1983 (Compound Literals): Likewise.
1984 (Function Attributes): Likewise.
1985 (Label Attributes): Likewise.
1986 (Type Attributes): Likewise.
1987 (Function Names): Likewise.
1988 (Other Builtins): Likewise.
1989 (Function Specific Option Pragmas): Likewise.
1990 (C++ Interface): Likewise.
1991
1992 2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
1993
1994 * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
1995
1996 2015-03-11 Marek Polacek <polacek@redhat.com>
1997
1998 PR tree-optimization/65388
1999 * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
2000
2001 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
2002
2003 PR target/65296
2004 * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
2005 * configure: Regenerate.
2006 * config.in: Regenerate.
2007 * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
2008 [-mn-flash]: Document it.
2009 [__AVR_ARCH__]: Document avrtiny.
2010
2011 * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
2012 (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
2013 (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
2014
2015 2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2016
2017 * doc/invoke.texi: Add missing cpu values (z196, zEC12).
2018
2019 2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2020
2021 PR target/65242
2022 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
2023 allow reloads of PLUS in floating point/VSX registers.
2024
2025 2015-03-11 Junmo Park <junmoz.park@samsung.com>
2026
2027 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
2028 crypto_sha256_fast.
2029 (cortex_a57_crypto_complex): Add crypto_sha256_slow.
2030
2031 2015-03-11 Richard Biener <rguenther@suse.de>
2032
2033 PR tree-optimization/65310
2034 * tree-sra.c (build_ref_for_offset): Also preserve larger
2035 alignment.
2036
2037 2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
2038
2039 * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
2040
2041 2015-03-10 Jakub Jelinek <jakub@redhat.com>
2042
2043 PR target/65368
2044 * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
2045 new define_expand.
2046 (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
2047
2048 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
2049
2050 * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
2051 (sem_function::equals_wpa): ... here.
2052
2053 2015-03-10 Marek Polacek <polacek@redhat.com>
2054 Jakub Jelinek <jakub@redhat.com>
2055
2056 PR sanitizer/65367
2057 * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
2058 when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
2059 separately.
2060
2061 2015-03-10 Jakub Jelinek <jakub@redhat.com>
2062
2063 PR target/65286
2064 * config/rs6000/t-linux: For powerpc64* target set
2065 MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
2066
2067 2015-03-10 Richard Biener <rguenther@suse.de>
2068
2069 PR middle-end/44563
2070 * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
2071 for redirect_all_calls.
2072
2073 2015-03-10 Marek Polacek <polacek@redhat.com>
2074
2075 * gdbinit.in (pcfun): Define and document.
2076
2077 2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
2078
2079 * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
2080 of libgomp-plugin.h.
2081 (find_target_compiler): Support a case when the path to gcc is
2082 specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
2083 (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
2084 intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
2085 libgomp-plugin.h.
2086 (main): Use GCC_INSTALL_NAME as target_driver_name.
2087 * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
2088 define.
2089 (mkoffload.o): Remove obsolete include path and defines.
2090 (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
2091
2092 2015-03-10 Richard Biener <rguenther@suse.de>
2093
2094 PR middle-end/63155
2095 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
2096 * tree-ssa-coalesce.c: Include timevar.h.
2097 (attempt_coalesce): Handle graph being NULL.
2098 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
2099 Split out abnormal coalescing to ...
2100 (perform_abnormal_coalescing): ... this function.
2101 (coalesce_ssa_name): Perform abnormal coalescing without computing
2102 live/conflict.
2103 (verify_ssa_coalescing_worker): New function.
2104 (verify_ssa_coalescing): Likewise.
2105
2106 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
2107
2108 PR target/65296
2109 * config.gcc (extra_options) [avr]: Remove.
2110 (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
2111 (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
2112 (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
2113
2114 * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
2115 (-mmcu=): Add Var and MissingArgError properties.
2116 (-march=): Remove.
2117 * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
2118 * config/avr/t-multilib: Regenerate.
2119 * config/avr/specs.h: New file.
2120 * config/avr/driver-avr.c: New file.
2121 * config/avr/genopt.sh: Remove file.
2122 * config/avr/avr-tables.opt: Remove file.
2123 * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
2124 * config/avr/avr-c.c: Same.
2125 * avr-arch.h: Same.
2126 (avr_current_device): Remove proto.
2127 * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
2128 (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
2129 (EXTRA_SPEC_FUNCTIONS): Define.
2130 (avr_devicespecs_file): New specs function proto.
2131 (DRIVER_SELF_SPECS): Use device-specs-file spec function.
2132 * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
2133 (avr_current_device): Remove definition and usage.
2134 (avr_set_core_architecture): New static function.
2135 (avr_option_override): Use it.
2136 * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
2137 (mcu_name): New static array.
2138 (comparator, avr_archs_str, avr_mcus_str): New static functions.
2139 (avr_inform_devices, avr_inform_core_architectures): New functions.
2140 * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
2141 (avrlibc.h) [WITH_AVRLIBC]: Include.
2142 (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
2143 (print_mcu): Rewrite from scratch.
2144 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
2145 Forward to avr-specific specs defined in device-specs file.
2146 * config/avr/t-avr (driver-avr.o): New rule.
2147 (avr-devices.o): Depend on avr-arch.h.
2148 (avr-mcus): No more depend on avr-tables.opt.
2149 (avr-tables.opt): Remove rule.
2150 (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
2151
2152 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
2153
2154 * c-family/c.opt (fchkp-use-wrappers): New.
2155 * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
2156 (chkp_wrap_function): New.
2157 (chkp_build_instrumented_fndecl): Support wrapped
2158 functions.
2159 * doc/invoke.texi (-fcheck-pointer-bounds): New.
2160 (-fchkp-check-incomplete-type): New.
2161 (-fchkp-first-field-has-own-bounds): New.
2162 (-fchkp-narrow-bounds): New.
2163 (-fchkp-narrow-to-innermost-array): New.
2164 (-fchkp-optimize): New.
2165 (-fchkp-use-fast-string-functions): New.
2166 (-fchkp-use-nochk-string-functions): New.
2167 (-fchkp-use-static-bounds): New.
2168 (-fchkp-use-static-const-bounds): New.
2169 (-fchkp-treat-zero-dynamic-size-as-infinite): New.
2170 (-fchkp-check-read): New.
2171 (-fchkp-check-write): New.
2172 (-fchkp-store-bounds): New.
2173 (-fchkp-instrument-calls): New.
2174 (-fchkp-instrument-marked-only): New.
2175 (-fchkp-use-wrappers): New.
2176 (-static-libmpx): New.
2177 (-static-libmpxwrappers): New.
2178
2179 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
2180
2181 * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
2182 (CHKP_SPEC): Add wrappers library.
2183 * c-family/c.opt (static-libmpxwrappers): New.
2184
2185 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
2186
2187 * config/i386/linux-common.h (LIBMPX_LIBS): New.
2188 (LIBMPX_SPEC): New.
2189 (CHKP_SPEC): New.
2190 * gcc.c (CHKP_SPEC): New.
2191 (LINK_COMMAND_SPEC): Add CHKP_SPEC.
2192 * c-family/c.opt (static-libmpx): New.
2193
2194 2015-03-10 Richard Biener <rguenther@suse.de>
2195
2196 PR middle-end/44563
2197 * cgraph.h (struct cgraph_edge_hasher): Add hash overload
2198 for compare_type.
2199 * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
2200 (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
2201 (cgraph_add_edge_to_call_site_hash): Likewise.
2202 (cgraph_node::get_edge): Likewise.
2203 (cgraph_edge::set_call_stmt): Likewise.
2204 (cgraph_edge::remove_caller): Likewise.
2205
2206 2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
2207
2208 * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
2209 (callee_saved_gpr_regs_size): ... this.
2210 (callee_saved_regs_first_regno): Rename to ...
2211 (callee_saved_first_gpr_regno): ... this.
2212 (callee_saved_regs_last_regno) Rename to ...
2213 (callee_saved_last_gpr_regno): ... this.
2214 * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
2215 variables.
2216 (nds32_initial_elimination_offset): Likewise.
2217 (nds32_expand_prologue): Likewise.
2218 (nds32_expand_epilogue): Likewise.
2219 (nds32_expand_prologue_v3push): Likewise.
2220 (nds32_expand_epilogue_v3pop): Likewise.
2221 * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
2222 Adjust renamed variables.
2223 (nds32_output_stack_pop): Likewise.
2224
2225 2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2226
2227 * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
2228 code in comment.
2229
2230 2015-03-10 Jakub Jelinek <jakub@redhat.com>
2231
2232 PR rtl-optimization/65321
2233 * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
2234 than shift mode.
2235 * var-tracking.c (use_narrower_mode): Likewise.
2236
2237 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
2238
2239 PR tree-optimization/65355
2240 * varasm.c (notice_global_symbol): Do not produce RTL.
2241 * symtab.c (symtab_node::can_increase_alignment_p): Check for section
2242 anchor.
2243 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
2244 check for section anchors.
2245
2246 2015-03-10 Alan Modra <amodra@gmail.com>
2247
2248 PR target/65286
2249 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
2250 to be single-arch by default. Set cpu_is_64bit for powerpc64
2251 given --with-cpu=native.
2252 * config/rs6000/t-fprules: Do not set default MULTILIB vars.
2253 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
2254 and powerpc64le.
2255 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
2256 rs6000_isa_flags rather than TARGET_64BIT.
2257
2258 2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
2259 Kaz Kojima <kkojima@gcc.gnu.org>
2260
2261 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
2262
2263 2015-03-09 Jakub Jelinek <jakub@redhat.com>
2264
2265 PR lto/65361
2266 * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
2267 on a TREE_BINFO, instead use BINFO_TYPE.
2268
2269 2015-03-09 Richard Biener <rguenther@suse.de>
2270
2271 PR middle-end/65270
2272 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
2273 * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
2274 operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
2275 of that. When comparing dereferences compare alignment.
2276 When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
2277
2278 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
2279
2280 * ipa-inline-analysis.c (check_callers): Check
2281 node->can_remove_if_no_direct_calls_and_refs_p.
2282 (growth_likely_positive): Reorganize to call
2283 can_remove_if_no_direct_calls_p later.
2284 * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
2285 will_be_removed_from_program_if_no_direct_calls_p): Add
2286 will_inline parameter.
2287 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
2288 cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
2289 Handle inliner case correctly.
2290
2291 2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
2292
2293 PR tree-optimization/63743
2294 * cfgexpand.c (reorder_operands): Also reorder if only second operand
2295 had its definition forwarded by TER.
2296
2297 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
2298
2299 PR lto/65316
2300 * ipa-utils.h (types_odr_comparable): Add strict argument.
2301 * ipa-devirt.c: Fix whitespace;
2302 (odr_hasher): Remove.
2303 (odr_name_hasher, odr_vtable_hasher): New hashers.
2304 (can_be_name_hashed_p): New predicate.
2305 (hash_type_name): remove.
2306 (hash_odr_name): New.
2307 (odr_name_hasher::hash): new.
2308 (can_be_vtable_hashed_p): New.
2309 (hash_odr_vtable): New.
2310 (odr_vtable_hasher::hash): New.
2311 (types_same_for_odr): Add strict parameter.
2312 (types_odr_comparable): Likewise.
2313 (odr_name_hasher::equal): New.
2314 (odr_vtable_hasher::equal): New.
2315 (odr_name_hasher::remove): New.
2316 (odr_hash_type): Change to hash_table<odr_name_hasher>.
2317 (odr_vtable_hash_type): New.
2318 (odr_vtable_hash): New.
2319 (odr_subtypes_equivalent_p): Do strict comparsion.
2320 (add_type_duplicate): Merge type names; cleanup; avoid type
2321 duplicates.
2322 (register_odr_type): Initialize vtable hash.
2323 (build_type_inheritance_graph): Likewise
2324 (get_odr_type): Reorg to use two hashes.
2325 (dump_possible_polymorphic_call_targets): Move sanity check after debug
2326 output.
2327 (ipa_devirt): Dump type_inheritance_graph.
2328 (types_same_for_odr): Add strict mode.
2329
2330 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
2331
2332 PR ipa/65334
2333 * cgraph.h (symtab_node): Add definition_alignment,
2334 can_increase_alignment_p and increase_alignment.
2335 * symtab.c (symtab_node::can_increase_alignment_p,
2336 increase_alignment_1, symtab_node::increase_alignment,
2337 symtab_node::definition_alignment): New.
2338 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
2339 can_increase_alignment_p.
2340 * tree-vectorizer.c (increase_alignment): Use increase_alignment.
2341 * tree-vect-stmts.c (ensure_base_align): Likewise.
2342 * varasm.c (function_section_1): Use definition_alignment.
2343 (assemble_start_function): Likewise.
2344 (emit_local): likewise.
2345 (build_constant_desc): Likewsie.
2346 (output_constant_def_contents): Likewise.
2347 (place_block_symbol): Likewise.
2348 (output_object_block): Likewise.
2349
2350 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
2351
2352 PR ipa/65316
2353 * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
2354 when outputting debug.
2355
2356 2015-03-07 Marek Polacek <polacek@redhat.com>
2357 Martin Uecker <uecker@eecs.berkeley.edu>
2358
2359 PR sanitizer/65280
2360 * doc/invoke.texi: Update description of -fsanitize=bounds.
2361
2362 2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
2363
2364 * tree-ssa-phiopt.c (neg_replacement): Remove.
2365 (tree_ssa_phiopt_worker): Remove negate optimization.
2366
2367 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
2368
2369 PR ipa/65302
2370 * value-prof.c (gimple_ic): Pure dead eh edges when needed.
2371
2372 2015-03-06 Richard Biener <rguenther@suse.de>
2373
2374 PR middle-end/64928
2375 * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
2376 and liveout_obstack members.
2377 (calculate_live_on_exit): Remove.
2378 (calculate_live_ranges): Change declaration.
2379 * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
2380 (new_tree_live_info): Adjust.
2381 (calculate_live_ranges): Delete livein when not wanted.
2382 (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
2383 Deal with partly deleted live info.
2384 (loe_visit_block): Remove temporary bitmap by using
2385 bitmap_ior_and_compl_into.
2386 (live_worklist): Adjust accordingly.
2387 (calculate_live_on_exit): Make static.
2388 * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
2389 we do not need livein.
2390
2391 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
2392
2393 * real.c (real_from_string): Fix typo in assertion.
2394
2395 2015-03-06 Alex Velenko <alex.velenko@arm.com>
2396
2397 * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
2398 the patch.
2399
2400 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
2401
2402 * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
2403
2404 2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
2405
2406 PR target/64342
2407 * lra-assigns.c (find_hard_regno_for): Rename to
2408 find_hard_regno_for_1. Add a new parameter.
2409 (find_hard_regno_for): New function using find_hard_regno_for_1.
2410
2411 2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2412
2413 PR rtl-optimization/65067
2414 * expmed.c (store_bit_field, extract_bit_field): Reworked the
2415 strict volatile bitfield handling.
2416
2417 2015-03-05 Martin Liska <mliska@suse.cz>
2418
2419 PR ipa/65318
2420 * ipa-icf.c (sem_variable::equals): Compare variables types.
2421
2422 2015-03-05 Richard Henderson <rth@redhat.com>
2423
2424 PR target/65121
2425 * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
2426 correctly check weak symbol binding.
2427
2428 2015-03-05 Steve Ellcey <sellcey@imgtec.com>
2429
2430 PR middle-end/65315
2431 * cfgexpand.c (expand_stack_vars): Update large_align to maximum
2432 needed alignment.
2433
2434 2015-03-05 Martin Liska <mliska@suse.cz>
2435
2436 * ipa-inline.c (inline_small_functions): Set default value to
2437 prevent warning during bootstrap.
2438 * tree.h: Add pragma guard that ignores false positives during
2439 bootstrap.
2440
2441 2015-03-05 Richard Biener <rguenther@suse.de>
2442
2443 PR tree-optimization/65310
2444 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
2445 Properly preserve alignment of the base of the access.
2446
2447 2015-03-05 Richard Biener <rguenther@suse.de>
2448
2449 PR ipa/65270
2450 * ipa-icf-gimple.c (func_checker::compare_memory_operand):
2451 Compare dependence info.
2452
2453 2015-03-05 Richard Biener <rguenther@suse.de>
2454
2455 PR middle-end/65233
2456 * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
2457 tree-into-ssa.h.
2458 (walk_ssa_copies): Revert last chage. Instead do not walk
2459 SSA names registered for SSA update.
2460
2461 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
2462
2463 PR ipa/65270
2464 * ipa-icf.c (sem_item::compare_cgraph_references): Compare
2465 vtable references for their containing type.
2466 (sem_function::equals_wpa): Compare TYPE_RESTRICT
2467 and type attributes.
2468
2469 2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
2470
2471 * fold-const.c (round_up_loc): Cast divisor to signed on all paths
2472 before negating it.
2473 * stor-layout.c (finalize_record_size): Revert latest change.
2474
2475 2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
2476
2477 * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
2478
2479 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
2480
2481 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
2482 for correct comdat handling.
2483 (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
2484 Likewise.
2485 * cgraph.h (call_for_symbol_and_aliases): Fix formating.
2486 (used_from_object_file_p_worker): Remove.
2487 (cgraph_node::only_called_directly_or_alised): Add
2488 used_from_object_file_p.
2489 * ipa-inline-analysis.c (growth_likely_positive): Optimie.
2490 * ipa-inline-transform.c (can_remove_node_now_p_1): Use
2491 can_remove_if_no_direct_calls_and_refs_p.
2492
2493 2015-03-04 Nick Clifton <nickc@redhat.com>
2494
2495 * config/rl78/rl78.h (enum reg_class): Remove real registers from
2496 General register class.
2497 * config/rl78/rl78-real.md: Replace general register constraints
2498 with real+virtual register constraints.
2499
2500 2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2501
2502 * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
2503 from checking for -mhtm option.
2504
2505 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
2506
2507 * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
2508 (struct ipa_sra_check_caller_data): Add has_thunk field.
2509 (ipa_sra_check_caller): Check for thunk.
2510 (ipa_sra_preliminary_function_checks): Give up on function with
2511 thunks.
2512 (ipa_early_sra): Use call_for_symbol_and_aliases.
2513
2514 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
2515
2516 PR target/65249
2517 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
2518 called for __stack_chk_guard symbol.
2519
2520 2015-03-03 DJ Delorie <dj@redhat.com>
2521
2522 * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
2523 inc/dec.
2524 (*addhi3_real): Likewise.
2525 * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
2526 pattern to match incrementing memory.
2527 * config/rl78/predicates.md (rl78_1_2_operand): New.
2528 * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
2529 it's the same and only mem.
2530 (rl78_alloc_physical_registers_op2): If there's effectively only
2531 one MEM, transcode it into HL.
2532 (rl78_far_p): Reject addresses that aren't legitimate.
2533
2534 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
2535
2536 * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
2537 negating it.
2538
2539 * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
2540
2541 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
2542
2543 Implement call0 ABI for xtensa
2544 * config/xtensa/constraints.md ("a" constraint): Include stack
2545 pointer in case of call0 ABI.
2546 ("q" constraint): Make empty in case of call0 ABI.
2547 ("D" constraint): Include stack pointer in case of call0 ABI.
2548 * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
2549 xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
2550 prototypes.
2551 * config/xtensa/xtensa.c (xtensa_callee_save_size): New
2552 variable.
2553 (xtensa_regno_to_class): Make it a local variable in the
2554 function xtensa_regno_to_class.
2555 (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
2556 macro, function prototype and implementation.
2557 (reg_nonleaf_alloc_order): Make it a local variable in the
2558 function order_regs_for_local_alloc.
2559 (xtensa_conditional_register_usage): New function.
2560 (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
2561 (xtensa_valid_move): Allow direct moves to stack pointer
2562 register in call0 ABI.
2563 (xtensa_setup_frame_addresses): Only spill register windows in
2564 windowed ABI.
2565 (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
2566 call0 ABI respectively.
2567 (xtensa_function_arg_1): Only mark a7 register for copying in
2568 windowed ABI.
2569 (xtensa_call_save_reg): New function.
2570 (compute_frame_size): Add space for callee saved register
2571 storage to the frame size in call0 ABI.
2572 (xtensa_expand_prologue): Generate code to set up stack frame
2573 and save callee-saved registers in call0 ABI.
2574 (xtensa_expand_epilogue): New function.
2575 (xtensa_set_return_address): New function.
2576 (xtensa_return_addr): Calculate return address in call0 ABI.
2577 (xtensa_builtin_saveregs): Only mark a7 register for copying and
2578 emit copying code in windowed ABI.
2579 (order_regs_for_local_alloc): Add preferred register allocation
2580 order for non-leaf function in call0 ABI.
2581 (xtensa_static_chain): Add atatic chain passing for call0 ABI.
2582 (xtensa_asm_trampoline_template): Add trampoline generation for
2583 call0 ABI.
2584 (xtensa_trampoline_init): Add trampoline initialization for
2585 call0 ABI.
2586 (xtensa_conditional_register_usage, xtensa_regno_to_class): New
2587 functions.
2588 * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
2589 (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
2590 (CALL_USED_REGISTERS): Modify to encode both windowed and call0
2591 ABI call-used registers.
2592 (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
2593 (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
2594 call0 ABI.
2595 (REG_CLASS_CONTENTS): Include all registers into the preferred
2596 reload registers set, adjust the set in the
2597 xtensa_conditional_register_usage.
2598 (xtensa_regno_to_class): Drop variable declaration.
2599 (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
2600 function.
2601 (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
2602 respectively.
2603 (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
2604 (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
2605 (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
2606 (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
2607 location in call0 ABI.
2608 (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
2609 stack adjustment size when handling exception.
2610 (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
2611 * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
2612 definitions.
2613 ("return" pattern): Generate ret.n/ret in call0 ABI.
2614 ("epilogue" pattern): Expand epilogue.
2615 ("nonlocal_goto" pattern): Use default in call0 ABI.
2616 ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
2617 emit eh_set_a0_* depending on ABI.
2618 ("eh_set_a0_windowed" pattern): Former eh_return pattern.
2619 ("eh_set_a0_call0", "blockage"): New patterns.
2620
2621 2015-03-03 Martin Liska <mliska@suse.cz>
2622
2623 PR ipa/65287
2624 * ipa-icf.c (sem_variable::parse): Skip all alias variables.
2625
2626 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
2627
2628 PR 65138/target
2629 * config/rs6000/rs6000-tables.opt: Regenerate table.
2630
2631 2015-03-03 Renlin Li <renlin.li@arm.com>
2632
2633 * doc/md.texi (@item ^): Change ? into ^.
2634
2635 2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
2636
2637 * doc/tm.texi: Regenerated.
2638
2639 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
2640
2641 * builtins.c (expand_builtin_return_addr): Add
2642 RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
2643 surrounding #ifdef.
2644 * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
2645 definition to 1.
2646 * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
2647 Likewise.
2648 * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
2649 undefined.
2650 * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
2651 paragraph.
2652
2653 2015-03-03 Martin Jambor <mjambor@suse.cz>
2654 Eric Botcazou <ebotcazou@adacore.com>
2655
2656 * tree-sra.c (ipa_sra_check_caller_data): New type.
2657 (has_caller_p): Removed.
2658 (ipa_sra_check_caller): New function.
2659 (ipa_sra_preliminary_function_checks): Use it.
2660
2661 2015-03-03 Martin Liska <mliska@suse.cz>
2662
2663 * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
2664 instead of if branch.
2665
2666 2015-03-03 Martin Liska <mliska@suse.cz>
2667
2668 PR ipa/65282
2669 * ipa-icf.c (sem_variable::equals): Fix wrong condition.
2670
2671 2015-03-23 Jeff Law <law@redhat.com>
2672
2673 PR tree-optimization/65241
2674 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
2675 hash table if INSERT is true.
2676
2677 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
2678
2679 PR target/65296
2680 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
2681
2682 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
2683
2684 PR target/64331
2685 * config/avr/avr.c (context.h, tree-pass.h): Include them.
2686 (avr_pass_data_recompute_notes): New static variable.
2687 (avr_pass_recompute_notes): New class.
2688 (avr_register_passes): New static function.
2689 (avr_option_override): Call it.
2690
2691 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
2692
2693 Fix various problems with specs file generation.
2694
2695 PR target/65296
2696 * config.gcc (extra_gcc_objs) [avr]: Remove.
2697 * config/avr/driver-avr.c: Remove file.
2698 * config/avr/t-avr (driver-avr.o): Remove rule.
2699 (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
2700 INCLUDES to build. Depend on TM_H.
2701 * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
2702 build warnings. Fix non-matching types and non-existing %-codes.
2703 (tm.h): Include.
2704 (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
2705 (*libgcc) [WITH_AVRLIBC]: Add "-lm".
2706 * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
2707 * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
2708 (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
2709 (LIBGCC_SPEC): Remove definitions.
2710
2711 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
2712
2713 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
2714 to create a register in testing mode.
2715
2716 2015-03-03 Martin Liska <mliska@suse.cz>
2717 Jan Hubicka <hubicka@ucw.cz>
2718
2719 PR ipa/65263
2720 * cgraph.c (cgraph_node::has_thunk_p): New function.
2721 * cgraph.h (cgraph_node::has_thunk_p: Likewise.
2722 * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
2723 (sem_function::merge): Assert is changed.
2724
2725 2015-03-03 Martin Liska <mliska@suse.cz>
2726 Martin Jambor <mjambor@suse.cz>
2727
2728 PR ipa/65087
2729 * ipa-icf.c (sem_item_optimizer::execute): Change function
2730 return value to boolean.
2731 (sem_item_optimizer::merge_classes): Likewise.
2732 (ipa_icf_driver): Return TODO_remove_functions in case there's
2733 a merge operation processed.
2734 * ipa-icf.h: Change function return value to boolean.
2735
2736 2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
2737
2738 PR 65138/target
2739 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
2740 processor type for 64-bit little endian PowerPC.
2741
2742 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
2743 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
2744 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
2745 printing built-in mask so it does not pass NULL pointers.
2746
2747 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
2748 -mcpu=powerpc64le.
2749
2750 2015-03-02 Steve Ellcey <sellcey@imgtec.com>
2751
2752 PR target/58158
2753 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
2754 !ISA_HAS_FP_CONDMOVE.
2755
2756 2015-03-02 Aldy Hernandez <aldyh@redhat.com>
2757
2758 * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
2759 reload_completed.
2760
2761 2015-03-02 Ulrich Drepper <drepper@gmail.com>
2762
2763 * doc/invoke.texi (Options for Code Generation Conventions):
2764 Fix URL of DSO paper.
2765
2766 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
2767
2768 PR ipa/65130
2769 * ipa-inline.c (check_callers): Looks for recursion.
2770 (inline_to_all_callers): Give up on uninlinable or recursive edges.
2771 * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
2772 summary of inline clones.
2773 (do_estimate_growth_1): Fix recursion check.
2774
2775 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
2776
2777 PR ipa/64988
2778 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
2779 comdat groups.
2780
2781 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
2782 Aldy Hernandez <aldyh@redhat.com>
2783
2784 PR lto/65276
2785 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
2786 when checking TYPE_BINFO.
2787
2788 2015-03-02 Richard Biener <rguenther@suse.de>
2789
2790 PR ipa/65270
2791 * ipa-icf-gimple.c: Include builtins.h.
2792 (func_checker::compare_memory_operand): Compare base alignment.
2793
2794 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
2795
2796 PR target/65184
2797 * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
2798 are never passed by reference.
2799
2800 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
2801
2802 PR target/65183
2803 * tree-chkp.c (chkp_check_lower): Don't check against
2804 zero bounds for already instrumented functions.
2805 (chkp_check_upper): Likewise.
2806 (chkp_fini): Clean pass local data to avoid wrong reusage.
2807
2808 2015-02-28 Martin Liska <mliska@suse.cz>
2809 Jan Hubicka <hubicka@ucw.cz>
2810
2811 * ipa-icf.c (sem_variable::equals): Improve debug output;
2812 get variable constructor.
2813 (sem_variable::parse): Do not filter out too early; give up on
2814 volatile and register vars.
2815 (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
2816 variables.
2817 * ipa-icf.h (sem_variable::init): Do not set ctor.
2818 (sem_variable::ctor): Remove.
2819
2820 2015-03-01 Aldy Hernandez <aldyh@redhat.com>
2821
2822 PR middle-end/65233
2823 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
2824
2825 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
2826
2827 * ipa-icf.c: Include stor-layout.h
2828 (sem_function::compare_cgraph_references): Rename to ...
2829 (sem_item::compare_cgraph_references): ... this one.
2830 (sem_variable::equals_wpa): New function
2831 (sem_variable::equals): Do not check stuff already verified by
2832 equals_wpa.
2833 (sem_variable::equals): Reorg based on varasm.c:compare_constant.
2834 * ipa-icf.h (sem_item): Add compare_cgraph_references.
2835 (sem_function): Remove compare_cgraph_references.
2836 (sem_variable): Turns equals_wpa into non-inline.
2837
2838 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
2839
2840 * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
2841 (sem_item::add_expr): New function.
2842 (sem_function::hash_stmt): Handle operands of most statements.
2843 (sem_variable::get_hash): Hash the actual constructor.
2844 * ipa-icf.h (sem_item): Add add_expr.
2845 (sem_function): Update prototype of hash_stmt
2846
2847 2015-02-28 Martin Liska <mliska@suse.cz>
2848 Jan Hubicka <hubicka@ucw.cz>
2849
2850 PR ipa/65245
2851 * ipa-icf-gimple.c (func_checker::compare_function_decl):
2852 Remove.
2853 (func_checker::compare_variable_decl): Skip symtab vars.
2854 (func_checker::compare_cst_or_decl): Update.
2855 * ipa-icf.c (sem_function::parse): Do not consider aliases.
2856 (sem_function::compare_cgraph_references): Add ADDRESS parameter;
2857 use correct symtab predicates.
2858 (sem_function::equals_wpa): Update uses of compare_cgraph_references.
2859 (sem_variable::parse): Update comment.
2860 (sem_item_optimizer::build_graph): Consider ultimate aliases
2861 for references.
2862
2863 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
2864
2865 * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
2866 of OBJ_TYPE_REF.
2867
2868 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
2869
2870 * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
2871 (sem_variable::merge) Likewise.
2872
2873 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
2874
2875 * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
2876 target; also match flag_ipa_devirt.
2877
2878 2015-03-01 Martin Liska <mliska@suse.cz>
2879 Jan Hubicka <hubicka@ucw.cz>
2880
2881 * ipa-icf-gimple.c (func_checker::compare_variable_decl):
2882 Validate variable alignment.
2883 * ipa-icf.c (sem_function::equals_private): Be more precise
2884 about non-common function attributes.
2885 (sem_variable::equals): Likewise.
2886
2887 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
2888
2889 PR ipa/65237
2890 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
2891 across COMDAT group boundary.
2892
2893 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
2894
2895 PR ipa/65232
2896 * ipa-icf.c (clear_decl_rtl): New function.
2897 (sem_function::merge): Clear RTL before forming alias.
2898 (sem_variable::merge): Clear RTL before forming alias.
2899
2900 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
2901
2902 PR ipa/65236
2903 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
2904
2905 2015-02-28 Xingxing Pan <xxingpan@marvell.com>
2906
2907 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
2908 to neon_to_gp<q>.
2909
2910 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
2911
2912 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
2913 a typo in the description.
2914
2915 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
2916
2917 PR target/64317
2918 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
2919 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
2920 * lra-constraints.c: Include "params.h".
2921 (EBB_PROBABILITY_CUTOFF): Use
2922 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
2923 (lra_inheritance): Use '<' instead of '<=' for
2924 EBB_PROBABILITY_CUTOFF.
2925 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
2926 Document change.
2927
2928 2015-02-27 Martin Liska <mliska@suse.cz>
2929
2930 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
2931 vector length condition.
2932
2933 2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
2934
2935 * doc/extend.texi (x86 transactional memory intrinsics):
2936 Reorganize discussion of _xbegin. Clarify that the return
2937 value is a bit mask. Expand example and move to end of section.
2938
2939 2015-02-26 Jakub Jelinek <jakub@redhat.com>
2940 Aldy Hernandez <aldyh@redhat.com>
2941
2942 PR rtl-optimization/65220
2943 * config/i386/i386.md (*udivmod<mode>4_pow2): New.
2944
2945 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
2946
2947 PR target/65032
2948 * lra-remat.c (update_scratch_ops): New.
2949 (do_remat): Call it.
2950 * lra.c (lra_register_new_scratch_op): New. Take code from ...
2951 (remove_scratches): ... here.
2952 * lra-int.h (lra_register_new_scratch_op): New prototype.
2953
2954 2015-02-27 Marek Polacek <polacek@redhat.com>
2955
2956 PR c/65040
2957 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
2958 -Wformat-signedness anymore.
2959
2960 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2961
2962 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
2963 function.
2964 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
2965
2966 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2967
2968 * config/s390/s390.c (enum s390_builtin):
2969 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
2970 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
2971 (s390_init_builtins): Generate new builtin functions.
2972 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
2973 (s390_sfpc, s390_efpc): New pattern definitions.
2974
2975 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2976
2977 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
2978 Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
2979 (s390_builtin_decls): New array.
2980 (s390_init_builtins): Put builtin decls into s390_builtin_decls.
2981 (s390_builtin_decl): New function.
2982 (TARGET_BUILTIN_DECL): Define macro.
2983
2984 2015-02-27 Richard Biener <rguenther@suse.de>
2985
2986 PR middle-end/63175
2987 * builtins.c (get_object_alignment_2): Make sure to re-apply
2988 the ANDed mask after recursing to its operand gets us a new
2989 misalignment bit position.
2990
2991 2015-02-26 Jan Hubicka <hubicka@ucw.cz>
2992 Martin Liska <mliska@suse.cz>
2993
2994 PR bootstrap/65150
2995 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
2996 Use address_matters_p.
2997 (redirect_all_callers, set_addressable): New functions.
2998 (sem_function::merge): Reorganize and fix merging issues.
2999 (sem_variable::merge): Likewise.
3000 (sem_variable::compare_sections): Remove.
3001 * common.opt (fmerge-all-constants, fmerge-constants): Remove
3002 Optimization flag.
3003 * symtab.c (symtab_node::resolve_alias): When alias has aliases,
3004 redirect them.
3005 (symtab_node::make_decl_local): Set ADDRESSABLE bit when
3006 decl is used.
3007 (address_matters_1): New function.
3008 (symtab_node::address_matters_p): New function.
3009 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
3010 check for merged flag.
3011 * cgraph.h (address_matters_p): Declare.
3012 (symtab_node::address_taken_from_non_vtable_p): Remove.
3013 (symtab_node::address_can_be_compared_p): New method.
3014 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
3015 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
3016 Remove.
3017 (comdat_can_be_unshared_p_1) Use address_matters_p.
3018 (update_vtable_references): Fix formating.
3019 * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
3020 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
3021 * cgraphclones.c: Preserve merged and icf_merged flags.
3022
3023 2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
3024
3025 * doc/extend.texi (Function Attributes): Fix spelling and typos.
3026 (Label Attributes): Likewise.
3027 (Cilk Plus Builtins): Likewise.
3028 (ARC SIMD Built-in Functions): Likewise.
3029 (ARM C Language Extensions (ACLE)): Likewise.
3030 (PowerPC Built-in Functions): Likewise.
3031 (PowerPC Hardware Transactional Memory Built-in Functions):
3032 Likewise.
3033
3034 2015-02-26 Jakub Jelinek <jakub@redhat.com>
3035
3036 PR tree-optimization/65216
3037 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
3038 new stmt and new SSA_NAME for lhs whenever the arguments have
3039 changed and weren't just swapped. Fix comment typo.
3040
3041 PR tree-optimization/65215
3042 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
3043 for PDP endian targets.
3044 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
3045 Fix up formatting issues.
3046 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
3047 size is smaller than the original, adjust MEM_REF offset by the
3048 difference of sizes. Use is_gimple_mem_ref_addr instead of
3049 is_gimple_min_invariant test to avoid adding address temporaries.
3050
3051 2015-02-26 Martin Liska <mliska@suse.cz>
3052 Jan Hubicka <hubicka@ucw.cz>
3053
3054 PR ipa/64693
3055 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
3056 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
3057 (sem_item_optimizer::process_cong_reduction): Include division by
3058 sensitive references.
3059 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
3060 * ipa-ref.c (ipa_ref::address_matters_p): New function.
3061 * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
3062
3063 2015-02-26 Georg-Johann Lay <avr@gjlay.de>
3064
3065 PR target/65192
3066 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
3067 Remove.
3068 * config/avr/avr.c: Same.
3069 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
3070 Refuse any constant address not in 0..0xbf.
3071 * config/avr/avr.md (*mov<mode>, *movsf): Remove
3072 tiny_valid_direct_memory_access_range from insn conditions.
3073 (mov<mode>): Don't special-case expansion of avrtiny addresses.
3074
3075 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
3076
3077 PR target/61142
3078 * config/sh/sh.c (sh_check_add_incdec_notes): New function.
3079 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
3080 * config/sh/predicates.md (const_logical_operand): New predicate.
3081 * config/sh/sh.md: Add new peephole2 patterns.
3082
3083 2015-02-26 Marek Polacek <polacek@redhat.com>
3084
3085 PR ipa/65008
3086 * ipa-inline.c (early_inliner): Recompute inline parameters.
3087
3088 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3089
3090 PR target/65171
3091 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
3092 instructions with TImode operands are included in the analysis.
3093
3094 2015-02-26 Sebastian Pop <s.pop@samsung.com>
3095
3096 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
3097 of an EDGE_FSM_THREAD.
3098
3099 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
3100
3101 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
3102
3103 2015-02-25 Aldy Hernandez <aldyh@redhat.com>
3104
3105 PR debug/46102
3106 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
3107
3108 2015-02-26 Sebastian Pop <s.pop@samsung.com>
3109
3110 PR tree-optimization/65048
3111 * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
3112 (thread_through_all_blocks): Call valid_jump_thread_path.
3113 Remove invalid FSM jump-thread paths.
3114
3115 2015-02-26 Jakub Jelinek <jakub@redhat.com>
3116
3117 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
3118 (ipa_write_optimization_summaries): Likewise.
3119 * tree-streamer.h: Include data-streamer.h.
3120 (streamer_mode_table): Declare extern variable.
3121 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
3122 * lto-streamer-out.c (lto_output_init_mode_table,
3123 lto_write_mode_table): New functions.
3124 (produce_asm_for_decls): Call lto_write_mode_table when streaming
3125 offloading LTO.
3126 * lto-section-in.c (lto_section_name): Add "mode_table" entry.
3127 (lto_create_simple_input_block): Add mode_table argument to the
3128 lto_input_block constructors.
3129 * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
3130 Likewise.
3131 * data-streamer-in.c (string_for_index): Likewise.
3132 * ipa-inline-analysis.c (inline_read_section): Likewise.
3133 * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
3134 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
3135 * lto-streamer-in.c (lto_read_body_or_constructor,
3136 lto_input_toplevel_asms): Likewise.
3137 (lto_input_mode_table): New function.
3138 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
3139 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
3140 Use bp_pack_machine_mode.
3141 * real.h (struct real_format): Add name field.
3142 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
3143 (class lto_input_block): Add mode_table member.
3144 (lto_input_block::lto_input_block): Add mode_table_ argument,
3145 initialize mode_table.
3146 (struct lto_file_decl_data): Add mode_table field.
3147 (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
3148 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
3149 unpack_ts_decl_common_value_fields,
3150 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
3151 * tree-streamer.c (streamer_mode_table): New variable.
3152 * real.c (ieee_single_format, mips_single_format,
3153 motorola_single_format, spu_single_format, ieee_double_format,
3154 mips_double_format, motorola_double_format,
3155 ieee_extended_motorola_format, ieee_extended_intel_96_format,
3156 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
3157 ibm_extended_format, mips_extended_format, ieee_quad_format,
3158 mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
3159 decimal_single_format, decimal_double_format, decimal_quad_format,
3160 ieee_half_format, arm_half_format, real_internal_format): Add name
3161 field.
3162 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
3163
3164 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
3165
3166 PR target/65161
3167 * config/i386/i386.c (ix86_sched_reorder): Skip instruction
3168 reordering for selective scheduling.
3169
3170 2015-02-26 Terry Guo <terry.guo@arm.com>
3171
3172 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
3173 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
3174 (arm_arch_no_volatile_ce): Declare new global variable.
3175 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
3176 (arm_option_override): Assign value to arm_arch_no_volatile_ce.
3177 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
3178 (TARGET_NO_VOLATILE_CE): New macro.
3179 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
3180 volatile memory access in IT block
3181
3182 2015-02-25 Kai Tietz <ktietz@redhat.com>
3183
3184 PR tree-optimization/61917
3185 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
3186 that reduc_def_stmt is null.
3187
3188 2015-02-25 Martin Liska <mliska@suse.cz>
3189
3190 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
3191 hard register variables.
3192
3193 2015-02-25 Kai Tietz <ktietz@redhat.com>
3194
3195 PR target/64212
3196 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
3197 (symtab::noninterposable_alias): Likewise.
3198
3199 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
3200
3201 PR target/65167
3202 * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
3203 bounds registers.
3204 (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
3205
3206 2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
3207
3208 PR target/64997
3209 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
3210 as split condition; force split via '#' in output pattern.
3211
3212 2015-02-25 Richard Biener <rguenther@suse.de>
3213 Kai Tietz <ktietz@redhat.com>
3214
3215 PR tree-optimization/61917
3216 * tree-vect-loop.c (vectorizable_reduction): Allow
3217 vect_internal_def without reduction to exit graceful.
3218
3219 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
3220
3221 PR target/65196
3222 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
3223 only with NONDEBUG_INSN_P.
3224
3225 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
3226
3227 Use variadic macros with avr-log.c.
3228
3229 * config/avr/avr-protos.h (avr_vdump): New prototype.
3230 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
3231 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
3232 * config/avr/avr-log.c: Adjust comments.
3233 (avr_vdump): New function.
3234 (avr_vadump): Pass caller as 2nd argument instead of format string.
3235 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
3236 (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
3237
3238 2015-02-25 Jakub Jelinek <jakub@redhat.com>
3239
3240 PR lto/64374
3241 * target.def (target_option_stream_in): New target hook.
3242 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
3243 targetm.target_option.post_stream_in if non-NULL.
3244 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
3245 * doc/tm.texi: Updated.
3246 * config/i386/i386.c (ix86_function_specific_post_stream_in): New
3247 function.
3248 (TARGET_OPTION_POST_STREAM_IN): Redefine.
3249
3250 2015-02-24 Jeff Law <law@redhat.com>
3251
3252 PR target/65117
3253 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
3254 of operand 0 and operand 2.
3255 (zero_cost_loop_end, loop_end): Similarly.
3256
3257 2015-02-24 Aldy Hernandez <aldyh@redhat.com>
3258
3259 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
3260 CXX_MEM_STAT_INFO.
3261
3262 2015-02-24 DJ Delorie <dj@redhat.com>
3263
3264 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
3265 * config/rl78/rl78-expand.md (movsf): New, same as movsi.
3266 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
3267 instead of hardcoding SImode.
3268
3269 2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
3270
3271 * omp-low.c (create_omp_child_function): Tag entrypoint
3272 functions with a special attribute.
3273
3274 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
3275
3276 PR target/65058
3277 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
3278
3279 2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
3280
3281 PR rtl-optimization/65123
3282 * lra-remat.c (operand_to_remat): Check hard regs in insn
3283 definition too.
3284
3285 2015-02-24 Nick Clifton <nickc@redhat.com>
3286
3287 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
3288 to the assembler.
3289
3290 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
3291
3292 PR libgomp/64625
3293 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
3294 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
3295 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
3296 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
3297 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
3298 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
3299 (BUILT_IN_GOACC_PARALLEL): Specify as
3300 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
3301 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
3302 * builtin-types.def
3303 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
3304 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
3305 Remove function types.
3306 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
3307 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
3308 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
3309 New function types.
3310
3311 2015-02-24 Georg-Johann Lay <avr@gjlay.de>
3312
3313 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
3314
3315 2015-02-24 Jakub Jelinek <jakub@redhat.com>
3316
3317 PR tree-optimization/65170
3318 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
3319 if val[1] < 0, clear also val[2] and return 3.
3320
3321 2015-02-24 Alan Modra <amodra@gmail.com>
3322
3323 PR target/65172
3324 * config/rs6000/rs6000.c (get_memref_parts): Only return true
3325 when *base is a reg. Handle nested plus addresses. Simplify
3326 pre_modify test.
3327
3328 2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
3329
3330 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
3331 use natural alignment when optimizing for size.
3332
3333 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
3334
3335 PR target/65153
3336 * config/sh/sh.md (movsicc_true+3): Remove peephole.
3337 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
3338 * config/sh/sh.c (replace_n_hard_rtx): Remove.
3339
3340 2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
3341
3342 PR fortran/63427
3343 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
3344 too big for a wide_int. Implement missing wrapping operation.
3345
3346 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
3347
3348 PR target/65163
3349 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
3350 instead of const_int 4294901760.
3351
3352 2015-02-23 Georg-Johann Lay <avr@gjlay.de>
3353
3354 * config/avr/t-avr: Fix typo in comment.
3355
3356 2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
3357
3358 * doc/rtl.texi (fma): Clarify documentation.
3359
3360 2015-02-20 Aldy Hernandez <aldyh@redhat.com>
3361
3362 PR debug/58123
3363 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
3364 over input_location.
3365
3366 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
3367
3368 * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
3369 unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
3370 restrict alignments to absolute_biggest_alignment.
3371 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
3372 Define.
3373 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
3374 * doc/tm.texi: Regenerate.
3375 * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
3376
3377 2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
3378
3379 PR target/64172
3380 * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
3381
3382 2015-02-20 Richard Biener <rguenther@suse.de>
3383
3384 PR tree-optimization/65136
3385 * tree-ssa-propagate.c: Include cfgloop.h.
3386 (replace_phi_args_in): Avoid replacing loop latch edge PHI
3387 arguments with constants.
3388
3389 2015-02-20 Jakub Jelinek <jakub@redhat.com>
3390 Martin Liska <mliska@suse.cz>
3391
3392 PR target/63892
3393 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
3394 don't try to create_thunk if stdarg_p. If
3395 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
3396 redirect_callers if possible.
3397 (sem_item_optimizer::execute): Call unregister_hooks here...
3398 (ipa_icf_driver): ... instead of here.
3399
3400 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3401
3402 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
3403 Mark operand 0 as earlyclobber in 2nd alternative.
3404 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
3405 Write negated shift amount into QI lowpart operand 0 and use it
3406 in the shift step.
3407 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
3408
3409 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
3410
3411 * cgraph.h (clone_function_name_1): Declare.
3412 * cgraphclones.c (clone_function_name_1): New function.
3413 (clone_function_name): Use it.
3414 * lto-partition.c: Include "stringpool.h".
3415 (must_not_rename, maybe_rewrite_identifier)
3416 (validize_symbol_for_target): New static functions.
3417 (privatize_symbol_name): Use must_not_rename.
3418 (promote_symbol): Call validize_symbol_for_target.
3419 (lto_promote_cross_file_statics): Likewise.
3420 (lto_promote_statics_nonwpa): Likewise.
3421
3422 2015-02-20 Georg-Johann Lay <avr@gjlay.de>
3423
3424 PR target/64452
3425 * config/avr/avr.md (pushhi_insn): New insn.
3426 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
3427
3428 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
3429 Jakub Jelinek <jakub@redhat.com>
3430
3431 * tree-streamer.c (preload_common_nodes): Don't preload
3432 TI_VA_LIST* for offloading.
3433 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
3434 in_lto_p.
3435
3436 2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
3437
3438 * config/pa/pa.c (pa_emit_move_sequence): Always force
3439 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
3440 note on insn.
3441
3442 * config/pa/pa.c (pa_reloc_rw_mask): New function.
3443 (TARGET_ASM_RELOC_RW_MASK): Define.
3444 (pa_cannot_force_const_mem): Revert previous change.
3445
3446 2015-02-19 Martin Jambor <mjmabor@suse.cz>
3447 Jan Hubicka <hubicka@ucw.cz>
3448
3449 PR ipa/65028
3450 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
3451 across jump functions.
3452
3453 2015-02-19 Uros Bizjak <ubizjak@gmail.com>
3454
3455 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
3456
3457 2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
3458
3459 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
3460
3461 2015-02-19 Richard Henderson <rth@redhat.com>
3462
3463 PR middle-end/65074
3464 * varasm.c (default_binds_local_p_2): Don't test node->definition;
3465 test DECL_EXTERNAL independent of symtab_node.
3466
3467 2015-02-19 Jakub Jelinek <jakub@redhat.com>
3468
3469 PR lto/65012
3470 * varpool.c (varpool_node::get_constructor): Return early
3471 if this->lto_file_data is NULL.
3472
3473 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
3474
3475 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
3476 (rank_for_schedule_debug): Update.
3477 (ready_sort): Make static. Move sorting logic to ...
3478 (ready_sort_debug, ready_sort_real): New static functions.
3479 (schedule_block): Sort both debug insns and real insns in preparation
3480 for ready list trimming. Improve debug output.
3481 * sched-int.h (ready_sort): Remove global declaration.
3482
3483 2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
3484
3485 * ipa-icf.c (sem_function::equals_private): Adjust.
3486 (sem_function::bb_dict_test): Take a vec<int> * instead of
3487 auto_vec<int>.
3488 * ipa-icf.h (bb_dict_test): Likewise.
3489
3490 2015-02-18 Jakub Jelinek <jakub@redhat.com>
3491
3492 PR gcov-profile/64634
3493 * tree-eh.c (frob_into_branch_around): Fix up typos
3494 in function comment.
3495 (lower_catch): Put eh_seq resulting from EH lowering of
3496 the cleanup sequence after the cleanup rather than before it.
3497
3498 2015-02-18 Tom de Vries <tom@codesourcery.com>
3499
3500 * common.opt (fstdarg-opt): New option.
3501 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
3502 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
3503 (@item -fstdarg-opt): New item.
3504
3505 2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
3506
3507 PR target/65064
3508 * config/ia64/predicates.md (sdata_symbolic_operand): Return false
3509 for common symbols.
3510
3511 2015-02-18 Jakub Jelinek <jakub@redhat.com>
3512
3513 * config/i386/t-intelmic (mkoffload.o): Remove dependency on
3514 insn-modes.h.
3515 (ALL_HOST_OBJS): Add mkoffload.o.
3516 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
3517
3518 2015-02-18 Jan Hubicka <hubicka@ucw.cz>
3519
3520 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
3521 (compare_virtual_tables): Be smarter about skipping typeinfos;
3522 do sane output on virtual table table mismatch.
3523 (warn_odr): Be ready for forward declarations of enums;
3524 output sane info on base mismatch and virtual table mismatch.
3525 (add_type_duplicate): Fix code choosing prevailing type; do not ICE
3526 when only one type is polymorphic.
3527 (get_odr_type): Fix hashtable corruption.
3528 (dump_odr_type): Dump mangled names.
3529
3530 2015-02-18 Richard Biener <rguenther@suse.de>
3531
3532 PR tree-optimization/65063
3533 * tree-predcom.c (determine_unroll_factor): Return 1 if we
3534 have replaced looparound PHIs.
3535
3536 2015-02-18 Martin Liska <mliska@suse.cz>
3537
3538 * lto-streamer.c (lto_streamer_init): Encapsulate
3539 streamer_check_handled_ts_structures with checking macro.
3540
3541 2015-02-18 Jakub Jelinek <jakub@redhat.com>
3542
3543 PR ipa/65087
3544 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
3545 section if !implicit_section.
3546 (cgraph_node::create_version_clone_with_body): Likewise.
3547 * trans-mem.c (ipa_tm_create_version): Likewise.
3548
3549 2015-02-18 Richard Biener <rguenther@suse.de>
3550
3551 PR tree-optimization/62217
3552 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
3553 into BIVs.
3554
3555 2015-02-18 Marek Polacek <polacek@redhat.com>
3556
3557 PR sanitizer/65081
3558 * ubsan.c (OBJSZ_MAX_OFFSET): Define.
3559 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
3560 is in range [-16K, -1]. Don't issue run-time error if
3561 (ptr > ptr + offset).
3562
3563 2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
3564
3565 * doc/install.texi (nvptx-*-none): New section.
3566 * doc/invoke.texi (Nvidia PTX Options): Likewise.
3567 * config/nvptx/nvptx.opt: Update.
3568
3569 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
3570 (access_check): New functions, copied from
3571 config/i386/intelmic-mkoffload.c.
3572 (main): For non-installed testing, look in all COMPILER_PATHs for
3573 GCC_INSTALL_NAME.
3574
3575 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
3576
3577 2015-02-18 Andrew Pinski <apinski@cavium.com>
3578 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
3579
3580 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
3581 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
3582
3583 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
3584
3585 * ipa-visibility.c (function_and_variable_visibility): Only
3586 check locality if node is not already local.
3587 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
3588 call_for_symbol_and_aliases instead of
3589 call_for_symbol_thunks_and_aliases.
3590 (ipa_inline): Likewise.
3591 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
3592 first walk aliases.
3593 * ipa.c (symbol_table::remove_unreachable_nodes): Use
3594 call_for_symbol_and_aliases.
3595 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
3596 (ipa_propagate_frequency_1): Use it; use opt_for_fn
3597 (ipa_propagate_frequency): Update.
3598 (ipa_profile): Add opt_for_fn gueards.
3599
3600 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
3601
3602 * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
3603 * doc/invoke.texi (SH options): Document it.
3604 * config/sh/sh.c (sh_insn_length_adjustment): Check
3605 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
3606
3607 2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
3608
3609 * common.opt (fipa-cp-alignment): New.
3610 * ipa-cp.c (ipcp_store_alignment_results): Check
3611 flag_ipa_cp_alignment.
3612 * opts.c (default_options_table): Enable -fipa-cp-alignment for
3613 -O2.
3614 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
3615 * doc/invoke.texi: Document -fipa-cp-alignment.
3616
3617 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
3618
3619 PR target/64793
3620 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
3621 to nil. Adjust comments.
3622
3623 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
3624
3625 * ipa-visibility.c (function_and_variable_visibility): Only
3626 check locality if node is not already local.
3627 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
3628 call_for_symbol_and_aliases instead of
3629 call_for_symbol_thunks_and_aliases.
3630 (ipa_inline): Likewise.
3631 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
3632 first walk aliases.
3633 * ipa.c (symbol_table::remove_unreachable_nodes): Use
3634 call_for_symbol_and_aliases.
3635 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
3636 (ipa_propagate_frequency_1): Use it; use opt_for_fn
3637 (ipa_propagate_frequency): Update.
3638 (ipa_profile): Add opt_for_fn guards.
3639
3640 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
3641
3642 * config/nvptx/mkoffload.c (parse_file): Fix logic error in
3643 skipping of "strange" tokens.
3644
3645 2015-02-17 Jeff Law <law@redhat.com>
3646
3647 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
3648 obsolete comment.
3649
3650 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
3651
3652 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
3653 as forcing a HARD_DEP between instructions, thereby
3654 disallowing rewriting to break dependencies.
3655
3656 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
3657
3658 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
3659 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
3660 variables in boundary that have no inlitalizer encoded and are
3661 not aliases.
3662 * varasm.c (default_binds_local_p_2): External definitions do not
3663 count as definitions here.
3664
3665 2015-02-16 Jeff Law <law@redhat.com>
3666
3667 PR tree-optimization/64823
3668 * tree-vrp.c (identify_jump_threads): Handle blocks with no real
3669 statements.
3670 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
3671 threading through blocks with PHIs, but no statements.
3672 (thread_through_normal_block): Distinguish between blocks where
3673 we did not process all the statements and blocks with no statements.
3674
3675 2015-02-16 Jakub Jelinek <jakub@redhat.com>
3676 James Greenhalgh <james.greenhalgh@arm.com>
3677
3678 PR ipa/64963
3679 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
3680 section if not linkonce. Fix up formatting.
3681 (cgraph_node::create_version_clone_with_body): Copy section.
3682 * trans-mem.c (ipa_tm_create_version): Likewise.
3683
3684 2015-02-16 Richard Biener <rguenther@suse.de>
3685
3686 PR tree-optimization/65077
3687 * tree-ssa-structalias.c (get_constraint_for_1): Handle
3688 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
3689 (find_func_aliases): Allow float values to carry pointers again.
3690
3691 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
3692
3693 * doc/install.texi (Specific): Reorder targets list to put
3694 aarch64 in alphabetical order. Add a link to aarch64*-*-*
3695 from the top menu.
3696
3697 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
3698 David Edelsohn <dje.gcc@gmail.com>
3699
3700 PR target/65058
3701 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
3702 mapping class to external variable or function reference.
3703 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
3704 mapping class.
3705
3706 2015-02-16 David Eelsohn <dje.gcc@gmail.com>
3707
3708 PR target/53348
3709 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
3710 ASM_WEAKEN_DECL if defined.
3711
3712 2015-02-16 Richard Biener <rguenther@suse.de>
3713
3714 PR lto/65015
3715 * varasm.c (default_file_start): For LTO produced units
3716 emit <artificial> as file directive.
3717
3718 2015-02-16 Richard Biener <rguenther@suse.de>
3719
3720 PR tree-optimization/63593
3721 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
3722 stmts and releasing SSA names until...
3723 (execute_pred_commoning): ... after processing all chains.
3724
3725 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
3726
3727 PR ipa/65059
3728 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
3729 external functions.
3730
3731 2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
3732
3733 * doc/bugreport.texi: Adjust section titles throughout the file
3734 to use "Title Case".
3735 * doc/extend.texi: Likewise.
3736 * doc/gcov.texi: Likewise.
3737 * doc/implement-c.texi: Likewise.
3738 * doc/implement-cxx.texi: Likewise.
3739 * doc/invoke.texi: Likewise.
3740 * doc/objc.texi: Likewise.
3741 * doc/standards.texi: Likewise.
3742 * doc/trouble.texi: Likewise.
3743
3744 2015-02-15 Jan Hubicka <hubicka@ucw.cz>
3745
3746 * cgraph.h (symtab_node::has_aliases_p): Simplify.
3747 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
3748 * tree.c (lookup_binfo_at_offset): Make static.
3749 (get_binfo_at_offset): Do not shadow offset; add explanatory
3750 comment.
3751
3752 2015-02-15 John David Anglin <danglin@gcc.gnu.org>
3753
3754 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
3755 for all floading point loads and stores except those using a register
3756 index address.
3757 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
3758 to a register.
3759
3760 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
3761
3762 * ipa-inline-analysis.c (growth_data): Add uninlinable field.
3763 (do_estimate_growth_1): Record if any uninlinable edge was seen.
3764 (estimate_growth): Handle uninlinable edges correctly.
3765 (check_callers): New.
3766 (growth_likely_positive): Handle aliases correctly.
3767
3768 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
3769
3770 * ipa-chkp.c: Use iterate_direct_aliases.
3771 * symtab.c (resolution_used_from_other_file_p): Move inline.
3772 (symtab_node::create_reference): Fix formating.
3773 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
3774 (symtab_node::iterate_reference): Move inline.
3775 (symtab_node::iterate_referring): Move inline.
3776 (symtab_node::iterate_direct_aliases): Move inline.
3777 (symtab_node::used_from_object_file_p_worker): Inline into ...
3778 (symtab_node::used_from_object_file_p): ... this one; move inline.
3779 (symtab_node::call_for_symbol_and_aliases): Move inline;
3780 use iterate_direct_aliases.
3781 (symtab_node::call_for_symbol_and_aliases_1): New method.
3782 (cgraph_node::call_for_symbol_and_aliases): Move inline;
3783 use iterate_direct_aliases.
3784 (cgraph_node::call_for_symbol_and_aliases_1): New method.
3785 (varpool_node::call_for_node_and_aliases): Rename to ...
3786 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
3787 use iterate_direct_aliases.
3788 (varpool_node::call_for_symbol_and_aliases_1): New method.
3789 * ipa.c (ipa_single_use): Use iterate_direct_aliases.
3790 (ipa_discover_readonly_nonaddressable_var): Update.
3791 * ipa-devirt.c: Fix formating.
3792 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
3793 Move inline.
3794 (cgraph_node::call_for_symbol_and_aliases): Move inline.
3795 (cgraph_node::call_for_symbol_and_aliases_1): New function..
3796 * cgraph.h (used_from_object_file_p_worker): Remove.
3797 (resolution_used_from_other_file_p): Move inline.
3798 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
3799 (symtab_node::iterate_reference): Move inline.
3800 (symtab_node::iterate_referring): Move inline.
3801 (symtab_node::iterate_direct_aliases): Move inline.
3802 (symtab_node::used_from_object_file_p_worker): Inline into ...
3803 (symtab_node::used_from_object_file_p): Move inline.
3804 * tree-emutls.c (ipa_lower_emutls): Update.
3805 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
3806 (varpool_node::call_for_node_and_aliases): Remove.
3807
3808 2015-02-14 Jakub Jelinek <jakub@redhat.com>
3809
3810 PR tree-optimization/62209
3811 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
3812 op == range->exp, insert seq and gimplified code after labels
3813 instead of after the phi.
3814
3815 2015-02-13 Jeff Law <law@redhat.com>
3816
3817 PR bootstrap/65060
3818 Revert my change for tree-optimization/64823.
3819
3820 2015-02-13 Jakub Jelinek <jakub@redhat.com>
3821
3822 PR tree-optimization/65053
3823 * tree-ssa-phiopt.c (value_replacement): When moving assign before
3824 cond, either reset VR on lhs or set it to phi result VR.
3825
3826 2015-02-13 Jeff Law <law@redhat.com>
3827
3828 PR tree-optimization/64823
3829 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
3830 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
3831 threading through blocks with PHIs, but no statements.
3832 (thread_through_normal_block): Distinguish between blocks where
3833 we did not process all the statements and blocks with no statements.
3834
3835 PR rtl-optimization/47477
3836 * match.pd (convert (plus/minus (convert @0) (convert @1): New
3837 simplifier to narrow arithmetic.
3838
3839 2015-02-13 Jan Hubicka <hubicka@ucw.cz>
3840
3841 PR ipa/65028
3842 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
3843 polymorphic call info when type is not known to be preserved.
3844
3845 2015-02-13 Maritn Jambor <mjambor@suse.cz>
3846
3847 PR ipa/65028
3848 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
3849 (inline_call): Use it.
3850
3851 2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
3852
3853 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
3854 GOMP_DEVICE_NVIDIA_PTX.
3855
3856 2015-02-13 Jakub Jelinek <jakub@redhat.com>
3857
3858 PR ipa/65034
3859 * stmt.c (emit_case_nodes): Use void_type_node instead of
3860 NULL_TREE as LABEL_DECL type.
3861
3862 2015-02-13 John David Anglin <danglin@gcc.gnu.org>
3863
3864 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
3865 constraints.
3866 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
3867 symbolic references to data to be forced to constant memory on the
3868 SOM target.
3869
3870 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
3871
3872 PR tree-optimization/65002
3873 * tree-cfg.c (pass_data_fixup_cfg): Don't update
3874 SSA on start.
3875 * tree-sra.c (some_callers_have_no_vuse_p): New.
3876 (ipa_early_sra): Reject functions whose callers
3877 assume function is read only.
3878
3879 2015-02-13 Richard Biener <rguenther@suse.de>
3880
3881 PR lto/65015
3882 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
3883 for LTO produced CUs.
3884
3885 2015-02-13 Bin Cheng <bin.cheng@arm.com>
3886
3887 PR tree-optimization/64705
3888 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
3889 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
3890 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
3891 (find_bivs, find_givs_in_stmt_scev): Pass new argument to
3892 expand_simple_operations.
3893
3894 2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
3895 Richard Henderson <rth@redhat.com>
3896
3897 PR rtl/32219
3898 * cgraphunit.c (cgraph_node::finalize_function): Set definition
3899 before notice_global_symbol.
3900 (varpool_node::finalize_decl): Likewise.
3901 * varasm.c (default_binds_local_p_2): Rename from
3902 default_binds_local_p_1, add weak_dominate argument. Use direct
3903 returns instead of assigning to local variable. Unify varpool and
3904 cgraph paths via symtab_node. Reject undef weak variables before
3905 testing visibility. Reorder tests for simplicity.
3906 (default_binds_local_p): Use default_binds_local_p_2.
3907 (default_binds_local_p_1): Likewise.
3908 (decl_binds_to_current_def_p): Unify varpool and cgraph paths
3909 via symtab_node.
3910 (default_elf_asm_output_external): Emit visibility when specified.
3911
3912 2015-02-13 Alan Modra <amodra@gmail.com>
3913
3914 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
3915 code setting up r11 for out-of-line fp restore.
3916
3917 2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
3918
3919 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
3920 (muser-mode): Likewise.
3921
3922 2015-02-13 Alan Modra <amodra@gmail.com>
3923
3924 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
3925 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
3926
3927 2015-02-12 David Howells <dhowells@redhat.com>
3928
3929 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
3930 warning.
3931 * tree-ssa-uninit.c (dump_predicates): Likewise.
3932 * opts.c (print_filtered_help): Likewise.
3933
3934 2015-02-12 Jakub Jelinek <jakub@redhat.com>
3935
3936 * dwarf2out.c (output_die): Use "%s", name instead of name to
3937 avoid -Wformat-security warning.
3938
3939 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
3940 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
3941 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
3942 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
3943
3944 2015-02-12 Jason Merrill <jason@redhat.com>
3945
3946 * common.opt (-flifetime-dse): New.
3947
3948 2015-02-12 Jakub Jelinek <jakub@redhat.com>
3949
3950 PR sanitizer/65019
3951 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
3952
3953 PR tree-optimization/65014
3954 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
3955 use original second operand of arg0 or arg1 instead of
3956 that adjusted by STRIP_NOPS.
3957
3958 2015-02-11 Jeff Law <law@redhat.com>
3959
3960 PR target/63347
3961 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
3962 that needs to be queued, just queue it for a single cycle.
3963
3964 2015-02-11 Jan Hubicka <hubicka@ucw.cz>
3965
3966 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
3967 bodies of thunks; comment on why.
3968 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
3969 symbols are extern.
3970
3971 2015-02-11 Richard Henderson <rth@redhat.com>
3972
3973 PR sanitize/65000
3974 * tree-eh.c (mark_reachable_handlers): Mark source and destination
3975 regions of __builtin_eh_copy_values.
3976
3977 2015-02-11 Jakub Jelinek <jakub@redhat.com>
3978
3979 PR middle-end/65003
3980 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
3981 ultimate alias is MEM with SYMBOL_REF satisfying
3982 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
3983 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
3984
3985 2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
3986
3987 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
3988 "diagnostic-core.h".
3989 (main): Initialize progname, and call diagnostic_initialize.
3990
3991 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
3992 instead of __OPENMP_TARGET__.
3993
3994 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
3995 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
3996 hard-coding PTX_ID.
3997
3998 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
3999
4000 * doc/sourcebuild.texi (pie_enabled): Document.
4001
4002 2015-02-11 Martin Liska <mliska@suse.cz>
4003
4004 PR ipa/64813
4005 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
4006 a return value for call to a function that is noreturn.
4007
4008 2015-02-11 Richard Biener <rguenther@suse.de>
4009
4010 PR lto/65015
4011 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
4012 and -fresolution.
4013
4014 2015-02-11 Andrew Pinski <apinski@cavium.com>
4015
4016 PR target/64893
4017 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
4018 Change the first argument type to size_type_node and add another
4019 size_type_node.
4020 (aarch64_simd_expand_builtin): Handle the new argument to
4021 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
4022 print an out when the first two arguments are not
4023 nonzero integer constants.
4024 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
4025 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
4026
4027 2015-02-11 Jakub Jelinek <jakub@redhat.com>
4028
4029 PR target/61925
4030 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
4031 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
4032 (ix86_set_current_function): Rewritten.
4033 (ix86_add_new_builtins): Temporarily clear current_target_pragma
4034 when creating builtin fndecls.
4035
4036 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
4037
4038 PR ipa/65005
4039 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
4040 function.
4041 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
4042 have no comdat group.
4043 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
4044 (lto_output_varpool_node): Always output alias info.
4045 (output_refs): Output refs of boundary aliases, too.
4046 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
4047 (output_symtab): Output call eges in thunks in boundary.
4048 (get_alias_symbol): Remove.
4049 (input_node, input_varpool_node): Do not special case weakrefs.
4050 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
4051 alias and thunks targets in the boundary; do not take removed symbols
4052 from their comdat groups.
4053 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
4054 (cgraph_node::global_info): Remove.
4055 (cgraph_node::rtl_info): Look through aliases and thunks.
4056 * cgrpah.h (global_info): Remove.
4057 (non_local_p): Remove.
4058
4059 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
4060 Sandra Loosemore <sandra@codesourcery.com>
4061
4062 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
4063 to inline asm. List dialects in proper order.
4064
4065 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
4066 Sandra Loosemore <sandra@codesourcery.com>
4067
4068 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
4069
4070 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
4071
4072 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
4073 modified) reference to Solaris.
4074
4075 2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
4076
4077 * doc/extend.texi (Extended Asm): Fix typos.
4078
4079 2015-02-10 Jakub Jelinek <jakub@redhat.com>
4080
4081 PR sanitizer/65004
4082 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
4083
4084 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
4085
4086 PR target/64661
4087 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
4088 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
4089 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
4090 * config/sh/constraints.md (Ara, Add): New constraints.
4091 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
4092 predicates.
4093 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
4094 atomic_mem_operand_0. Don't use force_reg on the memory address.
4095 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
4096 Sra constraint. Convert to insn_and_split. Add workaround for
4097 PR 64974.
4098 (atomic_compare_and_swap<mode>_hard): Copy to
4099 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
4100 Use atomic_mem_operand_0 predicate.
4101 (atomic_compare_and_swap<mode>_soft_gusa,
4102 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
4103 AraAdd constraints.
4104 (atomic_compare_and_swap<mode>_soft_tcb,
4105 atomic_compare_and_swap<mode>_soft_imask,
4106 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
4107 atomic_mem_operand_0 predicate and SraSdd constraints.
4108 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
4109 constraint.
4110 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
4111 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
4112 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
4113 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
4114 force_reg on the memory address.
4115 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
4116 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
4117 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
4118 atomic_mem_operand_1 predicate and Sra constraint.
4119 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
4120 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
4121 Use atomic_mem_operand_1 predicate.
4122 (atomic_<fetchop_name><mode>_hard): Copy to
4123 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
4124 Use atomic_mem_operand_1 predicate.
4125 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
4126 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
4127 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
4128 insn_and_split. Use atomic_mem_operand_1 predicate.
4129 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
4130 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
4131 Use atomic_mem_operand_1 predicate.
4132 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
4133 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
4134 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
4135 in generated insn with original mem operand before emitting the insn.
4136 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
4137 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
4138 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
4139 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
4140 Use atomic_mem_operand_1 predicate and AraAdd constraints.
4141 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
4142 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
4143 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
4144 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
4145 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
4146 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
4147 atomic_not_fetch<mode>_soft_tcb,
4148 atomic_<fetchop_name>_fetch<mode>_soft_imask,
4149 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
4150 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
4151 Use atomic_mem_operand_1 predicate and SraSdd constraints.
4152
4153 2015-02-10 Uros Bizjak <ubizjak@gmail.com>
4154
4155 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
4156 and 3 earlyclobber operands.
4157
4158 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
4159
4160 * common.opt (fstack-reuse): Mark as optimization.
4161
4162 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
4163
4164 PR ipa/64982
4165 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
4166
4167 2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
4168
4169 PR tree-optimization/64326
4170 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
4171
4172 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
4173
4174 PR gcov-profile/61889
4175 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
4176
4177 2015-02-10 Richard Biener <rguenther@suse.de>
4178
4179 PR tree-optimization/64995
4180 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
4181 value we use is final.
4182 (visit_reference_op_store): Always valueize op.
4183 (visit_use): Properly valueize vuses.
4184
4185 2015-02-10 Richard Biener <rguenther@suse.de>
4186
4187 PR tree-optimization/64909
4188 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
4189 pass a scalar-stmt count estimate to the cost model.
4190 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
4191
4192 2015-02-10 Alexander Monakov <amonakov@ispras.ru>
4193
4194 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
4195 enabled by default together with var-tracking.
4196
4197 2015-02-10 Nick Clifton <nickc@redhat.com>
4198
4199 * config/rl78/rl78.c: Remove DIV attribute code accidentally
4200 included in previous rl78 commit.
4201
4202 2015-02-10 Richard Biener <rguenther@suse.de>
4203
4204 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
4205 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
4206 return the bitpack.
4207
4208 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
4209
4210 PR gcov-profile/61889
4211 * config.in: regenerate.
4212 * configure.in: Likewise.
4213 * configure.ac: Check for ftw.h.
4214 * gcov-tool.c: Check for ftw.h before using nftw.
4215
4216 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
4217
4218 PR lto/64076
4219 * ipa-visibility.c (update_visibility_by_resolution_info): Only
4220 assert when not in lto mode.
4221
4222 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
4223
4224 * ira-color.c (setup_left_conflict_sizes_p): Simplify
4225 initialization/assignment of conflict_size.
4226
4227 2015-02-09 Jan Hubicka <hubicka@ucw.cz>
4228
4229 PR ipa/64978
4230 * ipa-cp.c (gather_caller_stats): Skip thunks.
4231 (propagate_constants_topo): Skip aliases.
4232
4233 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
4234
4235 PR target/64761
4236 * config/sh/sh.c (sh_option_override): Don't change
4237 -freorder-blocks-and-partition to -freorder-blocks even when
4238 unwinding is enabled.
4239 (sh_can_follow_jump): Return false if the followee jump is
4240 a crossing jump when -freorder-blocks-and-partition is specified.
4241 * config/sh/sh.md (*jump_compact_crossing): New insn.
4242
4243 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
4244 Kaz Kojima <kkojima@gcc.gnu.org>
4245
4246 PR target/64761
4247 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
4248 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
4249 (sh_can_redirect_branch): Rename to ...
4250 (sh_can_follow_jump): ... this. Constify argument types.
4251 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
4252 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
4253 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
4254 * doc/tm.texi: Regenerate.
4255
4256 2015-02-09 Jakub Jelinek <jakub@redhat.com>
4257
4258 PR sanitizer/64981
4259 * builtins.c (expand_builtin): Call targetm.expand_builtin
4260 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
4261
4262 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
4263
4264 PR ipa/61548
4265 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
4266
4267 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
4268
4269 PR ipa/63566
4270 * ipa-icf.c (set_local): New function.
4271 (sem_function::merge): Use it.
4272
4273 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
4274
4275 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
4276 (add_type_duplicate): Fix comparison of BINFOs.
4277
4278 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
4279
4280 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
4281 on getting VOID pointer.
4282
4283 2015-02-09 Jakub Jelinek <jakub@redhat.com>
4284
4285 PR target/64979
4286 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
4287 va_list escapes.
4288
4289 2015-02-09 Richard Biener <rguenther@suse.de>
4290
4291 * genmatch.c (replace_id): Copy expr_type.
4292
4293 2015-02-09 Richard Biener <rguenther@suse.de>
4294
4295 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
4296 (streamer_write_tree_bitfields): Declare.
4297 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
4298 properly unpack padding.
4299 (unpack_value_fields): Inline ...
4300 (streamer_read_tree_bitfields): ... here.
4301 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
4302 and properly add padding bits.
4303 (streamer_pack_tree_bitfields): Fold into ...
4304 (streamer_write_tree_bitfields): ... this new function,
4305 exposing the bitpack object.
4306 * lto-streamer-out.c (lto_write_tree_1): Call
4307 streamer_write_tree_bitfields.
4308
4309 2015-02-09 Richard Biener <rguenther@suse.de>
4310
4311 PR tree-optimization/54000
4312 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
4313 (struct ivopts_data): Add loop_loc member.
4314 (tree_ssa_iv_optimize_loop): Dump loop location.
4315 (create_new_ivs): Likewise, also dump number of IVs generated.
4316
4317 2015-02-09 Martin Liska <mliska@suse.cz>
4318
4319 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
4320 just if not yet registered.
4321 (ipa_icf_generate_summary): Register callgraph hooks.
4322
4323 2015-02-08 Andrew Pinski <apinski@cavium.com>
4324
4325 * config/aarch64/aarch64.c (gty_dummy): Delete.
4326
4327 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
4328
4329 PR ipa/63566
4330 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
4331 (cgraph_node::local_p): Remove thunk related FIXME.
4332
4333 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
4334
4335 PR ipa/63566
4336 * i386.c (ix86_function_regparm): Look through aliases to see if callee
4337 is local and optimized.
4338 (ix86_function_sseregparm): Likewise; also use target's SSE math
4339 settings; error out instead of silently generating wrong code
4340 on mismatches.
4341 (init_cumulative_args): Look through aliases.
4342
4343 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
4344
4345 PR ipa/63566
4346 * ipa-split.c (execute_split_functions): Split if function has aliases.
4347
4348 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
4349
4350 PR ipa/63566
4351 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
4352 aliases before trying to expand it.
4353 (cgraph_node::expand_thunk): Fix formating.
4354
4355 2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
4356
4357 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
4358 (Using Assembly Language with C): Expand introduction.
4359 (Basic Asm): Copy-edit. Add more information about uses of
4360 basic asm.
4361 (Extended Asm): Copy-edit. Document new escape syntax and
4362 %l[label] syntax.
4363 (Global Reg Vars): Copy-edit.
4364 (Local Reg Vars): Likewise.
4365
4366 2015-02-06 David Edelsohn <dje.gcc@gmail.com>
4367
4368 PR debug/2714
4369 PR bootstrap/64256
4370 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
4371 (DBX_CONTIN_CHAR): Define.
4372
4373 2015-02-06 Sebastian Pop <s.pop@samsung.com>
4374 Brian Rzycki <b.rzycki@samsung.com>
4375
4376 PR tree-optimization/64878
4377 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
4378 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
4379 Stop recursion at loop phi nodes after having visited a loop phi node.
4380
4381 2015-02-06 Jakub Jelinek <jakub@redhat.com>
4382
4383 * toplev.c (process_options): Change flag_ipa_ra before creating
4384 optimization_{default,current}_node.
4385
4386 PR ipa/64896
4387 * cgraphunit.c (cgraph_node::expand_thunk): If
4388 restype is not is_gimple_reg_type nor the thunk_fndecl
4389 returns aggregate_value_p, set restmp to a temporary variable
4390 instead of resdecl.
4391
4392 2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
4393
4394 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
4395
4396 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
4397
4398 PR target/64205
4399 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
4400 add a general secondary reload handler for SDmode, unless we have
4401 both read/write support for SDmode.
4402
4403 2015-02-06 Jakub Jelinek <jakub@redhat.com>
4404
4405 PR middle-end/64937
4406 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
4407 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
4408 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
4409 1 before, push it to abstract_vec.
4410 (dwarf2out_abstract_function): Adjust caller. Don't call
4411 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
4412 DECL_ABSTRACT_P flags for all abstract_vec elts.
4413
4414 2015-02-06 Renlin Li <renlin.li@arm.com>
4415
4416 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
4417 complex gimple.
4418 * tree-ssa.c (execute_update_addresses_taken): Likewise.
4419
4420 2015-02-06 Jeff Law <law@redhat.com>
4421
4422 PR target/64889
4423 * config/h8300/h8300.c (push): New argument "in_prologue".
4424 Pass "in_prologue" along to "F".
4425 (h8300_push_pop): Corresponding changes.
4426 (h8300_expand_prologue): Likewise.
4427 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
4428
4429 2015-02-06 Jakub Jelinek <jakub@redhat.com>
4430
4431 PR rtl-optimization/64957
4432 PR debug/64817
4433 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
4434 IOR rather than for AND.
4435
4436 2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
4437
4438 PR target/62631
4439 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
4440 of shift-add and (add + shift) operations. Rename local variable.
4441
4442 2015-02-05 Jeff Law <law@redhat.com>
4443
4444 PR target/17306
4445 * config/h8300/constraints.md (U): Correctly dectect
4446 "eightbit_data" memory addresses.
4447 * config/h8300/h8300.c (eightbit_constant_address_p): Also
4448 handle (const (plus (symbol_ref (x)))) where x is declared
4449 as an 8-bit data memory address.
4450 * config/h8300/h8300.md (call, call_value): Correctly detect
4451 "funcvec" functions.
4452
4453 PR target/43264
4454 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
4455 24 to 28 bits for the H8/300.
4456
4457 2015-02-06 Alan Modra <amodra@gmail.com>
4458
4459 PR target/64876
4460 * config/rs6000/rs6000.c (chain_already_loaded): New function.
4461 (rs6000_call_aix): Use it.
4462
4463 2015-02-05 Jan Hubicka <hubicka@ucw.cz>
4464
4465 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
4466 check.
4467
4468 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
4469
4470 * config/h8300/constraints.md ("U" constraint): Use strict
4471 variant of REG_OK_FOR_BASE_P after reload has started.
4472
4473 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
4474
4475 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
4476 define to zero if !TARGET_NEON.
4477 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
4478
4479 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
4480 Trevor Saunders <tsaunders@mozilla.com>
4481
4482 PR ipa/61548
4483 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
4484
4485 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
4486
4487 PR ipa/61548
4488 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
4489 when removing varpool nodes.
4490
4491 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
4492
4493 PR ipa/61548
4494 * varpool.c (varpool_node::remove): Fix order of variables.
4495
4496 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
4497
4498 PR ipa/64686
4499 * ipa-inline.c (inline_small_functions): Fix ordering issue between
4500 speculation resolution and key updates.
4501
4502 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
4503
4504 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
4505 about not letting any speculative edges unupdated.
4506
4507 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
4508
4509 PR gcov/64123
4510 * gcov-io.c (gcov_var): Export.
4511
4512 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
4513
4514 PR middle-end/64922
4515 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
4516 edges that become speculative.
4517
4518 2015-02-04 Jakub Jelinek <jakub@redhat.com>
4519
4520 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
4521 or DW_LANG_Fortran08.
4522 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
4523 DW_LANG_Fortran08.
4524 (gen_compile_unit_die): Handle "GNU Fortran2003" and
4525 "GNU Fortran2008" language strings.
4526 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
4527 * langhooks.h (lang_GNU_Fortran): New prototype.
4528 * langhooks.c (lang_GNU_Fortran): New function.
4529 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
4530 lang_GNU_Fortran.
4531
4532 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
4533
4534 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
4535 (RTX_OK_FOR_OLO10_P): Likewise.
4536
4537 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
4538
4539 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
4540
4541 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
4542
4543 PR middle-end/64922
4544 * gimple.c: Include gimple-ssa.h.
4545 (maybe_remove_unused_call_args): New function.
4546 * gimple.h (maybe_remove_unused_call_args): Declare.
4547 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
4548 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
4549 * gimple-fold.c (gimple_fold_call): Likewise.
4550
4551 2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
4552
4553 PR rtl-optimization/64905
4554 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
4555 pointer alignment if it isn't needed.
4556
4557 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
4558
4559 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
4560 cortex-a72.cortex-a53.
4561 * config/aarch64/aarch64-tune.md: Regenerate.
4562 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
4563
4564 2015-02-04 Nick Clifton <nickc@redhat.com>
4565
4566 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
4567 inside a MEM.
4568
4569 2015-02-04 Jakub Jelinek <jakub@redhat.com>
4570
4571 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
4572 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
4573 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
4574 of DEF_BUILTIN.
4575 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
4576 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
4577 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
4578 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
4579 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
4580 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
4581 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
4582 * tree-core.h (enum built_in_function): In between
4583 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
4584 for builtins that use DEF_BUILTIN_CHKP macro.
4585
4586 2015-02-04 Alexandre Oliva <aoliva@redhat.com>
4587
4588 PR debug/64817
4589 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
4590 operands for tcc_comparison exprs. Fix typos.
4591
4592 PR debug/64817
4593 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
4594 of two XORs that have an intervening AND or IOR.
4595
4596 PR debug/64817
4597 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
4598 simplification of XOR of AND to not allocate new rtx before
4599 committing to a simplification.
4600
4601 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4602
4603 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
4604 manual swaps in all peepholes.
4605
4606 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4607
4608 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
4609 of manual swapping implementation.
4610 (aarch64_expand_vec_perm_const_1): Likewise.
4611
4612 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
4613
4614 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
4615 (generic_addrcost_table): Remove NAMED_PARAM.
4616 (cortexa57_addrcost_table): Likewise.
4617 (xgene1_addrcost_table): Likewise.
4618 (generic_regmove_table): Likewise.
4619 (cortexa53_regmove_table): Likewise.
4620 (xgene1_regmove_table): Likewise.
4621 (generic_vector_table): Likewise.
4622 (cortexa57_vector_table): Likewise.
4623 (xgene1_vector_table): Likewise.
4624 (generic_tunings): Likewise.
4625 (cortexa53_tunings): Likewise.
4626 (cortexa57_tunings): Likewise.
4627 (xgene1_tunings): Likewise.
4628
4629 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
4630
4631 * config/arm/arm-cores.def: Add cortex-a72 and
4632 cortex-a72.cortex-a53.
4633 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
4634 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
4635 * config/arm/arm-tune.md: Regenerate.
4636 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
4637 "cortex-a72.cortex-a53".
4638 * doc/invoke.texi (ARM Options/-mtune): Likewise.
4639
4640 2015-02-04 Nick Clifton <nickc@redhat.com>
4641
4642 PR target/64408
4643 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
4644 of accepted codes.
4645 (nonimmediate_di_operand): Likewise.
4646
4647 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
4648 prefixes of known F5 using MSP430 MCUs.
4649
4650 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4651
4652 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
4653 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
4654 instead of __builtin_sqrt.
4655
4656 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
4657
4658 * varasm.c (do_assemble_alias): Follow transparent alias
4659 chain for target.
4660 (default_assemble_visibility): Follow transparent alias
4661 chain for decl name.
4662
4663 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
4664
4665 PR middle-end/62103
4666 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
4667 to compute size of referenced value in the constant case.
4668
4669 2015-02-03 Jakub Jelinek <jakub@redhat.com>
4670
4671 PR rtl-optimization/64756
4672 * cse.c (invalidate_dest): New function.
4673 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
4674 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
4675 invalidate and do not record it.
4676
4677 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
4678
4679 PR target/64660
4680 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
4681 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
4682 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
4683 atomic_nand<mode>_soft_tcb): New insns.
4684 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
4685 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
4686 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
4687 Split into atomic_not_fetchsi_hard if operands[0] is unused.
4688 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
4689 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
4690 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
4691 atomic_not<mode>_hard if operands[0] is unused.
4692 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
4693 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
4694 if operands[0] is unused.
4695 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
4696 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
4697 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
4698 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
4699 unused.
4700 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
4701 into atomic_not<mode>_soft_tcb if operands[0] is unused.
4702 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
4703 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
4704 if operands[0] is unused.
4705 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
4706 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
4707 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
4708 atomic_nand_fetchsi_hard if operands[0] is unused.
4709 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
4710 atomic_nand<mode>_hard if operands[0] is unused.
4711 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
4712 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
4713 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
4714 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
4715 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
4716 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
4717 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
4718 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
4719 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
4720 atomic_not<mode>_hard if operands[0] is unused.
4721 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
4722 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
4723 unused.
4724 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
4725 into atomic_not<mode>_soft_tcb if operands[0] is unused.
4726 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
4727 atomic_nand<mode>_hard if operands[0] is unused.
4728 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
4729 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
4730
4731 2015-02-03 David Malcolm <dmalcolm@redhat.com>
4732
4733 PR jit/64810
4734 * Makefile.in (GCC_OBJS): Add gcc-main.o.
4735 * gcc-main.c: New file, containing "main" taken from gcc.c.
4736 * gcc.c (do_self_spec): Free decoded_options.
4737 (class driver): Move declaration to gcc.h.
4738 (main): Move declaration and implementation to new file
4739 gcc-main.c.
4740 (driver_get_configure_time_options): New function.
4741 * gcc.h (class driver): Move this declaration here, from
4742 gcc.c.
4743 (driver_get_configure_time_options): New declaration.
4744
4745 2015-02-03 Jan Hubicka <hubicka@ucw.cz>
4746
4747 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
4748 cross-module inlining.
4749 * cgraph.h (cgraph_node): Add flag merged.
4750 * ipa-icf.c (sem_function::merge): Maintain it.
4751
4752 2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
4753
4754 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
4755 instead of OBJECT_P.
4756
4757 2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
4758
4759 PR target/62631
4760 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
4761 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
4762 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
4763 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
4764
4765 2015-02-03 Jakub Jelinek <jakub@redhat.com>
4766
4767 PR other/63504
4768 * combine.c (reg_n_sets_max): New variable.
4769 (can_change_dest_mode, reg_nonzero_bits_for_combine,
4770 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
4771 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
4772 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
4773 (rest_of_handle_combine): Initialize reg_n_sets_max.
4774
4775 2015-02-02 Jan Hubicka <hubicka@ucw.cz>
4776
4777 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
4778 if some always_inline was inlined, apply changes before inlining
4779 heuristically.
4780
4781 2015-02-02 David Malcolm <dmalcolm@redhat.com>
4782
4783 PR jit/64810
4784 * config/arm/arm.c (arm_option_override): Set
4785 arm_selected_arch/cpu/tune to NULL on entry.
4786
4787 2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
4788 Andrew Pinski <pinskia@gcc.gnu.org>
4789 Jakub Jelinek <jakub@gcc.gnu.org>
4790
4791 PR target/64231
4792 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
4793 integer typing for small model. Use IN_RANGE.
4794
4795 2015-02-02 Richard Biener <rguenther@suse.de>
4796
4797 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
4798 * tree-vrp.c (vrp_valueize_1): Likewise.
4799
4800 2015-02-02 Alan Modra <amodra@gmail.com>
4801
4802 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
4803 than mem for toc_restore.
4804 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
4805 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
4806 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
4807
4808 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
4809
4810 PR target/64047
4811 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
4812 explicit default options.
4813
4814 2015-02-01 Jan Hubicka <hubicka@ucw.cz>
4815
4816 PR ipa/64872
4817 * ipa-utils.c (ipa_merge_profiles): Add release argument.
4818 * ipa-icf.c (sem_function::merge): Do not release body when merging.
4819 * ipa-utils.h (ipa_merge_profiles): Update prototype.
4820
4821 2015-02-01 Jakub Jelinek <jakub@redhat.com>
4822
4823 PR debug/64817
4824 * cfgexpand.c (deep_ter_debug_map): New variable.
4825 (avoid_deep_ter_for_debug): New function.
4826 (expand_debug_expr): If TERed SSA_NAME is in
4827 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
4828 instead of trying to expand SSA_NAME's def stmt.
4829 (expand_debug_locations): When expanding debug bind
4830 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
4831 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
4832 value.
4833 (pass_expand::execute): Call avoid_deep_ter_for_debug on
4834 all debug bind stmts. Delete deep_ter_debug_map after
4835 expand_debug_location if non-NULL and clear it.
4836
4837 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
4838
4839 PR target/64851
4840 * config/sh/sync.md (atomic_fetch_notsi_hard,
4841 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
4842 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
4843 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
4844 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
4845 atomic_not_fetch<mode>_soft_imask): New insns.
4846
4847 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
4848
4849 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
4850 (rank_for_schedule_debug): Split from ...
4851 (rank_for_schedule): ... this.
4852 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
4853 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
4854
4855 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
4856
4857 * doc/md.texi (Machine Constraints): Alphabetize table by target.
4858 * doc/extend.texi (x86 Variable Attributes): Move section to
4859 correct alphabetization after renaming.
4860 (x86 Type Attributes): Likewise.
4861 (Target Builtins): Re-alphabetize menu.
4862 (x86 Built-in Functions): Move section to correct alphabetization
4863 after renaming.
4864 (x86 transactional memory intrinsics): Likewise.
4865 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
4866 and x86 Windows Options in table and menu.
4867 (x86 Options): Move section to correct alphabetization after
4868 renaming.
4869 (x86 Windows Options): Likewise.
4870
4871 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
4872
4873 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
4874 preferred names of the architecture and its 32- and 64-bit
4875 variants.
4876 * doc/invoke.texi: Likewise.
4877 * doc/md.texi: Likewise.
4878
4879 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
4880
4881 PR target/64882
4882 * config/i386/predicates.md (address_no_seg_operand): Reject
4883 non-CONST_INT_P operands in invalid mode.
4884
4885 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
4886
4887 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
4888 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
4889 * config/i386/predicates.md (address_no_seg_operand): Call
4890 address_operand with VOIDmode.
4891 (vsib_address_operand): Ditto.
4892 (address_mpx_no_base_operand): Ditto.
4893 (address_mpx_no_index_operand): Ditto.
4894
4895 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
4896
4897 PR target/64688
4898 * lra-constraints.c (original_subreg_reg_mode): New.
4899 (simplify_operand_subreg): Try to simplify subreg of const. Use
4900 original_subreg_reg_mode for it.
4901 (swap_operands): Update original_subreg_reg_mode.
4902 (curr_insn_transform): Set up original_subreg_reg_mode.
4903
4904 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
4905
4906 PR target/64617
4907 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
4908 function.
4909 (process_alt_operands): Use it.
4910 (curr_insn_transform): Check the optional reload pseudo class is
4911 ok for the mode.
4912
4913 2015-01-30 Joseph Myers <joseph@codesourcery.com>
4914
4915 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
4916 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
4917 prototype.
4918 * toplev.h (init_asm_output): Update comment on use of
4919 UNKNOWN_LOCATION with fatal_error.
4920 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
4921 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
4922 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
4923 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
4924 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
4925 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
4926 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
4927 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
4928 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
4929 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
4930 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
4931 fatal_error changed to pass input_location as first argument.
4932
4933 2015-01-30 Martin Liska <mliska@suse.cz>
4934
4935 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
4936 in #pragma GCC diagnostic guards.
4937
4938 2015-01-30 Richard Biener <rguenther@suse.de>
4939
4940 PR tree-optimization/64829
4941 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
4942 not add a widening conversion pattern but hand off extra
4943 widenings to callers.
4944 (vect_recog_widen_mult_pattern): Handle extra widening produced
4945 by vect_handle_widen_op_by_const.
4946 (vect_recog_widen_shift_pattern): Likewise.
4947 (vect_pattern_recog_1): Remove excess vertical space in dumping.
4948 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
4949 (vect_init_vector_1): Likewise.
4950 (vect_get_vec_def_for_operand): Likewise.
4951 (vect_finish_stmt_generation): Likewise.
4952 (vectorizable_load): Likewise.
4953 (vect_analyze_stmt): Likewise.
4954 (vect_is_simple_use): Likewise.
4955
4956 2015-01-29 Jeff Law <law@redhat.com>
4957
4958 * combine.c (try_combine): Fix typo in comment.
4959
4960 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
4961
4962 PR target/64580
4963 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
4964 (rs6000_stack_info): Add assert.
4965 (rs6000_output_savres_externs): New function, split off from...
4966 (rs6000_output_function_prologue): ... here. Do not call it for
4967 thunks.
4968
4969 2015-01-29 Jeff Law <law@redhat.com>
4970
4971 PR target/15184
4972 * combine.c (try_combine): If I0 is a memory load and I3 a store
4973 to a related address, increase the "goodness" of doing a 4-insn
4974 combination with I0-I3.
4975 (make_field_assignment): Handle SUBREGs in the ior+and case.
4976
4977 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
4978
4979 PR tree-optimization/64746
4980 * tree-if-conv.c (mask_exists): New function.
4981 (predicate_mem_writes): Save created mask with given size for further
4982 use.
4983 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
4984 (ifcvt_repair_bool_pattern): Collect all statements that are root
4985 of bool pattern and use iterative algorithm to remove multiple uses
4986 of predicates, display number of required iterations.
4987
4988 2015-01-29 Richard Biener <rguenther@suse.de>
4989
4990 PR tree-optimization/64853
4991 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
4992 stmt will get simulated again.
4993 * tree-ssa-ccp.c (valueize_op_1): Likewise.
4994
4995 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4996
4997 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
4998 return_in_pc. Remove redundant assignments.
4999 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
5000 (arm_expand_epilogue): Don't compare boolean with true in if condition.
5001
5002 2015-01-29 Uros Bizjak <ubizjak@gmail.com>
5003
5004 * config/i386/i386.c (ix86_mode_after): Make static.
5005
5006 2015-01-29 Richard Biener <rguenther@suse.de>
5007
5008 PR tree-optimization/64844
5009 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
5010 dump cost model analysis.
5011 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
5012 Do not register adjusted load/store costs here.
5013
5014 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
5015 Uros Bizjak <ubizjak@gmail.com>
5016
5017 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
5018 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
5019 using x86_use_pseudo_pic_reg.
5020 * config/i386/i386.c (ix86_conditional_register_usage): Remove
5021 support for fixed PIC register.
5022 (ix86_use_pseudo_pic_reg): Not static any more.
5023
5024 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
5025
5026 PR middle-end/64805
5027 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
5028 to avoid error in cgraph node verification.
5029
5030 2015-01-29 Marek Polacek <polacek@redhat.com>
5031
5032 * doc/standards.texi: Reflect that the default for C is gnu11.
5033
5034 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
5035
5036 PR target/64761
5037 * reorg.c (switch_text_sections_between_p): New function.
5038 (relax_delay_slots): Call it when testing if the jump insn
5039 is removable. Use targetm.can_follow_jump when testing if
5040 the conditional branch can follow an unconditional jump.
5041
5042 2015-01-27 Caroline Tice <cmtice@google.com>
5043
5044 Committing VTV Cywin/Ming patch for Patrick Wollgast
5045 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
5046 if -fvtable-verify=preinit/std is used.
5047 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
5048 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
5049 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
5050 if -fvtable-verify=preinit/std is used.
5051 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
5052 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
5053 if -fvtable-verify=preinit/std is used.
5054 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
5055 * config/i386/mingw32.h (LIB_SPEC): Likewise.
5056 * varasm.c (assemble_variable): Add code to properly set the comdat
5057 section and name for the .vtable_map_vars section in case the
5058 target is PE or COFF.
5059
5060 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
5061
5062 PR ipa/64801
5063 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
5064 make sane BB profile.
5065 (cgraph_node::expand_thunk): Make sane BB profile.
5066 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
5067 * cgraph.h (init_lowered_empty_function): Update prototype.
5068 * config/i386/i386.c (make_resolver_func): Update call.
5069 * predict.c (gate): Disable branch prediction pass if
5070 profile is already there.
5071
5072 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
5073
5074 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
5075 * opth-gen.awk: Likewise.
5076 * common.opt: Mark flag_fp_contract_mode as Optimization.
5077
5078 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
5079
5080 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
5081 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
5082
5083 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
5084
5085 PR target/64659
5086 * config/sh/predicates.md (atomic_arith_operand,
5087 atomic_logical_operand): Remove.
5088 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
5089 (atomic_arith_operand_0): New predicate.
5090 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
5091 Use atomic_arith_operand_0 for input values.
5092 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
5093 atomic_compare_and_swap<mode>_soft_gusa,
5094 atomic_compare_and_swap<mode>_soft_tcb,
5095 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
5096 arith_reg_operand instead of register_operand.
5097 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
5098 atomic_arith_operand_0 for newval input.
5099 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
5100 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
5101 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
5102 arith_reg_operand instead of register_operand.
5103 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
5104 fetchop_predicate_1, fetchop_constraint_1_llcs,
5105 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
5106 fetchop_constraint_1_imask): New code iterator attributes.
5107 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
5108 register_operand. Use fetchop_predicate_1.
5109 (atomic_fetch_<fetchop_name>si_hard,
5110 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
5111 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
5112 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
5113 and arith_reg_operand instead of register_operand. Use
5114 fetchop_predicate_1, fetchop_constraint_1_gusa.
5115 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
5116 and arith_reg_operand instead of register_operand. Use
5117 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
5118 to allow R0 usage.
5119 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
5120 and arith_reg_operand instead of register_operand. Use
5121 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
5122 to allow R0 usage.
5123 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
5124 register_operand. Use atomic_logical_operand_1.
5125 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
5126 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
5127 arith_reg_operand instead of register_operand.
5128 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
5129 Use arith_reg_dest and arith_reg_operand instead of register_operand.
5130 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
5131 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
5132 register_operand. Use fetchop_predicate_1.
5133 (atomic_<fetchop_name>_fetchsi_hard,
5134 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
5135 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
5136 fetchop_constraint_1_llcs.
5137 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
5138 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
5139 fetchop_constraint_1_gusa.
5140 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
5141 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
5142 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
5143 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
5144 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
5145 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
5146 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
5147 register_operand. Use atomic_logical_operand_1.
5148 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
5149 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
5150 arith_reg_operand instead of register_operand.
5151 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
5152 arith_reg_operand instead of register_operand. Use logical_operand
5153 and K08. Adjust asm sequence to allow R0 usage.
5154 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
5155 arith_reg_operand instead of register_operand. Use logical_operand
5156 and K08.
5157
5158 2015-01-28 Jakub Jelinek <jakub@redhat.com>
5159
5160 PR other/63504
5161 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
5162 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
5163 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
5164 only get_full_len HOST_WIDE_INTs from get_val () array rather than
5165 all bits in *val_wide.
5166
5167 2015-01-28 Jan Hubicka <hubicka@ucw.cz>
5168
5169 * varpool.c (tls_model_names): Fix names.
5170 (varpool_node::dump): Dump tls- prefix for tls models.
5171
5172 2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
5173 Bernd Schmidt <bernds@codesourcery.com>
5174 Nathan Sidwell <nathan@codesourcery.com>
5175
5176 * config/nvptx/mkoffload.c: New file.
5177 * config/nvptx/t-nvptx: Add build rules for it.
5178 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
5179 (extra_programs): Add mkoffload.
5180 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
5181 function.
5182 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
5183
5184 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
5185
5186 PR middle-end/64809
5187 * cfgexpand.c (reorder_operands): Skip debug gimples.
5188
5189 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
5190
5191 PR tree-optimization/64277
5192 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
5193 range info when possible to refine estimation.
5194
5195 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
5196
5197 PR tree-optimization/64718
5198 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
5199 be a 16bit unsigned integer when n->range is 16.
5200 (bswap_replace): Convert src to that type if necessary for all bswap
5201 sizes. Fix rotation right notation in nearby comment. Use bswap_type
5202 set in pass_optimize_bswap::execute ().
5203
5204 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
5205
5206 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
5207 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
5208 integer and floating point variants.
5209 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
5210
5211 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
5212
5213 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
5214 for all vector modes.
5215
5216 2015-01-28 Jakub Jelinek <jakub@redhat.com>
5217
5218 PR bootstrap/64612
5219 * doc/sourcebuild.texi (comdat_group): Document.
5220
5221 2015-01-28 Terry Guo <terry.guo@arm.com>
5222
5223 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
5224
5225 2015-01-27 David Malcolm <dmalcolm@redhat.com>
5226
5227 * toplev.c (print_version): Add param "show_global_state", and
5228 only print GGC and plugin information if it is true.
5229 (init_asm_output): Pass in "true" for the new param when calling
5230 print_version.
5231 (process_options): Likewise.
5232 (toplev::main): Likewise.
5233 * toplev.h (print_version): Add new param to decl.
5234
5235 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
5236
5237 PR ipa/60871
5238 PR ipa/64139
5239 * tree.c (lookup_binfo_at_offset): New function.
5240 (get_binfo_at_offset): Use it.
5241
5242 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
5243
5244 PR ipa/64282
5245 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
5246 on vtable being vtable.
5247
5248 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
5249
5250 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
5251 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
5252 -mhotpatch= option.
5253 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
5254 -mno-hotpatch options. Change syntax of -mhotpatch= option.
5255 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
5256 Renamed.
5257 (s390_hotpatch_trampoline_halfwords_max): Renamed.
5258 (s390_hotpatch_hw_max): New name.
5259 (s390_hotpatch_trampoline_halfwords): Renamed.
5260 (s390_hotpatch_hw_before_label): New name.
5261 (get_hotpatch_attribute): Removed.
5262 (s390_hotpatch_hw_after_label): New name.
5263 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
5264 attribute.
5265 (s390_attribute_table): Ditto.
5266 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
5267 (s390_function_num_hotpatch_hw): New name.
5268 Remove special handling of inline functions and hotpatching.
5269 Return number of nops before and after the function label.
5270 (s390_can_inline_p): Removed.
5271 (s390_asm_output_function_label): Emit a configurable number of nops
5272 after the function label.
5273 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
5274 (TARGET_CAN_INLINE_P) Removed.
5275 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
5276
5277 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5278 Jiong Wang <jiong.wang@arm.com>
5279
5280 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
5281 of scratch reg.
5282 (cb<optab><mode>1): Likewise.
5283 * config/aarch64/iterators.md (bcond): New define_code_attr.
5284
5285 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5286
5287 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
5288 memory accesses.
5289
5290 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5291
5292 * config/s390/s390.c (s390_register_move_cost): Increase costs for
5293 FPR->GPR moves.
5294
5295 2015-01-27 Richard Biener <rguenther@suse.de>
5296
5297 * tree-vrp.c (update_value_range): Intersect the range with
5298 old recorded SSA name range information.
5299
5300 2015-01-27 Nick Clifton <nickc@redhat.com>
5301
5302 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
5303 BC, DE and HL registers directly, not via AX.
5304 When decrementing the stack pointer by a large amount, transfer SP
5305 into AX and perform the subtraction there.
5306 (rl78_expand_epilogue): Perform the inverse of the above
5307 enhancements.
5308
5309 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5310
5311 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
5312
5313 2015-01-27 Jakub Jelinek <jakub@redhat.com>
5314 Yury Gribov <y.gribov@samsung.com>
5315
5316 PR ubsan/64741
5317 * ubsan.c (ubsan_source_location): Refactor code.
5318 (ubsan_type_descriptor): Update type size. Refactor code.
5319
5320 2015-01-27 Richard Biener <rguenther@suse.de>
5321
5322 PR tree-optimization/56273
5323 PR tree-optimization/59124
5324 PR tree-optimization/64277
5325 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
5326 from the first VRP pass.
5327
5328 2015-01-27 Jakub Jelinek <jakub@redhat.com>
5329
5330 PR ipa/64776
5331 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
5332 handle the first argument in the same loop as all the other arguments.
5333
5334 PR rtl-optimization/61058
5335 * jump.c (cleanup_barriers): Update basic block boundaries
5336 if BLOCK_FOR_INSN is non-NULL on PREV.
5337
5338 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
5339
5340 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
5341 bounds narrowing, already instrumented calls and calls to
5342 not instrumentable functions.
5343
5344 2015-01-27 Jakub Jelinek <jakub@redhat.com>
5345
5346 PR tree-optimization/64807
5347 * wide-int.cc (wi::divmod_internal): Clear
5348 b_dividend[dividend_blocks_needed].
5349
5350 2015-01-26 DJ Delorie <dj@redhat.com>
5351
5352 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
5353 volatile memory references.
5354
5355 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
5356
5357 PR target/49263
5358 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
5359 remove_insn.
5360 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
5361 shifts if it already fits into K08.
5362
5363 2015-01-26 Jakub Jelinek <jakub@redhat.com>
5364
5365 PR ipa/64730
5366 * ipa-inline.c (inline_small_functions): Print "unknown" even
5367 if edge->call_stmt is non-NULL, but has builtins or unknown
5368 location.
5369
5370 PR middle-end/64421
5371 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
5372 with asterisk, skip the first character.
5373
5374 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
5375
5376 PR target/64806
5377 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
5378 order change.
5379
5380 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
5381
5382 PR target/64795
5383 * config/i386/i386.md (*movdi_internal): Also check operand 0
5384 to determine TYPE_LEA operand.
5385 (*movsi_internal): Ditto.
5386
5387 2015-01-26 Jakub Jelinek <jakub@redhat.com>
5388
5389 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
5390 OPTION_MASK_QUAD_MEMORY_ATOMIC.
5391
5392 2015-01-26 Renlin Li <renlin.li@arm.com>
5393
5394 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
5395 the comment.
5396 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
5397 for higher part.
5398
5399 2015-01-26 Richard Biener <rguenther@suse.de>
5400
5401 PR middle-end/64764
5402 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
5403 combining two BIT_AND_EXPR predicates.
5404
5405 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
5406
5407 PR bootstrap/64754
5408 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
5409
5410 2015-01-26 Terry Guo <terry.guo@arm.com>
5411
5412 * config/arm/arm.c (arm_file_start): Update the assignment of
5413 Tag_ABI_HardFP_use.
5414
5415 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
5416
5417 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
5418 pipeline model.
5419 config/arm/arm.md: Include the new Cortex-A57 model.
5420 (generic_sched): Don't use generic_sched when tuning for
5421 Cortex-A57.
5422
5423 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
5424 Uros Bizjak <ubizjak@gmail.com>
5425
5426 * config/i386/i386.c (get_builtin_code_for_version): Add
5427 support for BMI and BMI2 multiversion functions.
5428
5429 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5430
5431 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
5432 (extract_bit_field): Likewise.
5433 (extract_low_bits): Likewise.
5434 (expand_mult): Likewise.
5435 (expand_mult_highpart_adjust): Likewise.
5436
5437 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
5438
5439 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
5440 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
5441 * config/i386/i386.c (processor_model): Add
5442 M_INTEL_COREI7_BROADWELL.
5443 (arch_names_table): Add "broadwell".
5444
5445 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
5446
5447 PR target/49263
5448 PR target/53987
5449 PR target/64345
5450 PR target/59533
5451 PR target/52933
5452 PR target/54236
5453 PR target/51244
5454 * config/sh/sh-protos.h
5455 (sh_extending_set_of_reg::can_use_as_unextended_reg,
5456 sh_extending_set_of_reg::use_as_unextended_reg,
5457 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
5458 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
5459 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
5460 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
5461 (sh_treg_insns): New class.
5462 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
5463 (scope_counter): New class.
5464 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
5465 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
5466 sh_extending_set_of_reg::can_use_as_unextended_reg,
5467 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
5468 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
5469 sh_split_treg_set_expr): New functions.
5470 (addsubcosts): Handle treg_set_expr.
5471 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
5472 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
5473 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
5474 (sh_insn_operands_modified_between_p): Make non-static.
5475 * config/sh/predicates.md (zero_extend_movu_operand): Allow
5476 simple_mem_operand in addition to displacement_mem_operand.
5477 (zero_extend_operand): Don't allow zero_extend_movu_operand.
5478 (treg_set_expr, treg_set_expr_not_const01,
5479 arith_reg_or_treg_set_expr): New predicates.
5480 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
5481 arith_or_int_operand instead of logical_operand. Convert to
5482 insn_and_split. Try to optimize constant operand in splitter.
5483 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
5484 (*tstqi_t_zero): Delete.
5485 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
5486 (tstsi_t_and_not): Delete.
5487 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
5488 Convert to insn_and_split.
5489 (unnamed split, tstsi_t_zero_extract_xor,
5490 tstsi_t_zero_extract_subreg_xor_little,
5491 tstsi_t_zero_extract_subreg_xor_big): Delete.
5492 (*tstsi_t_shift_mask): New insn_and_split.
5493 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
5494 to recombine with surrounding insns when splitting.
5495 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
5496 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
5497 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
5498 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
5499 (*cbranch_div0s: Delete.
5500 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
5501 Try to recombine with surrounding insns when splitting. Add operand
5502 order variants.
5503 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
5504 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
5505 *addc_r_r_msb, *addc_2r_msb): Delete.
5506 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
5507 order variant.
5508 (*addc_negreg_t): New insn_and_split.
5509 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
5510 Try to recombine with surrounding insns when splitting.
5511 Add operand order variants.
5512 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
5513 insn_and_split patterns.
5514 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
5515 surrounding insns when splitting.
5516 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
5517 (*rotcl): Likewise. Add zero_extract variant.
5518 (*ashrsi2_31): New insn_and_split.
5519 (*negc): Convert to insn_and_split. Use treg_set_expr.
5520 (*zero_extend<mode>si2_disp_mem): Update comment.
5521 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
5522 condition.
5523 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
5524 with surrounding insns when splitting.
5525 (any_treg_expr_to_reg): New insn_and_split.
5526 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
5527 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
5528 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
5529 *zero_extract_2): New single bit zero extract patterns.
5530 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
5531 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
5532 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
5533 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
5534 set destination.
5535 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
5536 register_operand for set source.
5537
5538 2015-01-23 Jan Hubicka <hubicka@ucw.cz>
5539
5540 * i386.opt (prefetch_sse): New targetsave.
5541 * i386.c (ix86_function_specific_save): Save prefetch_sse.
5542 (ix86_function_specific_restore): Restore prefetch_sse and initialize
5543 ix86_cost/ix86_tune_cost.
5544
5545 2015-01-23 David Malcolm <dmalcolm@redhat.com>
5546
5547 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
5548 Support the JIT by using 0 as the language type.
5549
5550 2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
5551
5552 PR target/64317
5553 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
5554 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
5555 (mark_regno_live, process_bb_lives): Pass new parameter value to
5556 make_hard_regno_born.
5557
5558 2015-01-23 Jakub Jelinek <jakub@redhat.com>
5559
5560 PR rtl-optimization/63637
5561 PR rtl-optimization/60663
5562 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
5563 if elt->cost is MAX_COST for ASM_OPERANDS.
5564 (find_sets_in_insn): Fix up comment typo.
5565 (cse_insn): Don't set src_volatile for all non-volatile
5566 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
5567 or with "memory" clobber. Set elt->cost to MAX_COST
5568 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
5569 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
5570
5571 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
5572
5573 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
5574 alternative 1.
5575
5576 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
5577
5578 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
5579 libgcc/config/i386/elf-lib.h.
5580
5581 2015-01-23 Jakub Jelinek <jakub@redhat.com>
5582
5583 PR driver/64737
5584 * gcc.c (print_configuration): Don't print a blank line at the end
5585 here...
5586 (run_attempt): ... but here unstead.
5587
5588 PR middle-end/64734
5589 * omp-low.c (scan_sharing_clauses): Don't ignore
5590 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
5591 on target data/update constructs.
5592
5593 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
5594
5595 PR target/50928
5596 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
5597 (DEBUG_RELOAD): Removed define.
5598 (m32c_limit_reload_class): Enable traces with if DEBUG0.
5599 (m32c_function_arg): Added a type cast.
5600 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
5601 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
5602 * config/m32c/bitops.md (andqi3_16): Likewise.
5603 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
5604 (push_a01_l): Likewise.
5605
5606 2015-01-23 David Malcolm <dmalcolm@redhat.com>
5607
5608 PR jit/64721
5609 * main.c (main): Construct toplev instances with init_signals=true.
5610 * toplev.c (general_init): Add param "init_signals", and use it to
5611 conditionalize the calls to signal and host_hooks.extra_signals.
5612 (toplev::toplev): Add param "init_signals".
5613 (toplev::main): When invoking general_init, pass m_init_signals
5614 to control whether signal-handlers are installed.
5615 * toplev.h (toplev::toplev): Add param "init_signals".
5616 (toplev::m_init_signals): New field.
5617
5618 2015-01-23 David Malcolm <dmalcolm@redhat.com>
5619
5620 PR jit/64722
5621 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
5622 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
5623 latter may be affected by the former (e.g. on i686).
5624
5625 2015-01-23 Martin Liska <mliska@suse.cz>
5626
5627 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
5628 false positive during profiledbootstrap.
5629
5630 2015-01-23 Tom de Vries <tom@codesourcery.com>
5631
5632 PR libgomp/64672
5633 * lto-opts.c (lto_write_options): Output non-explicit conservative
5634 -fno-openacc.
5635 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
5636 (append_compiler_options): Pass -fopenacc through.
5637
5638 2015-01-23 Tom de Vries <tom@codesourcery.com>
5639
5640 PR libgomp/64707
5641 * lto-opts.c (lto_write_options): Output non-explicit conservative
5642 -fno-openmp.
5643 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
5644 (append_compiler_options): Pass -fopenmp through.
5645
5646 2015-01-23 Jakub Jelinek <jakub@redhat.com>
5647
5648 PR debug/64511
5649 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
5650 GTY markup.
5651
5652 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
5653 * diagnostic.def (DK_ICE_NOBT): New kind.
5654 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
5655 like DK_ICE, but never print backtrace.
5656 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
5657 (internal_error_no_backtrace): New function.
5658 * gcc.c (execute): Use internal_error_no_backtrace instead of
5659 internal_error.
5660
5661 2015-01-22 Jeff Law <law@redhat.com>
5662
5663 PR target/52076
5664 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
5665 improve code density for small immediate to memory case.
5666 (insv): Better handle bitfield assignments when the field is
5667 being set to all ones.
5668 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
5669 operand predicate.
5670
5671 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5672 Jakub Jelinek <jakub@redhat.com>
5673
5674 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
5675 for !TARGET_LIBC_PROVIDES_SSP version and
5676 -fstack-protector-{all,strong,explicit} otherwise.
5677 * config/freebsd.h (LINK_SSP_SPEC): Handle
5678 -fstack-protector-{strong,explicit}.
5679
5680 2015-01-22 Jan Hubicka <hubicka@ucw.cz>
5681 H.J. Lu <hongjiu.lu@intel.com>
5682
5683 PR ipa/64694
5684 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
5685 heap.
5686
5687 2015-01-22 Wei Mi <wmi@google.com>
5688
5689 PR rtl-optimization/64557
5690 * dse.c (record_store): Call get_addr for mem_addr.
5691 (check_mem_read_rtx): Likewise.
5692
5693 2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
5694
5695 * fold-const.c (const_binop): Add early return for non-tcc_binary.
5696
5697 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
5698
5699 * toplev.c (init_local_tick): Process the failure when read
5700 fails for random_seed.
5701
5702 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
5703 'pretty_name' to avoid memory overflow.
5704
5705 2015-01-22 Richard Biener <rguenther@suse.de>
5706
5707 PR middle-end/64728
5708 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
5709 abnormal coalescing on undefined SSA names.
5710
5711 2015-22-01 Uros Bizjak <ubizjak@gmail.com>
5712
5713 PR target/64688
5714 PR target/64477
5715 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
5716 for alternative 3.
5717 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
5718
5719 2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
5720
5721 PR middle-end/63325
5722 * fold-const.c (fold_checksum_tree): Don't include value of
5723 expr->decl_with_vis.symtab_node in the checksum.
5724
5725 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5726
5727 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
5728
5729 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
5730
5731 PR driver/64690
5732 * gcc.c (insert_comments): New function.
5733 (try_generate_repro): Call it.
5734 (append_text): Removed.
5735
5736 2015-01-22 Richard Biener <rguenther@suse.de>
5737
5738 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
5739 with IL incompatible options. Properly honor user optimize
5740 attributes.
5741
5742 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
5743
5744 PR rtl-optimization/64682
5745 * combine.c (distribute_notes): When moving a death note for
5746 a register that is set in the new I2, make sure to put it
5747 before that new I2.
5748
5749 2015-01-21 David Edelsohn <dje.gcc@gmail.com>
5750
5751 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
5752 not TARGET_DEFAULT.
5753
5754 2015-01-21 Jakub Jelinek <jakub@redhat.com>
5755
5756 PR debug/64511
5757 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
5758 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
5759 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
5760
5761 PR sanitizer/64706
5762 * doc/invoke.texi (-fsanitize=vptr): Document.
5763
5764 PR rtl-optimization/62078
5765 * dse.c: Include cfgcleanup.h.
5766 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
5767 anything call purge_all_dead_edges and cleanup_cfg at the end
5768 of the pass.
5769
5770 2015-01-21 Jan Hubicka <hubicka@ucw.cz>
5771
5772 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
5773 edges.
5774
5775 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
5776
5777 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
5778 decl attribute.
5779
5780 2015-01-21 David Sherwood <david.sherwood@arm.com>
5781 Tejas Belagod <Tejas.Belagod@arm.com>
5782
5783 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
5784 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
5785 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
5786 Removed.
5787
5788 2015-01-21 David Sherwood <david.sherwood@arm.com>
5789 Tejas Belagod <Tejas.Belagod@arm.com>
5790
5791 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
5792 (aarch64_reverse_mask): New decls.
5793 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
5794 (insn_count): New mode_attr.
5795 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
5796 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
5797 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
5798 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
5799 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
5800 (aarch64_simd_st4): New patterns.
5801 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
5802 (aarch64_reverse_mask): New functions.
5803
5804 2015-01-21 Richard Sandiford <richard.sandiford@arm.com>
5805
5806 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
5807 Declare.
5808 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
5809 addressing modes for BE.
5810 (aarch64_print_operand): Add 'R' specifier.
5811 (aarch64_simd_disambiguate_copy): Delete.
5812 (aarch64_simd_emit_reg_reg_move): New function.
5813 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
5814 in define_splits for structural moves.
5815 (mov<mode>): Use less restrictive predicates.
5816 (*aarch64_mov<mode>): Simplify and only allow for LE.
5817 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
5818
5819 2015-01-21 Alan Hayward <alan.hayward@arm.com>
5820
5821 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
5822
5823 2015-01-21 Richard Henderson <rth@redhat.com>
5824
5825 PR target/64669
5826 * ccmp.c (used_in_cond_stmt_p): Remove.
5827 (expand_ccmp_expr): Don't use it.
5828
5829 2015-01-21 Nick Clifton <nickc@redhat.com>
5830
5831 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
5832 PARALLELs.
5833
5834 2015-01-21 Richard Biener <rguenther@suse.de>
5835
5836 PR middle-end/64313
5837 * tree-core.h (builtin_info, builtin_info_type): Turn from
5838 an object with two arrays into an array of an object with
5839 decl and two flags, implicit_p and declared_p.
5840 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
5841 set_builtin_decl, set_builtin_decl_implicit_p,
5842 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
5843 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
5844 * builtins.c (builtin_info): Adjust.
5845 * gimplify.c (gimplify_addr_expr): References to builtins
5846 that have been declared by the user makes them eligible for
5847 use by the compiler. Call set_builtin_decl_implicit_p on them.
5848
5849 2015-01-20 Jeff Law <law@redhat.com>
5850
5851 PR target/59946
5852 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
5853 allow pc-relative addresses in operand predicates or constraints.
5854
5855 2015-01-21 Bin Cheng <bin.cheng@arm.com>
5856
5857 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
5858 neon on aarch32 processors for stringops.
5859
5860 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
5861
5862 PR ipa/63576
5863 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
5864
5865 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
5866
5867 PR lto/45375
5868 * ipa-inline.c: Include lto-streamer.h
5869 (report_inline_failed_reason): Output source file differences and
5870 flags on optimization/target node mismatch.
5871 (can_inline_edge_p): Consider caller to be the outer inline function;
5872 be less restrictive about matching opimize and optimize_size attributes.
5873 (inline_account_function_p): Break out from ...
5874 (inline_small_functions): ... here.
5875 * ipa-inline-transform.c (clone_inlined_nodes): Use
5876 inline_account_function_p.
5877 (inline_call): Use optimize attribution; use inline_account_function_p.
5878 (inline_transform): Use opt_for_fn.
5879 * ipa-inline.h (inline_account_function_p): Declare.
5880
5881 2015-01-20 Jakub Jelinek <jakub@redhat.com>
5882
5883 PR debug/64663
5884 * dwarf2out.c (decl_piece_node): Don't put bitsize into
5885 mode if bitsize <= 0.
5886 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
5887 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
5888 sizes and positions.
5889
5890 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
5891
5892 * config/nios2/nios2.c (nios2_asm_file_end): Implement
5893 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
5894 needed.
5895 (TARGET_ASM_FILE_END): Define.
5896
5897 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
5898
5899 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
5900 (struct tune_params): Use the enum.
5901 * arm.c (arm_*_tune): Update.
5902 (arm_option_override): Update.
5903
5904 2015-01-20 Richard Biener <rguenther@suse.de>
5905
5906 PR ipa/64684
5907 * ipa-reference.c (add_static_var): Inline ...
5908 (analyze_function): ... here after splitting out from ...
5909 (is_proper_for_analysis): ... this.
5910
5911 2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
5912
5913 PR target/64149
5914 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
5915 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
5916 replace the conditional with it's true branch.
5917 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
5918 (arm_lra_p): Remove.
5919
5920 2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
5921
5922 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
5923
5924 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5925
5926 * config/tilegx/mul-tables.c: Move symtab.h include after
5927 coretypes.h include.
5928 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
5929 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
5930 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
5931 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
5932 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
5933
5934 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
5935
5936 PR bootstrap/64676
5937 Revert:
5938 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
5939
5940 PR rtl-optimization/64081
5941 * loop-iv.c (def_pred_latch_p): New function.
5942 (latch_dominating_def): Allow specific cases with non-single
5943 definitions.
5944 (iv_get_reaching_def): Likewise.
5945 (check_complex_exit_p): New function.
5946 (check_simple_exit): Use check_complex_exit_p to allow certain cases
5947 with exits not executing on any iteration.
5948
5949 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
5950
5951 PR lto/45375
5952 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
5953 to set branch cost.
5954
5955 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
5956
5957 PR lto/45375
5958 * i386.c (gate): Check flag_expensive_optimizations and
5959 optimize_size.
5960 (ix86_option_override_internal): Drop optimize_size condition
5961 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
5962 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
5963 MASK_PREFER_AVX128.
5964 (ix86_avx256_split_vector_move_misalign,
5965 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
5966 * sse.md (all uses of TARGET_PREFER_AVX128): Add
5967 optimize_insn_for_speed_p check.
5968
5969 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
5970
5971 * config/mips/mips.h (FP_ASM_SPEC): New define.
5972 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
5973 instead.
5974
5975 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
5976
5977 PR target/53988
5978 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
5979 nullptr for insn when reaching the first insn.
5980 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
5981 (sh_insn_operands_modified_between_p): Add nullptr check.
5982 (sh_find_extending_set_of_reg): Fix log message. Don't accept
5983 sign extending mem load if the insn contains any UNSPEC or
5984 UNSPEC_VOLATILE.
5985
5986 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
5987
5988 * params.def (inline-unit-growth): Drop to 15%.
5989 * invoke.texi (inline-unit-growth): Document change.
5990
5991 2015-01-19 Martin Liska <mliska@suse.cz>
5992
5993 PR ipa/64668
5994 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
5995 function for second argument of OBJ_TYPE_REF.
5996
5997 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
5998
5999 PR ipa/64218
6000 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
6001 whether function is an alias.
6002
6003 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
6004
6005 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
6006 cases.
6007
6008 2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
6009
6010 PR rtl-optimization/64671
6011 * lra-remat.c (operand_to_remat): Don't consider jump and call
6012 insns.
6013
6014 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
6015
6016 PR target/59828
6017 * config/rs6000/default64.h: Include rs6000-cpus.def.
6018 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
6019 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
6020 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
6021 and POWER8.
6022 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
6023 POWER8.
6024 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
6025 pseudo-op to specify assembler dialect.
6026
6027 2015-01-19 Martin Liska <mliska@suse.cz>
6028
6029 PR ipa/64664
6030 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
6031 Handle safe potentially removed nodes during filtering.
6032
6033 2015-01-19 Martin Liska <mliska@suse.cz>
6034
6035 * doc/extend.texi (no_icf): Add new attribute description.
6036 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
6037 where the pass attempts to merge a function with no_icf attribute.
6038
6039 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6040
6041 PR target/64532
6042 * doc/md.texi (ARM Options): Document register constraints.
6043
6044 2015-01-19 Jiong Wang <jiong.wang@arm.com>
6045 Andrew Pinski <apinski@cavium.com>
6046
6047 PR target/64304
6048 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
6049 (ashl<mode>3): Don't expand if operands[2] is not constant.
6050
6051 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6052
6053 PR target/64448
6054 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
6055 Match xor-and-xor RTL pattern.
6056
6057 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
6058
6059 PR rtl-optimization/64081
6060 * loop-iv.c (def_pred_latch_p): New function.
6061 (latch_dominating_def): Allow specific cases with non-single
6062 definitions.
6063 (iv_get_reaching_def): Likewise.
6064 (check_complex_exit_p): New function.
6065 (check_simple_exit): Use check_complex_exit_p to allow certain cases
6066 with exits not executing on any iteration.
6067
6068 2015-01-19 Jakub Jelinek <jakub@redhat.com>
6069
6070 * common.opt (fgraphite): Fix a typo.
6071
6072 2015-01-19 Felix Yang <felix.yang@huawei.com>
6073
6074 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
6075 pattern.
6076 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
6077 uminp, smax_nanp, smin_nanp): New builtins.
6078 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
6079 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
6080 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
6081 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
6082 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
6083 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
6084 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
6085 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
6086 vpminnms_f32): Rewrite using builtin functions.
6087
6088 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
6089
6090 PR libgomp/64625
6091 * omp-low.c (offload_symbol_decl): Remove variable.
6092 (get_offload_symbol_decl): Remove function.
6093 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
6094 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
6095 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
6096 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
6097 BUILT_IN_GOACC_UPDATE don't pass it at all.
6098
6099 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
6100
6101 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
6102 callers.
6103
6104 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
6105
6106 * ipa-chkp.c (chkp_produce_thunks): Add early param
6107 to split thunks production into two passes. Keep
6108 'always_inline' function bodies after the first pass.
6109 (pass_data_ipa_chkp_early_produce_thunks): New.
6110 (pass_ipa_chkp_early_produce_thunks): New.
6111 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
6112 chkp_produce_thunks signature.
6113 (make_pass_ipa_chkp_early_produce_thunks): New.
6114 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
6115 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
6116 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
6117
6118 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
6119
6120 * cgraph.c (cgraph_node::dump): Dump profile flags.
6121
6122 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
6123
6124 PR target/64652
6125 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
6126 reg appear first in the parallel.
6127
6128 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
6129
6130 * ipa-reference.c (set_reference_optimization_summary,
6131 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
6132 disabled.
6133 (ignore_module_statics): New static var.
6134 (propagate_bits): If ipa-reference is disabled, do not look into local
6135 properties.
6136 (analyze_function): Disable analysis when ipa_reference is disabled.
6137 (generate_summary): Do not dump when reference is disabled;
6138 collect vars accessed from functions with ipa-reference disabled.
6139 (get_read_write_all_from_node): When ipa-reference is disabled, use the
6140 node flags.
6141 (gate): Enable for LTO.
6142 (ignore_edge_p): New function.
6143 (propagate): Skip functions w/o ipa-reference analysis.
6144 * optc-save-gen.awk: Handle optimize_debug correctly.
6145 * opth-gen.awk: Likewise.
6146 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
6147 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
6148 fira-share-save-slots, fira-share-spill-slots,
6149 fmodulo-sched-allow-regmoves, fpartial-inlining,
6150 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
6151 ftracer, ftree-parallelize-loops, fassociative-math,
6152 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
6153 Optimization
6154 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
6155 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
6156 Optimization.
6157 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
6158 Fix for IPA.
6159
6160 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
6161
6162 PR ipa/64378
6163 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
6164 flag correctly.
6165 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
6166
6167 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
6168
6169 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
6170 Remove duplicate option listings.
6171
6172 2015-01-18 Felix Yang <felix.yang@huawei.com>
6173
6174 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
6175 (autofdo_source_profile::get_callsite_total_count,
6176 function_instance::get_function_instance_by_decl,
6177 string_table::get_index, string_table::get_index_by_decl,
6178 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
6179 Fix comment typos. Reformatting and minor code rearrangement.
6180
6181 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
6182
6183 * config/rs6000/rs6000.md (probe_stack): Delete.
6184 (probe_stack_address): New.
6185
6186 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
6187
6188 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
6189 to test for 32-bit ABIs, not !TARGET_POWERPC64.
6190
6191 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
6192
6193 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
6194 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
6195 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
6196 snafu.
6197 (rs6000_libcall_value): Use the new function.
6198
6199 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
6200
6201 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
6202
6203 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
6204
6205 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
6206 implement a more precise life analysis for it during backward scan.
6207
6208 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
6209
6210 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
6211
6212 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
6213
6214 PR rtl-optimization/52773
6215 * calls.c (emit_library_call_value): When pushing arguments use
6216 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
6217 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
6218 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
6219
6220 2015-01-17 Jeff Law <law@redhat.com>
6221
6222 PR rtl-optimization/32790
6223 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
6224 not ZERO_EXTEND in SET_DESTs.
6225
6226 2015-01-17 Alan Modra <amodra@gmail.com>
6227
6228 * cprop.c (do_local_cprop): Revert last change.
6229
6230 2015-01-16 DJ Delorie <dj@redhat.com>
6231 Nick Clifton <nickc@redhat.com>
6232
6233 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
6234 (addhi3_real): Likewise. Fix [HL+0] syntax.
6235 (subqi3_real): Likewise.
6236 (subhi3_real): Likewise.
6237 (cbranchqi4_real): Likewise. Allow saddr,#imm.
6238 (cbranchhi4_real): Likewise.
6239 (cbranchhi4_real_inverted): Likewise.
6240 (cbranchsi4_real_lt): Likewise.
6241 (cbranchsi4_real_ge): Likewise.
6242 (cbranchsi4_real_ge): Likewise.
6243 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
6244 (sub<mode>3_virt): Likewise.
6245 (cbranchqi4_virt): Likewise.
6246 (cbranchhi4_virt): Likewise.
6247 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
6248 always use '[reg+imm]' even when imm is zero.
6249 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
6250 (rl78_general_operand): New.
6251 (rl78_nonimmediate_operand): New.
6252 (rl78_nonfar_operand): Use them.
6253 (rl78_nonfar_nonimm_operand): Likewise.
6254 (rl78_stack_based_mem): Fix.
6255 * config/rl78/constraints.md (Ibqi): New.
6256 (IBqi): New.
6257 (Wsa): New.
6258 (Wsf): New.
6259 (Cs1): Fix.
6260 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
6261 (iorqi3): Likewise.
6262 (xorqi3): Likewise.
6263 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
6264
6265 * config/rl78/constrains (Qs8): New constraint.
6266 * config/rl78/rl78.c (rl78_flags_already_set): New function.
6267 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
6268 * config/rl78/rl78-real.md (update_Z): New attribute.
6269 Update patterns to set it.
6270 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
6271 shorter compare and branch sequence can be used.
6272 (cbranchhi4_real): Likewise.
6273 (cbranchhi4_real_inverted): Likewise.
6274
6275 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
6276 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
6277 address space.
6278 * config/rl78/rl78.c (rl78_get_name_encoding): New.
6279 (rl78_option_override): Allow -mes0 only if C.
6280 (characterize_address): Support subregs of symbol_refs.
6281 (rl78_addr_space_address_mode): Move. Add __near.
6282 (rl78_far_p): Likewise.
6283 (rl78_addr_space_pointer_mode): Likewise.
6284 (rl78_as_legitimate_address): Likewise.
6285 (rl78_addr_space_subset_p): Likewise.
6286 (rl78_addr_space_convert): Likewise.
6287 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
6288 symbols with -mes0.
6289 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
6290 addressing.
6291 (rl78_alloc_physical_registers_op1): Change logic to prefer
6292 symbol[BC] addressing.
6293 (frodata_section): New.
6294 (rl78_asm_init_sections): Initialize it.
6295 (rl78_select_section): Put __far readonly symbols in .frodata.
6296 (rl78_make_type_far): New.
6297 (rl78_insert_attributes): Force all readonly symbols to be
6298 __far when -mes0.
6299 (rl78_asm_out_integer): New.
6300 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
6301 * config/rl78/rl78.opt (-mes0): New.
6302
6303 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
6304 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
6305 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
6306 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
6307 (rl78_saddr_p): New.
6308 (rl78_output_aligned_common): New.
6309 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
6310 (rl78_handle_saddr_attribute): New.
6311 (rl78_handle_naked_attribute): New.
6312 (rl78_attribute_table): Add saddr.
6313 (rl78_print_operand_1): Don't print '!' on saddr operands.
6314 (rl78_print_operand_1): Strip encodings.
6315 (rl78_sfr_p): New.
6316 (rl78_strip_name_encoding): New.
6317 (rl78_attrlist_to_encoding): New.
6318 (rl78_encode_section_info): New.
6319 (rl78_asm_init_sections): New.
6320 (rl78_select_section): New.
6321 (rl78_output_labelref): New.
6322 (rl78_output_aligned_common): New.
6323 (rl78_asm_out_integer): New.
6324 (rl78_asm_ctor_dtor): New.
6325 (rl78_asm_constructor): New.
6326 (rl78_asm_destructor): New.
6327
6328 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
6329 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
6330 (transcode_memory_rtx): Update.
6331 (rl78_expand_epilogue): Use A_REG instead of 0.
6332
6333 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
6334
6335 * config/arm/arm-protos.h (struct tune_params): New field
6336 sched_autopref_queue_depth.
6337 * config/arm/arm.c (sched-int.h): Include header.
6338 (arm_first_cycle_multipass_dfa_lookahead_guard,)
6339 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
6340 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
6341 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
6342 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
6343 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
6344 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
6345 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
6346 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
6347 * config/arm/t-arm (arm.o): Update.
6348 * haifa-sched.c (update_insn_after_change): Update.
6349 (rank_for_schedule): Use auto-prefetcher model, if requested.
6350 (autopref_multipass_init): New static function.
6351 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
6352 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
6353 variable for debug dumps.
6354 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
6355 (autopref_multipass_dfa_lookahead_guard): New global function that
6356 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
6357 (init_h_i_d): Update.
6358 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
6359 * sched-int.h (enum autopref_multipass_data_status): New const enum.
6360 (autopref_multipass_data_): Structure for auto-prefetcher data.
6361 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
6362 (struct _haifa_insn_data:autopref_multipass_data): New field.
6363 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
6364 (autopref_multipass_dfa_lookahead_guard): Declare.
6365
6366 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
6367
6368 * rtlanal.c (get_base_term): Handle SCRATCH.
6369
6370 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
6371
6372 * config/aarch64/aarch64.c
6373 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
6374 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
6375 * config/arm/arm.c
6376 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
6377 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
6378
6379 2015-01-17 Alan Modra <amodra@gmail.com>
6380
6381 * cprop.c (do_local_cprop): Disallow replacement of fixed
6382 hard registers.
6383
6384 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6385
6386 PR target/62066
6387 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
6388 early return 0.
6389
6390 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
6391
6392 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
6393 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
6394
6395 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6396
6397 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
6398 * config/arm/thumb1.md: ... Here.
6399
6400 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
6401
6402 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
6403 TImode for TARGET_32BIT.
6404
6405 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
6406
6407 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
6408 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
6409 as ...
6410 (rs6000_abi_word_mode): New function.
6411
6412 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
6413
6414 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
6415 instead of UNITS_PER_WORD to describe the size of stack slots.
6416
6417 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
6418
6419 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
6420 as rs6000_promote_function_mode. Move comment to there.
6421 (rs6000_promote_function_mode): New function.
6422
6423 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
6424
6425 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
6426 -mpowerpc64 is active.
6427
6428 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
6429
6430 PR middle-end/64353
6431 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
6432 virtuals on start.
6433
6434 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
6435
6436 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
6437 introduced in revision 219724.
6438
6439 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6440 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6441
6442 PR target/64263
6443 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
6444 destination is not a GP reg.
6445 (*movdi_aarch64): Likewise.
6446
6447 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
6448
6449 PR target/64623
6450 * config/rs6000/default64.h: Revert ISA change.
6451
6452 2015-01-16 Richard Biener <rguenther@suse.de>
6453
6454 PR middle-end/64614
6455 * tree-ssa-uninit.c: Include tree-cfg.h.
6456 (MAX_SWITCH_CASES): New define.
6457 (convert_control_dep_chain_into_preds): Handle switch statements.
6458 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
6459 (normalize_one_pred_1): Do not split bit-manipulations.
6460 Record (x & CST).
6461
6462 2015-01-16 Richard Biener <rguenther@suse.de>
6463
6464 PR tree-optimization/64568
6465 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
6466 complex load rewriting for TARGET_MEM_REFs.
6467
6468 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
6469
6470 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
6471
6472 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
6473
6474 PR target/64149
6475 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
6476 variable.
6477 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
6478 (aarch64_lra_p): Remove.
6479
6480 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
6481
6482 PR target/64363
6483 * ipa-chkp.h (chkp_instrumentable_p): New.
6484 * ipa-chkp.c: Include tree-inline.h.
6485 (chkp_instrumentable_p): New.
6486 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
6487 Fix processing of not instrumentable functions.
6488 (chkp_versioning): Use chkp_instrumentable_p. Warn about
6489 not instrumentable functions.
6490 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
6491 chkp_instrumentable_p.
6492 * tree-inline.h (copy_forbidden): New.
6493 * tree-inline.c (copy_forbidden): Not static anymore.
6494
6495 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6496
6497 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
6498 ptr1, ptr2 unused.
6499
6500 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
6501
6502 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
6503 type OP_OUT to OP_INOUT.
6504
6505 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
6506
6507 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
6508 (high x) y) to y if x and y have the same base.
6509
6510 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
6511
6512 * config/arm/cortex-a57.md: New.
6513 * config/aarch64/aarch64.md: Include it.
6514 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
6515 * config/aarch64/aarch64-tune.md: Regenerate.
6516
6517 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
6518
6519 PR target/64015
6520 * ccmp.c (expand_ccmp_next): New function.
6521 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
6522 and compare insn sequence.
6523 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
6524 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
6525 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
6526 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
6527 (*ccmp_ior): Changed to ccmp_ior<mode>.
6528 (cmp<mode>): New pattern.
6529 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
6530 parameters.
6531 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
6532
6533 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
6534
6535 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
6536 _mm256_bsrli_epi128): New.
6537 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
6538
6539 2015-01-15 Jiong Wang <jiong.wang@arm.com>
6540
6541 * expmed.c (store_bit_field_using_insv): Improve warning message.
6542 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
6543
6544 2015-01-15 Jiong Wang <jiong.wang@arm.com>
6545
6546 PR rtl-optimization/64011
6547 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
6548 there is partial overflow.
6549
6550 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
6551
6552 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
6553 prototype.
6554 (nds32_expand_epilogue_v3pop): Likewise.
6555 * config/nds32/nds32.md (sibcall): Define this for sibling call
6556 optimization.
6557 (sibcall_register): Likewise.
6558 (sibcall_immediate): Likewise.
6559 (sibcall_value): Likewise.
6560 (sibcall_value_register): Likewise.
6561 (sibcall_value_immediate): Likewise.
6562 (sibcall_epilogue): Likewise.
6563 (epilogue): Pass false to indicate this is not a sibcall epilogue.
6564 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
6565 (nds32_expand_epilogue_v3pop): Likewise.
6566
6567 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
6568
6569 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
6570 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
6571 (return_internal): New.
6572 (return): Define this named pattern.
6573 (simple_return): Define this named pattern.
6574 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
6575 pattern instead of unspec_volatile_func_return.
6576 (nds32_expand_epilogue_v3pop): Likewise.
6577 (nds32_can_use_return_insn): New function.
6578
6579 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
6580
6581 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
6582 * config/nds32/nds32.md (pop25return): New.
6583 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
6584 pop25return pattern.
6585
6586 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
6587
6588 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
6589 -mforbid-fp-as-gp, and -mex9 options.
6590
6591 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
6592
6593 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
6594 remove -mgp-direct option.
6595
6596 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
6597
6598 * doc/invoke.texi (--param early-inlining-insns): Update default value.
6599 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
6600
6601 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
6602
6603 * ipa-inline.c (inline_small_functions): Work around hints
6604 cache issue.
6605
6606 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
6607
6608 PR target/59710
6609 * doc/invoke.texi (Option Summary): Document new Nios II
6610 -mgpopt= syntax.
6611 (Nios II Options): Likewise.
6612 * config/nios2/nios2.opt: Add -mgpopt= option support.
6613 Modify existing -mgpopt and -mno-gpopt options to be aliases.
6614 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
6615 * config/nios2/nios2.c (nios2_option_override): Adjust
6616 -mgpopt defaulting.
6617 (nios2_in_small_data_p): Return true for explicit small data
6618 sections even with -G0.
6619 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
6620 option choices.
6621
6622 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
6623
6624 PR ipa/64612
6625 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
6626 of comdat locals.
6627 (inline_call): Fix removal of aliases.
6628
6629 2015-01-15 Jakub Jelinek <jakub@redhat.com>
6630
6631 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
6632 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
6633 * opts.c (common_handle_option): Add -fsanitize=vptr.
6634 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
6635 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
6636 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
6637 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
6638 (ubsan_expand_vptr_ifn): New prototype.
6639 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
6640 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
6641 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
6642 expand_LOOP_VECTORIZED): Make argument nameless, remove
6643 ATTRIBUTE_UNUSED.
6644 (expand_UBSAN_VPTR): New function.
6645 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
6646 in fn spec.
6647 (UBSAN_VPTR): New internal function.
6648 * sanopt.c (tree_map_traits): Renamed to ...
6649 (sanopt_tree_map_traits): ... this.
6650 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
6651 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
6652 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
6653 (maybe_optimize_ubsan_vptr_ifn): New function.
6654 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
6655 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
6656 -fsanitize=vptr.
6657 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
6658 internal calls like pure functions for aliasing, even when they
6659 have other side-effects that prevent making them ECF_PURE.
6660 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
6661 (ubsan_expand_vptr_ifn): New function.
6662
6663 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
6664
6665 PR rtl-optimization/64110
6666 * stmt.c (parse_output_constraint): Process '^' and '$'.
6667 (parse_input_constraint): Ditto.
6668 * lra-constraints.c (process_alt_operands): Process the new
6669 constraints.
6670 * ira-costs.c (record_reg_classes): Process the new constraint
6671 '^'.
6672 * genoutput.c (indep_constraints): Add '^' and '$'.
6673 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
6674 * doc/md.texi: Add description of the new constraints.
6675
6676 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6677 Bernd Schmidt <bernds@codesourcery.com>
6678 Cesar Philippidis <cesar@codesourcery.com>
6679 James Norris <jnorris@codesourcery.com>
6680 Tom de Vries <tom@codesourcery.com>
6681 Ilmir Usmanov <i.usmanov@samsung.com>
6682 Dmitry Bocharnikov <dmitry.b@samsung.com>
6683 Evgeny Gavrin <e.gavrin@samsung.com>
6684 Jakub Jelinek <jakub@redhat.com>
6685
6686 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
6687 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
6688 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
6689 New function types.
6690 * builtins.c: Include "gomp-constants.h".
6691 (expand_builtin_acc_on_device): New function.
6692 (expand_builtin, is_inexpensive_builtin): Handle
6693 BUILT_IN_ACC_ON_DEVICE.
6694 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
6695 New macros.
6696 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
6697 flag_openmp.
6698 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
6699 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
6700 i386/intelmic-offload.h.
6701 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
6702 to libgomp and its dependencies.
6703 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
6704 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
6705 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
6706 * config/ia64/hpux.h (LIB_SPEC): Likewise.
6707 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
6708 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
6709 * doc/generic.texi: Update for OpenACC changes.
6710 * doc/gimple.texi: Likewise.
6711 * doc/invoke.texi: Likewise.
6712 * doc/sourcebuild.texi: Likewise.
6713 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
6714 GF_OMP_FOR_KIND_OACC_LOOP.
6715 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
6716 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
6717 GF_OMP_TARGET_KIND_OACC_UPDATE,
6718 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
6719 Dump more data.
6720 * gimple.c: Update comments for OpenACC changes.
6721 * gimple.def: Likewise.
6722 * gimple.h: Likewise.
6723 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
6724 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
6725 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
6726 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
6727 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
6728 appropriate place.
6729 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
6730 * gimplify.c: Include "gomp-constants.h".
6731 Update comments for OpenACC changes.
6732 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
6733 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
6734 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
6735 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
6736 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
6737 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
6738 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
6739 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
6740 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
6741 OMP_CLAUSE_SEQ.
6742 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
6743 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
6744 OMP_CLAUSE_SET_MAP_KIND.
6745 (gimplify_oacc_cache): New function.
6746 (gimplify_omp_for): Handle OACC_LOOP.
6747 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
6748 OACC_DATA.
6749 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
6750 OACC_EXIT_DATA, OACC_UPDATE.
6751 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
6752 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
6753 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
6754 (gimplify_body): Consider flag_openacc next to flag_openmp.
6755 * lto-streamer-out.c: Include "gomp-constants.h".
6756 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
6757 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
6758 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
6759 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
6760 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
6761 (BUILT_IN_ACC_ON_DEVICE): New builtins.
6762 * omp-low.c: Include "gomp-constants.h".
6763 Update comments for OpenACC changes.
6764 (struct omp_context): Add reduction_map, gwv_below, gwv_this
6765 members.
6766 (extract_omp_for_data, use_pointer_for_field, install_var_field)
6767 (new_omp_context, delete_omp_context, scan_sharing_clauses)
6768 (create_omp_child_function, scan_omp_for, scan_omp_target)
6769 (check_omp_nesting_restrictions, lower_reduction_clauses)
6770 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
6771 Update for OpenACC changes.
6772 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
6773 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
6774 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
6775 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
6776 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
6777 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
6778 OMP_CLAUSE_MAP_*.
6779 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
6780 Handle GF_OMP_FOR_KIND_OACC_LOOP.
6781 (expand_omp_target, lower_omp_target): Handle
6782 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
6783 GF_OMP_TARGET_KIND_OACC_UPDATE,
6784 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
6785 GF_OMP_TARGET_KIND_OACC_DATA.
6786 (pass_expand_omp::execute, execute_lower_omp)
6787 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
6788 flag_openmp.
6789 (offload_symbol_decl): New variable.
6790 (oacc_get_reduction_array_id, oacc_max_threads)
6791 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
6792 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
6793 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
6794 (oacc_gimple_assign, oacc_initialize_reduction_data)
6795 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
6796 functions.
6797 (is_targetreg_ctx): Remove function.
6798 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
6799 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
6800 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
6801 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
6802 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
6803 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
6804 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
6805 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
6806 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
6807 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
6808 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
6809 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
6810 * tree-core.h: Update comments for OpenACC changes.
6811 (enum omp_clause_map_kind): Remove.
6812 (struct tree_omp_clause): Change type of map_kind member from enum
6813 omp_clause_map_kind to unsigned char.
6814 * tree-inline.c: Update comments for OpenACC changes.
6815 * tree-nested.c: Likewise. Include "gomp-constants.h".
6816 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
6817 (convert_tramp_reference_stmt, convert_gimple_call): Update for
6818 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
6819 OMP_CLAUSE_SET_MAP_KIND.
6820 * tree-pretty-print.c: Include "gomp-constants.h".
6821 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
6822 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
6823 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
6824 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
6825 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
6826 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
6827 instead of OMP_CLAUSE_MAP_*.
6828 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
6829 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
6830 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
6831 * tree-streamer-in.c: Include "gomp-constants.h".
6832 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
6833 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
6834 * tree-streamer-out.c: Include "gomp-constants.h".
6835 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
6836 OMP_CLAUSE_MAP_*.
6837 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
6838 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
6839 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
6840 * tree.c (omp_clause_num_ops): Update accordingly.
6841 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
6842 Likewise.
6843 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
6844 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
6845 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
6846 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
6847 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
6848 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
6849 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
6850 (OMP_CLAUSE_SET_MAP_KIND): New macro.
6851 * varpool.c (varpool_node::get_create): Consider flag_openacc next
6852 to flag_openmp.
6853 * config/i386/intelmic-offload.h: New file.
6854 * config/nvptx/offload.h: Likewise.
6855
6856 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6857
6858 * explow.h: Remove duplicate contents.
6859 * dojump.h: Likewise.
6860
6861 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
6862
6863 * arm.c (arm_xgene_tune): Add default initializer for instruction
6864 fusion.
6865
6866 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
6867
6868 PR ipa/64068
6869 PR ipa/64559
6870 * ipa.c (symbol_table::remove_unreachable_nodes):
6871 Do not put abstract origins into boundary.
6872
6873 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
6874
6875 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
6876 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
6877
6878 2015-01-15 Steve Ellcey <sellcey@mips.com>
6879
6880 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
6881 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
6882 builtins.def, and chkp-builtins.def.
6883
6884 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
6885
6886 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
6887 ISA 2.7 (POWER8).
6888
6889 2015-01-15 Richard Biener <rguenther@suse.de>
6890
6891 PR tree-optimization/61743
6892 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
6893 information on PHIs for some simple cases.
6894
6895 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6896
6897 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
6898 Include xgene1.md.
6899 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
6900 * config/arm/arm-cores.def (xgene1): New entry.
6901 * config/arm/arm-tables.opt: Regenerate.
6902 * config/arm/arm-tune.md: Regenerate.
6903 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
6904
6905 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
6906
6907 * tree-if-conv.c: Include hash-map.h.
6908 (aggressive_if_conv): New variable.
6909 (fold_build_cond_expr): Add simplification of non-zero condition.
6910 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
6911 destination block is not always executed.
6912 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
6913 than two predecessors if AGGRESSIVE_IF_CONV is true.
6914 (if_convertible_stmt_p): Fix commentary.
6915 (all_preds_critical_p): New function.
6916 (has_pred_critical_p): New function.
6917 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
6918 BB can have more than two predecessors and all incoming edges can be
6919 critical.
6920 (predicate_bbs): Skip predication for loop exit block, use build2_loc
6921 to compute predicate for true edge.
6922 (find_phi_replacement_condition): Delete this function.
6923 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
6924 Allow interchange PHI arguments if EXTENDED is false.
6925 Change check that block containing reduction statement candidate
6926 is predecessor of phi-block since phi may have more than two arguments.
6927 (phi_args_hash_traits): New helper structure.
6928 (struct phi_args_hash_traits): New type.
6929 (phi_args_hash_traits::hash): New function.
6930 (phi_args_hash_traits::equal_keys): New function.
6931 (gen_phi_arg_condition): New function.
6932 (predicate_scalar_phi): Add handling of phi nodes with more than two
6933 arguments, delete COND and TRUE_BB arguments, insert body of
6934 find_phi_replacement_condition to predicate ordinary phi nodes.
6935 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
6936 delete call of find_phi_replacement_condition and invoke
6937 predicate_scalar_phi with two arguments.
6938 (insert_gimplified_predicates): Add assert that non-predicated block
6939 don't have statements to insert.
6940 (ifcvt_split_critical_edges): New function.
6941 (ifcvt_split_def_stmt): Likewise.
6942 (ifcvt_walk_pattern_tree): Likewise.
6943 (stmt_is_root_of_bool_pattern): Likewise.
6944 (ifcvt_repair_bool_pattern): Likewise.
6945 (ifcvt_local_dce): Likewise.
6946 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
6947 is copy of inner or outer loop force_vectorize field, invoke
6948 ifcvt_split_critical_edges, ifcvt_local_dce and
6949 ifcvt_repair_bool_pattern for aggressive if-conversion.
6950
6951 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
6952
6953 * config/aarch64/aarch64.md: Include xgene1.md.
6954 * config/aarch64/xgene1.md: New file.
6955
6956 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6957
6958 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
6959 xgene1 (APM XGene-1) core definition.
6960 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
6961 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
6962 * doc/invoke.texi: Document -mcpu=xgene1.
6963
6964 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6965
6966 * dojump.h: New header file.
6967 * explow.h: Likewise.
6968 * expr.h: Remove includes.
6969 Move expmed.c prototypes to expmed.h.
6970 Move dojump.c prototypes to dojump.h.
6971 Move alias.c prototypes to alias.h.
6972 Move explow.c prototypes to explow.h.
6973 Move calls.c prototypes to calls.h.
6974 Move emit-rtl.c prototypes to emit-rtl.h.
6975 Move varasm.c prototypes to varasm.h.
6976 Move stmt.c prototypes to stmt.h.
6977 (saved_pending_stack_adjust): Move to dojump.h.
6978 (adjust_address): Move to explow.h.
6979 (adjust_address_nv): Move to emit-rtl.h.
6980 (adjust_bitfield_address): Likewise.
6981 (adjust_bitfield_address_size): Likewise.
6982 (adjust_bitfield_address_nv): Likewise.
6983 (adjust_automodify_address_nv): Likewise.
6984 * explow.c (expr_size): Move to expr.c.
6985 (int_expr_size): Likewise.
6986 (tree_expr_size): Likewise.
6987 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
6988 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
6989 * genemit.c (main): Generate includes statistics.h, real.h,
6990 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
6991 stmt.h.
6992 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
6993 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
6994 explow.h, emit-rtl.h, stmt.h.
6995 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
6996 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
6997 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
6998 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
6999 emit-rtl.h, varasm.h, stmt.h.
7000 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
7001 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
7002 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
7003 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
7004 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
7005 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
7006 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
7007 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
7008 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
7009 tm.h tree.h varasm.h vec.h wide-int.h.
7010 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
7011 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
7012 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
7013 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
7014 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
7015 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
7016 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
7017 * loop-iv.c: Likewise.
7018 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
7019 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
7020 statistics.h stmt.h tree.h varasm.h wide-int.h.
7021 * lra-constraints.c: Likewise.
7022 * lra-eliminations.c: Likewise.
7023 * lra-lives.c: Likewise.
7024 * lra-remat.c: Likewise.
7025 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
7026 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
7027 statistics.h stmt.h tree.h varasm.h wide-int.h.
7028 * hw-doloop.c: Likewise.
7029 * ira-color.c: Likewise.
7030 * ira-emit.c: Likewise.
7031 * loop-doloop.c: Likewise.
7032 * loop-invariant.c: Likewise.
7033 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
7034 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
7035 statistics.h stmt.h tree.h varasm.h wide-int.h.
7036 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
7037 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
7038 statistics.h stmt.h tree.h varasm.h wide-int.h.
7039 * combine-stack-adj.c: Likewise.
7040 * cse.c: Likewise.
7041 * ddg.c: Likewise.
7042 * ifcvt.c: Likewise.
7043 * ira-costs.c: Likewise.
7044 * jump.c: Likewise.
7045 * lra-coalesce.c: Likewise.
7046 * lra-spills.c: Likewise.
7047 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
7048 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
7049 stmt.h varasm.h wide-int.h.
7050 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
7051 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
7052 varasm.h.
7053 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
7054 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
7055 statistics.h stmt.h varasm.h wide-int.h.
7056 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
7057 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
7058 varasm.h wide-int.h.
7059 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
7060 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
7061 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
7062 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
7063 statistics.h stmt.h.
7064 * config/tilepro/tilepro.c: Likewise.
7065 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
7066 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
7067 * config/pdp11/pdp11.c: Likewise.
7068 * config/xtensa/xtensa.c: Likewise.
7069 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
7070 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
7071 varasm.h.
7072 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7073 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
7074 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
7075 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7076 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
7077 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
7078 * rtl-chkp.c: Likewise.
7079 * tree-chkp-opt.c: Likewise.
7080 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
7081 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
7082 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
7083 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7084 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
7085 statistics.h stmt.h.
7086 * tree-vect-data-refs.c: Likewise.
7087 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
7088 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
7089 rtl.h statistics.h stmt.h varasm.h.
7090 * internal-fn.c: Likewise.
7091 * ipa-icf-gimple.c: Likewise.
7092 * lto-section-out.c: Likewise.
7093 * tree-data-ref.c: Likewise.
7094 * tree-nested.c: Likewise.
7095 * tree-outof-ssa.c: Likewise.
7096 * tree-predcom.c: Likewise.
7097 * tree-pretty-print.c: Likewise.
7098 * tree-scalar-evolution.c: Likewise.
7099 * tree-ssa-strlen.c: Likewise.
7100 * tree-vect-loop.c: Likewise.
7101 * tree-vect-patterns.c: Likewise.
7102 * tree-vect-slp.c: Likewise.
7103 * tree-vect-stmts.c: Likewise.
7104 * tsan.c: Likewise.
7105 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7106 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
7107 stmt.h.
7108 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
7109 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
7110 statistics.h stmt.h varasm.h.
7111 * loop-unroll.c: Likewise.
7112 * ubsan.c: Likewise.
7113 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
7114 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
7115 stmt.h varasm.h.
7116 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7117 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
7118 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
7119 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
7120 statistics.h stmt.h.
7121 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
7122 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
7123 statistics.h stmt.h varasm.h.
7124 * gimple-match-head.c: Likewise.
7125 * lto-cgraph.c: Likewise.
7126 * lto-section-in.c: Likewise.
7127 * lto-streamer-in.c: Likewise.
7128 * lto-streamer-out.c: Likewise.
7129 * tree-affine.c: Likewise.
7130 * tree-cfg.c: Likewise.
7131 * tree-cfgcleanup.c: Likewise.
7132 * tree-if-conv.c: Likewise.
7133 * tree-into-ssa.c: Likewise.
7134 * tree-ssa-alias.c: Likewise.
7135 * tree-ssa-copyrename.c: Likewise.
7136 * tree-ssa-dse.c: Likewise.
7137 * tree-ssa-forwprop.c: Likewise.
7138 * tree-ssa-live.c: Likewise.
7139 * tree-ssa-math-opts.c: Likewise.
7140 * tree-ssa-pre.c: Likewise.
7141 * tree-ssa-sccvn.c: Likewise.
7142 * tree-tailcall.c: Likewise.
7143 * tree-vect-generic.c: Likewise.
7144 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7145 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
7146 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7147 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
7148 * varasm.c: Likewise.
7149 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7150 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
7151 varasm.h.
7152 * init-regs.c: Likewise.
7153 * ira.c: Likewise.
7154 * omp-low.c: Likewise.
7155 * stack-ptr-mod.c: Likewise.
7156 * tree-ssa-reassoc.c: Likewise.
7157 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7158 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
7159 varasm.h.
7160 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7161 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
7162 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7163 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
7164 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7165 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
7166 * tree-ssa-phiopt.c: Likewise.
7167 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7168 fixed-value.h hashtab.h real.h statistics.h stmt.h.
7169 * config/fr30/fr30.c: Likewise.
7170 * config/frv/frv.c: Likewise.
7171 * expr.c: Likewise.
7172 * final.c: Likewise.
7173 * optabs.c: Likewise.
7174 * passes.c: Likewise.
7175 * simplify-rtx.c: Likewise.
7176 * stmt.c: Likewise.
7177 * toplev.c: Likewise.
7178 * var-tracking.c: Likewise.
7179 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7180 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
7181 * lower-subreg.c: Likewise.
7182 * postreload-gcse.c: Likewise.
7183 * ree.c: Likewise.
7184 * reginfo.c: Likewise.
7185 * store-motion.c: Likewise.
7186 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7187 fixed-value.h hashtab.h real.h stmt.h varasm.h.
7188 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7189 fixed-value.h hashtab.h statistics.h stmt.h.
7190 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7191 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
7192 * except.c: Likewise.
7193 * explow.c: Likewise.
7194 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7195 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
7196 varasm.h.
7197 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7198 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
7199 * tree-ssa-structalias.c: Likewise.
7200 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7201 fixed-value.h insn-config.h real.h statistics.h.
7202 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7203 fixed-value.h insn-config.h real.h statistics.h stmt.h.
7204 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7205 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
7206 * cfgbuild.c: Likewise.
7207 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7208 fixed-value.h real.h rtl.h statistics.h stmt.h.
7209 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7210 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
7211 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7212 fixed-value.h real.h statistics.h stmt.h.
7213 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
7214 fixed-value.h real.h statistics.h stmt.h varasm.h.
7215 * cprop.c: Likewise.
7216 * modulo-sched.c: Likewise.
7217 * postreload.c: Likewise.
7218 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
7219 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
7220 statistics.h stmt.h varasm.h.
7221 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
7222 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
7223 rtl.h statistics.h stmt.h varasm.h.
7224 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
7225 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
7226 varasm.h.
7227 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
7228 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
7229 varasm.h.
7230 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
7231 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
7232 varasm.h.
7233 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
7234 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
7235 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
7236 function.h real.h statistics.h stmt.h varasm.h.
7237 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
7238 insn-config.h real.h statistics.h stmt.h.
7239 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
7240 statistics.h stmt.h.
7241 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
7242 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
7243 statistics.h stmt.h varasm.h.
7244 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
7245 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
7246 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
7247 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
7248 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
7249 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
7250 statistics.h stmt.h varasm.h.
7251 * ipa-polymorphic-call.c: Likewise.
7252 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
7253 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
7254 statistics.h stmt.h.
7255 * config/c6x/c6x.c: Likewise.
7256 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
7257 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
7258 statistics.h stmt.h varasm.h.
7259 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
7260 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
7261 stmt.h varasm.h.
7262 * ipa-split.c: Likewise.
7263 * tree-eh.c: Likewise.
7264 * tree-ssa-dce.c: Likewise.
7265 * tree-ssa-loop-niter.c: Likewise.
7266 * tree-vrp.c: Likewise.
7267 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
7268 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
7269 stmt.h.
7270 * config/nds32/nds32-fp-as-gp.c: Likewise.
7271 * config/nds32/nds32-intrinsic.c: Likewise.
7272 * config/nds32/nds32-isr.c: Likewise.
7273 * config/nds32/nds32-md-auxiliary.c: Likewise.
7274 * config/nds32/nds32-memory-manipulation.c: Likewise.
7275 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
7276 * config/nds32/nds32-predicates.c: Likewise.
7277 * config/nds32/nds32.c: Likewise.
7278 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
7279 fixed-value.h hashtab.h real.h statistics.h.
7280 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
7281 fixed-value.h hashtab.h real.h statistics.h stmt.h.
7282 * config/arm/arm.c: Likewise.
7283 * config/avr/avr.c: Likewise.
7284 * config/bfin/bfin.c: Likewise.
7285 * config/h8300/h8300.c: Likewise.
7286 * config/i386/i386.c: Likewise.
7287 * config/ia64/ia64.c: Likewise.
7288 * config/iq2000/iq2000.c: Likewise.
7289 * config/m32c/m32c.c: Likewise.
7290 * config/m32r/m32r.c: Likewise.
7291 * config/m68k/m68k.c: Likewise.
7292 * config/mcore/mcore.c: Likewise.
7293 * config/mep/mep.c: Likewise.
7294 * config/mips/mips.c: Likewise.
7295 * config/mn10300/mn10300.c: Likewise.
7296 * config/moxie/moxie.c: Likewise.
7297 * config/pa/pa.c: Likewise.
7298 * config/rl78/rl78.c: Likewise.
7299 * config/rx/rx.c: Likewise.
7300 * config/s390/s390.c: Likewise.
7301 * config/sh/sh.c: Likewise.
7302 * config/sparc/sparc.c: Likewise.
7303 * config/spu/spu.c: Likewise.
7304 * config/stormy16/stormy16.c: Likewise.
7305 * config/v850/v850.c: Likewise.
7306 * config/vax/vax.c: Likewise.
7307 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
7308 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
7309 * config/msp430/msp430.c: Likewise.
7310 * predict.c: Likewise.
7311 * value-prof.c: Likewise.
7312 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
7313 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
7314 * config/microblaze/microblaze.c: Likewise.
7315 * config/nios2/nios2.c: Likewise.
7316 * config/rs6000/rs6000.c: Likewise.
7317 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
7318 insn-config.h real.h rtl.h statistics.h stmt.h.
7319 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
7320 insn-config.h real.h statistics.h stmt.h.
7321 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
7322 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
7323 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
7324 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
7325 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
7326 fixed-value.h real.h statistics.h stmt.h.
7327 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
7328 fixed-value.h statistics.h stmt.h.
7329 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
7330 stmt.h.
7331
7332 2015-01-15 Jakub Jelinek <jakub@redhat.com>
7333
7334 * gengtype.c (create_user_defined_type): Workaround
7335 -Wmaybe-uninitialized false positives.
7336 * cse.c (fold_rtx): Likewise.
7337 * loop-invariant.c (gain_for_invariant): Likewise.
7338
7339 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
7340
7341 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
7342 set the memory attributes in all cases but clear MEM_EXPR if need be.
7343
7344 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
7345
7346 PR tree-optimization/64434
7347 * cfgexpand.c (reorder_operands): New function.
7348 (expand_gimple_basic_block): Insert call of reorder_operands if
7349 optimized is true.
7350
7351 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
7352
7353 * config/mips/micromips.md (*swp): Remove explicit parallel.
7354 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
7355 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
7356 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
7357 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
7358 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
7359 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
7360 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
7361 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
7362 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
7363 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
7364 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
7365 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
7366 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
7367 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
7368 (mips_wrdsp): Likewise.
7369 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
7370 parallel.
7371 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
7372 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
7373 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
7374 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
7375 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
7376 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
7377 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
7378 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
7379 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
7380
7381 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
7382
7383 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
7384 (mips_print_operand): Support 'y' to print exact log2 in decimal
7385 of a const_int.
7386 * config/mips/mips.h (ISA_HAS_LSA): New define.
7387 (ISA_HAS_DLSA): Likewise.
7388 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
7389 * config/mips/predicates.md (const_immlsa_operand): New predicate.
7390
7391 2015-01-15 Martin Liska <mliska@suse.cz>
7392
7393 PR target/64377
7394 * optc-save-gen.awk: Add support for array types.
7395
7396 2015-01-15 Richard Biener <rguenther@suse.de>
7397
7398 PR middle-end/64365
7399 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
7400 for MEM_REF access functions with the same base can never partially
7401 overlap.
7402
7403 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
7404
7405 * common.opt: New option -fstack-protector-explicit.
7406 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
7407 (stack_protect_decl_phase): Handle stack_protect attribute for
7408 explicit stack protection requests.
7409 (expand_used_vars): Similarly.
7410 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
7411 * doc/extend.texi: Add documentation for "stack_protect" attribute.
7412 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
7413
7414 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
7415
7416 PR target/53988
7417 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
7418 reg-reg copies.
7419 (sh_extending_set_of_reg): New struct.
7420 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
7421 sh_remove_reg_dead_or_unused_notes): New Declarations.
7422 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
7423 sh_find_extending_set_of_reg, sh_split_tst_subregs,
7424 sh_extending_set_of_reg::use_as_extended_reg): New functions.
7425 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
7426 convert to insn_and_split and use new function sh_split_tst_subregs.
7427
7428 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
7429
7430 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
7431 option.
7432 (Optimization Options): Move -fuse-ld documentation to...
7433 (Link Options): ...here.
7434
7435 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
7436
7437 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
7438 offsets.
7439 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
7440 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
7441 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
7442 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
7443 instead of ZR for the memory operand of LL/SC.
7444 (compare_and_swap_12, sync_add<mode>): Likewise.
7445 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
7446 (sync_new_<optab>_12, sync_nand_12): Likewise.
7447 (sync_old_nand_12, sync_new_nand_12): Likewise.
7448 (sync_sub<mode>, sync_old_add<mode>): Likewise.
7449 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
7450 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
7451 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
7452 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
7453 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
7454 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
7455 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
7456 * doc/md.texi (ZC): Update description.
7457
7458 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
7459
7460 * builtins.c (expand_builtin_atomic_exchange): Remove error when
7461 memory model is CONSUME.
7462 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
7463 expand_builtin_atomic_store): Change invalid memory model errors to
7464 warnings.
7465 (expand_builtin_atomic_clear): Change invalid model errors to warnings
7466 and issue warning for CONSUME.
7467
7468 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
7469
7470 * lto-cgraph: Update function comments for
7471 lto_symtab_encoder_encode_*.
7472
7473 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
7474
7475 * Makefile.in (site.exp): Do not set ENABLE_LTO.
7476
7477 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
7478
7479 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
7480 * lto-cgraph.c (select_what_to_stream): Remove argument, use
7481 lto_stream_offload_p instead.
7482 * lto-streamer.h (select_what_to_stream): Remove argument.
7483 * passes.c (ipa_write_summaries): Likewise.
7484 * tree-pass.h (ipa_write_summaries): Likewise.
7485
7486 2015-01-14 Richard Biener <rguenther@suse.de>
7487
7488 PR tree-optimization/59354
7489 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
7490 groups larger than the slp group size as having gaps.
7491
7492 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
7493
7494 PR middle-end/59448
7495 * builtins.c (get_memmodel): Promote consume to acquire always.
7496
7497 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
7498
7499 PR target/64386
7500 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
7501 V32HImode.
7502
7503 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
7504
7505 PR target/64393
7506 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
7507 Enable AVX512BW.
7508 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
7509 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
7510 AVX512VBMI, as it implies AVX512BW.
7511
7512 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
7513
7514 PR target/64387
7515 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
7516 (vec_unpacks_hi_v16sf): Ditto.
7517
7518 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7519
7520 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
7521 is not available.
7522
7523 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7524
7525 * doc/invoke.texi (mapcs): Mention deprecation.
7526 (mapcs-frame): Likewise.
7527
7528 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
7529
7530 PR target/64453
7531 * config/arm/arm.c (callee_saved_reg_p): Define.
7532 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
7533 register is callee saved instead of !call_used_regs[reg].
7534 (thumb1_compute_save_reg_mask): Likewise.
7535
7536 2015-01-14 Hale Wang <hale.wang@arm.com>
7537
7538 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
7539 Cortex-M7.
7540
7541 2015-01-14 Richard Biener <rguenther@suse.de>
7542
7543 PR lto/64415
7544 * tree-inline.c (insert_debug_decl_map): Check destination
7545 function MAY_HAVE_DEBUG_STMTS.
7546 (insert_init_debug_bind): Likewise.
7547 (insert_init_stmt): Remove redundant check.
7548 (remap_gimple_stmt): Drop debug stmts if the destination
7549 function has var-tracking assignments disabled.
7550
7551 2015-01-14 Martin Liska <mliska@suse.cz>
7552
7553 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
7554 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
7555
7556 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7557
7558 PR target/64460
7559 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
7560 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
7561
7562 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
7563
7564 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
7565 level from an ARCH; do not inject the default.
7566 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
7567 MIPS_ISA_LEVEL_SPEC.
7568 (MIPS_ISA_NAN2008_SPEC): Update comment.
7569 (BASE_DRIVER_SELF_SPECS): Likewise.
7570 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
7571 MIPS_DEFAULT_ISA_LEVEL_SPEC.
7572 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
7573 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
7574 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
7575
7576 2015-01-14 Richard Biener <rguenther@suse.de>
7577
7578 PR tree-optimization/64493
7579 PR tree-optimization/64495
7580 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
7581 assign the proper vectorized PHI to the inner loop exit PHIs.
7582
7583 2015-01-14 Joey Ye <joey.ye@arm.com>
7584
7585 * config/arm/arm.c (arm_compute_save_reg_mask):
7586 Do not save lr in case of tail call.
7587 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
7588
7589 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
7590
7591 * tree-vrp.c (check_array_ref): Emit more warnings
7592 for warn_array_bounds >= 2.
7593 * common.opt: New option -Warray-bounds=.
7594 * doc/invoke.texi: Document -Warray-bounds=.
7595
7596 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
7597
7598 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
7599 (mforbid-fp-as-gp): Remove.
7600 (mex9): Remove.
7601 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
7602 (nds32_symbol_load_store_p): Remove.
7603 (nds32_fp_as_gp_check_available): Clean up implementation.
7604 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
7605 cases.
7606 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
7607 fp-as-gp and ex9 cases.
7608
7609 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
7610
7611 * tree-profile.c (init_ic_make_global_vars): Drop workaround
7612 for bintuils bug 14342.
7613 (init_ic_make_global_vars): Likewise.
7614 (gimple_init_edge_profiler): Likewise.
7615 (gimple_gen_ic_func_profiler): Likewise.
7616
7617 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
7618
7619 * ipa-inline.c (inline_small_functions): Swap the operands in
7620 enum.
7621
7622 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
7623
7624 PR ipa/64481
7625 * ipa-inline-analysis.c (node_growth_cache): Remove.
7626 (initialize_growth_caches): Do not initialize it.
7627 (free_growth_caches): Do not free it.
7628 (do_estimate_growth): Rename to ...
7629 (estimate_growth): ... this one; drop growth cache code.
7630 (growth_likely_positive): Always go the heuristics way.
7631 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
7632 (reset_edge_caches): Do not reset node growth.
7633 (heap_edge_removal_hook): Do not maintain cache.
7634 (inline_small_functions): Likewise; strenghten sanity check.
7635 (ipa_inline): Do not maintain caches.
7636 * ipa-inline.h (node_growth_cache): Remove.
7637 (do_estimate_growth): Remove to ...
7638 (estimate_growth): this one; remove inline version.
7639 (reset_node_growth_cache): Remove.
7640
7641 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
7642
7643 PR ipa/64565
7644 * ipa-inline.c (inline_small_functions): Update callee keys after
7645 resolving speculation
7646 (inline_small_functions): Always check monotonicity of the queue.
7647
7648 2015-01-13 Marek Polacek <polacek@redhat.com>
7649
7650 PR middle-end/64391
7651 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
7652
7653 2015-01-13 Jakub Jelinek <jakub@redhat.com>
7654
7655 PR rtl-optimization/64286
7656 * ree.c (combine_reaching_defs): Move part of comment earlier,
7657 remove !SCALAR_INT_MODE_P check.
7658 (add_removable_extension): Don't add vector mode
7659 extensions if all uses of the source register aren't the same
7660 vector extensions.
7661
7662 2015-01-13 Renlin Li <renlin.li@arm.com>
7663
7664 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
7665 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
7666
7667 2015-01-13 Martin Liska <mliska@suse.cz>
7668
7669 * ipa-icf.c (sem_function::equals_private): Call new functions
7670 cl_target_option_print_diff and cl_optimization_print_diff.
7671 * optc-save-gen.awk (cl_target_option_print_diff): New function.
7672 (cl_optimization_print_diff): Likewise.
7673 * opth-gen.awk: Likewise.
7674
7675 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
7676
7677 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
7678 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
7679 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
7680 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
7681 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
7682 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
7683
7684 2015-01-13 Andrew Pinski <apinski@cavium.com>
7685
7686 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
7687 instead of src mode.
7688
7689 2015-01-13 Richard Biener <rguenther@suse.de>
7690
7691 PR lto/64373
7692 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
7693 DECL_CONTEXT.
7694
7695 2015-01-13 Andrew Pinski <apinski@cavium.com>
7696
7697 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
7698 volatile mems.
7699 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
7700
7701 2015-01-13 Jakub Jelinek <jakub@redhat.com>
7702
7703 PR middle-end/63974
7704 * cfgexpand.c (expand_computed_goto): Don't call
7705 convert_memory_address here.
7706
7707 2015-01-13 Richard Biener <rguenther@suse.de>
7708
7709 PR tree-optimization/64406
7710 * tree-loop-distibution.c (pass_loop_distribution::execute):
7711 Reset the SCEV hashtable if we distributed anything.
7712
7713 2015-01-13 Richard Biener <rguenther@suse.de>
7714
7715 PR tree-optimization/64404
7716 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
7717 SLP types for CSEd loads.
7718
7719 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
7720
7721 PR tree-optimization/64436
7722 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
7723 merge of two symbolic numbers for a bitwise OR to ...
7724 (perform_symbolic_merge): This. Also fix computation of the range and
7725 end of the symbolic number corresponding to the result of a bitwise OR.
7726
7727 2015-01-13 Richard Biener <rguenther@suse.de>
7728
7729 PR tree-optimization/64568
7730 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
7731 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
7732
7733 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
7734
7735 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
7736 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
7737
7738 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
7739
7740 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
7741 target-specific symbol_ref flag.
7742 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
7743 resides in rodata section.
7744 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
7745 (nds32_encode_section_info): New function.
7746
7747 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
7748
7749 * config/nds32/nds32.md (call): Use pseudo instruction bal which
7750 clobbers TA_REGNUM if large code model is specified.
7751 (call_register): Likewise.
7752 (call_immediate): Likewise.
7753 (call_value): Likewise.
7754 (call_value_register): Likewise.
7755 (call_value_immediate): Likewise.
7756
7757 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
7758
7759 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
7760 (TARGET_CMODEL_MEDIUM): New macro.
7761 (TARGET_CMODEL_LARGE): New macro.
7762 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
7763 code model setting in assembly code.
7764
7765 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
7766
7767 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
7768 Remove MASK_GP_DIRECT flag.
7769 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
7770 one of the multilib default options.
7771 * config/nds32/nds32.opt (mgp-direct): Remove.
7772 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
7773 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
7774
7775 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
7776
7777 * config/nds32/nds32.opt (mcmodel): Add new option.
7778 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
7779 to describe code model.
7780
7781 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
7782
7783 PR target/64479
7784 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
7785
7786 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
7787
7788 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
7789 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
7790 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
7791 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
7792 __builtin_sh_set_fpscr.
7793
7794 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
7795
7796 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
7797 after a funtion name just to indicate it is a function.
7798 ([-fsanitize-undefined-trap-on-error]): Likewise.
7799 ([-fdbg-cnt=]): Likewise.
7800 ([-mmemcpy]): Likewise.
7801 ([-mflush-func]): Likewise.
7802 ([-msynci]): Likewise.
7803
7804 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
7805
7806 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
7807 example.
7808
7809 2015-01-12 Jakub Jelinek <jakub@redhat.com>
7810
7811 PR tree-optimization/64563
7812 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
7813 instead of != VR_VARYING.
7814
7815 PR target/64513
7816 * config/i386/i386.c (ix86_expand_prologue): Add
7817 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
7818
7819 PR tree-optimization/64454
7820 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
7821 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
7822 for signed or [0, op1 - 1] for unsigned modulo.
7823 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
7824 even if op1 does not satisfy integer_pow2p.
7825
7826 PR other/64370
7827 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
7828
7829 2015-01-12 Jeff Law <law@redhat.com>
7830
7831 PR target/64461
7832 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
7833 (trunchiqi2, truncsihi2): Similarly.
7834
7835 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
7836 rather than calling F.
7837
7838 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
7839
7840 * tsan.c (instrument_expr): Use force_gimple_operand.
7841 Use may_be_nonaddressable_p instead of is_gimple_addressable.
7842
7843 2015-01-12 Richard Biener <rguenther@suse.de>
7844
7845 PR tree-optimization/64530
7846 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
7847 back dr1.
7848
7849 2015-01-12 Richard Biener <rguenther@suse.de>
7850
7851 PR middle-end/64357
7852 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
7853 latches properly.
7854
7855 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7856
7857 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
7858 Cortex-A17 tuning parameters.
7859 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
7860
7861 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7862
7863 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
7864 * config/arm/arm.c (arm_macro_fusion_p): New function.
7865 (arm_macro_fusion_pair_p): Likewise.
7866 (TARGET_SCHED_MACRO_FUSION_P): Define.
7867 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
7868 (ARM_FUSE_NOTHING): Likewise.
7869 (ARM_FUSE_MOVW_MOVT): Likewise.
7870 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
7871 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
7872 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
7873 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
7874 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
7875 arm_cortex_a5_tune): Specify fuseable_ops value.
7876
7877 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
7878
7879 PR bootstrap/64561
7880 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
7881 test for PIE with copy reloc.
7882 * configure: Regenerated.
7883
7884 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7885
7886 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
7887 in gen_rtx_REG.
7888 (arm_tls_descseq_addr): Likewise.
7889 (arm_gen_movmemqi): Likewise.
7890 (arm_expand_epilogue_apcs_frame): Likewise.
7891 (arm_expand_epilogue): Likewise.
7892 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
7893 in gen_rtx_REG.
7894
7895 2015-01-12 Martin Liska <mliska@suse.cz>
7896
7897 PR ipa/64550
7898 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
7899 volatility for correct operands.
7900
7901 2015-01-12 Martin Liska <mliska@suse.cz>
7902
7903 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
7904 that a function is not leaf.
7905 (sem_function::compare_polymorphic_p): Likewise.
7906
7907 2015-01-12 Martin Liska <mliska@suse.cz>
7908
7909 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
7910 that a function is not leaf.
7911 (sem_function::compare_polymorphic_p): Likewise.
7912
7913 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
7914
7915 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
7916 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
7917 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
7918 fold-const.h, tree-check.h.
7919
7920 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
7921
7922 PR ipa/63967
7923 PR ipa/64425
7924 * ipa-inline.c (compute_uninlined_call_time,
7925 compute_inlined_call_time): Use counts for extra precision when
7926 needed possible.
7927 (big_speedup_p): Fix formating.
7928 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
7929 (relative_time_benefit): Remove.
7930 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
7931 merge guessed and read profile paths.
7932 (inline_small_functions): Count only !optimize_size functions into
7933 initial size; be more lax about sanity check when profile is used;
7934 be sure to update inlined function profile when profile is read.
7935
7936 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
7937
7938 PR ipa/63470
7939 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
7940 cost when edge becomes direct.
7941 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
7942 is resolved or when introducing new speculation.
7943
7944 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
7945
7946 PR ipa/64551
7947 PR ipa/64552
7948 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
7949 '||' to fix typo issue.
7950
7951 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
7952 accept and return NULL.
7953
7954 2015-01-12 Martin Liska <mliska@suse.cz>
7955
7956 * cgraph.c (cgraph_edge::remove_callee): Move function to header
7957 file for being inlined.
7958 (cgraph_set_edge_callee): Delete.
7959 (cgraph_edge::redirect_callee): Move function to header file
7960 for being inlined.
7961 (cgraph_edge::make_direct): Use new function.
7962 (cgraph_edge::dump_edge_flags): New function created from
7963 static dump_edge_flags function.
7964 (cgraph_node::dump): Use new function.
7965 (cgraph_edge::verify_count_and_frequency): New function created
7966 from verify_edge_count_and_frequency.
7967 (cgraph_edge::verify_corresponds_to_fndecl): New function created
7968 from verify_edge_corresponds_to_fndecl.
7969 (verify_edge_corresponds_to_fndecl): Delete.
7970 (cgraph_node::verify_node): Use new function.
7971 * cgraph.h (cgraph_edge::set_callee): New function.
7972 (cgraph_edge::dump_edge_flags): Likewise.
7973 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
7974
7975 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
7976
7977 * ipa-utils.c (estimate_function_body_sizes): Do not
7978 free node params when called late with early=true.
7979
7980 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
7981
7982 * doc/md.texi (Instruction Patterns): Rewrite text for
7983 clarity.
7984 (Example): Likewise.
7985
7986 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
7987
7988 * doc/invoke.texi (Option Summary): Break long lines.
7989 [(-fdiagnostics-color)]: Put long literal in @smallexample
7990 instead of inline.
7991 [(-fsanitize-recover)]: Likewise.
7992 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
7993 [(-ffast-math)]: Likewise.
7994 [(--param max-inline-insns-recursive)]: Likewise.
7995 [(--param max-inline-recursive-depth)]: Likewise.
7996 [(-mno-text-section-literals)]: Likewise.
7997
7998 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
7999
8000 * doc/install.texi: Update for libgomp being renamed from "GNU
8001 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
8002 Runtime Library".
8003 * doc/sourcebuild.texi: Likewise.
8004
8005 2015-01-10 Anthony Green <green@moxielogic.com>
8006
8007 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
8008 mul.x availability for moxiebox configuration.
8009
8010 2015-01-09 Anthony Green <green@moxielogic.com>
8011
8012 * config/moxie/moxie.md: Tabify assembly output.
8013
8014 2015-01-09 Anthony Green <green@moxielogic.com>
8015
8016 * config/moxie/moxie.md (CC_REG): Correct register definition.
8017
8018 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
8019
8020 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
8021 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
8022 of log files.
8023
8024 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
8025
8026 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
8027
8028 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
8029 Jakub Jelinek <jakub@redhat.com>
8030
8031 PR middle-end/64412
8032 * lto-streamer.h (lto_stream_offload_p): New declaration.
8033 * lto-streamer.c (lto_stream_offload_p): New variable.
8034 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
8035 at the same time as section_name_prefix.
8036 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
8037 if lto_stream_offload_p.
8038 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
8039 stream TREE_TARGET_OPTION if lto_stream_offload_p.
8040 (write_ts_function_decl_tree_pointers): Don't
8041 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
8042 * tree-streamer-in.c (unpack_value_fields): Don't stream
8043 TREE_TARGET_OPTION in if ACCEL_COMPILER.
8044 (lto_input_ts_function_decl_tree_pointers): Don't stream
8045 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
8046 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
8047 instead of section_name_prefix string comparisons.
8048
8049 2015-01-09 Jakub Jelinek <jakub@redhat.com>
8050
8051 PR rtl-optimization/64536
8052 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
8053 tablejumps.
8054
8055 2015-01-09 Michael Collison <michael.collison@linaro.org>
8056
8057 PR tree-optimization/64322
8058 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
8059 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
8060
8061 2015-01-09 Tom de Vries <tom@codesourcery.com>
8062
8063 PR rtl-optimization/64539
8064 * regcprop.c (kill_clobbered_values): Factor out of ...
8065 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
8066 instead of note_stores with kill_clobbered_value.
8067
8068 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
8069
8070 * ginclude/unwind-arm-common.h: Revert previous commit.
8071
8072 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
8073
8074 * config.gcc (arm*-*-freebsd*): New configuration.
8075 * config/arm/freebsd.h: New file.
8076 * config.host: Add extra components for arm*-*-freebsd*.
8077 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
8078 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
8079
8080 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
8081
8082 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
8083 for -mcpu=e6500.
8084 * config/rs6000/t-rtems: Add e6500 multilibs.
8085
8086 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
8087
8088 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
8089 MPC8540.
8090
8091 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
8092
8093 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
8094 MULTILIB_EXCEPTIONS.
8095
8096 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
8097
8098 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
8099 MULTILIB_EXCEPTIONS.
8100
8101 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
8102
8103 * config/arm/t-rtems-eabi: Rename to...
8104 * config/arm/t-rtems: ...this.
8105 * config/arm/rtems-eabi.h: Rename to...
8106 * config/arm/rtems.h: ...this.
8107 * config.gcc (arm*-*-rtems*): Reflect changes above.
8108
8109 2015-01-09 Richard Biener <rguenther@suse.de>
8110
8111 PR tree-optimization/64410
8112 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
8113 on the LHS.
8114 (execute_update_addresses_taken): Deal with that.
8115 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
8116 loads/stores for complex variables.
8117
8118 2015-01-09 Martin Liska <mliska@suse.cz>
8119
8120 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
8121 name comparison.
8122 (func_checker::compare_memory_operand): New function.
8123 (func_checker::compare_operand): Split case to newly
8124 added functions.
8125 (func_checker::compare_cst_or_decl): New function.
8126 (func_checker::compare_gimple_call): Identify
8127 memory operands.
8128 (func_checker::compare_gimple_assign): Likewise.
8129 * ipa-icf-gimple.h: New function.
8130
8131 2015-01-09 Martin Liska <mliska@suse.cz>
8132
8133 PR ipa/64503
8134 * sreal.c (sreal::dump): Change unsigned format to signed for
8135 m_exp value.
8136 (sreal::to_double): Replace exp2 with scalbln.
8137
8138 2015-01-09 Martin Liska <mliska@suse.cz>
8139
8140 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
8141 * ipa-icf.c (sem_function::equals_private): Add support for target and
8142 (sem_item_optimizer::merge_classes): Remove redundant function
8143 optimization flags comparison.
8144 * tree.h (target_opts_for_fn): New function.
8145
8146 2015-01-09 Tom de Vries <tom@codesourcery.com>
8147
8148 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
8149
8150 2015-01-09 Kito Cheng <kito@0xlab.org>
8151
8152 PR rtl-optimization/64348
8153 * lra-constraints.c (split_reg): Fix caller-save store/restore
8154 instruction generation.
8155
8156 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
8157
8158 PR gcov-profile/61790
8159 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
8160 long long. Fallback to int64_t if host doesn't have long long and
8161 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
8162
8163 2015-01-08 Jakub Jelinek <jakub@redhat.com>
8164
8165 PR tree-optimization/63989
8166 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
8167 from 1000 to 10000.
8168 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
8169 (get_stridx): If we don't have a record for certain SSA_NAME,
8170 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
8171 constant offset, call get_stridx_plus_constant.
8172 (get_stridx_plus_constant): New function.
8173 (zero_length_string): Don't use get_stridx here.
8174
8175 PR target/55023
8176 PR middle-end/64388
8177 * dse.c (struct insn_info): Mention frame_read set also
8178 before reload for tail calls on some targets.
8179 (scan_insn): Revert 2014-12-22 change. Set frame_read
8180 also before reload for tail calls if
8181 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
8182 instead of add_non_frame_wild_read for non-const/memset
8183 tail calls after reload.
8184
8185 2015-01-08 Jason Merrill <jason@redhat.com>
8186
8187 * ubsan.c (do_ubsan_in_current_function): New.
8188 (pass_ubsan::gate): Use it.
8189 * ubsan.h: Declare it.
8190 * convert.c (convert_to_integer): Use it.
8191
8192 2015-01-08 Jakub Jelinek <jakub@redhat.com>
8193
8194 PR target/64338
8195 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
8196 compare_code when it is unconditionally overwritten afterwards.
8197 Use ix86_reverse_condition instead of reverse_condition. Don't
8198 change code if *reverse_condition* returned UNKNOWN and don't
8199 swap ct/cf and negate diff in that case.
8200
8201 2015-01-08 Mike Stump <mikestump@comcast.net>
8202
8203 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
8204 (pass_tsan_O0::gate): Likewise.
8205 * extend.texi (Function Attributes): Add no_sanitize_thread
8206 documentation.
8207
8208 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
8209
8210 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
8211 for registering builtins.
8212 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
8213 add -fopenmp to the argv_obstack used when invoking
8214 compile_for_target.
8215
8216 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
8217 add "-m32" or "-m64" to argv_obstack.
8218 (generate_host_descr_file): Likewise, when invoking host_compiler.
8219 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
8220 ld.
8221
8222 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
8223
8224 * config/sh/sh-mem.cc: Use constant as second operand when emitting
8225 tstsi_t insns.
8226
8227 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
8228
8229 PR target/55212
8230 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
8231 constant load if constant operand fits into I08.
8232
8233 2015-01-08 Jakub Jelinek <jakub@redhat.com>
8234
8235 PR sanitizer/64336
8236 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
8237 and TREE_THIS_VOLATILE for MEM_REFs.
8238 (build5_stat): Fix up initialization of TREE_READONLY and
8239 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
8240
8241 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
8242
8243 PR target/64533
8244 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
8245 of r for the second alternative of the destination operand.
8246
8247 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
8248
8249 PR target/36557
8250 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
8251
8252 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
8253
8254 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
8255 keywords.
8256 ([-fivar-visibility], [-fvisibility]): Likewise.
8257
8258 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
8259
8260 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
8261 the file where @code, @command, etc is more appropriate.
8262
8263 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
8264
8265 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
8266 of -mrecip= documentation.
8267
8268 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
8269
8270 PR target/64505
8271 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
8272 correct reload handler if -m32 -mpowerpc64 is used.
8273
8274 2015-01-06 Tom de Vries <tom@codesourcery.com>
8275
8276 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
8277
8278 2015-01-08 Christian Bruel <christian.bruel@st.com>
8279
8280 PR target/64507
8281 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
8282
8283 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
8284
8285 PR tree-optimization/63259
8286 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
8287 if optab exists for 16bit byteswap.
8288
8289 2015-01-06 Jakub Jelinek <jakub@redhat.com>
8290
8291 * opts.c (common_handle_option): Add support for
8292 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
8293 * doc/invoke.texi: Document -fno-sanitize=all,
8294 -f{,no-}sanitize-recover=all. Document that
8295 -fsanitize=float-cast-overflow is not enabled
8296 by -fsanitize=undefined. Fix up documentation
8297 of -f{,no-}sanitize-recover.
8298
8299 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
8300
8301 * config.gcc: Add Visium support.
8302 * configure.ac: Likewise.
8303 * configure: Regenerate.
8304 * doc/extend.texi (interrupt attribute): Add Visium.
8305 * doc/invoke.texi: Document Visium options.
8306 * doc/install.texi: Document Visium target.
8307 * doc/md.texi: Document Visium constraints.
8308 * common/config/visium: New directory.
8309 * config/visium: Likewise.
8310
8311 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
8312
8313 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
8314 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
8315
8316 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
8317
8318 * combine.c (combine_validate_cost): Do not count the cost of a
8319 split I2 twice. Do not display it twice in the dump, either.
8320
8321 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
8322
8323 Revert parts of r219199.
8324 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
8325 <inttypes.h>.
8326 ([-Wtraditional]): Restore markup on <limits.h>.
8327
8328 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
8329
8330 PR c++/31397
8331 * doc/invoke.texi: Document -Wsuggest-override.
8332
8333 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
8334
8335 PR rtl-optimization/64287
8336 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
8337 (process_options): Disable flag_ipa_ra if profiling.
8338
8339 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
8340
8341 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
8342
8343 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
8344
8345 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
8346 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
8347 put under #if TARGET_LOOPS guard.
8348
8349 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
8350
8351 * config/i386/i386.c (output_387_binary_op): Use std::swap.
8352
8353 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
8354
8355 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
8356 * rtl.h (refers_to_regno_p): Add overload.
8357 * cse.c: Use it.
8358 * bt-load.c: Likewise.
8359 * combine.c: Likewise.
8360 * df-scan.c: Likewise.
8361 * sched-deps.c: Likewise.
8362 * config/s390/s390.c: Likewise.
8363 * config/m32r/m32r.c: Likewise.
8364 * config/rs6000/spe.md: Likewise.
8365 * config/rs6000/rs6000.c: Likewise.
8366 * config/pa/pa.c: Likewise.
8367 * config/stormy16/stormy16.c: Likewise.
8368 * config/cris/cris.c: Likewise.
8369 * config/arc/arc.md: Likewise.
8370 * config/arc/arc.c: Likewise.
8371 * config/sh/sh.md: Likewise.
8372 * config/sh/sh.c: Likewise.
8373 * config/frv/frv.c: Likewise.
8374
8375 2015-01-05 Jakub Jelinek <jakub@redhat.com>
8376
8377 PR sanitizer/64265
8378 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
8379 call as cleanup of the whole body.
8380 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
8381 * tsan.c (replace_func_exit): New function.
8382 (instrument_func_exit): Moved earlier.
8383 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
8384 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
8385 been found.
8386 (tsan_pass): Don't call instrument_func_exit.
8387 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
8388 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
8389 inlining.
8390
8391 PR sanitizer/64344
8392 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
8393 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
8394 it to libubsan handler instead of EXPR. Fold comparisons earlier,
8395 if the result is integer_zerop, return NULL_TREE.
8396 * convert.c (convert_to_integer): Pass expr as ARG.
8397
8398 PR tree-optimization/64465
8399 * tree-inline.c (redirect_all_calls): During inlining
8400 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
8401 changed the stmt to a non-throwing call.
8402
8403 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
8404
8405 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
8406 etc markup throughout the file.
8407
8408 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
8409
8410 Enable experimental TSAN support for Ada.
8411 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
8412
8413 2015-01-05 Jakub Jelinek <jakub@redhat.com>
8414
8415 PR tree-optimization/64494
8416 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
8417 clear SSA_NAME_ANTI_RANGE_P flag.
8418
8419 2015-01-05 Marek Polacek <polacek@redhat.com>
8420
8421 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
8422
8423 2015-01-05 Jakub Jelinek <jakub@redhat.com>
8424
8425 Update copyright years.
8426
8427 * gcc.c (process_command): Update copyright notice dates.
8428 * gcov-dump.c: Ditto.
8429 * gcov.c: Ditto.
8430 * doc/cpp.texi: Bump @copying's copyright year.
8431 * doc/cppinternals.texi: Ditto.
8432 * doc/gcc.texi: Ditto.
8433 * doc/gccint.texi: Ditto.
8434 * doc/gcov.texi: Ditto.
8435 * doc/install.texi: Ditto.
8436 * doc/invoke.texi: Ditto.
8437
8438 * auto-profile.c, auto-profile.h: Fix up Copyright line.
8439
8440 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
8441
8442 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
8443 verb tense, etc.
8444 ([-fvtable-verify], [-fvtv-debug]): Likewise.
8445 ([-Wabi]): Likewise.
8446 ([-fmessage-length]): Likewise.
8447 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
8448 ([-Wno-discarded-qualifiers]): Likewise.
8449 ([-Wnodiscarded-array-qualifiers]): Likewise.
8450 ([-Wno-virtual-move-assign]): Likewise.
8451 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
8452 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
8453 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
8454 ([-fsanitize-undefined-trap-on-error]): Likewise.
8455 ([-floop-interchange]): Likewise.
8456 ([-ftree-coalesce-inlined-vars]): Likewise.
8457 ([-fvect-cost-model]): Likewise.
8458 ([-flto]): Likewise.
8459 ([--param]): Likewise.
8460 (Spec Files): Likewise.
8461 ([-mstrict-align]): Likewise.
8462 ([-mfix-cortex-a53-835769]): Likewise.
8463 ([-march], [-mtune]): Likewise.
8464 ([-mpic-register]): Likewise.
8465 ([-munaligned-access]): Likewise.
8466 ([-msp8]): Likewise.
8467 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
8468 (AVR Built-in Macros): Likewise.
8469 ([-mpreferred-stack-boundary]): Likewise.
8470 ([-mtune-crtl]): Likewise.
8471 ([-mashf]): Likewise.
8472 ([-mmcu=]): Likewise.
8473 ([-minrt]): Likewise.
8474 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
8475 ([-mupper-regs]): Likewise.
8476 ([-matomic-model]): Likewise.
8477 ([-mdiv]): Likewise.
8478 ([-mzdcbranch]): Likewise.
8479 ([-mdisable-callt]): Likewise.
8480 ([-msoft-float]): Likewise.
8481 ([-m8byte-align]): Likewise.
8482 ([-fstack-reuse]): Likewise.
8483
8484 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
8485
8486 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
8487 Fix markup, light copy-editing.
8488 ([-fauto-profile]): Rewrite to fix formatting and content
8489 problems.
8490
8491 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
8492
8493 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
8494 Copy-edit description.
8495 ([-fisolate-erroneous-paths-attribute]): Likewise.
8496 * common.opt (fisolate-erroneous-paths-dereference):
8497 Copy-edit description.
8498 (fisolate-erroneous-paths-attribute): Likewise.
8499
8500 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
8501
8502 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
8503 tidy grammar.
8504
8505 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
8506
8507 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
8508 ([-fvtv-debug]): Likewise.
8509 ([-Wc++-compat]): Likewise.
8510 ([-Wc++11-compat]): Likewise.
8511 ([-Wc++14-compat]): Likewise.
8512 ([-Wno-sized-deallocation]): Likewise.
8513 ([-femit-class-debug-always]): Likewise.
8514 ([-femit-struct-debug-detailed]): Likewise.
8515 ([-fno-keep-inline-dllexport]): Likewise.
8516 ([-fira-algorithm]): Likewise.
8517 ([-fira-region]): Likewise.
8518 ([-flra-remat]): Likewise.
8519 ([-fipa-ra]): Likewise.
8520 ([-fhoist-adjacent-loads]): Likewise.
8521 ([-fisolate-erroneous-paths-dereference]): Likewise.
8522 ([-fisolate-erroneous-paths-attribute]): Likewise.
8523 ([-ftree-switch-conversion]): Likewise.
8524 ([-ftree-tail-merge]): Likewise.
8525 ([-ftree-loop-if-convert]): Likewise.
8526 ([-ftree-loop-if-convert-stores]): Likewise.
8527 ([-ftree-loop-distribution]): Likewise.
8528 ([-ftree-loop-distribute-patterns]): Likewise.
8529 ([-flto-compression-level]): Likewise.
8530 ([-flto-report]): Likewise.
8531 ([-flto-report-wpa]): Likewise.
8532 ([-fuse-linker-plugin]): Likewise.
8533 ([-mfix-cortex-a53-835769]): Likewise.
8534 ([-mno-fix-cortex-a53-835769]): Likewise.
8535 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
8536 explicit listing; add a note to the discussion indicating they
8537 exist. Reorder table to group similar options. Add missing
8538 @opindex entries. Add @need commands throughout the table to
8539 allow it to be split across multiple pages.
8540 ([-m8bit-idiv]): Fix @opindex.
8541 ([-mavx256-split-unaligned-load]): Likewise.
8542 ([-mavx256-split-unaligned-store]): Likewise.
8543 ([-mstack-protector-guard]): Likewise.
8544 ([-mcpu=]): Likewise.
8545 ([-mcpu]): Likewise.
8546 ([-mpointer-size=]): Likewise.
8547
8548 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
8549
8550 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
8551 instead of `m' constraint. Likewise for unnamed movb comparison
8552 patterns using reg_before_reload_operand predicate.
8553 * config/pa/predicates.md (reg_before_reload_operand): Tighten
8554 predicate to reject register index and LO_SUM DLT memory forms
8555 after reload.
8556
8557 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
8558
8559 * doc/invoke.texi (Option Summary): Fix spelling of
8560 -fdevirtualize-at-ltrans.
8561 ([-fdevirtualize]): Fix markup.
8562 ([-fdevirtualize-speculatively]): Fix typo.
8563 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
8564 implementor-speaky.
8565 * common.opt (fdevirtualize-at-ltrans): Likewise.
8566 * ipa-devirt.c: Fix typos in comments throughout the file.
8567 (ipa_devirt): Fix typos in format strings for dump output.
8568
8569 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
8570
8571 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
8572 discussion of defaults, light copy-editing.
8573
8574 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
8575
8576 * tsan.c (instrument_expr): corrected previous checkin.
8577
8578 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
8579
8580 Instrument bit field and unaligned accesses for TSAN.
8581 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
8582 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
8583 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
8584 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
8585 unaligned memory regions.
8586
8587 2015-01-01 Anthony Green <green@moxielogic.com>
8588
8589 * config/moxie/predicates.md (moxie_general_movsrc_operand):
8590 Restrict move source register offsets to 16 bits.
8591 \f
8592 Copyright (C) 2015 Free Software Foundation, Inc.
8593
8594 Copying and distribution of this file, with or without modification,
8595 are permitted in any medium without royalty provided the copyright
8596 notice and this notice are preserved.