[Patch AArch64 4/4] Add -moverride tuning command, and wire it up for
[gcc.git] / gcc / ChangeLog
1 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
2
3 * config/aarch64/aarch64.opt: (override): New.
4 * doc/invoke.texi (override): Document.
5 * config/aarch64/aarch64.c (aarch64_flag_desc): New
6 (aarch64_fusible_pairs): Likewise.
7 (aarch64_tuning_flags): Likewise.
8 (aarch64_tuning_override_function): Likewise.
9 (aarch64_tuning_override_functions): Likewise.
10 (aarch64_parse_one_option_token): Likewise.
11 (aarch64_parse_boolean_options): Likewise.
12 (aarch64_parse_fuse_string): Likewise.
13 (aarch64_parse_tune_string): Likewise.
14 (aarch64_parse_one_override_token): Likewise.
15 (aarch64_parse_override_string): Likewise.
16 (aarch64_override_options): Parse the -override string if it
17 is present.
18
19 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
20
21 * config/aarch64/aarch64-protos.h (tune_params): Remove
22 const from members.
23 (aarch64_tune_params): Remove const, change to no longer be
24 a pointer.
25 * config/aarch64/aarch64.c (aarch64_tune_params): Remove const,
26 change to no longer be a pointer, initialize to generic_tunings.
27 (aarch64_min_divisions_for_recip_mul): Change dereference of
28 aarch64_tune_params to member access.
29 (aarch64_reassociation_width): Likewise.
30 (aarch64_rtx_mult_cost): Likewise.
31 (aarch64_address_cost): Likewise.
32 (aarch64_branch_cost): Likewise.
33 (aarch64_rtx_costs): Likewise.
34 (aarch64_register_move_cost): Likewise.
35 (aarch64_memory_move_cost): Likewise.
36 (aarch64_sched_issue_rate): Likewise.
37 (aarch64_builtin_vectorization_cost): Likewise.
38 (aarch64_override_options): Take a copy of the selected tuning
39 struct in to aarch64_tune_params, rather than just setting
40 a pointer, change dereferences of aarch64_tune_params to member
41 accesses.
42 (aarch64_override_options_after_change): Change dereferences of
43 aarch64_tune_params to member access.
44 (aarch64_macro_fusion_p): Likewise.
45 (aarch_macro_fusion_pair_p): Likewise.
46 * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise.
47
48 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
49
50 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete.
51 (aarch64_tune_flags): Likewise.
52 (AARCH64_TUNE_FMA_STEERING): Likewise.
53 * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference
54 to AARCH64_FL_USE_FMA_STEERING_PASS.
55 (cortex-a57.cortex-a53): Likewise.
56 (cortex-a72): Use cortexa72_tunings.
57 (cortex-a72.cortex-a53): Likewise.
58 (exynos-m1): Likewise.
59 * config/aarch64/aarch64-protos.h (tune_params): Add
60 a field: extra_tuning_flags.
61 * config/aarch64/aarch64-tuning-flags.def: New.
62 * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New.
63 (aarch64_extra_tuning_flags): Likewise.
64 (aarch64_tune_params): Declare here.
65 * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags.
66 (cortexa53_tunings): Likewise.
67 (cortexa57_tunings): Likewise.
68 (thunderx_tunings): Likewise.
69 (xgene1_tunings): Likewise.
70 (cortexa72_tunings): New.
71 * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h.
72 (gate): Check against aarch64_tune_params.
73 * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on
74 aarch64-protos.h.
75
76 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
77
78 * config/aarch64/aarch64-fusion-pairs.def: New.
79 * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New.
80 * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to
81 aarch64_fusion_pairs.
82 (AARCH64_FUSE_MOV_MOVK): Likewise.
83 (AARCH64_FUSE_ADRP_ADD): Likewise.
84 (AARCH64_FUSE_MOVK_MOVK): Likewise.
85 (AARCH64_FUSE_ADRP_LDR): Likewise.
86 (AARCH64_FUSE_CMP_BRANCH): Likewise.
87
88 2015-06-26 Jiong Wang <jiong.wang@arm.com>
89
90 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
91 SYMBOL_SMALL_GOT_28K.
92 * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
93 relocation modifiers.
94 (unspec): New enum "UNSPEC_GOTMALLPIC28K.
95 (ldr_got_small_28k_<mode>): New.
96 (ldr_got_small_28k_sidi): New.
97 * config/aarch64/iterators.md (got_modifier): New mode iterator.
98 * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
99 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
100 SYMBOL_SMALL_GOT_28K.
101 (aarch64_rtx_costs): Add costs for new instruction sequences.
102 (initialize_aarch64_code_model): Initialize new model.
103 (aarch64_classify_symbol): Recognize new model and new symbol classification.
104 (aarch64_asm_preferred_eh_data_format): Support new model.
105 (aarch64_load_symref_appropriately): Generate new instruction
106 sequences for -fpic.
107 (TARGET_USE_PSEUDO_PIC_REG): New definition.
108 (aarch64_use_pseudo_pic_reg): New function.
109
110 2015-06-26 Jiong Wang <jiong.wang@arm.com>
111
112 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
113 SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
114 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
115 (aarch64_expand_mov_immediate): Ditto.
116 (aarch64_print_operand): Ditto.
117 (aarch64_classify_symbol): Ditto.
118
119 2015-06-26 Nathan Sidwell <nathan@codesourcery.com>
120
121 * config/nvptx/nvptx.md (call_operation): Remove unused variables.
122
123 2015-06-26 Bin Cheng <bin.cheng@arm.com>
124
125 PR bootstrap/66638
126 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if
127 assertion failed. Remove assertion itself.
128
129 2015-06-26 Richard Biener <rguenther@suse.de>
130
131 * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B
132 and -A CMP CST -> A CMP -CST which is redundant with a pattern
133 in match.pd.
134 Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y,
135 (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and
136 (X ^ C1) op C2 -> X op (C1 ^ C2) to ...
137 * match.pd: ... patterns here.
138
139 2015-06-26 Marek Polacek <polacek@redhat.com>
140
141 * match.pd ((x | y) & ~(x & y) -> x ^ y,
142 (x | y) & (~x ^ y) -> x & y): New patterns.
143
144 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
145
146 * rtl.h (emit): Add an optional boolean parameter to control
147 whether barriers are emitted.
148 * emit-rtl.c (emit): Likewise.
149 * gensupport.c (get_emit_function): Return null rather than "emit".
150 * genemit.c (gen_emit_seq): Handle the null return value.
151 Don't emit barriers after the final instruction in the sequence.
152 * gentarget-def.c (main): Don't emit barriers after the instruction.
153
154 2015-06-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
155
156 * config/arm/arm.c (arm_output_multireg_pop): Fix use of
157 TARGET_UNIFIED_ASM.
158
159 2015-06-26 Richard Biener <rguenther@suse.de>
160
161 * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.
162
163 2015-06-26 Richard Biener <rguenther@suse.de>
164
165 * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
166 irrespective on whether the inner operation has a single use
167 of both off are constant.
168
169 2015-06-26 Uros Bizjak <ubizjak@gmail.com>
170 Segher Boessenkool <segher@kernel.crashing.org>
171
172 PR target/66412
173 * config/i386/i386.md (various splitters): Use shallow_copy_rtx
174 before doing PUT_MODE or PUT_CODE on operands to avoid
175 in-place RTX modification.
176
177 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
178
179 * gentarget-def.c (def_target_insn): Cast return of strtol to
180 unsigned int.
181
182 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
183
184 * gimple.h (gimple_call_set_fn): Move inline function.
185 * gimple.c (gimple_call_set_fn): Relocate here.
186
187 2015-06-25 Oleg Endo <olegendo@gcc.gnu.org>
188
189 PR target/65979
190 PR target/66611
191 * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
192 the replacement insn will work.
193
194 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
195
196 * gcc.c (driver_handle_option): Validate -pie if PIE is enabled
197 by default.
198
199 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
200
201 * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
202 * cgraph.h: Include ipa-ref.h and plugin-api.h.
203 (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
204 (symtab_node::address_can_be_compared_p): Move function.
205 * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
206 definition here.
207 * asan.c: Remove ipa-ref.h and plugin-api.h from include list.
208 * auto-profile.c: Likewise.
209 * bb-reorder.c: Likewise.
210 * builtins.c: Likewise.
211 * calls.c: Likewise.
212 * cfgexpand.c: Likewise.
213 * cgraphbuild.c: Likewise.
214 * cgraphclones.c: Likewise.
215 * cgraphunit.c: Likewise.
216 * combine.c: Likewise.
217 * coverage.c: Likewise.
218 * data-streamer-in.c: Likewise.
219 * data-streamer-out.c: Likewise.
220 * data-streamer.c: Likewise.
221 * dbxout.c: Likewise.
222 * dwarf2out.c: Likewise.
223 * except.c: Likewise.
224 * expr.c: Likewise.
225 * final.c: Likewise.
226 * fold-const.c: Likewise.
227 * ggc-page.c: Likewise.
228 * gimple-fold.c: Likewise.
229 * gimple-iterator.c: Likewise.
230 * gimple-pretty-print.c: Likewise.
231 * gimple-streamer-in.c: Likewise.
232 * gimple-streamer-out.c: Likewise.
233 * gimple.c: Likewise.
234 * gimplify.c: Likewise.
235 * ipa-chkp.c: Likewise.
236 * ipa-comdats.c: Likewise.
237 * ipa-cp.c: Likewise.
238 * ipa-devirt.c: Likewise.
239 * ipa-icf-gimple.c: Likewise.
240 * ipa-icf.c: Likewise.
241 * ipa-inline-analysis.c: Likewise.
242 * ipa-inline-transform.c: Likewise.
243 * ipa-inline.c: Likewise.
244 * ipa-polymorphic-call.c: Likewise.
245 * ipa-profile.c: Likewise.
246 * ipa-prop.c: Likewise.
247 * ipa-pure-const.c: Likewise.
248 * ipa-ref.c: Likewise.
249 * ipa-reference.c: Likewise.
250 * ipa-split.c: Likewise.
251 * ipa-utils.c: Likewise.
252 * ipa-visibility.c: Likewise.
253 * ipa.c: Likewise.
254 * langhooks.c: Likewise.
255 * lto-cgraph.c: Likewise.
256 * lto-compress.c: Likewise.
257 * lto-opts.c: Likewise.
258 * lto-section-in.c: Likewise.
259 * lto-section-out.c: Likewise.
260 * lto-streamer-in.c: Likewise.
261 * lto-streamer-out.c: Likewise.
262 * lto-streamer.c: Likewise.
263 * omp-low.c: Likewise.
264 * opts-global.c: Likewise.
265 * passes.c: Likewise.
266 * predict.c: Likewise.
267 * print-tree.c: Likewise.
268 * profile.c: Likewise.
269 * ree.c: Likewise.
270 * sanopt.c: Likewise.
271 * stor-layout.c: Likewise.
272 * symtab.c: Likewise.
273 * toplev.c: Likewise.
274 * trans-mem.c: Likewise.
275 * tree-cfg.c: Likewise.
276 * tree-chkp.c: Likewise.
277 * tree-eh.c: Likewise.
278 * tree-emutls.c: Likewise.
279 * tree-inline.c: Likewise.
280 * tree-nested.c: Likewise.
281 * tree-parloops.c: Likewise.
282 * tree-pretty-print.c: Likewise.
283 * tree-profile.c: Likewise.
284 * tree-sra.c: Likewise.
285 * tree-ssa-alias.c: Likewise.
286 * tree-ssa-live.c: Likewise.
287 * tree-ssa-loop-ivcanon.c: Likewise.
288 * tree-ssa-loop-ivopts.c: Likewise.
289 * tree-ssa-pre.c: Likewise.
290 * tree-ssa-sccvn.c: Likewise.
291 * tree-ssa-strlen.c: Likewise.
292 * tree-ssa-structalias.c: Likewise.
293 * tree-streamer-in.c: Likewise.
294 * tree-streamer-out.c: Likewise.
295 * tree-streamer.c: Likewise.
296 * tree-switch-conversion.c: Likewise.
297 * tree-tailcall.c: Likewise.
298 * tree-vect-data-refs.c: Likewise.
299 * tree-vect-stmts.c: Likewise.
300 * tree-vectorizer.c: Likewise.
301 * tree.c: Likewise.
302 * tsan.c: Likewise.
303 * ubsan.c: Likewise.
304 * value-prof.c: Likewise.
305 * varasm.c: Likewise.
306 * varpool.c: Likewise.
307 * config/arm/arm.c: Likewise.
308 * config/bfin/bfin.c: Likewise.
309 * config/c6x/c6x.c: Likewise.
310 * config/cris/cris.c: Likewise.
311 * config/darwin-c.c: Likewise.
312 * config/darwin.c: Likewise.
313 * config/i386/i386.c: Likewise.
314 * config/i386/winnt.c: Likewise.
315 * config/microblaze/microblaze.c: Likewise.
316 * config/mips/mips.c: Likewise.
317 * config/rs6000/rs6000.c: Likewise.
318 * config/rx/rx.c: Likewise.
319 * config/s390/s390.c: Likewise.
320 * config/tilegx/mul-tables.c: Likewise.
321
322 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
323
324 * config/aarch64/aarch64.c, config/alpha/alpha.c,
325 config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
326 config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c,
327 config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c,
328 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
329 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
330 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
331 config/microblaze/microblaze.c, config/mips/mips.c,
332 config/mmix/mmix.c, config/mn10300/mn10300.c,
333 config/moxie/moxie.c, config/msp430/msp430.c,
334 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
335 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
336 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
337 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
338 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
339 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
340 config/visium/visium.c, config/xtensa/xtensa.c: Add comment above
341 target-def.h include.
342 * config/ft32/ft32.c: Likewise. Fix misapplied hunk.
343
344 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
345
346 * Makefile.in (TARGET_DEF): Add target-insns.def.
347 (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h.
348 (build/gentarget-def.o): New rule.
349 (genprogrtl): Add target-def.
350 * target-insns.def, gentarget-def.c: New files.
351 * target.def: Add targetm.have_* and targetm.gen_* hooks,
352 based on the contents of target-insns.def.
353 * defaults.h (HAVE_simple_return, gen_simple_return): Delete.
354 (HAVE_return, gen_return): Delete.
355 * target-def.h: Include insn-target-def.h.
356 * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface
357 instead of direct calls. Rely on them to do the appropriate assertions.
358 * function.c (gen_return_pattern): Likewise. Return an rtx_insn *.
359 (convert_jumps_to_returns): Use targetm interface instead of
360 direct calls.
361 (thread_prologue_and_epilogue_insns): Likewise.
362 * reorg.c (find_end_label, dbr_schedule): Likewise.
363 * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise.
364 * shrink-wrap.c (convert_to_simple_return): Likewise.
365 (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED.
366
367 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
368
369 * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c,
370 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
371 config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c,
372 config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
373 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
374 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
375 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
376 config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c,
377 config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c,
378 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
379 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
380 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
381 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
382 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
383 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
384 config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h
385 includes to end.
386
387 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
388
389 * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef.
390 (unbounded_int_hashmap_traits::key_type): Likewise.
391 * hash-map.h (hash_map): Get the key type from the traits.
392 * hash-traits.h (default_hash_traits): By default, inherit from the
393 template parameter.
394 * alias.c (alias_set_traits): Delete.
395 (alias_set_entry_d::children): Use alias_set_hash as the first
396 template parameter.
397 (record_alias_subset): Update accordingly.
398 * except.c (tree_hash_traits): Delete.
399 (type_to_runtime_map): Use tree_hash as the first template parameter.
400 (init_eh): Update accordingly.
401 * genmatch.c (capture_id_map_hasher): Delete.
402 (cid_map_t): Use nofree_string_hash as first template parameter.
403 * ipa-icf.h (symbol_compare_hashmap_traits): Delete.
404 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
405 Use symbol_compare_hash as the first template parameter in
406 subdivide_hash_map.
407 * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete.
408 (mem_usage_pair::mem_map_t): Use mem_location_hash as the first
409 template parameter.
410 * passes.c (pass_registry_hasher): Delete.
411 (name_to_pass_map): Use nofree_string_hash as the first template
412 parameter.
413 (register_pass_name): Update accordingly.
414 * sanopt.c (sanopt_tree_map_traits): Delete.
415 (sanopt_tree_triplet_map_traits): Delete.
416 (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first
417 template parameter.
418 (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as
419 the first template parameter.
420 * sese.c (rename_map_hasher): Delete.
421 (rename_map_type): Use tree_ssa_name_hash as the first template
422 parameter.
423 * symbol-summary.h (function_summary::summary_hashmap_traits): Delete.
424 (function_summary::m_map): Use map_hash as the first template
425 parameter.
426 (function_summary::release): Update accordingly.
427 * tree-if-conv.c (phi_args_hash_traits): Delete.
428 (predicate_scalar_phi): Use tree_operand_hash as the first template
429 parameter to phi_arg_map.
430 * tree-inline.h (dependence_hasher): Delete.
431 (copy_body_data::dependence_map): Use dependence_hash as the first
432 template parameter.
433 * tree-inline.c (remap_dependence_clique): Update accordingly.
434 * tree-ssa-strlen.c (stridxlist_hash_traits): Delete.
435 (decl_to_stridxlist_htab): Use tree_decl_hash as the first template
436 parameter.
437 (addr_stridxptr): Update accordingly.
438 * value-prof.c (profile_id_traits): Delete.
439 (cgraph_node_map): Use profile_id_hash as the first template
440 parameter.
441 (init_node_map): Update accordingly.
442 * config/alpha/alpha.c (string_traits): Delete.
443 (machine_function::links): Use nofree_string_hash as the first
444 template parameter.
445 (alpha_use_linkage, alpha_write_linkage): Update accordingly.
446 * config/m32c/m32c.c (pragma_traits): Delete.
447 (pragma_htab): Use nofree_string_hash as the first template parameter.
448 (m32c_note_pragma_address): Update accordingly.
449 * config/mep/mep.c (pragma_traits): Delete.
450 (pragma_htab): Use nofree_string_hash as the first template parameter.
451 (mep_note_pragma_flag): Update accordingly.
452 * config/mips/mips.c (mips16_flip_traits): Delete.
453 (mflip_mips16_htab): Use nofree_string_hash as the first template
454 parameter.
455 (mflip_mips16_use_mips16_p): Update accordingly.
456 (local_alias_traits): Delete.
457 (mips16_local_aliases): Use nofree_string_hash as the first template
458 parameter.
459 (mips16_local_alias): Update accordingly.
460
461 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
462
463 * hash-map-traits.h (default_hashmap_traits): Delete.
464
465 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
466
467 * hash-map-traits.h (unbounded_hashmap_traits): New class.
468 (unbounded_int_hashmap_traits): Likewise.
469 * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits.
470
471 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
472
473 * ipa-icf.h (symbol_compare_hash): New class.
474 (symbol_compare_hashmap_traits): Use it.
475 * mem-stats.h (mem_alloc_description::mem_location_hash): New class.
476 (mem_alloc_description::mem_alloc_hashmap_traits): Use it.
477 (mem_alloc_description::reverse_mem_map_t): Remove redundant
478 default_hashmap_traits.
479 * sanopt.c (sanopt_tree_triplet_hash): New class.
480 (sanopt_tree_triplet_map_traits): Use it.
481
482 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
483
484 * gengtype-parse.c (require_template_declaration): Allow '+' in
485 template parameters. Consolidate cases.
486 * hash-traits.h (int_hash): New class.
487 * alias.c (alias_set_hash): New structure.
488 (alias_set_traits): Use it.
489 * symbol-summary.h (function_summary::map_hash): New class.
490 (function_summary::summary_hashmap_traits): Use it.
491 * tree-inline.h (dependence_hash): New class.
492 (dependence_hasher): Use it.
493 * tree-ssa-reassoc.c (oecount_hasher): Use int_hash.
494 * value-prof.c (profile_id_hash): New class.
495 (profile_id_traits): Use it.
496
497 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
498
499 * config/mips/mips.c (mips16_flip_traits): Use it.
500 (local_alias_traits, mips16_local_aliases): Convert from a map of
501 rtxes to a map of symbol names.
502 (mips16_local_alias): Update accordingly.
503
504 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
505
506 * hash-traits.h (string_hash, nofree_string_hash): New classes.
507 * genmatch.c (capture_id_map_hasher): Use nofree_string_hash.
508 * passes.c (pass_registry_hasher): Likewise.
509 * config/alpha/alpha.c (string_traits): Likewise.
510 * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise.
511 * config/m32c/m32c.c (pragma_traits): Likewise.
512 * config/mep/mep.c (pragma_traits): Likewise.
513
514 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
515
516 * tree-hash-traits.h (tree_hash): New class.
517 * except.c: Include tree-hash-traits.h.
518 (tree_hash_traits): Use tree_hash.
519
520 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
521
522 * tree-hash-traits.h (tree_ssa_name_hasher): New class.
523 * sese.c: Include tree-hash-traits.h.
524 (rename_map_hasher): Use tree_ssa_name_hasher.
525
526 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
527
528 * tree-hash-traits.h (tree_decl_hash): New class.
529 * tree-ssa-strlen.c: Include tree-hash-traits.h.
530 (stridxlist_hash_traits): Use tree_decl_hash.
531
532 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
533
534 * tree-hash-traits.h: New file.
535 (tree_operand_hash): New class.
536 * sanopt.c: Include tree-hash-traits.h.
537 (sanopt_tree_map_traits): Use tree_operand_hash.
538 * tree-if-conv.c: Include tree-hash-traits.h.
539 (phi_args_hash_traits): Use tree_operand_hash.
540 * tree-ssa-uncprop.c: Include tree-hash-traits.h.
541 (val_ssa_equiv_hash_traits): Use tree_operand_hash.
542
543 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
544
545 * hash-map-traits.h: Include hash-traits.h.
546 (simple_hashmap_traits): New class.
547 * mem-stats.h (hash_map): Change the default traits to
548 simple_hashmap_traits<default_hash_traits<Key> >.
549
550 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
551
552 * hash-table.h: Update comments.
553
554 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
555
556 * hash-traits.h (default_hash_traits): New structure.
557 * hash-set.h (default_hashset_traits): Delete.
558 (hash_set): Use default_hash_traits<Key> instead of
559 default_hashset_traits. Delete hash_entry type and use Key directly.
560 * ipa-devirt.c (pair_traits): Delete.
561 (default_hash_traits <type_pair>): Override.
562 (odr_subtypes_equivalent_p): Remove pair_types template parameter.
563 (odr_types_equivalent_p, add_type_duplicate): Likewise.
564
565 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
566
567 * hash-traits.h (typed_noop_remove): Don't require a pointer type.
568
569 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
570
571 * hash-table.h (has_is_deleted, is_deleted_helper): Delete.
572 (has_is_empty, is_empty_helper): Delete.
573 (has_mark_deleted, mark_deleted_helper): Delete.
574 (has_mark_empty, mark_empty_helper): Delete.
575 (hash_table::is_deleted): Call the Descriptor unconditionally.
576 (hash_table::is_empty): Likewise.
577 (hash_table::mark_deleted): Likewise.
578 (hash_table::mark_empty): Likewise.
579
580 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
581
582 * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove
583 redundant typedefs and members.
584 * coverage.c (counts_entry): Inherit from pointer_hash. Remove
585 redundant typedefs.
586 * dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
587 * ipa-devirt.c (odr_name_hasher): Likewise.
588 (polymorphic_call_target_hasher): Likewise.
589 * ira-costs.c (cost_classes_hasher): Likewise.
590 * statistics.c (stats_counter_hasher): Likewise.
591 * trans-mem.c (log_entry_hasher): Likewise.
592 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
593 * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
594 * tree-ssa-tail-merge.c (same_succ_def): Likewise.
595 * var-tracking.c (variable_hasher): Likewise.
596 * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
597 Remove redundant typedefs and members.
598
599 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
600
601 * hash-traits.h (ggc_cache_hasher): Rename to...
602 (ggc_cache_remove): ...this and remove typedefs.
603 (ggc_cache_ptr_hash): New class.
604 * hash-table.h: Update commentary.
605 * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash
606 rather than ggc_cache_hasher.
607 (const_wide_int_hasher, reg_attr_hasher): Likewise.
608 (const_double_hasher, const_fixed_hasher): Likewise.
609 * function.c (insn_cache_hasher): Likewise.
610 * trans-mem.c (tm_wrapper_hasher): Likewise.
611 * tree.h (tree_decl_map_cache_hasher): Likewise.
612 * tree.c (type_cache_hasher, int_cst_hasher): Likewise.
613 (cl_option_hasher, tree_vec_map_cache_hasher): Likewise.
614 * ubsan.c (tree_type_map_cache_hasher): Likewise.
615 * varasm.c (tm_clone_hasher): Likewise.
616 * config/i386/i386.c (dllimport_hasher): Likewise.
617 * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise.
618 (tree_hasher): Likewise.
619
620 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
621
622 * hash-traits.h (ggc_hasher): Rename to...
623 (ggc_remover): ...this and remove typedefs.
624 (ggc_cache_hasher): Update accordingly. Add typedefs.
625 (ggc_ptr_hash): New class.
626 * hash-table.h: Update comment.
627 * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than
628 ggc_hasher.
629 * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise.
630 (tree_descriptor_hasher): Likewise.
631 * cgraph.c (function_version_hasher): Likewise.
632 * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise.
633 (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise.
634 (dw_loc_list_hasher, addr_hasher): Likewise.
635 * function.h (used_type_hasher): Likewise.
636 * function.c (temp_address_hasher): Likewise.
637 * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise.
638 * libfuncs.h (libfunc_hasher): Likewise.
639 * lto-streamer.h (decl_state_hasher): Likewise.
640 * optabs.c (libfunc_decl_hasher): Likewise.
641 * tree-scalar-evolution.c (scev_info_hasher): Likewise.
642 * varasm.c (section_hasher, object_block_hasher): Likewise.
643 (const_rtx_desc_hasher): Likewise.
644 * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise.
645 * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise.
646
647 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
648
649 * hash-traits.h (free_ptr_hash): New class.
650 * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash
651 rather than typed_free_remove. Remove redudant typedefs.
652 (external_ref_hasher): Likewise.
653 * except.c (action_record_hasher, ttypes_filter_hasher): Likewise.
654 (ehspec_hasher): Likewise.
655 * ggc-common.c (saving_hasher): Likewise.
656 * gimplify.c (gimplify_hasher): Likewise.
657 * haifa-sched.c (delay_i2_hasher): Likewise.
658 * loop-invariant.c (invariant_expr_hasher): Likewise.
659 * loop-iv.c (biv_entry_hasher): Likewise.
660 * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise.
661 * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise.
662 * tree-cfg.c (locus_discrim_hasher): Likewise.
663 * tree-eh.c (finally_tree_hasher): Likewise.
664 * tree-into-ssa.c (var_info_hasher): Likewise.
665 * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise.
666 * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise.
667 * tree-ssa-phiopt.c (ssa_names_hasher): Likewise.
668 * tree-ssa-pre.c (expr_pred_trans_d): Likewise.
669 * tree-ssa-sccvn.c (vn_constant_hasher): Likewise.
670 * tree-ssa-structalias.c (equiv_class_hasher): Likewise.
671 (shared_bitmap_hasher): Likewise.
672 * tree-ssa-threadupdate.c (redirection_data): Likewise.
673 * tree-vectorizer.h (peel_info_hasher): Likewise.
674 * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise.
675 * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise.
676
677 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
678
679 * hash-table.h: Update comments.
680 * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
681 (nofree_ptr_hash): New class.
682 * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
683 than typed_noop_remove. Remove redudant typedefs.
684 * attribs.c (attribute_hasher): Likewise.
685 * cfg.c (bb_copy_hasher): Likewise.
686 * cselib.c (cselib_hasher): Likewise.
687 * dse.c (invariant_group_base_hasher): Likewise.
688 * dwarf2cfi.c (trace_info_hasher): Likewise.
689 * dwarf2out.c (macinfo_entry_hasher): Likewise.
690 (comdat_type_hasher, loc_list_hasher): Likewise.
691 * gcse.c (pre_ldst_expr_hasher): Likewise.
692 * genmatch.c (id_base): Likewise.
693 * genrecog.c (test_pattern_hasher): Likewise.
694 * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
695 * haifa-sched.c (delay_i1_hasher): Likewise.
696 * hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
697 * ipa-icf.h (congruence_class_group_hash): Likewise.
698 * ipa-profile.c (histogram_hash): Likewise.
699 * ira-color.c (allocno_hard_regs_hasher): Likewise.
700 * lto-streamer.h (string_slot_hasher): Likewise.
701 * lto-streamer.c (tree_entry_hasher): Likewise.
702 * plugin.c (event_hasher): Likewise.
703 * postreload-gcse.c (expr_hasher): Likewise.
704 * store-motion.c (st_expr_hasher): Likewise.
705 * tree-sra.c (uid_decl_hasher): Likewise.
706 * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
707 (ssa_name_var_hash): Likewise.
708 * tree-ssa-live.c (tree_int_map_hasher): Likewise.
709 * tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
710 * tree-ssa-pre.c (pre_expr_d): Likewise.
711 * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
712 * vtable-verify.h (registration_hasher): Likewise.
713 * vtable-verify.c (vtbl_map_hasher): Likewise.
714 * config/arm/arm.c (libcall_hasher): Likewise.
715 * config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
716 * config/ia64/ia64.c (bundle_state_hasher): Likewise.
717 * config/sol2.c (comdat_entry_hasher): Likewise.
718 * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
719 (print_fold_checksum, fold_checksum_tree): Likewise.
720 (debug_fold_checksum, fold_build1_stat_loc): Likewise.
721 (fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
722 (fold_build_call_array_loc): Likewise.
723 * tree-ssa-ccp.c (gimple_htab): Likewise.
724 * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
725 rather than pointer_type.
726
727 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
728
729 * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty)
730 (pointer_hash::is_deleted, pointer_hash::is_empty): New functions.
731
732 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
733
734 * hash-traits.h (ggc_hasher::remove): Take a reference parameter.
735 (ggc_hasher::ggc_mx): Likewise.
736 (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
737 that duplicate ggc_hasher ones.
738
739 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
740
741 * hash-table.h (hash_table): Add gt_cleare_cache as a friend.
742 (gt_cleare_cache): Check here for deleted and empty entries.
743 Replace handle_cache_entry with a call to keep_cache_entry.
744 * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
745 (ggc_cache_hasher::keep_cache_entry): New function.
746 * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
747 (tm_wrapper_hasher::keep_cache_entry): New function.
748 * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
749 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
750 * tree.c (type_cache_hasher::handle_cache_entry): Delete.
751 (type_cache_hasher::keep_cache_entry): New function.
752 (tree_vec_map_cache_hasher::handle_cache_entry): Delete.
753 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
754 * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
755 (tree_type_map_cache_hasher::keep_cache_entry): New function.
756 * varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
757 (tm_clone_hasher::keep_cache_entry): New function.
758 * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
759 (dllimport_hasher::keep_cache_entry): New function.
760
761 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
762
763 * hash-table.h: Include hash-traits.h.
764 (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
765 (ggc_cache_hasher): Move to...
766 * hash-traits.h: ...this new file.
767
768 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
769
770 * tree-core.h (struct tree_optimization_option): Make opts a pointer to
771 struct cl_optimization.
772 * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
773 * tree.c (make_node_stat): Allocate cl_optimization struct.
774 (copy_node_stat): Allocate and copy cl_optimization struct.
775
776 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
777
778 * function.h (struct incoming_args): Move struct.
779 (pass_by_reference, reference_callee_copied): Remove prototypes.
780 * emit-rtl.h (struct incoming_args): Relocate struct here.
781 * calls.h (pass_by_reference, reference_callee_copied): Relocate
782 prototypes here.
783 * function.c (pass_by_reference, reference_callee_copied): Move.
784 * calls.c (pass_by_reference, reference_callee_copied): Relocate here.
785 * cfgloop.h: Don't include tm.h or hard-reg-set.h.
786 * ipa-chkp.c: Include calls.h.
787
788 2015-06-25 Andrew Macleod <amacleod@redhat.com>
789
790 * alias.h (alias_set_type): Move typedef.
791 * coretypes.h (alias_set_type): Relocate typedef here.
792 * rtl.h: Don't include alias.h.
793
794 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
795
796 * cgraph.h (cgraph_rtl_info): Move to rtl.h
797 (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
798 and instance.
799 * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
800 * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
801 doesn't exist.
802 * calls.c: Include hard-reg-set.h before rtl.h.
803 * ira.c: Likewise.
804
805 2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
806 Vladimir Makarov <vmakarov@redhat.com>
807
808 * ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
809 Add assert.
810
811 2015-06-25 Richard Biener <rguenther@suse.de>
812
813 * fold-const.c (fold_binary_loc): Move simplification of
814 (X <<>> C1) & C2 ...
815 * match.pd: ... here.
816
817 2015-06-25 Eric Botcazou <ebotcazou@adacore.com>
818
819 * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
820
821 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
822
823 * match.pd: Add patterns for vec_conds between 1 and 0.
824
825 2015-06-25 Richard Biener <rguenther@suse.de>
826
827 * tree-vect-stmts.c (vectorizable_conversion): Do not set
828 STMT_VINFO_VEC_STMT for SLP.
829 (vectorizable_store): Likewise.
830 (vectorizable_load): Likewise.
831 (vect_transform_stmt): Catch SLP vectorization clobbering
832 STMT_VINFO_VEC_STMT.
833
834 2015-06-25 Richard Biener <rguenther@suse.de>
835
836 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
837 dumping.
838 (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
839 cleanup resulting dead code and parameters.
840 (vect_transform_slp_perm_load): Adjust.
841
842 2015-06-25 Nick Clifton <nickc@redhat.com>
843
844 * config/bfin/bfin.c (bfin_expand_prologue): Set
845 current_function_static_stack_size if flag_stack_usage_info is
846 set.
847 * config/ft32/ft32.c (ft32_expand_prologue): Likewise.
848 * config/h8300/h8300.c (h8300_expand_prologue): Likewise.
849 * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
850 * config/m32c/m32c.c (m32c_emit_prologue): Likewise.
851
852 2015-06-25 Tom de Vries <tom@codesourcery.com>
853
854 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
855 comment that the generated IV is unsigned.
856
857 2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
858
859 PR target/29693
860 * config/arm/arm.c (arm_dbx_register_number): Return
861 DWARF_FRAME_REGISTERS by default.
862
863 2015-06-25 Tom de Vries <tom@codesourcery.com>
864
865 * dominance.c (calculate_dominance_info): Fix verify_dominators call
866 argument. Call verify_dominator when reusing dominator info.
867
868 2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
869
870 PR target/66563
871 * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
872 an additional element of the unspec vector. Modify indices
873 of operands.
874 (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
875 * config/sh/sh.c (prepare_move_operands): Pass incremented
876 const_int to gen_GOTaddr2picreg.
877 (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
878
879 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
880
881 * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
882 Condition on TARGET_FLOAT.
883
884 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
885
886 * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
887 and (no)crypto.
888
889 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
890
891 * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.
892
893 * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
894 aarch64_err_no_fpadvsimd.
895
896 * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
897 (aarch64_layout_arg, aarch64_init_cumulative_args): Use
898 aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
899 (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
900 Turn error into assert, test TARGET_FLOAT.
901 (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
902 TARGET_FLOAT.
903
904 2015-06-24 Aldy Hernandez <aldyh@redhat.com>
905
906 PR debug/66482
907 * dwarf2out.c (gen_formal_parameter_die): Remove assert.
908
909 2015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com>
910
911 * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
912
913 2015-06-24 Renlin Li <renlin.li@arm.com>
914
915 * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
916 __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
917
918 2015-06-24 Richard Biener <rguenther@suse.de>
919
920 * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
921 (main): Likewise.
922 (lower_opt_convert): Support lowering of conditional view_convert.
923 (parser::parse_operation): Likewise.
924 (parser::parse_for): Likewise.
925
926 2015-06-24 Renlin Li <renlin.li@arm.com>
927
928 * varasm.c (emit_local): Use unsigned int for align variable.
929
930 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
931
932 PR target/63408
933 * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
934 for negative numbers.
935
936 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
937
938 PR rtl-optimization/66306
939 * reload.c (find_reloads): Swap the match_dup info for
940 commutative operands.
941
942 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
943
944 * config/s390/vx-builtins.md
945 ("vec_scatter_element<mode>_<non_vec_int>")
946 ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
947 attribute with bhfgq.
948
949 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
950
951 * config/s390/s390-builtins.def: Fix vpopct instruction comments.
952
953 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
954
955 * config/s390/s390-builtin-types.def: Add flag to indicate the
956 options under which the function type is needed.
957 * config/s390/s390-builtins.def: Add flag to indicate the options
958 under which the builtin is enabled.
959 * config/s390/s390-builtins.h: Add flags parameter to macro
960 definitions.
961 (bflags_for_builtin): New function.
962 (flags_for_builtin): Renamed to ...
963 (opflags_for_builtin): ... this.
964 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
965 flags_for_builtin to bflags_for_builtin and
966 flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
967 * config/s390/s390.c: Add initialization of bflags_builtin and
968 opflags_builtin arrays.
969 Remove code for flags_builtin.
970 (s390_init_builtins): Only create builtin function types if one of
971 their flags is active.
972 Only create builtins if all of their flags are active.
973 (s390_expand_builtin): Rename flags_for_builtin to
974 opflags_for_builtin.
975
976 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
977
978 * config/s390/vecintrin.h: Remove internal builtins.
979
980 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
981
982 * config/s390/s390.c (s390_secondary_reload): Fix check for
983 GENERAL_REGS register class.
984
985 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
986
987 * config/s390/s390.c (s390_support_vector_misalignment): Call
988 default implementation for !TARGET_VX.
989
990 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
991
992 * config/s390/s390.c (s390_legitimate_constant_p): Add
993 TARGET_VX check.
994
995 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
996
997 * config/s390/s390.c (s390_vector_abi): New variable definition.
998 (s390_check_type_for_vector_abi): New function.
999 (TARGET_ASM_FILE_END): New macro definition.
1000 (s390_asm_file_end): New function.
1001 (s390_function_arg): Call s390_check_type_for_vector_abi.
1002 (s390_gimplify_va_arg): Likewise.
1003 * configure: Regenerate.
1004 * configure.ac: Check for .gnu_attribute Binutils feature.
1005
1006 2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
1007
1008 PR target/65803
1009 * config/bfin/bfin.c (hwloop_optimize): Initialize
1010 JUMP_LABEL for newly created jump.
1011
1012 2015-06-23 Tristan Gingold <gingold@adacore.com>
1013
1014 * collect-utils.c (collect_wait): Unlink the response file here
1015 instead of...
1016 (do_wait): ...here.
1017 (utils_cleanup): ...and here.
1018
1019 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
1020
1021 * df-scan.c: Don't include target-def.h.
1022 * targhooks.c: Likewise.
1023 * config/arm/arm-c.c: Likewise.
1024 * config/i386/i386-c.c: Likewise.
1025 * config/nds32/nds32-cost.c: Likewise.
1026 * config/nds32/nds32-fp-as-gp.c: Likewise.
1027 * config/nds32/nds32-intrinsic.c: Likewise.
1028 * config/nds32/nds32-isr.c: Likewise.
1029 * config/nds32/nds32-md-auxiliary.c: Likewise.
1030 * config/nds32/nds32-memory-manipulation.c: Likewise.
1031 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
1032 * config/nds32/nds32-predicates.c: Likewise.
1033
1034 2015-06-23 Richard Biener <rguenther@suse.de>
1035
1036 PR tree-optimization/66636
1037 * tree-vect-stmts.c (vectorizable_store): Properly compute the
1038 def type for further defs for strided stores.
1039
1040 2015-06-23 Nathan Sidwell <nathan@codesourcery.com>
1041
1042 * config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New
1043 conditional selects.
1044 (setcc_int<mode>, setcc_float<mode>): Reformat.
1045
1046 2015-06-23 Marek Polacek <polacek@redhat.com>
1047
1048 * match.pd ((x + y) - (x | y) -> x & y,
1049 (x + y) - (x & y) -> x | y): New patterns.
1050
1051 2015-06-23 Ludovic Courtès <ludo@gnu.org>
1052
1053 PR 65711
1054 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
1055 '-dynamic-linker' within %{!shared: ...}.
1056
1057 2015-06-23 Uros Bizjak <ubizjak@gmail.com>
1058
1059 PR target/66560
1060 * config/i386/predicates.md (addsub_vm_operator): New predicate.
1061 (addsub_vs_operator): Ditto.
1062 (addsub_vs_parallel): Ditto.
1063 * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes.
1064 (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3):
1065 Put minus RTX before plus and adjust vec_merge selector.
1066 (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1)
1067 (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s)
1068 (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns.
1069 (addsub vec_merge splitters): New combiner splitters.
1070 (addsub vec_select/vec_concat splitters): Ditto.
1071
1072 2015-06-23 Bin Cheng <bin.cheng@arm.com>
1073
1074 PR tree-optimization/66449
1075 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use
1076 POINTER_PLUS_EXPR for pointers.
1077
1078 2015-06-23 Alan Modra <amodra@gmail.com>
1079
1080 * rtlanal.c (commutative_operand_precedence): Correct comments.
1081 * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward
1082 declaration. Return an int. Distinguish REG,REG return from
1083 others.
1084 (struct simplify_plus_minus_op_data): Make local to function.
1085 (simplify_plus_minus): Don't set canonicalized if merely sorting
1086 registers. Avoid packing ops if nothing changes. White space fixes.
1087
1088 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
1089
1090 * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if
1091 -fdump-ada-spec is passed but not if -fsyntax-only is.
1092
1093 2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
1094
1095 PR bootstrap/63740
1096 * lra-lives.c (process_bb_lives): Check insn copying the same
1097 reload pseudo and don't create a copy for it.
1098
1099 2015-06-22 Tom de Vries <tom@codesourcery.com>
1100
1101 * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
1102 for cond_stmt.
1103
1104 2015-06-22 Tom de Vries <tom@codesourcery.com>
1105
1106 * builtins.def (DEF_GOMP_BUILTIN): Test
1107 'flag_tree_parallelize_loops > 1' instead of
1108 'flag_tree_parallelize_loops'. Test flag_cilkplus.
1109
1110 2015-06-22 Tom de Vries <tom@codesourcery.com>
1111
1112 * dominance.c (calculate_dominance_info): Verify dominators if
1113 early-out.
1114
1115 2015-06-22 Marek Polacek <polacek@redhat.com>
1116
1117 * match.pd ((x ^ y) ^ (x | y) -> x & y,
1118 (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
1119 (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
1120 (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
1121
1122 2015-06-22 Uros Bizjak <ubizjak@gmail.com>
1123
1124 PR target/65871
1125 * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
1126 cost of embedded comparison.
1127
1128 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1129
1130 PR target/65914
1131 * config/rs6000/predicates.md (altivec_register_operand): Permit
1132 virtual stack registers.
1133 (vsx_register_operand): Likewise.
1134 (vfloat_operand): Likewise.
1135 (vint_operand): Likewise.
1136 (vlogical_operand): Likewise.
1137
1138 2015-06-22 Richard Biener <rguenther@suse.de>
1139
1140 * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
1141 and single_scalar_iteration_cost members.
1142 (LOOP_VINFO_SCALAR_ITERATION_COST): New.
1143 (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
1144 (vect_get_single_scalar_iteration_cost): Remove.
1145 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
1146 Use LOOP_VINFO_SCALAR_ITERATION_COST.
1147 * tree-vect-loop.c (destroy_loop_vec_info): Free
1148 scalar_cost_vec.
1149 (vect_get_single_scalar_iteration_cost): Compute result into
1150 LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
1151 LOOP_VINFO_SCALAR_ITERATION_COST. Make static.
1152 (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
1153 (vect_estimate_min_profitable_iters): Use them.
1154
1155 2015-06-22 Christian Bruel <christian.bruel@st.com>
1156
1157 PR target/52144
1158 * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
1159 (TARGET_INSERT_ATTRIBUTES): Define.
1160 (thumb_flipper): New var.
1161 * config/arm/arm.opt (-mflip-thumb): New switch.
1162
1163 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
1164 Martin Liska <mliska@suse.cz>
1165
1166 PR ipa/65908
1167 * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
1168 construction of arg_types.
1169 (sem_function::sem_function): Likewise.
1170 (sem_function::~sem_function): Remove destruction of arg_types.
1171 (sem_function::compatible_parm_types_p): New function.
1172 (sem_function::equals_wpa): Reorg matching of return values
1173 and parameter types.
1174 (sem_function::equals_private): Reorg mathcing of argument types.
1175 (sem_function::parse_tree_args): Remove.
1176 * ipa-icf.h (init_wpa): Do not call it.
1177 (parse_tree_args): Remove.
1178 (compatible_parm_types_p): Declare.
1179 (result_type): Remove.
1180 (arg_types): Remove.
1181
1182 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
1183
1184 PR ipa/66351
1185 * ipa-polymorphic-call.c
1186 (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
1187 initializing alias oracle; fix formating; set base_alias_set if it
1188 is known.
1189
1190 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
1191
1192 * auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
1193 (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
1194 (find_inc): Likewise.
1195 * combine.c (combine_simplify_rtx): Use std::swap instead of manually
1196 swapping.
1197 * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
1198 * df-scan.c (df_swap_refs): Remove.
1199 (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
1200 * dominance.c (link_roots): Use std::swap instead of manually swapping.
1201 * expr.c (expand_expr_real_2, do_store_flag): Likewise.
1202 * fold-const.c (fold_relational_const): Likewise.
1203 * genattrtab.c (simplify_test_exp): Likewise.
1204 * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
1205 gimple_simplify): Likewise.
1206 * ifcvt.c (noce_try_abs, find_if_header): Likewise.
1207 * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
1208 * ipa-devirt.c (add_type_duplicate): Likewise.
1209 * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
1210 * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
1211 * lra.c (lra_create_copy): Likewise.
1212 * lto-streamer-out.c (DFS::DFS): Likewise.
1213 * modulo-sched.c (get_sched_window): Likewise.
1214 * omega.c (omega_pretty_print_problem): Likewise.
1215 * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
1216 * reload1.c (reloads_unique_chain_p): Likewise.
1217 * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
1218 (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
1219 use std::swap.
1220 * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
1221 manually swapping.
1222 * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
1223 predicate_mem_writes): Likewise.
1224 * tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
1225 * tree-predcom.c (combine_chains): Likewise.
1226 * tree-ssa-alias.c (nonoverlapping_component_refs_p,
1227 refs_may_alias_p_1): Likewise.
1228 * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
1229 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
1230 * tree-ssa-loop-niter.c (refine_bounds_using_guard,
1231 number_of_iterations_cond): Likewise.
1232 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
1233 * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
1234 * tree-vect-slp.c (vect_build_slp_tree): Likewise.
1235 * tree-vect-stmts.c (supportable_widening_operation): Likewise.
1236 * tree-vrp.c (extract_range_from_binary_expr_1,
1237 extract_range_from_unary_expr_1): Likewise.
1238
1239 2015-06-20 Marek Polacek <polacek@redhat.com>
1240
1241 * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
1242
1243 2015-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
1244
1245 PR target/66591
1246 * config/sh/sh.c (prepare_move_operands): Replace subreg
1247 index term with R0 for base and index addressing.
1248
1249 2015-06-19 Jim Wilson <jim.wilson@linaro.org>
1250
1251 * config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
1252 op1 is an fp zero.
1253 (movsf_aarch64): Change condition from register_operand to
1254 aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to
1255 load1. Change type for alternative 7 to store1.
1256 (movdf_aarch64): Likewise.
1257
1258 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
1259
1260 * config/vax/vax.md: Adjust sign/zero extend patterns to
1261 handle SUBREGs in operands[1].
1262
1263 2015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1264
1265 * config/i386/i386.c (ix86_function_versions): Use std::swap instead
1266 of manually swapping.
1267 (expand_vec_perm_interleave2): Likewise.
1268
1269 2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
1270
1271 * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
1272 reuse bounds created for abnormal ssa names.
1273
1274 2015-06-19 Jakub Jelinek <jakub@redhat.com>
1275
1276 * config/nvptx/nvptx.md (allocate_stack): Rename to...
1277 (allocate_stack_<mode>): ... this, and add :P on both
1278 match_operand and unspec.
1279 (allocate_stack): New expander.
1280
1281 2015-06-19 Christian Bruel <christian.bruel@st.com>
1282
1283 PR target/66541
1284 PR target/52144
1285 * config/arm/arm.c (arm_set_current_function): Handle
1286 explicit default options.
1287
1288 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
1289
1290 * config/i386/i386.md (*movsicc_noc_zext): New insn.
1291 (zero-extended cmove with mem peephole2): New pattern.
1292 (cmove with mem peephole2): Merge patterns.
1293
1294 2015-06-18 Segher Boessenkool <segher@kernel.crashing.org>
1295
1296 * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
1297
1298 2015-06-18 Steve Ellcey <sellcey@imgtec.com>
1299
1300 * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
1301 * config/mips/mips.md (*madd4<mode>): Ditto.
1302 (*nmadd3<mode>) Ditto.
1303 (*nmadd4<mode>_fastmath): Ditto.
1304 (*nmadd3<mode>_fastmath): Ditto.
1305 (*nmsub4<mode>): Ditto.
1306 (*nmsub3<mode>): Ditto.
1307 (*nmsub4<mode>_fastmath): Ditto.
1308 (*nmsub3<mode>_fastmath): Ditto.
1309
1310 2015-06-18 Michael Matz <matz@suse.de>
1311
1312 PR middle-end/66253
1313 * tree-vect-stmts.c (vectorizable_store): Implement non-SLP
1314 grouped strided stores.
1315 (vectorizable_load): Don't use the DR from first_stmt in
1316 the non-SLP grouped strided case.
1317
1318 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
1319
1320 PR target/66569
1321 * function.c (assign_bounds): Add arguments assign_regs,
1322 assign_special, assign_bt.
1323 (assign_parms): For vararg functions handle bounds in BT
1324 and special slots after incoming vararg bounds.
1325
1326 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
1327
1328 PR middle-end/66568
1329 * cfgexpand.c (expand_return): Handle missing bounds.
1330 (expand_gimple_stmt_1): Likewise.
1331 * tree-chkp.c (chkp_expand_zero_bounds): New.
1332 * tree-chkp.h (chkp_expand_zero_bounds): New.
1333
1334 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
1335
1336 PR middle-end/66567
1337 * ipa-chkp.c (chkp_maybe_create_clone): Require
1338 functions to be instrumentable.
1339 * tree-chkp.c (chkp_replace_function_pointer): Use
1340 chkp_instrumentable_p instead of attribute check.
1341
1342 2015-06-18 Richard Biener <rguenther@suse.de>
1343
1344 PR tree-optimization/66510
1345 * tree-vect-stmts.c (vectorizable_load): Properly compute the
1346 number of vector loads for SLP permuted loads.
1347 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
1348 check the stride for loop vectorization.
1349 (vect_enhance_data_refs_alignment): Deal with SLP adjusted
1350 vectorization factor.
1351 (vect_analyze_group_access): If the group size is not a power
1352 of two require a epilogue loop.
1353 * tree-vect-loop.c (vect_analyze_loop_2): Move alignment
1354 compute and optimizing and alias test pruning after final
1355 vectorization factor computation.
1356 * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
1357 vector alignment.
1358 (vect_transform_slp_perm_load): Properly compute the original
1359 number of vector load stmts.
1360
1361 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
1362
1363 * doc/invoke.texi (-fsanitize-sections): Split @var to avoid
1364 "unlikely character , in @var" warning.
1365
1366 2015-06-17 Uros Bizjak <ubizjak@gmail.com>
1367
1368 * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
1369 (ix86_function_arg_advance): Ditto.
1370 (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
1371
1372 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
1373
1374 * function.h (struct rtl_data): Remove struct and accessor macros.
1375 * emit-rtl.h (struct rtl_data): Relocate to here.
1376 * Makefile.in (GTFILES): Add emit-rtl.h.
1377 * df-core.c: Include emit-rtl.h.
1378 * genattrtab.c: Likewise.
1379 * genconditions.c: Likewise.
1380 * genpreds.c: Likewise.
1381 * genrecog.c: Likewise.
1382 * regcprop.c: Likewise.
1383 * resource.c: Likewise.
1384 * sched-rgn.c: Likewise.
1385 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
1386 * config/i386/winnt.c: Likewise.
1387
1388 2015-06-17 Jakub Jelinek <jakub@redhat.com>
1389
1390 PR middle-end/66429
1391 * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
1392 instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
1393 and has_force_vectorize_loops flags from cfun into
1394 child_cfun.
1395 (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
1396 if simduid is non-NULL.
1397 * tree-pass.h (make_pass_simduid_cleanup): New prototype.
1398 * passes.def (pass_simduid_cleanup): Add new pass after loop
1399 passes.
1400 * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
1401 indirection from htab argument's type.
1402 (shrink_simd_arrays): New function.
1403 (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
1404 Don't call adjust_simduid_builtins if there are no loops.
1405 (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
1406 (pass_simduid_cleanup::execute): New method.
1407 (make_pass_simduid_cleanup): New function.
1408
1409 2017-06-17 Andrew MacLeod <amacleod@redhat.com>
1410
1411 * tree-core.h (tree_target_option): Make opts field a pointer to a
1412 cl_target_option instead of an instance of the struct.
1413 * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
1414 the structure.
1415 * tree.c (make_node_stat ): Allocate a cl_target_option struct for
1416 TARGET_OPTION_NODE.
1417 (copy_node_stat): Allocate and copy struct cl_target_option.
1418
1419 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
1420
1421 * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
1422 Remove conditional exposure of prototypes.
1423 (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
1424 * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
1425 definitions in tree.h with functions.
1426 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
1427 anon_aggrname_p.
1428 * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
1429
1430 2015-06-17 Segher Boessenkool <segher@kernel.crashing.org>
1431
1432 * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
1433 (*cmp<mode>_signed): ... this.
1434 (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
1435 (*cmp<mode>_unsigned): ... this. Remove %b.
1436
1437 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
1438
1439 * coretypes.h: Include input.h and as-a.h.
1440 * rtl.h: Include input.h and as-a.h for generator files.
1441 * hwint.c: Include coretypes.h, don't include diagnostic-core.h.
1442 * vec.c: Don't include diagnostic-core.h.
1443 * alias.c: Do not include input.h, line-map.h or is-a.h.
1444 * asan.c: Likewise.
1445 * attribs.c: Likewise.
1446 * auto-inc-dec.c: Likewise.
1447 * auto-profile.c: Likewise.
1448 * bb-reorder.c: Likewise.
1449 * bt-load.c: Likewise.
1450 * builtins.c: Likewise.
1451 * caller-save.c: Likewise.
1452 * calls.c: Likewise.
1453 * ccmp.c: Likewise.
1454 * cfg.c: Likewise.
1455 * cfganal.c: Likewise.
1456 * cfgbuild.c: Likewise.
1457 * cfgcleanup.c: Likewise.
1458 * cfgexpand.c: Likewise.
1459 * cfghooks.c: Likewise.
1460 * cfgloop.c: Likewise.
1461 * cfgloop.h: Likewise.
1462 * cfgloopanal.c: Likewise.
1463 * cfgloopmanip.c: Likewise.
1464 * cfgrtl.c: Likewise.
1465 * cgraph.c: Likewise.
1466 * cgraphbuild.c: Likewise.
1467 * cgraphclones.c: Likewise.
1468 * cgraphunit.c: Likewise.
1469 * cilk-common.c: Likewise.
1470 * combine-stack-adj.c: Likewise.
1471 * combine.c: Likewise.
1472 * compare-elim.c: Likewise.
1473 * convert.c: Likewise.
1474 * coverage.c: Likewise.
1475 * cppbuiltin.c: Likewise.
1476 * cprop.c: Likewise.
1477 * cse.c: Likewise.
1478 * cselib.c: Likewise.
1479 * data-streamer-in.c: Likewise.
1480 * data-streamer-out.c: Likewise.
1481 * data-streamer.c: Likewise.
1482 * dbxout.c: Likewise.
1483 * dce.c: Likewise.
1484 * ddg.c: Likewise.
1485 * debug.c: Likewise.
1486 * df-core.c: Likewise.
1487 * df-problems.c: Likewise.
1488 * df-scan.c: Likewise.
1489 * df.h: Likewise.
1490 * dfp.c: Likewise.
1491 * diagnostic-core.h: Likewise.
1492 * diagnostic.c: Likewise.
1493 * dojump.c: Likewise.
1494 * dominance.c: Likewise.
1495 * domwalk.c: Likewise.
1496 * double-int.c: Likewise.
1497 * dse.c: Likewise.
1498 * dumpfile.c: Likewise.
1499 * dumpfile.h: Likewise.
1500 * dwarf2asm.c: Likewise.
1501 * dwarf2cfi.c: Likewise.
1502 * dwarf2out.c: Likewise.
1503 * emit-rtl.c: Likewise.
1504 * et-forest.c: Likewise.
1505 * except.c: Likewise.
1506 * explow.c: Likewise.
1507 * expmed.c: Likewise.
1508 * expr.c: Likewise.
1509 * final.c: Likewise.
1510 * fixed-value.c: Likewise.
1511 * fold-const.c: Likewise.
1512 * function.c: Likewise.
1513 * fwprop.c: Likewise.
1514 * gcc-plugin.h: Likewise.
1515 * gcse.c: Likewise.
1516 * generic-match-head.c: Likewise.
1517 * ggc-page.c: Likewise.
1518 * gimple-builder.c: Likewise.
1519 * gimple-expr.c: Likewise.
1520 * gimple-fold.c: Likewise.
1521 * gimple-iterator.c: Likewise.
1522 * gimple-low.c: Likewise.
1523 * gimple-match-head.c: Likewise.
1524 * gimple-pretty-print.c: Likewise.
1525 * gimple-ssa-isolate-paths.c: Likewise.
1526 * gimple-ssa-strength-reduction.c: Likewise.
1527 * gimple-streamer-in.c: Likewise.
1528 * gimple-streamer-out.c: Likewise.
1529 * gimple-streamer.h: Likewise.
1530 * gimple-walk.c: Likewise.
1531 * gimple.c: Likewise.
1532 * gimplify-me.c: Likewise.
1533 * gimplify.c: Likewise.
1534 * godump.c: Likewise.
1535 * graph.c: Likewise.
1536 * graphite-blocking.c: Likewise.
1537 * graphite-dependences.c: Likewise.
1538 * graphite-interchange.c: Likewise.
1539 * graphite-isl-ast-to-gimple.c: Likewise.
1540 * graphite-optimize-isl.c: Likewise.
1541 * graphite-poly.c: Likewise.
1542 * graphite-scop-detection.c: Likewise.
1543 * graphite-sese-to-poly.c: Likewise.
1544 * graphite.c: Likewise.
1545 * haifa-sched.c: Likewise.
1546 * hw-doloop.c: Likewise.
1547 * ifcvt.c: Likewise.
1548 * init-regs.c: Likewise.
1549 * input.c: Likewise.
1550 * internal-fn.c: Likewise.
1551 * ipa-chkp.c: Likewise.
1552 * ipa-comdats.c: Likewise.
1553 * ipa-cp.c: Likewise.
1554 * ipa-devirt.c: Likewise.
1555 * ipa-icf-gimple.c: Likewise.
1556 * ipa-icf.c: Likewise.
1557 * ipa-inline-analysis.c: Likewise.
1558 * ipa-inline-transform.c: Likewise.
1559 * ipa-inline.c: Likewise.
1560 * ipa-polymorphic-call.c: Likewise.
1561 * ipa-profile.c: Likewise.
1562 * ipa-prop.c: Likewise.
1563 * ipa-pure-const.c: Likewise.
1564 * ipa-ref.c: Likewise.
1565 * ipa-reference.c: Likewise.
1566 * ipa-split.c: Likewise.
1567 * ipa-utils.c: Likewise.
1568 * ipa-visibility.c: Likewise.
1569 * ipa.c: Likewise.
1570 * ira-build.c: Likewise.
1571 * ira-color.c: Likewise.
1572 * ira-conflicts.c: Likewise.
1573 * ira-costs.c: Likewise.
1574 * ira-emit.c: Likewise.
1575 * ira-lives.c: Likewise.
1576 * ira.c: Likewise.
1577 * jump.c: Likewise.
1578 * langhooks.c: Likewise.
1579 * lcm.c: Likewise.
1580 * loop-doloop.c: Likewise.
1581 * loop-init.c: Likewise.
1582 * loop-invariant.c: Likewise.
1583 * loop-iv.c: Likewise.
1584 * loop-unroll.c: Likewise.
1585 * lower-subreg.c: Likewise.
1586 * lra-assigns.c: Likewise.
1587 * lra-coalesce.c: Likewise.
1588 * lra-constraints.c: Likewise.
1589 * lra-eliminations.c: Likewise.
1590 * lra-lives.c: Likewise.
1591 * lra-remat.c: Likewise.
1592 * lra-spills.c: Likewise.
1593 * lra.c: Likewise.
1594 * lto-cgraph.c: Likewise.
1595 * lto-compress.c: Likewise.
1596 * lto-opts.c: Likewise.
1597 * lto-section-in.c: Likewise.
1598 * lto-section-out.c: Likewise.
1599 * lto-streamer-in.c: Likewise.
1600 * lto-streamer-out.c: Likewise.
1601 * lto-streamer.c: Likewise.
1602 * mcf.c: Likewise.
1603 * mode-switching.c: Likewise.
1604 * modulo-sched.c: Likewise.
1605 * omega.c: Likewise.
1606 * omp-low.c: Likewise.
1607 * optabs.c: Likewise.
1608 * opts-global.c: Likewise.
1609 * opts.h: Likewise.
1610 * passes.c: Likewise.
1611 * plugin.c: Likewise.
1612 * postreload-gcse.c: Likewise.
1613 * postreload.c: Likewise.
1614 * predict.c: Likewise.
1615 * pretty-print.h: Likewise.
1616 * print-rtl.c: Likewise.
1617 * print-tree.c: Likewise.
1618 * profile.c: Likewise.
1619 * real.c: Likewise.
1620 * realmpfr.c: Likewise.
1621 * recog.c: Likewise.
1622 * ree.c: Likewise.
1623 * reg-stack.c: Likewise.
1624 * regcprop.c: Likewise.
1625 * reginfo.c: Likewise.
1626 * regrename.c: Likewise.
1627 * regstat.c: Likewise.
1628 * reload.c: Likewise.
1629 * reload1.c: Likewise.
1630 * reorg.c: Likewise.
1631 * resource.c: Likewise.
1632 * rtl-chkp.c: Likewise.
1633 * rtl-error.c: Likewise.
1634 * rtlanal.c: Likewise.
1635 * rtlhooks.c: Likewise.
1636 * sanopt.c: Likewise.
1637 * sched-deps.c: Likewise.
1638 * sched-ebb.c: Likewise.
1639 * sched-rgn.c: Likewise.
1640 * sched-vis.c: Likewise.
1641 * sdbout.c: Likewise.
1642 * sel-sched-dump.c: Likewise.
1643 * sel-sched-ir.c: Likewise.
1644 * sel-sched.c: Likewise.
1645 * sese.c: Likewise.
1646 * shrink-wrap.c: Likewise.
1647 * simplify-rtx.c: Likewise.
1648 * stack-ptr-mod.c: Likewise.
1649 * statistics.c: Likewise.
1650 * stmt.c: Likewise.
1651 * stor-layout.c: Likewise.
1652 * store-motion.c: Likewise.
1653 * streamer-hooks.c: Likewise.
1654 * stringpool.c: Likewise.
1655 * symtab.c: Likewise.
1656 * target-globals.c: Likewise.
1657 * targhooks.c: Likewise.
1658 * toplev.c: Likewise.
1659 * tracer.c: Likewise.
1660 * trans-mem.c: Likewise.
1661 * tree-affine.c: Likewise.
1662 * tree-browser.c: Likewise.
1663 * tree-call-cdce.c: Likewise.
1664 * tree-cfg.c: Likewise.
1665 * tree-cfgcleanup.c: Likewise.
1666 * tree-chkp-opt.c: Likewise.
1667 * tree-chkp.c: Likewise.
1668 * tree-chrec.c: Likewise.
1669 * tree-complex.c: Likewise.
1670 * tree-data-ref.c: Likewise.
1671 * tree-dfa.c: Likewise.
1672 * tree-diagnostic.c: Likewise.
1673 * tree-dump.c: Likewise.
1674 * tree-eh.c: Likewise.
1675 * tree-emutls.c: Likewise.
1676 * tree-if-conv.c: Likewise.
1677 * tree-inline.c: Likewise.
1678 * tree-into-ssa.c: Likewise.
1679 * tree-iterator.c: Likewise.
1680 * tree-loop-distribution.c: Likewise.
1681 * tree-nested.c: Likewise.
1682 * tree-nrv.c: Likewise.
1683 * tree-object-size.c: Likewise.
1684 * tree-outof-ssa.c: Likewise.
1685 * tree-parloops.c: Likewise.
1686 * tree-phinodes.c: Likewise.
1687 * tree-predcom.c: Likewise.
1688 * tree-pretty-print.c: Likewise.
1689 * tree-profile.c: Likewise.
1690 * tree-scalar-evolution.c: Likewise.
1691 * tree-sra.c: Likewise.
1692 * tree-ssa-address.c: Likewise.
1693 * tree-ssa-alias.c: Likewise.
1694 * tree-ssa-ccp.c: Likewise.
1695 * tree-ssa-coalesce.c: Likewise.
1696 * tree-ssa-copy.c: Likewise.
1697 * tree-ssa-copyrename.c: Likewise.
1698 * tree-ssa-dce.c: Likewise.
1699 * tree-ssa-dom.c: Likewise.
1700 * tree-ssa-dse.c: Likewise.
1701 * tree-ssa-forwprop.c: Likewise.
1702 * tree-ssa-ifcombine.c: Likewise.
1703 * tree-ssa-live.c: Likewise.
1704 * tree-ssa-loop-ch.c: Likewise.
1705 * tree-ssa-loop-im.c: Likewise.
1706 * tree-ssa-loop-ivcanon.c: Likewise.
1707 * tree-ssa-loop-ivopts.c: Likewise.
1708 * tree-ssa-loop-manip.c: Likewise.
1709 * tree-ssa-loop-niter.c: Likewise.
1710 * tree-ssa-loop-prefetch.c: Likewise.
1711 * tree-ssa-loop-unswitch.c: Likewise.
1712 * tree-ssa-loop.c: Likewise.
1713 * tree-ssa-math-opts.c: Likewise.
1714 * tree-ssa-operands.c: Likewise.
1715 * tree-ssa-phiopt.c: Likewise.
1716 * tree-ssa-phiprop.c: Likewise.
1717 * tree-ssa-pre.c: Likewise.
1718 * tree-ssa-propagate.c: Likewise.
1719 * tree-ssa-reassoc.c: Likewise.
1720 * tree-ssa-sccvn.c: Likewise.
1721 * tree-ssa-scopedtables.c: Likewise.
1722 * tree-ssa-sink.c: Likewise.
1723 * tree-ssa-strlen.c: Likewise.
1724 * tree-ssa-structalias.c: Likewise.
1725 * tree-ssa-tail-merge.c: Likewise.
1726 * tree-ssa-ter.c: Likewise.
1727 * tree-ssa-threadedge.c: Likewise.
1728 * tree-ssa-threadupdate.c: Likewise.
1729 * tree-ssa-uncprop.c: Likewise.
1730 * tree-ssa-uninit.c: Likewise.
1731 * tree-ssa.c: Likewise.
1732 * tree-ssanames.c: Likewise.
1733 * tree-stdarg.c: Likewise.
1734 * tree-streamer-in.c: Likewise.
1735 * tree-streamer-out.c: Likewise.
1736 * tree-streamer.c: Likewise.
1737 * tree-switch-conversion.c: Likewise.
1738 * tree-tailcall.c: Likewise.
1739 * tree-vect-data-refs.c: Likewise.
1740 * tree-vect-generic.c: Likewise.
1741 * tree-vect-loop-manip.c: Likewise.
1742 * tree-vect-loop.c: Likewise.
1743 * tree-vect-patterns.c: Likewise.
1744 * tree-vect-slp.c: Likewise.
1745 * tree-vect-stmts.c: Likewise.
1746 * tree-vectorizer.c: Likewise.
1747 * tree-vrp.c: Likewise.
1748 * tree.c: Likewise.
1749 * tsan.c: Likewise.
1750 * ubsan.c: Likewise.
1751 * valtrack.c: Likewise.
1752 * value-prof.c: Likewise.
1753 * var-tracking.c: Likewise.
1754 * varasm.c: Likewise.
1755 * varpool.c: Likewise.
1756 * vmsdbgout.c: Likewise.
1757 * vtable-verify.c: Likewise.
1758 * web.c: Likewise.
1759 * wide-int.cc: Likewise.
1760 * xcoffout.c: Likewise.
1761 * common/common-target.h: Do not include input.h, line-map.h or is-a.h.
1762 * common/common-targhooks.c: Likewise.
1763 * config/aarch64/aarch64-builtins.c: Likewise.
1764 * config/aarch64/aarch64.c: Likewise.
1765 * config/alpha/alpha.c: Likewise.
1766 * config/arc/arc.c: Likewise.
1767 * config/arm/aarch-common.c: Likewise.
1768 * config/arm/arm-builtins.c: Likewise.
1769 * config/arm/arm-c.c: Likewise.
1770 * config/arm/arm.c: Likewise.
1771 * config/avr/avr-c.c: Likewise.
1772 * config/avr/avr-log.c: Likewise.
1773 * config/avr/avr.c: Likewise.
1774 * config/bfin/bfin.c: Likewise.
1775 * config/c6x/c6x.c: Likewise.
1776 * config/cr16/cr16.c: Likewise.
1777 * config/cris/cris.c: Likewise.
1778 * config/darwin-c.c: Likewise.
1779 * config/darwin.c: Likewise.
1780 * config/default-c.c: Likewise.
1781 * config/epiphany/epiphany.c: Likewise.
1782 * config/epiphany/mode-switch-use.c: Likewise.
1783 * config/epiphany/resolve-sw-modes.c: Likewise.
1784 * config/fr30/fr30.c: Likewise.
1785 * config/frv/frv.c: Likewise.
1786 * config/ft32/ft32.c: Likewise.
1787 * config/glibc-c.c: Likewise.
1788 * config/h8300/h8300.c: Likewise.
1789 * config/i386/i386-c.c: Likewise.
1790 * config/i386/i386.c: Likewise.
1791 * config/i386/msformat-c.c: Likewise.
1792 * config/i386/winnt-cxx.c: Likewise.
1793 * config/i386/winnt-stubs.c: Likewise.
1794 * config/i386/winnt.c: Likewise.
1795 * config/ia64/ia64-c.c: Likewise.
1796 * config/ia64/ia64.c: Likewise.
1797 * config/iq2000/iq2000.c: Likewise.
1798 * config/lm32/lm32.c: Likewise.
1799 * config/m32c/m32c-pragma.c: Likewise.
1800 * config/m32c/m32c.c: Likewise.
1801 * config/m32r/m32r.c: Likewise.
1802 * config/m68k/m68k.c: Likewise.
1803 * config/mcore/mcore.c: Likewise.
1804 * config/mep/mep-pragma.c: Likewise.
1805 * config/mep/mep.c: Likewise.
1806 * config/microblaze/microblaze-c.c: Likewise.
1807 * config/microblaze/microblaze.c: Likewise.
1808 * config/mips/mips.c: Likewise.
1809 * config/mmix/mmix.c: Likewise.
1810 * config/mn10300/mn10300.c: Likewise.
1811 * config/moxie/moxie.c: Likewise.
1812 * config/msp430/msp430-c.c: Likewise.
1813 * config/msp430/msp430.c: Likewise.
1814 * config/nds32/nds32-cost.c: Likewise.
1815 * config/nds32/nds32-fp-as-gp.c: Likewise.
1816 * config/nds32/nds32-intrinsic.c: Likewise.
1817 * config/nds32/nds32-isr.c: Likewise.
1818 * config/nds32/nds32-md-auxiliary.c: Likewise.
1819 * config/nds32/nds32-memory-manipulation.c: Likewise.
1820 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
1821 * config/nds32/nds32-predicates.c: Likewise.
1822 * config/nds32/nds32.c: Likewise.
1823 * config/nios2/nios2.c: Likewise.
1824 * config/nvptx/nvptx.c: Likewise.
1825 * config/pa/pa.c: Likewise.
1826 * config/pdp11/pdp11.c: Likewise.
1827 * config/rl78/rl78-c.c: Likewise.
1828 * config/rl78/rl78.c: Likewise.
1829 * config/rs6000/rs6000-c.c: Likewise.
1830 * config/rs6000/rs6000.c: Likewise.
1831 * config/rx/rx.c: Likewise.
1832 * config/s390/s390-c.c: Likewise.
1833 * config/s390/s390.c: Likewise.
1834 * config/sh/sh-c.c: Likewise.
1835 * config/sh/sh-mem.cc: Likewise.
1836 * config/sh/sh.c: Likewise.
1837 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
1838 * config/sh/sh_treg_combine.cc: Likewise.
1839 * config/sol2-c.c: Likewise.
1840 * config/sol2-cxx.c: Likewise.
1841 * config/sol2-stubs.c: Likewise.
1842 * config/sol2.c: Likewise.
1843 * config/sparc/sparc-c.c: Likewise.
1844 * config/sparc/sparc.c: Likewise.
1845 * config/spu/spu-c.c: Likewise.
1846 * config/spu/spu.c: Likewise.
1847 * config/stormy16/stormy16.c: Likewise.
1848 * config/tilegx/mul-tables.c: Likewise.
1849 * config/tilegx/tilegx-c.c: Likewise.
1850 * config/tilegx/tilegx.c: Likewise.
1851 * config/tilepro/mul-tables.c: Likewise.
1852 * config/tilepro/tilepro-c.c: Likewise.
1853 * config/tilepro/tilepro.c: Likewise.
1854 * config/v850/v850-c.c: Likewise.
1855 * config/v850/v850.c: Likewise.
1856 * config/vax/vax.c: Likewise.
1857 * config/visium/visium.c: Likewise.
1858 * config/vms/vms-c.c: Likewise.
1859 * config/vms/vms.c: Likewise.
1860 * config/vxworks.c: Likewise.
1861 * config/winnt-c.c: Likewise.
1862 * config/xtensa/xtensa.c: Likewise.
1863
1864 2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
1865
1866 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
1867 function.
1868 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
1869
1870 2015-06-17 Richard Biener <rguenther@suse.de>
1871
1872 PR tree-optimization/66251
1873 * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
1874 stmts for SLP strided stores.
1875
1876 Revert
1877 2015-05-22 Richard Biener <rguenther@suse.de>
1878
1879 PR tree-optimization/66251
1880 * tree-vect-stmts.c (vectorizable_conversion): Properly
1881 set STMT_VINFO_VEC_STMT even for the SLP case.
1882
1883 2015-05-26 Michael Matz <matz@suse.de>
1884
1885 PR middle-end/66251
1886 * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
1887 STMT_VINFO_VEC_STMT, also with SLP.
1888
1889 2015-06-16 Uros Bizjak <ubizjak@gmail.com>
1890
1891 PR target/56766
1892 * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
1893 (*avx_addsubv4df3_1s): Ditto.
1894 (*sse3_addsubv2df3_1): Ditto.
1895 (*sse3_addsubv2df3_1s): Ditto.
1896 (*avx_addsubv8sf3_1): Ditto.
1897 (*avx_addsubv8sf3_1s): Ditto.
1898 (*sse3_addsubv4sf3_1): Ditto.
1899 (*sse3_addsubv4sf3_1s): Ditto.
1900
1901 2015-06-16 Steve Ellcey <sellcey@imgtec.com>
1902
1903 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
1904 (SYSROOT_SUFFIX_SPEC): Update.
1905 (SYSROOT_HEADERS_SUFFIX_SPEC): New.
1906 (STARTFILE_PREFIX_SPEC): Update.
1907 * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
1908 (MULTILIB_REQUIRED): New.
1909 (MULTILIB_OSDIRNAMES): New.
1910 * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
1911 (MULTILIB_REQUIRED): New.
1912 (MULTILIB_OSDIRNAMES): New.
1913
1914 2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
1915
1916 * config/aarch64/aarch64-arches.def: Add "armv8.1-a".
1917 * config/aarch64/aarch64-options-extensions.def: Update "fP",
1918 "simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
1919 * gcc/config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
1920 (AARCH64_FL_PAN): New.
1921 (AARCH64_FL_LOR): New.
1922 (AARCH64_FL_RDMA): New.
1923 (AARCH64_FL_FOR_ARCH8_1): New.
1924 * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
1925 -march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
1926
1927 2015-06-16 Martin Liska <mliska@suse.cz>
1928
1929 * bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
1930 * hash-table.c (void dump_hash_table_loc_statistics): Add missing
1931 guard.
1932
1933 2015-06-16 Richard Biener <rguenther@suse.de>
1934
1935 * tree-vect-stmts.c (vectorizable_store): Adjust.
1936 (vectorizable_load): Likewise.
1937 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
1938 Simplify.
1939 (vect_create_data_ref_ptr): Likewise.
1940 (bump_vector_ptr): Adjust.
1941
1942 2015-06-16 Richard Biener <rguenther@suse.de>
1943
1944 * tree-vect-stmts.c (vectorizable_load): Properly start loads
1945 with the first element if this is grouped loads.
1946
1947 2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
1948
1949 * config/arm/arm-protos.h (struct tune_params): Rename
1950 log_op_non_sc to log_op_non_short_circuit, and rename enum
1951 values to expand SC to SHORT_CIRCUIT.
1952 * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
1953 to LOG_OP_NON_SHORT_CIRCUIT.
1954 (arm_fastmul_tune):Likewise
1955 (arm_strongarm_tune): Likewise.
1956 (arm_xscale_tune): Likewise.
1957 (arm_9e_tune): Likewise.
1958 (arm_marvell_pj4_tune): Likewise.
1959 (arm_v6t2_tune): Likewise.
1960 (arm_cortex_tune): Likewise.
1961 (arm_cortex_a8_tune): Likewise.
1962 (arm_cortex_a7_tune): Likewise.
1963 (arm_cortex_a15_tune): Likewise.
1964 (arm_cortex_a53_tune): Likewise.
1965 (arm_cortex_a57_tune): Likewise.
1966 (arm_xgene1_tune): Likewise.
1967 (arm_cortex_a5_tune): Likewise.
1968 (arm_cortex_a9_tune): Likewise.
1969 (arm_cortex_a12_tune): Likewise.
1970 (arm_v7m_tune): Likewise.
1971 (arm_cortex_m7_tune): Likewise.
1972 (arm_v6m_tune): Likewise.
1973 (arm_fa726te_tune): Likewise.
1974
1975 2015-06-15 David Edelsohn <dje.gcc@gmail.com>
1976
1977 * altivec.md: Delete UNSPEC_VMLADDUHM.
1978 (mulv4si3_p8): New pattern.
1979 (mulv4si3): Use it for POWER8.
1980 (mulv8hi3): Use vmladduhm with zero addend.
1981 (altivec_vmladduhm): Descriptive RTL.
1982
1983 2015-06-15 Jim Wilson <jim.wilson@linaro.org>
1984
1985 * config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
1986 to use neon_move instead of mov_imm.
1987 (movdi_aarch64): Change alternative 14 to use neon_move not fmov.
1988 (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
1989
1990 * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
1991 aarch64_float_const_zero_rtx_p check before TFmode check.
1992 * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
1993 an fp zero.
1994 (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
1995 code and attributes to match. Change condition from register_operand
1996 to aarch64_reg_or_fp_zero for op1. Change type for ldp from
1997 neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
1998 to store2.
1999
2000 2015-06-15 Aldy Hernandez <aldyh@redhat.com>
2001
2002 PR debug/66535
2003 * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
2004 there is no parent.
2005
2006 2015-06-14 Shiva Chen <shiva0217@gmail.com>
2007
2008 * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for
2009 HOST_WIDE_INT parameter.
2010
2011 2015-06-14 Jan Hubicka <hubicka@ucw.cz>
2012
2013 PR ipa/66181
2014 * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
2015 * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
2016 TYPE_NO_FORCE_BLK.
2017 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
2018
2019 2015-06-14 Richard Sandiford <richard.sandiford@arm.com>
2020
2021 * rtl.h (classify_insn): Declare.
2022 * emit-rtl.c (classify_insn): Move to...
2023 * rtl.c: ...here and add generator support.
2024 * gensupport.h (get_emit_function, needs_barrier_p): Declare.
2025 * gensupport.c (get_emit_function, needs_barrier_p): New functions.
2026 * genemit.c (gen_emit_seq): New function.
2027 (gen_expand, gen_split): Use it.
2028
2029 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
2030
2031 * tree.c (make_vector_stat): Fix comment to state that the
2032 function returns a VECTOR_CST.
2033
2034 2015-06-13 Richard Sandiford <richard.sandiford@arm.com>
2035
2036 * gensupport.h (add_implicit_parallel): Declare.
2037 * genrecog.c (add_implicit_parallel): Move to...
2038 * gensupport.c (add_implicit_parallel): ...here.
2039 (process_one_cond_exec): Use it.
2040 * genemit.c (gen_insn): Likewise.
2041
2042 2015-06-13 Iain Sandoe <iain@codesourcery.com>
2043
2044 PR bootstrap/66448
2045 * passes.c (rest_of_decl_compilation): Do not register globals for
2046 early debug if they are declared in built-ins.
2047
2048 2015-06-12 Aldy Hernandez <aldyh@redhat.com>
2049
2050 * dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
2051
2052 2015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2053
2054 * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
2055 manually swapping.
2056 (noce_try_cmove_arith): Likewise.
2057 (noce_get_alt_condition): Likewise.
2058
2059 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2060
2061 * common/config/i386/i386-common.c
2062 (OPTION_MASK_ISA_MWAITX_SET): New.
2063 (ix86_handle_option): Handle mwaitx.
2064 * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
2065 (x86_64-*-*): Likewise.
2066 * config/i386/mwaitxintrin.h: New header.
2067 * config/i386/cpuid.h (bit_MWAITX): Define.
2068 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
2069 MWAITX support.
2070 * config/i386/i386.opt (mwaitx): New.
2071 * config/i386/i386-builtin-types.def
2072 (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
2073 * config/i386/i386-c.c: Define __MWAITX__ if needed.
2074 * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
2075 (PTA_MWAITX): New.
2076 (ix86_option_override_internal): Handle new option.
2077 (processor_alias_table): Added PTA_MWAITX.
2078 (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
2079 (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
2080 (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
2081 IX86_BUILTIN_MONITORX built-ins.
2082 * config/i386/i386.h (TARGET_MWAITX): New.
2083 * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
2084 UNSPEC_MONITORX.
2085 (mwaitx): New pattern.
2086 (monitorx_<mode>): New pattern.
2087 * config/i386/x86intrin.h: Include mwaitxintrin.h.
2088 * doc/extend.texi: Document monitorx and mwaitx builtins.
2089 * doc/invoke.texi: Document -mmwaitx option.
2090
2091 2015-06-12 Uros Bizjak <ubizjak@gmail.com>
2092
2093 * emit-rtl.c (need_atomic_barrier_p): Mask model with
2094 MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
2095
2096 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
2097
2098 * dbxout.c (xcoff_debug_hooks): Provide a function for
2099 register_main_translation_unit hook.
2100
2101 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
2102
2103 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
2104 variants cases from switch.
2105 (rs6000_post_atomic_barrier): Same.
2106 (rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
2107 (rs6000_expand_atomic_exchange): Same.
2108 (rs6000_expand_atomic_op): Same.
2109 * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
2110 SYNC variants cases from switch.
2111 (atomic_load): Same.
2112 (atomic_store): Same.
2113
2114 2015-06-11 John David Anglin <danglin@gcc.gnu.org>
2115
2116 * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
2117 CONST_INT for goto.
2118
2119 2015-06-11 Aldy Hernandez <aldyh@redhat.com>
2120
2121 PR bootstrap/66448
2122 * dwarf2out.c (check_die): Check for common duplicate attributes.
2123 (add_location_or_const_value_attribute): Do not add duplicate
2124 attributes.
2125 (gen_formal_parameter_die): Do not add DW_AT_artificial the second
2126 time around.
2127 (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
2128 (gen_type_die_with_usage): Call check_die.
2129 (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
2130
2131 2015-06-11 Jason Merrill <jason@redhat.com>
2132
2133 * dwarf2out.c (prune_unused_types): Handle unused top-level limbo
2134 dies.
2135
2136 2015-06-11 Marek Polacek <polacek@redhat.com>
2137
2138 * match.pd ((x & y) ^ (x | y)): Don't check for single_use.
2139
2140 2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
2141
2142 PR bootstrap/66252
2143 * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
2144 * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
2145 (*addx_extend_sp32): Fix pasto.
2146 (*subx_extend): Rename into...
2147 (*subx_extend_sp32): ...this.
2148 (*adddi3_extend_sp32): Add earlyclobber.
2149 (*subdi3_insn_sp32): Likewise.
2150 (*subdi3_extend_sp32): Likewise.
2151 (*and_not_di_sp32): Likewise.
2152 (*or_not_di_sp32): Likewise.
2153 (*xor_not_di_sp32): Likewise.
2154 (*negdi2_sp32): Likewise.
2155 (*one_cmpldi2_sp32): Likewise.
2156
2157 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
2158
2159 * debug.h (struct gcc_debug_hooks): Add a
2160 register_main_translation_unit hook.
2161 * debug.c (do_nothing_debug_hooks): Provide a function for this
2162 new hook.
2163 * dbxout.c (dbx_debug_hooks): Likewise.
2164 * sdbout.c (sdb_debug_hooks): Likewise.
2165 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
2166 * dwarf2out.c (main_translation_unit): New global variable.
2167 (dwarf2out_register_main_translation_unit): New function
2168 implementing the new hook.
2169 (dwarf2_debug_hooks): Assign
2170 dwarf2out_register_main_translation_unit to this new hook.
2171 (dwarf2out_init): Associate any main translation unit to
2172 comp_unit_die ().
2173
2174 2015-06-11 Marek Polacek <polacek@redhat.com>
2175
2176 * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
2177
2178 2015-06-11 Marek Polacek <polacek@redhat.com>
2179
2180 * match.pd: Use single_use throughout.
2181
2182 2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2183
2184 * config/arm/arm.c (arm_option_params_internal): When optimising
2185 for speed set max_insns_skipped when arm_restrict_it.
2186
2187 2015-06-11 Christian Bruel <christian.bruel@st.com>
2188
2189 PR target/52144
2190 * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
2191 macros in ...
2192 (arm_cpu_builtins): New function.
2193 (arm_pragma_target_parse): Call arm_cpu_builtins.
2194 * config/arm/arm-protos.h (arm_cpu_builtins): Declare.
2195 (arm_register_target_pragmas): Likewise.
2196 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
2197 Call arm_register_target_pragmas.
2198 * config/arm/arm-c.c (arm_register_target_pragmas): New function.
2199 (arm_pragma_target_parse): Likewise.
2200
2201 2015-06-10 Kaz Kojima <kkojima@gcc.gnu.org>
2202
2203 * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative
2204 of the second operand.
2205
2206 2015-06-10 Uros Bizjak <ubizjak@gmail.com>
2207
2208 PR target/66473
2209 * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
2210 to prepare mask operand for AVX512 modes.
2211
2212 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
2213
2214 PR target/66474
2215 * doc/md.texi (Machine Constraints): Document that on the PowerPC
2216 if you use a constraint that targets a VSX register, you must use
2217 %x<n> in the template.
2218
2219 2015-06-10 Max Filippov <jcmvbkbc@gmail.com>
2220
2221 * config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
2222 * config/xtensa/xtensa.md (define_attr "type"): New type "trap".
2223 (define_insn "trap"): New definition.
2224
2225 2015-06-10 Richard Biener <rguenther@suse.de>
2226
2227 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
2228 out from ...
2229 (vect_supported_load_permutation_p): ... here. Handle
2230 supportable permutations in reductions.
2231 * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
2232 for vectorizing strided group loads.
2233
2234 2015-06-10 Jakub Jelinek <jakub@redhat.com>
2235
2236 PR target/66470
2237 * config/i386/i386.c (ix86_split_long_move): For collisions
2238 involving direct tls segment refs, move the UNSPEC_TP possibly
2239 wrapped in ZERO_EXTEND out of the address for lea, to each of
2240 the memory loads.
2241
2242 2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2243
2244 * config/arm/sync.md (*memory_barrier): Use dmb ish instead of
2245 dmb sy. Adjust tabs.
2246
2247 2015-06-10 Tom de Vries <tom@codesourcery.com>
2248
2249 * omp-low.c (expand_omp_target): Remove duplicate declaration of node.
2250
2251 2015-06-10 Martin Liska <mliska@suse.cz>
2252
2253 PR bootstrap/66471
2254 * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
2255 all enum values in mem_alloc_origin.
2256 * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
2257 name.
2258 * alloc-pool.h (pool_allocator::pool_allocator): Likewise.
2259 * bitmap.c (bitmap_register): Likewise.
2260 (dump_bitmap_statistics): Likewise.
2261 * ggc-common.c (dump_ggc_loc_statistics): Likewise.
2262 (ggc_record_overhead): Likewise.
2263 * hash-map.h: Likewise.
2264 * hash-set.h: Likewise.
2265 * hash-table.c (void dump_hash_table_loc_statistics): Likewise.
2266 * hash-table.h: Likewise.
2267 * vec.c (vec_prefix::register_overhead): Likewise.
2268 (vec_prefix::release_overhead): Likewise.
2269 (dump_vec_loc_statistics): Likewise.
2270
2271 2015-06-09 Christian Bruel <christian.bruel@st.com>
2272
2273 PR target/52144
2274 * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
2275 * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
2276 (arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
2277 * config/arm/arm.h (SWITCHABLE_TARGET): Define.
2278 * config/arm/arm.c (arm_reset_previous_fndecl): New functions.
2279 (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
2280 (arm_valid_target_attribute_p): Likewise.
2281 (arm_set_current_function, arm_can_inline_p): Likewise.
2282 (arm_valid_target_attribute_rec): Likewise.
2283 (arm_previous_fndecl): New variable.
2284 (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
2285 (TARGET_CAN_INLINE_P): Define.
2286 (arm_asm_trampoline_template): Emit mode.
2287 (arm_file_start): Don't set unified syntax.
2288 (arm_declare_function_name): Set unified syntax and mode.
2289 (arm_option_override): Init target_option_default_node.
2290 and target_option_current_node.
2291 * config/arm/arm.md (*call_value_symbol): Set mode when possible.
2292 (*call_symbol): Likewise.
2293 * doc/extend.texi: Document ARM/Thumb target attribute.
2294 * doc/invoke.texi: Likewise.
2295
2296 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
2297
2298 Revert:
2299 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
2300 PR rtl-optimization/64164
2301 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
2302 * tree-ssa-copyrename.c: Removed.
2303 * opts.c (default_options_table): Drop -ftree-copyrename. Add
2304 -ftree-coalesce-vars.
2305 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
2306 * common.opt (ftree-copyrename): Ignore.
2307 (ftree-coalesce-inlined-vars): Likewise.
2308 * doc/invoke.texi: Remove the ignored options above.
2309 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
2310 * tree-ssa-coalesce.h: ... here.
2311 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
2312 headers required by it.
2313 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
2314 across variables when flag_tree_coalesce_vars. Check register
2315 use and promoted modes to allow coalescing. Moved to
2316 tree-ssa-coalesce.c.
2317 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
2318 with its member functions to tree-ssa-coalesce.c.
2319 (var_map_base_init): Likewise. Renamed to
2320 compute_samebase_partition_bases.
2321 (partition_view_normal): Drop want_bases parameter.
2322 (partition_view_bitmap): Likewise.
2323 * tree-ssa-live.h: Adjust declarations.
2324 * tree-ssa-coalesce.c: Include explow.h.
2325 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
2326 default defs at the entry point.
2327 (dump_part_var_map): New.
2328 (compute_optimized_partition_bases): New, called by...
2329 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
2330 of compute_samebase_partition_bases. Adjust.
2331 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
2332 * cfgexpand.c (leader_merge): New.
2333 (get_rtl_for_parm_ssa_default_def): New.
2334 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
2335 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
2336 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
2337 redundant MEM attr setting.
2338 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
2339 from...
2340 (expand_one_stack_var): ... this. New wrapper to check and
2341 skip already expanded SSA partitions.
2342 (record_alignment_for_reg_var): New, factored out of...
2343 (expand_one_var): ... this.
2344 (expand_one_ssa_partition): New.
2345 (adjust_one_expanded_partition_var): New.
2346 (expand_one_register_var): Check and skip already expanded SSA
2347 partitions.
2348 (expand_used_vars): Don't create DECLs for anonymous SSA
2349 names. Expand all SSA partitions, then adjust all SSA names.
2350 (pass::execute): Replace the loops that set
2351 SA.partition_to_pseudo from partition leaders and cleared
2352 DECL_RTL for multi-location variables, and that which used to
2353 rename vars and set attrs, with one that clears DECL_RTL and
2354 checks that PARMs and RESULTs default_defs match DECL_RTL.
2355 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
2356 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
2357 * explow.c (promote_ssa_mode): New.
2358 * explow.h (promote_ssa_mode): Declare.
2359 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
2360 * function.c: Include cfgexpand.h.
2361 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
2362 (use_register_for_parm_decl): Wrapper for the above to
2363 special-case the result_ptr.
2364 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
2365 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
2366 multiple locations.
2367 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
2368 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
2369 (assign_parm_setup_block): Prefer SSA-assigned location.
2370 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
2371 if stack_parm is NULL.
2372 (assign_parm_setup_stack): Prefer SSA-assigned location.
2373 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
2374 rtl before testing for pointer bounds. Special-case result_ptr.
2375 (expand_function_start): Maybe reset DECL_RTL of result.
2376 Prefer SSA-assigned location for result and static chain.
2377 Factor out DECL_RESULT and SET_DECL_RTL.
2378 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
2379 anonymous SSA names. Use promote_ssa_mode.
2380 (get_temp_reg): Likewise.
2381 (remove_ssa_form): Adjust.
2382 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
2383 and get its reg_usage for reg invalidation.
2384 (compute_bb_dataflow): Pass it insn.
2385 (emit_notes_in_bb): Likewise.
2386 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
2387 fail assert on conversion between unsigned types.
2388
2389 2015-06-09 Tom de Vries <tom@codesourcery.com>
2390
2391 PR tree-optimization/65460
2392 * omp-low.c (expand_omp_target): Set parallelized_function on
2393 cgraph_node for child_fn.
2394
2395 2015-06-09 Tom de Vries <tom@codesourcery.com>
2396
2397 * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
2398 parallelized_function before add_new_function.
2399
2400 2015-06-09 Andrew MacLeod <amacleod@redhat.com>
2401
2402 * gcc-plugin.h: Move decls to plugin.h and include it.
2403 * plugin.h: Relocate decls from gcc-plugin.h
2404 * ggc-page.c: Include required header files.
2405 * passes.c: Likewise.
2406 * cgraphunit.c: Likewise.
2407
2408 2015-06-09 Tom de Vries <tom@codesourcery.com>
2409
2410 * tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
2411
2412 2015-06-09 Jason Merrill <jason@redhat.com>
2413
2414 PR bootstrap/66448
2415 * toplev.c (check_global_declaration): Don't warn about a clone.
2416
2417 2015-06-09 Marek Polacek <polacek@redhat.com>
2418
2419 PR tree-optimization/66299
2420 * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
2421 ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
2422 patterns.
2423
2424 2015-06-09 Richard Biener <rguenther@suse.de>
2425
2426 * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
2427 (vect_analyze_slp_instance): Instead do not falsely drop
2428 load permutations.
2429
2430 2015-06-09 Richard Biener <rguenther@suse.de>
2431
2432 PR middle-end/66423
2433 * match.pd: Handle A % (unsigned)(1 << B).
2434
2435 2015-06-09 Aldy Hernandez <aldyh@redhat.com>
2436
2437 * varasm.c (output_object_block_htab): Remove.
2438 (output_object_block_compare): New.
2439 (output_object_blocks): Sort named object_blocks before outputting
2440 them.
2441
2442 2015-06-09 Richard Biener <rguenther@suse.de>
2443
2444 PR tree-optimization/66419
2445 * tree-vect-slp.c (vect_supported_load_permutation_p): Properly
2446 consider GROUP_GAP when detecting a perfect subchain.
2447
2448 2015-06-09 Nick Clifton <nickc@redhat.com>
2449
2450 * config/rl78/rl78.c (rl78_select_section): When -mes0 is active
2451 place read only data in the .frodata section.
2452
2453 2015-06-09 Shiva Chen <shiva0217@gmail.com>
2454
2455 * sync.md (atomic_load<mode>): Add conditional code for lda/ldr
2456 (atomic_store<mode>): Likewise.
2457
2458 2015-06-09 Richard Biener <rguenther@suse.de>
2459
2460 * cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
2461
2462 2015-06-09 Richard Biener <rguenther@suse.de>
2463
2464 PR middle-end/66413
2465 * tree-inline.c (insert_init_debug_bind): Unshare value.
2466
2467 2015-06-09 Richard Biener <rguenther@suse.de>
2468
2469 PR tree-optimization/66396
2470 * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
2471 Rename virtual operands.
2472
2473 2015-06-09 Tom de Vries <tom@codesourcery.com>
2474
2475 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
2476 always return false.
2477
2478 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
2479
2480 PR rtl-optimization/64164
2481 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
2482 * tree-ssa-copyrename.c: Removed.
2483 * opts.c (default_options_table): Drop -ftree-copyrename. Add
2484 -ftree-coalesce-vars.
2485 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
2486 * common.opt (ftree-copyrename): Ignore.
2487 (ftree-coalesce-inlined-vars): Likewise.
2488 * doc/invoke.texi: Remove the ignored options above.
2489 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
2490 * tree-ssa-coalesce.h: ... here.
2491 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
2492 headers required by it.
2493 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
2494 across variables when flag_tree_coalesce_vars. Check register
2495 use and promoted modes to allow coalescing. Moved to
2496 tree-ssa-coalesce.c.
2497 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
2498 with its member functions to tree-ssa-coalesce.c.
2499 (var_map_base_init): Likewise. Renamed to
2500 compute_samebase_partition_bases.
2501 (partition_view_normal): Drop want_bases parameter.
2502 (partition_view_bitmap): Likewise.
2503 * tree-ssa-live.h: Adjust declarations.
2504 * tree-ssa-coalesce.c: Include explow.h.
2505 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
2506 default defs at the entry point.
2507 (dump_part_var_map): New.
2508 (compute_optimized_partition_bases): New, called by...
2509 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
2510 of compute_samebase_partition_bases. Adjust.
2511 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
2512 * cfgexpand.c (leader_merge): New.
2513 (get_rtl_for_parm_ssa_default_def): New.
2514 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
2515 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
2516 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
2517 redundant MEM attr setting.
2518 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
2519 from...
2520 (expand_one_stack_var): ... this. New wrapper to check and
2521 skip already expanded SSA partitions.
2522 (record_alignment_for_reg_var): New, factored out of...
2523 (expand_one_var): ... this.
2524 (expand_one_ssa_partition): New.
2525 (adjust_one_expanded_partition_var): New.
2526 (expand_one_register_var): Check and skip already expanded SSA
2527 partitions.
2528 (expand_used_vars): Don't create DECLs for anonymous SSA
2529 names. Expand all SSA partitions, then adjust all SSA names.
2530 (pass::execute): Replace the loops that set
2531 SA.partition_to_pseudo from partition leaders and cleared
2532 DECL_RTL for multi-location variables, and that which used to
2533 rename vars and set attrs, with one that clears DECL_RTL and
2534 checks that PARMs and RESULTs default_defs match DECL_RTL.
2535 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
2536 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
2537 * explow.c (promote_ssa_mode): New.
2538 * explow.h (promote_ssa_mode): Declare.
2539 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
2540 * function.c: Include cfgexpand.h.
2541 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
2542 (use_register_for_parm_decl): Wrapper for the above to
2543 special-case the result_ptr.
2544 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
2545 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
2546 multiple locations.
2547 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
2548 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
2549 (assign_parm_setup_block): Prefer SSA-assigned location.
2550 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
2551 if stack_parm is NULL.
2552 (assign_parm_setup_stack): Prefer SSA-assigned location.
2553 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
2554 rtl before testing for pointer bounds. Special-case result_ptr.
2555 (expand_function_start): Maybe reset DECL_RTL of result.
2556 Prefer SSA-assigned location for result and static chain.
2557 Factor out DECL_RESULT and SET_DECL_RTL.
2558 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
2559 anonymous SSA names. Use promote_ssa_mode.
2560 (get_temp_reg): Likewise.
2561 (remove_ssa_form): Adjust.
2562 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
2563 and get its reg_usage for reg invalidation.
2564 (compute_bb_dataflow): Pass it insn.
2565 (emit_notes_in_bb): Likewise.
2566 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
2567 fail assert on conversion between unsigned types.
2568
2569 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
2570
2571 PR debug/58315
2572 * tree-inline.c (reset_debug_binding): New.
2573 (reset_debug_bindings): Likewise.
2574 (expand_call_inline): Call it.
2575
2576 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
2577
2578 * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
2579 TYPE_STRING_FLAG.
2580
2581 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
2582
2583 * lto-streamer-out.c (lto_output_location): Stream
2584 reserved locations correctly.
2585 * lto-streamer-in.c (lto_output_location): Likewise.
2586
2587 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
2588
2589 * coretypes.h: Include hash-table.h and hash-set.h for host files.
2590 * ggc.h: Don't include statistics.h>
2591 * hash-map.h: Remove all includes.
2592 * hash-set.h: Likewise.
2593 * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
2594 the include list. Remove <new>.
2595 * inchash.h: Remove all includes.
2596 * mem-stats.h: Likewise.
2597 * vec.h: No special processing for generators or ggc.
2598 * alias.c : Adjust include files.
2599 * alloc-pool.c : Likewise.
2600 * alloc-pool.h : Likewise.
2601 * asan.c : Likewise.
2602 * attribs.c : Likewise.
2603 * auto-inc-dec.c : Likewise.
2604 * auto-profile.c : Likewise.
2605 * bb-reorder.c : Likewise.
2606 * bitmap.c : Likewise.
2607 * bitmap.h : Likewise.
2608 * bt-load.c : Likewise.
2609 * builtins.c : Likewise.
2610 * caller-save.c : Likewise.
2611 * calls.c : Likewise.
2612 * ccmp.c : Likewise.
2613 * cfg.c : Likewise.
2614 * cfganal.c : Likewise.
2615 * cfgbuild.c : Likewise.
2616 * cfgcleanup.c : Likewise.
2617 * cfgexpand.c : Likewise.
2618 * cfghooks.c : Likewise.
2619 * cfgloop.c : Likewise.
2620 * cfgloop.h : Likewise.
2621 * cfgloopanal.c : Likewise.
2622 * cfgloopmanip.c : Likewise.
2623 * cfgrtl.c : Likewise.
2624 * cgraph.c : Likewise.
2625 * cgraphbuild.c : Likewise.
2626 * cgraphclones.c : Likewise.
2627 * cgraphunit.c : Likewise.
2628 * cilk-common.c : Likewise.
2629 * combine-stack-adj.c : Likewise.
2630 * combine.c : Likewise.
2631 * compare-elim.c : Likewise.
2632 * context.c : Likewise.
2633 * convert.c : Likewise.
2634 * coverage.c : Likewise.
2635 * cppbuiltin.c : Likewise.
2636 * cprop.c : Likewise.
2637 * cse.c : Likewise.
2638 * cselib.c : Likewise.
2639 * data-streamer-in.c : Likewise.
2640 * data-streamer-out.c : Likewise.
2641 * data-streamer.c : Likewise.
2642 * data-streamer.h : Likewise.
2643 * dbxout.c : Likewise.
2644 * dce.c : Likewise.
2645 * ddg.c : Likewise.
2646 * debug.c : Likewise.
2647 * df-core.c : Likewise.
2648 * df-problems.c : Likewise.
2649 * df-scan.c : Likewise.
2650 * df.h : Likewise.
2651 * dfp.c : Likewise.
2652 * dojump.c : Likewise.
2653 * dominance.c : Likewise.
2654 * domwalk.c : Likewise.
2655 * double-int.c : Likewise.
2656 * dse.c : Likewise.
2657 * dumpfile.c : Likewise.
2658 * dwarf2asm.c : Likewise.
2659 * dwarf2cfi.c : Likewise.
2660 * dwarf2out.c : Likewise.
2661 * emit-rtl.c : Likewise.
2662 * et-forest.c : Likewise.
2663 * except.c : Likewise.
2664 * except.h : Likewise.
2665 * explow.c : Likewise.
2666 * expmed.c : Likewise.
2667 * expr.c : Likewise.
2668 * final.c : Likewise.
2669 * fixed-value.c : Likewise.
2670 * fold-const.c : Likewise.
2671 * function.c : Likewise.
2672 * fwprop.c : Likewise.
2673 * gcc-plugin.h : Likewise.
2674 * gcc.c : Likewise.
2675 * gcse-common.c : Likewise.
2676 * gcse.c : Likewise.
2677 * genattrtab.c : Likewise.
2678 * genautomata.c : Likewise.
2679 * genconditions.c : Likewise.
2680 * genemit.c : Likewise.
2681 * generic-match-head.c : Likewise.
2682 * genextract.c : Likewise.
2683 * gengtype-state.c : Likewise.
2684 * gengtype.c : Likewise.
2685 * genhooks.c : Likewise.
2686 * genmatch.c : Likewise.
2687 * genmodes.c : Likewise.
2688 * genrecog.c : Likewise.
2689 * gensupport.c : Likewise.
2690 * ggc-common.c : Likewise.
2691 * ggc-internal.h : Likewise.
2692 * ggc-none.c : Likewise.
2693 * ggc-page.c : Likewise.
2694 * gimple-builder.c : Likewise.
2695 * gimple-expr.c : Likewise.
2696 * gimple-fold.c : Likewise.
2697 * gimple-iterator.c : Likewise.
2698 * gimple-low.c : Likewise.
2699 * gimple-match-head.c : Likewise.
2700 * gimple-pretty-print.c : Likewise.
2701 * gimple-ssa-isolate-paths.c : Likewise.
2702 * gimple-ssa-strength-reduction.c : Likewise.
2703 * gimple-ssa.h : Likewise.
2704 * gimple-streamer-in.c : Likewise.
2705 * gimple-streamer-out.c : Likewise.
2706 * gimple-streamer.h : Likewise.
2707 * gimple-walk.c : Likewise.
2708 * gimple.c : Likewise.
2709 * gimplify-me.c : Likewise.
2710 * gimplify.c : Likewise.
2711 * godump.c : Likewise.
2712 * graph.c : Likewise.
2713 * graphds.c : Likewise.
2714 * graphite-blocking.c : Likewise.
2715 * graphite-dependences.c : Likewise.
2716 * graphite-interchange.c : Likewise.
2717 * graphite-isl-ast-to-gimple.c : Likewise.
2718 * graphite-optimize-isl.c : Likewise.
2719 * graphite-poly.c : Likewise.
2720 * graphite-scop-detection.c : Likewise.
2721 * graphite-sese-to-poly.c : Likewise.
2722 * graphite.c : Likewise.
2723 * haifa-sched.c : Likewise.
2724 * hard-reg-set.h : Likewise.
2725 * hw-doloop.c : Likewise.
2726 * ifcvt.c : Likewise.
2727 * inchash.c : Likewise.
2728 * incpath.c : Likewise.
2729 * init-regs.c : Likewise.
2730 * input.c : Likewise.
2731 * internal-fn.c : Likewise.
2732 * ipa-chkp.c : Likewise.
2733 * ipa-comdats.c : Likewise.
2734 * ipa-cp.c : Likewise.
2735 * ipa-devirt.c : Likewise.
2736 * ipa-icf-gimple.c : Likewise.
2737 * ipa-icf.c : Likewise.
2738 * ipa-inline-analysis.c : Likewise.
2739 * ipa-inline-transform.c : Likewise.
2740 * ipa-inline.c : Likewise.
2741 * ipa-polymorphic-call.c : Likewise.
2742 * ipa-profile.c : Likewise.
2743 * ipa-prop.c : Likewise.
2744 * ipa-pure-const.c : Likewise.
2745 * ipa-ref.c : Likewise.
2746 * ipa-reference.c : Likewise.
2747 * ipa-split.c : Likewise.
2748 * ipa-utils.c : Likewise.
2749 * ipa-visibility.c : Likewise.
2750 * ipa.c : Likewise.
2751 * ira-build.c : Likewise.
2752 * ira-color.c : Likewise.
2753 * ira-conflicts.c : Likewise.
2754 * ira-costs.c : Likewise.
2755 * ira-emit.c : Likewise.
2756 * ira-lives.c : Likewise.
2757 * ira.c : Likewise.
2758 * jump.c : Likewise.
2759 * langhooks.c : Likewise.
2760 * lcm.c : Likewise.
2761 * libfuncs.h : Likewise.
2762 * lists.c : Likewise.
2763 * loop-doloop.c : Likewise.
2764 * loop-init.c : Likewise.
2765 * loop-invariant.c : Likewise.
2766 * loop-iv.c : Likewise.
2767 * loop-unroll.c : Likewise.
2768 * lower-subreg.c : Likewise.
2769 * lra-assigns.c : Likewise.
2770 * lra-coalesce.c : Likewise.
2771 * lra-constraints.c : Likewise.
2772 * lra-eliminations.c : Likewise.
2773 * lra-lives.c : Likewise.
2774 * lra-remat.c : Likewise.
2775 * lra-spills.c : Likewise.
2776 * lra.c : Likewise.
2777 * lto-cgraph.c : Likewise.
2778 * lto-compress.c : Likewise.
2779 * lto-opts.c : Likewise.
2780 * lto-section-in.c : Likewise.
2781 * lto-section-out.c : Likewise.
2782 * lto-streamer-in.c : Likewise.
2783 * lto-streamer-out.c : Likewise.
2784 * lto-streamer.c : Likewise.
2785 * lto-streamer.h : Likewise.
2786 * mcf.c : Likewise.
2787 * mode-switching.c : Likewise.
2788 * modulo-sched.c : Likewise.
2789 * omega.c : Likewise.
2790 * omp-low.c : Likewise.
2791 * optabs.c : Likewise.
2792 * opts-global.c : Likewise.
2793 * opts.h : Likewise.
2794 * passes.c : Likewise.
2795 * plugin.c : Likewise.
2796 * postreload-gcse.c : Likewise.
2797 * postreload.c : Likewise.
2798 * predict.c : Likewise.
2799 * print-rtl.c : Likewise.
2800 * print-tree.c : Likewise.
2801 * profile.c : Likewise.
2802 * read-md.c : Likewise.
2803 * read-md.h : Likewise.
2804 * read-rtl.c : Likewise.
2805 * real.c : Likewise.
2806 * realmpfr.c : Likewise.
2807 * recog.c : Likewise.
2808 * ree.c : Likewise.
2809 * reg-stack.c : Likewise.
2810 * regcprop.c : Likewise.
2811 * reginfo.c : Likewise.
2812 * regrename.c : Likewise.
2813 * regstat.c : Likewise.
2814 * reload.c : Likewise.
2815 * reload1.c : Likewise.
2816 * reorg.c : Likewise.
2817 * resource.c : Likewise.
2818 * rtl-chkp.c : Likewise.
2819 * rtl.c : Likewise.
2820 * rtl.h : Likewise.
2821 * rtlanal.c : Likewise.
2822 * rtlhash.c : Likewise.
2823 * rtlhash.h : Likewise.
2824 * rtlhooks.c : Likewise.
2825 * sanopt.c : Likewise.
2826 * sched-deps.c : Likewise.
2827 * sched-ebb.c : Likewise.
2828 * sched-rgn.c : Likewise.
2829 * sched-vis.c : Likewise.
2830 * sdbout.c : Likewise.
2831 * sel-sched-dump.c : Likewise.
2832 * sel-sched-ir.c : Likewise.
2833 * sel-sched-ir.h : Likewise.
2834 * sel-sched.c : Likewise.
2835 * sese.c : Likewise.
2836 * shrink-wrap.c : Likewise.
2837 * shrink-wrap.h : Likewise.
2838 * simplify-rtx.c : Likewise.
2839 * stack-ptr-mod.c : Likewise.
2840 * statistics.c : Likewise.
2841 * stmt.c : Likewise.
2842 * stor-layout.c : Likewise.
2843 * store-motion.c : Likewise.
2844 * stringpool.c : Likewise.
2845 * symtab.c : Likewise.
2846 * target-globals.c : Likewise.
2847 * targhooks.c : Likewise.
2848 * tlink.c : Likewise.
2849 * toplev.c : Likewise.
2850 * tracer.c : Likewise.
2851 * trans-mem.c : Likewise.
2852 * tree-affine.c : Likewise.
2853 * tree-affine.h : Likewise.
2854 * tree-browser.c : Likewise.
2855 * tree-call-cdce.c : Likewise.
2856 * tree-cfg.c : Likewise.
2857 * tree-cfgcleanup.c : Likewise.
2858 * tree-chkp-opt.c : Likewise.
2859 * tree-chkp.c : Likewise.
2860 * tree-chrec.c : Likewise.
2861 * tree-complex.c : Likewise.
2862 * tree-data-ref.c : Likewise.
2863 * tree-dfa.c : Likewise.
2864 * tree-diagnostic.c : Likewise.
2865 * tree-dump.c : Likewise.
2866 * tree-eh.c : Likewise.
2867 * tree-eh.h : Likewise.
2868 * tree-emutls.c : Likewise.
2869 * tree-hasher.h : Likewise.
2870 * tree-if-conv.c : Likewise.
2871 * tree-inline.c : Likewise.
2872 * tree-inline.h : Likewise.
2873 * tree-into-ssa.c : Likewise.
2874 * tree-iterator.c : Likewise.
2875 * tree-loop-distribution.c : Likewise.
2876 * tree-nested.c : Likewise.
2877 * tree-nrv.c : Likewise.
2878 * tree-object-size.c : Likewise.
2879 * tree-outof-ssa.c : Likewise.
2880 * tree-parloops.c : Likewise.
2881 * tree-phinodes.c : Likewise.
2882 * tree-predcom.c : Likewise.
2883 * tree-pretty-print.c : Likewise.
2884 * tree-profile.c : Likewise.
2885 * tree-scalar-evolution.c : Likewise.
2886 * tree-sra.c : Likewise.
2887 * tree-ssa-address.c : Likewise.
2888 * tree-ssa-alias.c : Likewise.
2889 * tree-ssa-ccp.c : Likewise.
2890 * tree-ssa-coalesce.c : Likewise.
2891 * tree-ssa-copy.c : Likewise.
2892 * tree-ssa-copyrename.c : Likewise.
2893 * tree-ssa-dce.c : Likewise.
2894 * tree-ssa-dom.c : Likewise.
2895 * tree-ssa-dse.c : Likewise.
2896 * tree-ssa-forwprop.c : Likewise.
2897 * tree-ssa-ifcombine.c : Likewise.
2898 * tree-ssa-live.c : Likewise.
2899 * tree-ssa-loop-ch.c : Likewise.
2900 * tree-ssa-loop-im.c : Likewise.
2901 * tree-ssa-loop-ivcanon.c : Likewise.
2902 * tree-ssa-loop-ivopts.c : Likewise.
2903 * tree-ssa-loop-manip.c : Likewise.
2904 * tree-ssa-loop-niter.c : Likewise.
2905 * tree-ssa-loop-prefetch.c : Likewise.
2906 * tree-ssa-loop-unswitch.c : Likewise.
2907 * tree-ssa-loop.c : Likewise.
2908 * tree-ssa-math-opts.c : Likewise.
2909 * tree-ssa-operands.c : Likewise.
2910 * tree-ssa-phiopt.c : Likewise.
2911 * tree-ssa-phiprop.c : Likewise.
2912 * tree-ssa-pre.c : Likewise.
2913 * tree-ssa-propagate.c : Likewise.
2914 * tree-ssa-reassoc.c : Likewise.
2915 * tree-ssa-sccvn.c : Likewise.
2916 * tree-ssa-scopedtables.c : Likewise.
2917 * tree-ssa-sink.c : Likewise.
2918 * tree-ssa-strlen.c : Likewise.
2919 * tree-ssa-structalias.c : Likewise.
2920 * tree-ssa-tail-merge.c : Likewise.
2921 * tree-ssa-ter.c : Likewise.
2922 * tree-ssa-threadedge.c : Likewise.
2923 * tree-ssa-threadupdate.c : Likewise.
2924 * tree-ssa-uncprop.c : Likewise.
2925 * tree-ssa-uninit.c : Likewise.
2926 * tree-ssa.c : Likewise.
2927 * tree-ssanames.c : Likewise.
2928 * tree-stdarg.c : Likewise.
2929 * tree-streamer-in.c : Likewise.
2930 * tree-streamer-out.c : Likewise.
2931 * tree-streamer.c : Likewise.
2932 * tree-streamer.h : Likewise.
2933 * tree-switch-conversion.c : Likewise.
2934 * tree-tailcall.c : Likewise.
2935 * tree-vect-data-refs.c : Likewise.
2936 * tree-vect-generic.c : Likewise.
2937 * tree-vect-loop-manip.c : Likewise.
2938 * tree-vect-loop.c : Likewise.
2939 * tree-vect-patterns.c : Likewise.
2940 * tree-vect-slp.c : Likewise.
2941 * tree-vect-stmts.c : Likewise.
2942 * tree-vectorizer.c : Likewise.
2943 * tree-vectorizer.h : Likewise.
2944 * tree-vrp.c : Likewise.
2945 * tree.c : Likewise.
2946 * tsan.c : Likewise.
2947 * ubsan.c : Likewise.
2948 * valtrack.c : Likewise.
2949 * valtrack.h : Likewise.
2950 * value-prof.c : Likewise.
2951 * var-tracking.c : Likewise.
2952 * varasm.c : Likewise.
2953 * varpool.c : Likewise.
2954 * vec.c: Likewise.
2955 * vmsdbgout.c : Likewise.
2956 * vtable-verify.c : Likewise.
2957 * vtable-verify.h : Likewise.
2958 * web.c : Likewise.
2959 * wide-int.cc : Likewise.
2960 * xcoffout.c : Likewise.
2961 * config/aarch64/aarch64-builtins.c : Likewise.
2962 * config/aarch64/aarch64.c : Likewise.
2963 * config/aarch64/cortex-a57-fma-steering.c : Likewise.
2964 * config/alpha/alpha.c : Likewise.
2965 * config/arc/arc.c : Likewise.
2966 * config/arm/aarch-common.c : Likewise.
2967 * config/arm/arm-builtins.c : Likewise.
2968 * config/arm/arm-c.c : Likewise.
2969 * config/arm/arm.c : Likewise.
2970 * config/avr/avr-c.c : Likewise.
2971 * config/avr/avr-log.c : Likewise.
2972 * config/avr/avr.c : Likewise.
2973 * config/bfin/bfin.c : Likewise.
2974 * config/c6x/c6x.c : Likewise.
2975 * config/cr16/cr16.c : Likewise.
2976 * config/cris/cris.c : Likewise.
2977 * config/darwin-c.c : Likewise.
2978 * config/darwin.c : Likewise.
2979 * config/default-c.c : Likewise.
2980 * config/epiphany/epiphany.c : Likewise.
2981 * config/epiphany/mode-switch-use.c : Likewise.
2982 * config/epiphany/resolve-sw-modes.c : Likewise.
2983 * config/fr30/fr30.c : Likewise.
2984 * config/frv/frv.c : Likewise.
2985 * config/ft32/ft32.c : Likewise.
2986 * config/glibc-c.c : Likewise.
2987 * config/h8300/h8300.c : Likewise.
2988 * config/i386/i386-c.c : Likewise.
2989 * config/i386/i386.c : Likewise.
2990 * config/i386/msformat-c.c : Likewise.
2991 * config/i386/winnt-cxx.c : Likewise.
2992 * config/i386/winnt-stubs.c : Likewise.
2993 * config/i386/winnt.c : Likewise.
2994 * config/ia64/ia64-c.c : Likewise.
2995 * config/ia64/ia64.c : Likewise.
2996 * config/iq2000/iq2000.c : Likewise.
2997 * config/lm32/lm32.c : Likewise.
2998 * config/m32c/m32c-pragma.c : Likewise.
2999 * config/m32c/m32c.c : Likewise.
3000 * config/m32r/m32r.c : Likewise.
3001 * config/m68k/m68k.c : Likewise.
3002 * config/mcore/mcore.c : Likewise.
3003 * config/mep/mep-pragma.c : Likewise.
3004 * config/mep/mep.c : Likewise.
3005 * config/microblaze/microblaze-c.c : Likewise.
3006 * config/microblaze/microblaze.c : Likewise.
3007 * config/mips/mips.c : Likewise.
3008 * config/mmix/mmix.c : Likewise.
3009 * config/mn10300/mn10300.c : Likewise.
3010 * config/moxie/moxie.c : Likewise.
3011 * config/msp430/msp430-c.c : Likewise.
3012 * config/msp430/msp430.c : Likewise.
3013 * config/nds32/nds32-cost.c : Likewise.
3014 * config/nds32/nds32-fp-as-gp.c : Likewise.
3015 * config/nds32/nds32-intrinsic.c : Likewise.
3016 * config/nds32/nds32-isr.c : Likewise.
3017 * config/nds32/nds32-md-auxiliary.c : Likewise.
3018 * config/nds32/nds32-memory-manipulation.c : Likewise.
3019 * config/nds32/nds32-pipelines-auxiliary.c : Likewise.
3020 * config/nds32/nds32-predicates.c : Likewise.
3021 * config/nds32/nds32.c : Likewise.
3022 * config/nios2/nios2.c : Likewise.
3023 * config/nvptx/nvptx.c : Likewise.
3024 * config/pa/pa.c : Likewise.
3025 * config/pdp11/pdp11.c : Likewise.
3026 * config/rl78/rl78-c.c : Likewise.
3027 * config/rl78/rl78.c : Likewise.
3028 * config/rs6000/rs6000-c.c : Likewise.
3029 * config/rs6000/rs6000.c : Likewise.
3030 * config/rx/rx.c : Likewise.
3031 * config/s390/s390-c.c : Likewise.
3032 * config/s390/s390.c : Likewise.
3033 * config/sh/sh-c.c : Likewise.
3034 * config/sh/sh-mem.cc : Likewise.
3035 * config/sh/sh.c : Likewise.
3036 * config/sh/sh_optimize_sett_clrt.cc : Likewise.
3037 * config/sh/sh_treg_combine.cc : Likewise.
3038 * config/sol2-c.c : Likewise.
3039 * config/sol2-cxx.c : Likewise.
3040 * config/sol2-stubs.c : Likewise.
3041 * config/sol2.c : Likewise.
3042 * config/sparc/sparc-c.c : Likewise.
3043 * config/sparc/sparc.c : Likewise.
3044 * config/spu/spu-c.c : Likewise.
3045 * config/spu/spu.c : Likewise.
3046 * config/stormy16/stormy16.c : Likewise.
3047 * config/tilegx/mul-tables.c : Likewise.
3048 * config/tilegx/tilegx-c.c : Likewise.
3049 * config/tilegx/tilegx.c : Likewise.
3050 * config/tilepro/mul-tables.c : Likewise.
3051 * config/tilepro/tilepro-c.c : Likewise.
3052 * config/tilepro/tilepro.c : Likewise.
3053 * config/v850/v850-c.c : Likewise.
3054 * config/v850/v850.c : Likewise.
3055 * config/vax/vax.c : Likewise.
3056 * config/visium/visium.c : Likewise.
3057 * config/vms/vms-c.c : Likewise.
3058 * config/vms/vms.c : Likewise.
3059 * config/vxworks.c : Likewise.
3060 * config/winnt-c.c : Likewise.
3061 * config/xtensa/xtensa.c : Likewise.
3062
3063 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
3064
3065 PR lto/65378
3066 * ipa-utils.h (warn_types_mismatch): Update prototype.
3067 * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
3068 parameters.
3069 (type_mismatch_p): New function.
3070 (warn_types_mismatch): Reorg to work better on non-C++ types.
3071 (odr_types_equivalent_p): Add loc1/loc2 parameters.
3072 (add_type_duplicate): Update.
3073
3074 2015-06-08 Tom de Vries <tom@codesourcery.com>
3075
3076 PR rtl-optimization/66444
3077 * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
3078 call_used_regs.
3079
3080 2015-06-08 Richard Biener <rguenther@suse.de>
3081
3082 PR tree-optimization/66422
3083 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
3084 block after inserted gcc_unreachable.
3085
3086 2015-06-08 Nick Clifton <nickc@redhat.com>
3087
3088 * config/rx/rx.c (rx_function_value): Do not promote vector types.
3089 (rx_promote_function_mode): Likewise.
3090 * config/rx/rx.h (LIBCALL_VALUE): Likewise.
3091
3092 2015-06-08 Jakub Jelinek <jakub@redhat.com>
3093
3094 * genattrtab.c (insn_alternatives): Change type from int *
3095 to uint64_t *.
3096 (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
3097 (get_attr_value): Change type of num_alt to uint64_t.
3098 (compute_alternative_mask): Change return type from
3099 int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
3100 (make_alternative_compare, mk_attr_alt): Change argument type
3101 from int to uint64_t.
3102 (simplify_test_exp): Change type of i from int to uint64_t.
3103 Shift ((uint64_t) 1) instead of 1 up.
3104 (main): Adjust oballocvec first argument from int to uint64_t.
3105 Shift ((uint64_t) 1) instead of 1 up.
3106
3107 2015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com>
3108
3109 PR other/65366
3110 * gdbhooks.py: Import sys.
3111 (intptr): New function. Replace int(...) by intptr(...).
3112
3113 2015-06-08 Richard Biener <rguenther@suse.de>
3114
3115 * tree-vect-stmts.c (vectorizable_load): Compute the pointer
3116 adjustment for gaps at the end of a SLP load group properly.
3117 * tree-vect-slp.c (vect_supported_load_permutation_p): Allow
3118 all permutations we can generate.
3119 (vect_transform_slp_perm_load): Use the correct group-size.
3120
3121 2015-06-08 Marc Glisse <marc.glisse@inria.fr>
3122
3123 * genmatch.c (expr::gen_transform): For conditions, guess the type
3124 from the second operand.
3125
3126 2015-06-08 Tom de Vries <tom@codesourcery.com>
3127
3128 PR tree-optimization/66442
3129 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
3130 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
3131 if the loop latch is not a singleton. Use
3132 gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.
3133
3134 2015-06-08 Marek Polacek <polacek@redhat.com>
3135
3136 PR sanitizer/66452
3137 * toplev.c (check_global_declaration): Don't warn about artificial
3138 decls.
3139
3140 2015-06-08 Tom de Vries <tom@codesourcery.com>
3141
3142 PR tree-optimization/66436
3143 * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
3144 dump file.
3145 * gimplify.c: Add tree-dump.h include.
3146 (gimplify_function_tree): Dump function to gimple dump file.
3147 * stor-layout.c (finalize_size_functions): Don't dump function to gimple
3148 dump file.
3149
3150 2015-06-08 Tom de Vries <tom@codesourcery.com>
3151
3152 PR tree-optimization/66435
3153 * cgraphunit.c (cgraph_node::add_new_function): Dump message on new
3154 function.
3155
3156 2015-06-06 Jan Hubicka <hubicka@ucw.cz>
3157
3158 * alias.c (get_alias_set): Be ready for TYPE_CANONICAL
3159 of ptr_type_node to not be ptr_to_node.
3160 * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
3161 TREE_TYPE of pointers.
3162 * gimple-expr.c (useless_type_conversion): Reorder the check for
3163 function pointers and TYPE_CANONICAL.
3164
3165 2015-06-06 John David Anglin <danglin@gcc.gnu.org>
3166
3167 PR bootstrap/66319
3168 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
3169 defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
3170 Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
3171 later.
3172 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
3173 Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
3174 _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
3175 _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
3176 and non iso if unix2003.
3177
3178 2015-06-06 Aldy Hernandez <aldyh@redhat.com>
3179
3180 * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
3181
3182 2015-06-06 Richard Sandiford <richard.sandiford@arm.com>
3183
3184 * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
3185 rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
3186 cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
3187 except.c, final.c, function.c, gcse-common.c, genemit.c,
3188 haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
3189 lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
3190 sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
3191 shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
3192 more derived ones.
3193
3194 2015-06-06 Mikhail Maltsev <maltsevm@gmail.com>
3195
3196 * combine.c (combine_split_insns): Remove cast.
3197 * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
3198 * config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
3199 * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
3200 * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
3201 * genemit.c (gen_split): Change return type of generated functions to
3202 rtx_insn.
3203 * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
3204 (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
3205 gen_peephole2_* functions.
3206 (print_subroutine, main): Likewise.
3207 * recog.c (peephole2_optimize): Remove cast.
3208 (peep2_next_insn): Promote return type to rtx_insn.
3209 * recog.h (peep2_next_insn): Fix prototype.
3210 * rtl.h (try_split, split_insns): Likewise.
3211
3212 2015-06-06 DJ Delorie <dj@redhat.com>
3213
3214 * config/msp430/msp430.c (msp430_asm_integer): Support addition
3215 and subtraction too.
3216
3217 2015-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
3218
3219 PR target/66410
3220 * config/sh/constraints.md (Sid, Ssd): New memory constraints.
3221 * config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives
3222 instead of Snd. Disparage Sid/z alternative with '^'.
3223
3224 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
3225
3226 * dwarf2out.c: Remove deferred_locations*.
3227 (dwarf2_debug_hooks): Add early_finish hook.
3228 Remove global_decl hook.
3229 Add early_global_decl and late_global_decl hook.
3230 New global early_dwarf.
3231 New structure set_early_dwarf.
3232 (output_die): Indicate whether a DIE was generated early
3233 when generating assembly with -dA.
3234 (struct limbo_die_struct): Document created_for field.
3235 Remove file_table_last_lookup.
3236 (remove_AT): Return TRUE if successful.
3237 (remove_child_TAG): Clear die_parent.
3238 (reparent_child): New function abstracted from...
3239 (splice_child_die): ...here.
3240 (new_die): ICE if a DIE ends up in limbo too late.
3241 (check_die): New.
3242 (defer_location): Remove.
3243 (add_subscript_info): Reuse DW_TAG_subrange_type if available.
3244 (fill_variable_array_bounds): New.
3245 (decl_start_label): Call fill_variable_array_bounds.
3246 (gen_formal_parameter_die): Rewrite to reuse previously generated
3247 DIEs.
3248 (gen_subprogram_die): Same.
3249 (gen_variable_die): Same.
3250 (gen_const_die): Same.
3251 (gen_label_die): Same.
3252 (gen_lexical_block_die): Same.
3253 (decl_will_get_specification_p): New.
3254 (local_function_static): New.
3255 (gen_struct_or_union_type_die): Fill in variable-length fields.
3256 (gen_typedef_die): Fill in variable-length typedefs.
3257 (gen_tagged_type_die): Gracefully return on error_mark_node.
3258 Handle re-entrancy.
3259 (gen_type_die_with_usage): Handle variable-length types.
3260 Remove duplicate code for ARRAY_TYPE case.
3261 (process_scope_var): Only process imported modules during early
3262 dwarf.
3263 (dwarf2out_early_global_decl): New.
3264 (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
3265 (dwarf2out_type_decl): Set early_dwarf while calling
3266 dwarf2out_decl.
3267 (dwarf2out_decl): Verify that we did not recreate a previously
3268 generated DIE.
3269 Do not return on DECL_EXTERNALs in VAR_DECLs.
3270 Abstract some code to local_function_static.
3271 (lookup_filename): Remove use of file_table_last_lookup.
3272 Gracefully exit on missing file_name.
3273 (dwarf2out_finish): Verify limbo list.
3274 Remove deferred_locations_list use.
3275 Move deferred_asm_name and limbo flushing to...
3276 (dwarf2out_early_finish): ...here. New.
3277 (dwarf2out_c_finalize): Remove set of deferred_location_list,
3278 deferred_asm_name, and file_table_last_lookup.
3279 * cgraph.h (referred_to_p): Add default argument.
3280 * cgraphunit.c (referred_to_p): Add and handle include_self
3281 argument.
3282 (analyze_functions): Add first_time argument.
3283 Call check_global_declaration for all symbols.
3284 Call late_global_decl for nodes for moribund nodes.
3285 (finalize_compilation_unit): Add new argument to
3286 analyze_functions.
3287 Call early_global_decl for functions.
3288 Call early_finish debug hook.
3289 * dbxout.c (dbxout_early_global_decl): New.
3290 (dbxout_late_global_decl): New. Adapted from dbxout_global_decl.
3291 (dbx_debug_hooks): Add new hooks.
3292 (xcoff_debug_hooks): Same.
3293 * debug.c (do_nothing_debug_hooks): Add early_finish field.
3294 Add early and late debug hooks.
3295 Remove global_decl hook.
3296 * debug.h (struct gcc_debug_hooks): Add early_finish,
3297 early_global_decl, and late_global_decl fields.
3298 Remove global_decl field.
3299 Document gcc_debug_hooks.
3300 * gengtype.c (output_typename): Remove.
3301 * godump.c (go_early_global_decl): New.
3302 (go_late_global_decl): New.
3303 (go_global_decl): Remove.
3304 (dump_go_spec_init): Remove global_decl. Add
3305 {early,late}_global_decl.
3306 * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
3307 (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
3308 * langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
3309 (write_global_declarations): Remove.
3310 (global_decl_processing): New.
3311 * langhooks.h (struct lang_hooks_for_decls): Remove
3312 final_write_globals field.
3313 Add post_compilation_parsing_cleanups field.
3314 * passes.c (rest_of_decl_compilation): Call early_global_decl.
3315 * sdbout.c: Add early and late_global_decl hooks. Remove
3316 sdbout_global_decl hook.
3317 Add early_finish field for sdb_debug_hooks.
3318 (sdbout_global_decl): Remove.
3319 (sdbout_early_global_decl): New.
3320 (sdbout_late_global_decl): New.
3321 * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
3322 * toplev.c (check_global_declaration): Rename from
3323 check_global_declaration_1.
3324 Adapt to use symtab infrastructure.
3325 (check_global_declarations): Remove.
3326 (emit_debug_global_declarations): Remove.
3327 (compile_file): Remove call to final_write_globals langhook.
3328 Run the actual compilation process.
3329 Perform any post compilation parser cleanups.
3330 Generate late debug info.
3331 * toplev.h (check_global_declaration): New.
3332 (check_global_declaration_1): Remove.
3333 (check_global_declarations): Remove.
3334 (write_global_declarations): Remove.
3335 (emit_debug_global_declarations): Remove.
3336 (global_decl_processing): New.
3337 * tree-core.h (struct tree_block): Add DIE field.
3338 * tree.h (BLOCK_DIE): New.
3339 * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
3340 throughout.
3341 (vmsdbgout_early_global_decl): New.
3342 (vmsdbgout_late_global_decl): New.
3343 Add early_finish debug hook field to vmsdbg_debug_hooks.
3344 Remove vmsdbgout_decl to vmsdbgout_function_decl.
3345 Add early and late_global_decl debug hooks.
3346
3347 2015-06-05 Julian Brown <julian@codesourcery.com>
3348 Sandra Loosemore <sandra@codesourcery.com>
3349
3350 * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
3351 * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
3352 to print-sysroot-suffix.sh script.
3353
3354 2015-06-05 Tom de Vries <tom@codesourcery.com>
3355
3356 merge from gomp4 branch:
3357 2015-05-28 Tom de Vries <tom@codesourcery.com>
3358
3359 PR tree-optimization/65443
3360 * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
3361 (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
3362 (try_transform_to_exit_first_loop_alt): New function.
3363 (transform_to_exit_first_loop): Use
3364 try_transform_to_exit_first_loop_alt.
3365
3366 2015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
3367
3368 * builtins.c (expand_builtin_atomic_compare_exchange): Call
3369 emit_cmp_and_jump_insns with the mode of target.
3370
3371 2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3372
3373 * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
3374
3375 2015-06-04 DJ Delorie <dj@redhat.com>
3376
3377 * config/msp430/msp430.md (movsi_s): New. Special case for
3378 storing a 20-bit symbol into a 32-bit register.
3379 * config/msp430/msp430.c (msp430_subreg): Add support for it.
3380 * config/msp430/predicates.md (msp430_symbol_operand): New.
3381
3382 2015-06-04 Sriraman Tallam <tmsriram@google.com>
3383
3384 * c-family/c-common.c (noplt): New attribute.
3385 (handle_noplt_attribute): New handler.
3386 * calls.c (prepare_call_address): Check for noplt
3387 attribute.
3388 * config/i386/i386.c (ix86_expand_call): Check
3389 for noplt attribute.
3390 (ix86_nopic_noplt_attribute_p): New function.
3391 (ix86_output_call_insn): Output indirect call for non-pic
3392 no plt calls.
3393 * doc/extend.texi (noplt): Document new attribute.
3394 * doc/invoke.texi: Document new attribute.
3395
3396 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
3397
3398 * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
3399 real.h, and fixed-value.h when included in host source files.
3400 * double-int.h: Remove redundant #includes listed above.
3401 * fixed-value.h: Likewise.
3402 * real.h: Likewise.
3403 * wide-int.h: Likewise.
3404 * inchash.h: Likewise.
3405 * rtl.h: Add some include files When included from a generator file.
3406 * target.h: Remove wide-int.h and insn-modes.h from the include list.
3407 * internal-fn.h: Don't include coretypes.h.
3408 * alias.c: Adjust includes for restructured coretypes.h.
3409 * asan.c: Likewise.
3410 * attribs.c: Likewise.
3411 * auto-inc-dec.c: Likewise.
3412 * auto-profile.c: Likewise.
3413 * bb-reorder.c: Likewise.
3414 * bt-load.c: Likewise.
3415 * builtins.c: Likewise.
3416 * caller-save.c: Likewise.
3417 * calls.c: Likewise.
3418 * ccmp.c: Likewise.
3419 * cfg.c: Likewise.
3420 * cfganal.c: Likewise.
3421 * cfgbuild.c: Likewise.
3422 * cfgcleanup.c: Likewise.
3423 * cfgexpand.c: Likewise.
3424 * cfghooks.c: Likewise.
3425 * cfgloop.c: Likewise.
3426 * cfgloop.h: Likewise.
3427 * cfgloopanal.c: Likewise.
3428 * cfgloopmanip.c: Likewise.
3429 * cfgrtl.c: Likewise.
3430 * cgraph.c: Likewise.
3431 * cgraphbuild.c: Likewise.
3432 * cgraphclones.c: Likewise.
3433 * cgraphunit.c: Likewise.
3434 * cilk-common.c: Likewise.
3435 * combine-stack-adj.c: Likewise.
3436 * combine.c: Likewise.
3437 * compare-elim.c: Likewise.
3438 * convert.c: Likewise.
3439 * coverage.c: Likewise.
3440 * cppbuiltin.c: Likewise.
3441 * cprop.c: Likewise.
3442 * cse.c: Likewise.
3443 * cselib.c: Likewise.
3444 * data-streamer-in.c: Likewise.
3445 * data-streamer-out.c: Likewise.
3446 * data-streamer.c: Likewise.
3447 * dbxout.c: Likewise.
3448 * dce.c: Likewise.
3449 * ddg.c: Likewise.
3450 * debug.c: Likewise.
3451 * df-core.c: Likewise.
3452 * df-problems.c: Likewise.
3453 * df-scan.c: Likewise.
3454 * df.h: Likewise.
3455 * dfp.c: Likewise.
3456 * dojump.c: Likewise.
3457 * dominance.c: Likewise.
3458 * domwalk.c: Likewise.
3459 * double-int.c: Likewise.
3460 * dse.c: Likewise.
3461 * dumpfile.c: Likewise.
3462 * dwarf2asm.c: Likewise.
3463 * dwarf2cfi.c: Likewise.
3464 * dwarf2out.c: Likewise.
3465 * dwarf2out.h: Likewise.
3466 * emit-rtl.c: Likewise.
3467 * et-forest.c: Likewise.
3468 * except.c: Likewise.
3469 * explow.c: Likewise.
3470 * expmed.c: Likewise.
3471 * expr.c: Likewise.
3472 * final.c: Likewise.
3473 * fixed-value.c: Likewise.
3474 * fold-const.c: Likewise.
3475 * function.c: Likewise.
3476 * fwprop.c: Likewise.
3477 * gcc-plugin.h: Likewise.
3478 * gcse.c: Likewise.
3479 * generic-match-head.c: Likewise.
3480 * ggc-page.c: Likewise.
3481 * gimple-builder.c: Likewise.
3482 * gimple-expr.c: Likewise.
3483 * gimple-fold.c: Likewise.
3484 * gimple-iterator.c: Likewise.
3485 * gimple-low.c: Likewise.
3486 * gimple-match-head.c: Likewise.
3487 * gimple-pretty-print.c: Likewise.
3488 * gimple-ssa-isolate-paths.c: Likewise.
3489 * gimple-ssa-strength-reduction.c: Likewise.
3490 * gimple-streamer-in.c: Likewise.
3491 * gimple-streamer-out.c: Likewise.
3492 * gimple-streamer.h: Likewise.
3493 * gimple-walk.c: Likewise.
3494 * gimple.c: Likewise.
3495 * gimplify-me.c: Likewise.
3496 * gimplify.c: Likewise.
3497 * godump.c: Likewise.
3498 * graph.c: Likewise.
3499 * graphite-blocking.c: Likewise.
3500 * graphite-dependences.c: Likewise.
3501 * graphite-interchange.c: Likewise.
3502 * graphite-isl-ast-to-gimple.c: Likewise.
3503 * graphite-optimize-isl.c: Likewise.
3504 * graphite-poly.c: Likewise.
3505 * graphite-scop-detection.c: Likewise.
3506 * graphite-sese-to-poly.c: Likewise.
3507 * graphite.c: Likewise.
3508 * haifa-sched.c: Likewise.
3509 * hooks.h: Likewise.
3510 * hw-doloop.c: Likewise.
3511 * ifcvt.c: Likewise.
3512 * incpath.c: Likewise.
3513 * init-regs.c: Likewise.
3514 * internal-fn.c: Likewise.
3515 * ipa-chkp.c: Likewise.
3516 * ipa-comdats.c: Likewise.
3517 * ipa-cp.c: Likewise.
3518 * ipa-devirt.c: Likewise.
3519 * ipa-icf-gimple.c: Likewise.
3520 * ipa-icf.c: Likewise.
3521 * ipa-inline-analysis.c: Likewise.
3522 * ipa-inline-transform.c: Likewise.
3523 * ipa-inline.c: Likewise.
3524 * ipa-polymorphic-call.c: Likewise.
3525 * ipa-profile.c: Likewise.
3526 * ipa-prop.c: Likewise.
3527 * ipa-pure-const.c: Likewise.
3528 * ipa-ref.c: Likewise.
3529 * ipa-reference.c: Likewise.
3530 * ipa-split.c: Likewise.
3531 * ipa-utils.c: Likewise.
3532 * ipa-visibility.c: Likewise.
3533 * ipa.c: Likewise.
3534 * ira-build.c: Likewise.
3535 * ira-color.c: Likewise.
3536 * ira-conflicts.c: Likewise.
3537 * ira-costs.c: Likewise.
3538 * ira-emit.c: Likewise.
3539 * ira-lives.c: Likewise.
3540 * ira.c: Likewise.
3541 * jump.c: Likewise.
3542 * langhooks.c: Likewise.
3543 * lcm.c: Likewise.
3544 * loop-doloop.c: Likewise.
3545 * loop-init.c: Likewise.
3546 * loop-invariant.c: Likewise.
3547 * loop-iv.c: Likewise.
3548 * loop-unroll.c: Likewise.
3549 * lower-subreg.c: Likewise.
3550 * lra-assigns.c: Likewise.
3551 * lra-coalesce.c: Likewise.
3552 * lra-constraints.c: Likewise.
3553 * lra-eliminations.c: Likewise.
3554 * lra-lives.c: Likewise.
3555 * lra-remat.c: Likewise.
3556 * lra-spills.c: Likewise.
3557 * lra.c: Likewise.
3558 * lto-cgraph.c: Likewise.
3559 * lto-compress.c: Likewise.
3560 * lto-opts.c: Likewise.
3561 * lto-section-in.c: Likewise.
3562 * lto-section-out.c: Likewise.
3563 * lto-streamer-in.c: Likewise.
3564 * lto-streamer-out.c: Likewise.
3565 * lto-streamer.c: Likewise.
3566 * mcf.c: Likewise.
3567 * mode-switching.c: Likewise.
3568 * modulo-sched.c: Likewise.
3569 * omega.c: Likewise.
3570 * omp-low.c: Likewise.
3571 * optabs.c: Likewise.
3572 * opts-global.c: Likewise.
3573 * passes.c: Likewise.
3574 * plugin.c: Likewise.
3575 * postreload-gcse.c: Likewise.
3576 * postreload.c: Likewise.
3577 * predict.c: Likewise.
3578 * print-rtl.c: Likewise.
3579 * print-tree.c: Likewise.
3580 * profile.c: Likewise.
3581 * real.c: Likewise.
3582 * realmpfr.c: Likewise.
3583 * realmpfr.h: Likewise.
3584 * recog.c: Likewise.
3585 * ree.c: Likewise.
3586 * reg-stack.c: Likewise.
3587 * regcprop.c: Likewise.
3588 * reginfo.c: Likewise.
3589 * regrename.c: Likewise.
3590 * regs.h: Likewise.
3591 * regstat.c: Likewise.
3592 * reload.c: Likewise.
3593 * reload1.c: Likewise.
3594 * reorg.c: Likewise.
3595 * resource.c: Likewise.
3596 * rtl-chkp.c: Likewise.
3597 * rtlanal.c: Likewise.
3598 * rtlhooks.c: Likewise.
3599 * sanopt.c: Likewise.
3600 * sched-deps.c: Likewise.
3601 * sched-ebb.c: Likewise.
3602 * sched-rgn.c: Likewise.
3603 * sched-vis.c: Likewise.
3604 * sdbout.c: Likewise.
3605 * sel-sched-dump.c: Likewise.
3606 * sel-sched-ir.c: Likewise.
3607 * sel-sched.c: Likewise.
3608 * sese.c: Likewise.
3609 * shrink-wrap.c: Likewise.
3610 * shrink-wrap.h: Likewise.
3611 * simplify-rtx.c: Likewise.
3612 * stack-ptr-mod.c: Likewise.
3613 * statistics.c: Likewise.
3614 * stmt.c: Likewise.
3615 * stor-layout.c: Likewise.
3616 * store-motion.c: Likewise.
3617 * stringpool.c: Likewise.
3618 * symtab.c: Likewise.
3619 * target-globals.c: Likewise.
3620 * targhooks.c: Likewise.
3621 * toplev.c: Likewise.
3622 * tracer.c: Likewise.
3623 * trans-mem.c: Likewise.
3624 * tree-affine.c: Likewise.
3625 * tree-affine.h: Likewise.
3626 * tree-browser.c: Likewise.
3627 * tree-call-cdce.c: Likewise.
3628 * tree-cfg.c: Likewise.
3629 * tree-cfgcleanup.c: Likewise.
3630 * tree-chkp-opt.c: Likewise.
3631 * tree-chkp.c: Likewise.
3632 * tree-chrec.c: Likewise.
3633 * tree-complex.c: Likewise.
3634 * tree-data-ref.c: Likewise.
3635 * tree-dfa.c: Likewise.
3636 * tree-diagnostic.c: Likewise.
3637 * tree-dump.c: Likewise.
3638 * tree-eh.c: Likewise.
3639 * tree-emutls.c: Likewise.
3640 * tree-if-conv.c: Likewise.
3641 * tree-inline.c: Likewise.
3642 * tree-into-ssa.c: Likewise.
3643 * tree-iterator.c: Likewise.
3644 * tree-loop-distribution.c: Likewise.
3645 * tree-nested.c: Likewise.
3646 * tree-nrv.c: Likewise.
3647 * tree-object-size.c: Likewise.
3648 * tree-outof-ssa.c: Likewise.
3649 * tree-parloops.c: Likewise.
3650 * tree-phinodes.c: Likewise.
3651 * tree-predcom.c: Likewise.
3652 * tree-pretty-print.c: Likewise.
3653 * tree-pretty-print.h: Likewise.
3654 * tree-profile.c: Likewise.
3655 * tree-scalar-evolution.c: Likewise.
3656 * tree-sra.c: Likewise.
3657 * tree-ssa-address.c: Likewise.
3658 * tree-ssa-alias.c: Likewise.
3659 * tree-ssa-ccp.c: Likewise.
3660 * tree-ssa-coalesce.c: Likewise.
3661 * tree-ssa-copy.c: Likewise.
3662 * tree-ssa-copyrename.c: Likewise.
3663 * tree-ssa-dce.c: Likewise.
3664 * tree-ssa-dom.c: Likewise.
3665 * tree-ssa-dse.c: Likewise.
3666 * tree-ssa-forwprop.c: Likewise.
3667 * tree-ssa-ifcombine.c: Likewise.
3668 * tree-ssa-live.c: Likewise.
3669 * tree-ssa-loop-ch.c: Likewise.
3670 * tree-ssa-loop-im.c: Likewise.
3671 * tree-ssa-loop-ivcanon.c: Likewise.
3672 * tree-ssa-loop-ivopts.c: Likewise.
3673 * tree-ssa-loop-manip.c: Likewise.
3674 * tree-ssa-loop-niter.c: Likewise.
3675 * tree-ssa-loop-prefetch.c: Likewise.
3676 * tree-ssa-loop-unswitch.c: Likewise.
3677 * tree-ssa-loop.c: Likewise.
3678 * tree-ssa-loop.h: Likewise.
3679 * tree-ssa-math-opts.c: Likewise.
3680 * tree-ssa-operands.c: Likewise.
3681 * tree-ssa-phiopt.c: Likewise.
3682 * tree-ssa-phiprop.c: Likewise.
3683 * tree-ssa-pre.c: Likewise.
3684 * tree-ssa-propagate.c: Likewise.
3685 * tree-ssa-reassoc.c: Likewise.
3686 * tree-ssa-sccvn.c: Likewise.
3687 * tree-ssa-scopedtables.c: Likewise.
3688 * tree-ssa-sink.c: Likewise.
3689 * tree-ssa-strlen.c: Likewise.
3690 * tree-ssa-structalias.c: Likewise.
3691 * tree-ssa-tail-merge.c: Likewise.
3692 * tree-ssa-ter.c: Likewise.
3693 * tree-ssa-threadedge.c: Likewise.
3694 * tree-ssa-threadupdate.c: Likewise.
3695 * tree-ssa-uncprop.c: Likewise.
3696 * tree-ssa-uninit.c: Likewise.
3697 * tree-ssa.c: Likewise.
3698 * tree-ssanames.c: Likewise.
3699 * tree-stdarg.c: Likewise.
3700 * tree-streamer-in.c: Likewise.
3701 * tree-streamer-out.c: Likewise.
3702 * tree-streamer.c: Likewise.
3703 * tree-switch-conversion.c: Likewise.
3704 * tree-tailcall.c: Likewise.
3705 * tree-vect-data-refs.c: Likewise.
3706 * tree-vect-generic.c: Likewise.
3707 * tree-vect-loop-manip.c: Likewise.
3708 * tree-vect-loop.c: Likewise.
3709 * tree-vect-patterns.c: Likewise.
3710 * tree-vect-slp.c: Likewise.
3711 * tree-vect-stmts.c: Likewise.
3712 * tree-vectorizer.c: Likewise.
3713 * tree-vrp.c: Likewise.
3714 * tree.c: Likewise.
3715 * tsan.c: Likewise.
3716 * ubsan.c: Likewise.
3717 * valtrack.c: Likewise.
3718 * value-prof.c: Likewise.
3719 * var-tracking.c: Likewise.
3720 * varasm.c: Likewise.
3721 * varpool.c: Likewise.
3722 * vmsdbgout.c: Likewise.
3723 * vtable-verify.c: Likewise.
3724 * web.c: Likewise.
3725 * wide-int-print.cc: Likewise.
3726 * wide-int-print.h: Likewise.
3727 * wide-int.cc: Likewise.
3728 * xcoffout.c: Likewise.
3729 * config/aarch64/aarch64-builtins.c: Likewise.
3730 * config/aarch64/aarch64.c: Likewise.
3731 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
3732 * config/alpha/alpha.c: Likewise.
3733 * config/arc/arc.c: Likewise.
3734 * config/arm/aarch-common.c: Likewise.
3735 * config/arm/arm-builtins.c: Likewise.
3736 * config/arm/arm-c.c: Likewise.
3737 * config/arm/arm.c: Likewise.
3738 * config/avr/avr-c.c: Likewise.
3739 * config/avr/avr-log.c: Likewise.
3740 * config/avr/avr.c: Likewise.
3741 * config/bfin/bfin.c: Likewise.
3742 * config/c6x/c6x.c: Likewise.
3743 * config/cr16/cr16.c: Likewise.
3744 * config/cris/cris.c: Likewise.
3745 * config/darwin-c.c: Likewise.
3746 * config/darwin.c: Likewise.
3747 * config/default-c.c: Likewise.
3748 * config/epiphany/epiphany.c: Likewise.
3749 * config/epiphany/mode-switch-use.c: Likewise.
3750 * config/epiphany/resolve-sw-modes.c: Likewise.
3751 * config/fr30/fr30.c: Likewise.
3752 * config/frv/frv.c: Likewise.
3753 * config/ft32/ft32.c: Likewise.
3754 * config/glibc-c.c: Likewise.
3755 * config/h8300/h8300.c: Likewise.
3756 * config/i386/i386-c.c: Likewise.
3757 * config/i386/i386.c: Likewise.
3758 * config/i386/msformat-c.c: Likewise.
3759 * config/i386/winnt-cxx.c: Likewise.
3760 * config/i386/winnt-stubs.c: Likewise.
3761 * config/i386/winnt.c: Likewise.
3762 * config/ia64/ia64-c.c: Likewise.
3763 * config/ia64/ia64.c: Likewise.
3764 * config/iq2000/iq2000.c: Likewise.
3765 * config/lm32/lm32.c: Likewise.
3766 * config/m32c/m32c-pragma.c: Likewise.
3767 * config/m32c/m32c.c: Likewise.
3768 * config/m32r/m32r.c: Likewise.
3769 * config/m68k/m68k.c: Likewise.
3770 * config/mcore/mcore.c: Likewise.
3771 * config/mep/mep-pragma.c: Likewise.
3772 * config/mep/mep.c: Likewise.
3773 * config/microblaze/microblaze-c.c: Likewise.
3774 * config/microblaze/microblaze.c: Likewise.
3775 * config/mips/mips.c: Likewise.
3776 * config/mmix/mmix.c: Likewise.
3777 * config/mn10300/mn10300.c: Likewise.
3778 * config/moxie/moxie.c: Likewise.
3779 * config/msp430/msp430-c.c: Likewise.
3780 * config/msp430/msp430.c: Likewise.
3781 * config/nds32/nds32-cost.c: Likewise.
3782 * config/nds32/nds32-fp-as-gp.c: Likewise.
3783 * config/nds32/nds32-intrinsic.c: Likewise.
3784 * config/nds32/nds32-isr.c: Likewise.
3785 * config/nds32/nds32-md-auxiliary.c: Likewise.
3786 * config/nds32/nds32-memory-manipulation.c: Likewise.
3787 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
3788 * config/nds32/nds32-predicates.c: Likewise.
3789 * config/nds32/nds32.c: Likewise.
3790 * config/nios2/nios2.c: Likewise.
3791 * config/nvptx/nvptx.c: Likewise.
3792 * config/pa/pa.c: Likewise.
3793 * config/pdp11/pdp11.c: Likewise.
3794 * config/rl78/rl78-c.c: Likewise.
3795 * config/rl78/rl78.c: Likewise.
3796 * config/rs6000/rs6000-c.c: Likewise.
3797 * config/rs6000/rs6000.c: Likewise.
3798 * config/rx/rx.c: Likewise.
3799 * config/s390/s390-c.c: Likewise.
3800 * config/s390/s390.c: Likewise.
3801 * config/sh/sh-c.c: Likewise.
3802 * config/sh/sh-mem.cc: Likewise.
3803 * config/sh/sh.c: Likewise.
3804 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
3805 * config/sh/sh_treg_combine.cc: Likewise.
3806 * config/sol2-c.c: Likewise.
3807 * config/sol2-cxx.c: Likewise.
3808 * config/sol2-stubs.c: Likewise.
3809 * config/sol2.c: Likewise.
3810 * config/sparc/sparc-c.c: Likewise.
3811 * config/sparc/sparc.c: Likewise.
3812 * config/spu/spu-c.c: Likewise.
3813 * config/spu/spu.c: Likewise.
3814 * config/stormy16/stormy16.c: Likewise.
3815 * config/tilegx/mul-tables.c: Likewise.
3816 * config/tilegx/tilegx-c.c: Likewise.
3817 * config/tilegx/tilegx.c: Likewise.
3818 * config/tilepro/mul-tables.c: Likewise.
3819 * config/tilepro/tilepro-c.c: Likewise.
3820 * config/tilepro/tilepro.c: Likewise.
3821 * config/v850/v850-c.c: Likewise.
3822 * config/v850/v850.c: Likewise.
3823 * config/vax/vax.c: Likewise.
3824 * config/visium/visium.c: Likewise.
3825 * config/vms/vms-c.c: Likewise.
3826 * config/vms/vms.c: Likewise.
3827 * config/vxworks.c: Likewise.
3828 * config/winnt-c.c: Likewise.
3829 * config/xtensa/xtensa.c: Likewise.
3830 * common/config/bfin/bfin-common.c: Likewise.
3831
3832 2015-06-04 Jan Hubicka <hubicka@ucw.cz>
3833
3834 * tree.h (tree_code_for_canonical_type_merging): New function.
3835 * tree.c (gimple_canonical_types_compatible_p): Use
3836 tree_code_for_canonical_type_merging..
3837
3838 2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3839
3840 PR c++/66192
3841 PR target/66200
3842 * doc/tm.texi: Regenerate.
3843 * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
3844 * target.def (TARGET_RELAXED_ORDERING): Likewise.
3845 * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
3846 * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
3847 * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
3848 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
3849 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
3850 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
3851 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
3852
3853 2015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3854
3855 * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
3856 register fma steering pass.
3857 * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
3858 AARCH64_TUNE_FMA_STEERING.
3859
3860 2015-06-03 Jan Hubicka <hubicka@ucw.cz>
3861
3862 * tree.c (verify_type_variant): Verify that type and variant is
3863 compatible.
3864 (gimple_canonical_types_compatible_p): Look for main variants.
3865
3866 2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>
3867
3868 * config.gcc (powerpc*-*-*): Add support for a new configure
3869 option --with-advance-toolchain=<xxx> which overrides using the
3870 default header files, libraries and dynamic linker.
3871
3872 * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
3873 specs to support the configure --with-advance-toolchain=<xxx>
3874 option.
3875 (INCLUDE_EXTRA_SPEC): Likewise.
3876 (LINK_OS_EXTRA_SPEC32): Likewise.
3877 (LINK_OK_EXTRA_SPEC64): Likewise.
3878 (LINK_OS_NEW_DTAGS_SPEC): Likewise.
3879 (DYNAMIC_LINKER_PREFIX): Likewise.
3880 (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
3881 toolchain support.
3882 (GLIBC_DYNAMIC_LINKER32): Likewise.
3883 (GLIBC_DYNAMIC_LINKER64): Likewise.
3884 (LINK_OS_LINUX_SPEC32): Likewise.
3885 (LINK_OS_LINUX_SPEC64): Likewise.
3886
3887 * doc/install.texi (--enable-advance-toolchain=<xx>): Document new
3888 configuration option.
3889
3890 2015-06-03 Uros Bizjak <ubizjak@gmail.com>
3891
3892 PR target/66275
3893 * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
3894 to determine current function ABI.
3895 (ix86_function_value_regno_p): Ditto.
3896
3897 2015-06-03 Martin Liska <mliska@suse.cz>
3898
3899 * alloc-pool.h (struct pool_usage): Correct GNU coding style.
3900 * bitmap.h (struct bitmap_usage): Likewise.
3901 * ggc-common.c (struct ggc_usage): Likewise.
3902 * mem-stats.h (struct mem_location): Likewise.
3903 (struct mem_usage): Likewise.
3904 * vec.c (struct vec_usage): Likewise.
3905
3906 2015-06-03 Benigno B. Junior <bbj@gentoo.org>
3907
3908 * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
3909 -Bsymbolic.
3910
3911 2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
3912
3913 * doc/plugins.texi (enum plugin_event): New event.
3914 * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
3915 and PLUGIN_FINISH_FUNCTION.
3916 * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
3917 (PLUGIN_FINISH_PARSE_FUNCTION): Likewise.
3918
3919 2015-06-03 Richard Biener <rguenther@suse.de>
3920
3921 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
3922 compute GROUP_GAP for the first element.
3923 * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
3924 on in-group gaps.
3925
3926 2015-06-03 Nick Clifton <nickc@redhat.com>
3927
3928 * config/rl78/rl78-real.md: Add peepholes to avoid a register
3929 copy when calling a function.
3930 * config/rl78/rl78.c (need_to_save): Do not push the frame
3931 pointer in an interrupt handler prologue if it is never used.
3932
3933 2015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3934
3935 * ifcvt (end_ifcvt_sequence): Fix typo in comment above.
3936
3937 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
3938
3939 * ipa-chkp.c (chkp_maybe_create_clone): Create alias
3940 reference when cloning alias node.
3941
3942 2015-06-03 Martin Liska <mliska@suse.cz>
3943
3944 * alloc-pool.h (struct pool_usage): Correct space padding.
3945 * ggc-page.c (ggc_print_statistics): Align columns in a report.
3946 * mem-stats.h (struct mem_usage): Add argument to print_dash_line.
3947 * tree.c (dump_tree_statistics): Align columns in a report.
3948
3949 2015-06-03 Martin Liska <mliska@suse.cz>
3950
3951 * alloc-pool.c (allocate_pool_descriptor): Remove.
3952 (struct pool_output_info): Likewise.
3953 (print_alloc_pool_statistics): Likewise.
3954 (dump_alloc_pool_statistics): Likewise.
3955 * alloc-pool.h (struct pool_usage): New struct.
3956 (pool_allocator::initialize): Change usage of memory statistics
3957 to a new interface.
3958 (pool_allocator::release): Likewise.
3959 (pool_allocator::allocate): Likewise.
3960 (pool_allocator::remove): Likewise.
3961 * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
3962 for a pool allocator.
3963 * mem-stats.h (struct mem_location): Add new ctor.
3964 (struct mem_usage): Add counter for number of
3965 instances.
3966 (mem_alloc_description::register_descriptor): New overload of
3967 * mem-stats.h (mem_location::to_string): New function.
3968 * bitmap.h (struct bitmap_usage): Use this new function.
3969 * ggc-common.c (struct ggc_usage): Likewise.
3970 the function.
3971
3972 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
3973
3974 * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
3975 of GCC_INSN_FLAGS_H block.
3976
3977 2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
3978
3979 * explow.c (plus_constant): Update check after force_const_mem call
3980 to see if the value returned is not a NULL_RTX.
3981
3982 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
3983
3984 * ipa.c (symbol_table::remove_unreachable_nodes): Don't
3985 remove instumentation thunks calling reachable functions.
3986 * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
3987 * lto/lto-partition.c (privatize_symbol_name_1): New.
3988 (privatize_symbol_name): Privatize both decl and orig_decl
3989 names for instrumented functions.
3990 * cgraph.c (cgraph_node::verify_node): Add transparent
3991 alias chain check for instrumented node.
3992
3993 2015-06-03 Marek Polacek <polacek@redhat.com>
3994
3995 PR c/64223
3996 PR c/29358
3997 * tree.c (attribute_value_equal): Handle attribute format.
3998 (cmp_attrib_identifiers): Factor out of lookup_ident_attribute.
3999
4000 2015-06-03 Richard Biener <rguenther@suse.de>
4001
4002 PR tree-optimization/63916
4003 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
4004 Forward-propagate non-invariant addresses by splicing their
4005 reference ops if the result isn't going to be used by PRE.
4006 (vn_reference_lookup_3): Remove pointless assert.
4007
4008 2015-06-03 Richard Biener <rguenther@suse.de>
4009
4010 PR tree-optimization/66375
4011 * tree-scalar-evolution.c (follow_ssa_edge_binary): First
4012 add to the evolution before following SSA edges.
4013
4014 2015-06-03 Bin Cheng <bin.cheng@arm.com>
4015
4016 * tree-ssa-loop-ivopts.c (dump_iv): New parameter.
4017 (dump_use, dump_cand, find_induction_variables): Pass new argument
4018 to dump_iv.
4019 (record_use): Preserve the ssa name information in IV.
4020
4021 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
4022
4023 * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
4024 NO_MODE_TEST.
4025 (add_mode_tests): Don't add mode tests if the predicate only
4026 accepts scalar constant integers. Otherwise, allow the mode
4027 of "op" to be VOIDmode if the predicate does accept such integers.
4028
4029 2015-06-02 Jim Wilson <jim.wilson@linaro.org>
4030
4031 PR target/66258
4032 * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
4033 !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
4034 (aarch64_secondary_reload): Likewise
4035 (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
4036 to !TARGET_FLOAT.
4037 (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
4038 Likewise.
4039
4040 2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org>
4041 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4042
4043 PR target/65768
4044 * cprop.c (try_replace_reg): Check cost of constants before propagating.
4045
4046 2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
4047
4048 * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
4049 provide access to the IBM extended double floating point mode if
4050 long double is IEEE 128-bit floating point.
4051 (KFmode): Define KFmode to provide access to IEEE 128-bit floating
4052 point if long double is the IBM extended double type.
4053
4054 * config/rs6000/rs6000.opt (-mfloat128-none): New switches to
4055 enable adding IEEE 128-bit floating point support.
4056 (-mfloat128-software): Likewise.
4057 (-mfloat128-sw): Likewise.
4058
4059 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
4060 128-bit floating point types to occupy any register if
4061 -mlong-double-64. Do not allow use of IFmode/KFmode unless
4062 -mfloat128-software is enabled.
4063 (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
4064 support.
4065 (rs6000_option_override_internal): Add -mfloat128-* support.
4066 (rs6000_init_builtins): Setup __ibm128 and __float128 type modes.
4067
4068 * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
4069 and float128 type nodes.
4070 (ieee128_float_type_node): Likewise.
4071 (ibm128_float_type_node): Likewise.
4072
4073 2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
4074
4075 PR target/66136
4076 * config/aarch64/geniterators.sh: Rewrite in awk.
4077
4078 2015-06-02 Martin Liska <mliska@suse.cz>
4079
4080 * alloc-pool.h (pool_allocator::pool_allocator): Set implicit
4081 values to avoid -Wmaybe-uninitialized errors.
4082
4083 2015-06-02 Richard Biener <rguenther@suse.de>
4084
4085 PR debug/65549
4086 * dwarf2out.c (lookup_context_die): New function.
4087 (resolve_addr): Avoid forcing a full DIE for the
4088 target of a DW_TAG_GNU_call_site during late compilation.
4089 Instead create a stub DIE without a type if we have a
4090 context DIE present.
4091
4092 2015-06-02 Uros Bizjak <ubizjak@gmail.com>
4093
4094 * df-scan.c (df_scan_start_dump): Add space between regno and regname.
4095
4096 2015-06-02 Bin Cheng <bin.cheng@arm.com>
4097
4098 PR tree-optimization/48052
4099 * cfgloop.h (struct control_iv): New.
4100 (struct loop): New field control_ivs.
4101 * tree-ssa-loop-niter.c : Include "stor-layout.h".
4102 (number_of_iterations_lt): Set no_overflow information.
4103 (number_of_iterations_exit): Init control iv in niter struct.
4104 (record_control_iv): New.
4105 (estimate_numbers_of_iterations_loop): Call record_control_iv.
4106 (loop_exits_before_overflow): New. Interface factored out of
4107 scev_probably_wraps_p.
4108 (scev_probably_wraps_p): Factor loop niter related code into
4109 loop_exits_before_overflow.
4110 (free_numbers_of_iterations_estimates_loop): Free control ivs.
4111 * tree-ssa-loop-niter.h (free_loop_control_ivs): New.
4112
4113 2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
4114
4115 * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if
4116 the target doesn't belong to the current function.
4117
4118 2015-06-02 Marek Polacek <polacek@redhat.com>
4119
4120 PR middle-end/66345
4121 * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
4122 get_maxval_strlen does not produce an INTEGER_CST.
4123
4124 2015-06-02 Richard Sandiford <richard.sandiford@arm.com>
4125
4126 * config/arc/constraints.md: Use lower-case names in match_code.
4127 * config/mmix/constraints.md: Likewise.
4128
4129 2015-06-02 Richard Biener <rguenther@suse.de>
4130
4131 PR tree-optimization/65961
4132 * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus
4133 check and clarify dump message.
4134 (vect_build_slp_tree): If all children are built up from scalars
4135 build up the parent from scalars instead.
4136 * tree-vect-stmts.c (vect_is_simple_use): Cleanup.
4137
4138 2015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com>
4139
4140 PR other/65366
4141 * gdbhooks.py: Use int(...) instead of long(...). Use print(...)
4142 instead of print ... .
4143
4144 2015-06-02 Alan Modra <amodra@gmail.com>
4145
4146 * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
4147 2014-08-11 change.
4148
4149 2015-06-02 Bin Cheng <bin.cheng@arm.com>
4150
4151 PR tree-optimization/52563
4152 PR tree-optimization/62173
4153 * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields.
4154 (alloc_iv, set_iv): New parameter.
4155 (determine_biv_step): Delete.
4156 (find_bivs): Inline original determine_biv_step. Pass new
4157 argument to set_iv.
4158 (idx_find_step): Use no_overflow information for conversion.
4159 * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let
4160 resolve_mixers handle folded_casts.
4161 (instantiate_scev_name): Change bool parameter to bool pointer.
4162 (instantiate_scev_poly, instantiate_scev_binary): Ditto.
4163 (instantiate_array_ref, instantiate_scev_not): Ditto.
4164 (instantiate_scev_3, instantiate_scev_2): Ditto.
4165 (instantiate_scev_1, instantiate_scev_r): Ditto.
4166 (instantiate_scev_convert, ): Change parameter. Pass argument
4167 to chrec_convert_aggressive.
4168 (instantiate_scev): Change argument.
4169 (resolve_mixers): New parameter and set it.
4170 (scev_const_prop): New argument.
4171 * tree-scalar-evolution.h (resolve_mixers): New parameter.
4172 * tree-chrec.c (convert_affine_scev): Call chrec_convert instead
4173 of chrec_conert_1.
4174 (chrec_convert): New parameter. Move definition below.
4175 (chrec_convert_aggressive): New parameter and set it. Call
4176 convert_affine_scev.
4177 * tree-chrec.h (chrec_convert): New parameter.
4178 (chrec_convert_aggressive): Ditto.
4179
4180 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
4181
4182 * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size.
4183 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove
4184 the LHS of a no-return call if its type has variable size.
4185 * tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
4186 * tree-cfg.c (verify_gimple_call): Accept these no-return calls.
4187
4188 2015-06-01 Andreas Tobler <andreast@gcc.gnu.org>
4189
4190 * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL.
4191 * config.in: Regenerate.
4192
4193 2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
4194
4195 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
4196 consecutive accesses within outer-loop with force_vectorize
4197 for references with zero step in inner-loop.
4198
4199 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
4200
4201 * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory
4202 rather than from gcc/build directory.
4203
4204 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
4205
4206 PR target/65697
4207 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
4208 for __sync memory models, emit initial loads and final barriers as
4209 appropriate.
4210
4211 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
4212
4213 PR target/65697
4214 * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New.
4215 (aarch64_split_atomic_op): Check for __sync memory models, emit
4216 appropriate initial loads and final barriers.
4217
4218 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
4219
4220 * Makefile.in: Fix gcov dependencies that should
4221 not point to a build folder.
4222
4223 2015-06-01 Richard Biener <rguenther@suse.de>
4224
4225 Revert
4226 2015-05-29 Richard Biener <rguenther@suse.de>
4227
4228 PR tree-optimization/66314
4229 * tree-ssa-threadupdate.c (create_block_for_threading): Add
4230 parameter that says which loop the new block belongs to.
4231 (ssa_create_duplicates): Blocks duplicated for the threaded
4232 path belong to the loop of the thread destination.
4233
4234 2015-06-01 Martin Liska <mliska@suse.cz>
4235
4236 * sched-deps.c: Include pool-alloc.h before
4237 cselib.h header file is included.
4238
4239 2015-06-01 Richard Biener <rguenther@suse.de>
4240
4241 * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
4242 functions.
4243
4244 2015-06-01 Martin Liska <mliska@suse.cz>
4245
4246 * alloc-pool.h: Add ATTRIBUTE_UNUSED for
4247 a function local variable.
4248
4249 2015-06-01 Martin Liska <mliska@suse.cz>
4250
4251 * alloc-pool.c (create_alloc_pool): Remove.
4252 (empty_alloc_pool): Likewise.
4253 (free_alloc_pool): Likewise.
4254 (free_alloc_pool_if_empty): Likewise.
4255 (pool_alloc): Likewise.
4256 (pool_free): Likewise.
4257 * alloc-pool.h: Remove old declarations.
4258
4259 2015-06-01 Martin Liska <mliska@suse.cz>
4260
4261 * ira-build.c (initiate_allocnos): Use new type-based pool allocator.
4262 (ira_create_object): Likewise.
4263 (ira_create_allocno): Likewise.
4264 (ira_create_live_range): Likewise.
4265 (copy_live_range): Likewise.
4266 (ira_finish_live_range): Likewise.
4267 (ira_free_allocno_costs): Likewise.
4268 (finish_allocno): Likewise.
4269 (finish_allocnos): Likewise.
4270 (initiate_prefs): Likewise.
4271 (ira_create_pref): Likewise.
4272 (finish_pref): Likewise.
4273 (finish_prefs): Likewise.
4274 (initiate_copies): Likewise.
4275 (ira_create_copy): Likewise.
4276 (finish_copy): Likewise.
4277 (finish_copies): Likewise.
4278 (finish_prefs): Likewise.
4279
4280 2015-06-01 Martin Liska <mliska@suse.cz>
4281
4282 * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
4283 (allocate_and_init_ipcp_value): Likewise.
4284 (ipcp_lattice::add_value): Likewise.
4285 (merge_agg_lats_step): Likewise.
4286 (ipcp_driver): Likewise.
4287 * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
4288 (ipa_free_all_structures_after_iinln): Likewise.
4289 * ipa-prop.h: Likewise.
4290
4291 2015-06-01 Martin Liska <mliska@suse.cz>
4292
4293 * ipa-inline-analysis.c (edge_set_predicate): Use new type-based
4294 pool allocator.
4295 (set_hint_predicate): Likewise.
4296 (inline_summary_alloc): Likewise.
4297 (reset_inline_edge_summary): Likewise.
4298 (reset_inline_summary): Likewise.
4299 (set_cond_stmt_execution_predicate): Likewise.
4300 (set_switch_stmt_execution_predicate): Likewise.
4301 (compute_bb_predicates): Likewise.
4302 (estimate_function_body_sizes): Likewise.
4303 (inline_free_summary): Likewise.
4304
4305 2015-06-01 Martin Liska <mliska@suse.cz>
4306
4307 * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
4308 (ipa_edge_duplication_hook): Likewise.
4309 (ipa_free_all_structures_after_ipa_cp): Likewise.
4310 (ipa_free_all_structures_after_iinln): Likewise.
4311
4312 2015-06-01 Martin Liska <mliska@suse.cz>
4313
4314 * ipa-profile.c (account_time_size): Use new type-based pool allocator.
4315 (ipa_profile_generate_summary): Likewise.
4316 (ipa_profile_read_summary): Likewise.
4317 (ipa_profile): Likewise.
4318
4319 2015-06-01 Martin Liska <mliska@suse.cz>
4320
4321 * tree-ssa-structalias.c (new_var_info): Use new type-based
4322 pool allocator.
4323 (new_constraint): Likewise.
4324 (init_alias_vars): Likewise.
4325 (delete_points_to_sets): Likewise.
4326
4327 2015-06-01 Martin Liska <mliska@suse.cz>
4328
4329 * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
4330 (free_strinfo): Likewise.
4331 (pass_strlen::execute): Likewise.
4332
4333 2015-06-01 Martin Liska <mliska@suse.cz>
4334
4335 * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based
4336 pool allocator.
4337 (vn_reference_insert_pieces): Likewise.
4338 (vn_phi_insert): Likewise.
4339 (visit_reference_op_call): Likewise.
4340 (copy_phi): Likewise.
4341 (copy_reference): Likewise.
4342 (process_scc): Likewise.
4343 (allocate_vn_table): Likewise.
4344 (free_vn_table): Likewise.
4345
4346 2015-06-01 Martin Liska <mliska@suse.cz>
4347
4348 * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based
4349 pool allocator.
4350 (add_repeat_to_ops_vec): Likewise.
4351 (get_ops): Likewise.
4352 (maybe_optimize_range_tests): Likewise.
4353 (init_reassoc): Likewise.
4354 (fini_reassoc): Likewise.
4355
4356 2015-06-01 Martin Liska <mliska@suse.cz>
4357
4358 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based
4359 pool allocator.
4360 (bitmap_set_new): Likewise.
4361 (get_or_alloc_expr_for_constant): Likewise.
4362 (get_or_alloc_expr_for): Likewise.
4363 (phi_translate_1): Likewise.
4364 (compute_avail): Likewise.
4365 (init_pre): Likewise.
4366 (fini_pre): Likewise.
4367
4368 2015-06-01 Martin Liska <mliska@suse.cz>
4369
4370 * sched-deps.c (create_dep_node): Use new type-based pool allocator.
4371 (delete_dep_node): Likewise.
4372 (create_deps_list): Likewise.
4373 (free_deps_list): Likewise.
4374 (sched_deps_init): Likewise.
4375 (sched_deps_finish): Likewise.
4376
4377 2015-06-01 Martin Liska <mliska@suse.cz>
4378
4379 * regcprop.c (free_debug_insn_changes): Use new type-based
4380 pool allocator.
4381 (replace_oldest_value_reg): Likewise.
4382 (pass_cprop_hardreg::execute): Likewise.
4383
4384 2015-06-01 Martin Liska <mliska@suse.cz>
4385
4386 * ira-build.c (initiate_cost_vectors): Use new type-based
4387 pool allocator.
4388 (ira_allocate_cost_vector): Likewise.
4389 (ira_free_cost_vector): Likewise.
4390 (finish_cost_vectors): Likewise.
4391
4392 2015-06-01 Martin Liska <mliska@suse.cz>
4393
4394 * sel-sched-ir.c (alloc_sched_pools): Use new type-based
4395 pool allocator.
4396 (free_sched_pools): Likewise.
4397 * sel-sched-ir.h (_list_alloc): Likewise.
4398 (_list_remove): Likewise.
4399
4400 2015-06-01 Martin Liska <mliska@suse.cz>
4401
4402 * stmt.c (add_case_node): Use new type-based pool allocator.
4403 (expand_case): Likewise.
4404 (expand_sjlj_dispatch_table): Likewise.
4405
4406 2015-06-01 Martin Liska <mliska@suse.cz>
4407
4408 * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
4409 (free_bb): Likewise.
4410 (pass_cse_reciprocals::execute): Likewise.
4411
4412 2015-06-01 Martin Liska <mliska@suse.cz>
4413
4414 * tree-sra.c (sra_initialize): Use new type-based pool allocator.
4415 (sra_deinitialize) Likewise.
4416 (create_access_1) Likewise.
4417 (build_accesses_from_assign) Likewise.
4418 (create_artificial_child_access) Likewise.
4419
4420 2015-06-01 Martin Liska <mliska@suse.cz>
4421
4422 * dse.c (get_group_info):Use new type-based pool allocator.
4423 (dse_step0) Likewise.
4424 (free_store_info) Likewise.
4425 (delete_dead_store_insn) Likewise.
4426 (free_read_records) Likewise.
4427 (record_store) Likewise.
4428 (replace_read) Likewise.
4429 (check_mem_read_rtx) Likewise.
4430 (scan_insn) Likewise.
4431 (dse_step1) Likewise.
4432 (dse_step7) Likewise.
4433
4434 2015-06-01 Martin Liska <mliska@suse.cz>
4435
4436 * df-scan.c (struct df_scan_problem_data):Use new type-based
4437 pool allocator.
4438 (df_scan_free_internal) Likewise.
4439 (df_scan_alloc) Likewise.
4440 (df_grow_reg_info) Likewise.
4441 (df_free_ref) Likewise.
4442 (df_insn_create_insn_record) Likewise.
4443 (df_mw_hardreg_chain_delete) Likewise.
4444 (df_insn_info_delete) Likewise.
4445 (df_free_collection_rec) Likewise.
4446 (df_mw_hardreg_chain_delete_eq_uses) Likewise.
4447 (df_sort_and_compress_mws) Likewise.
4448 (df_ref_create_structure) Likewise.
4449 (df_ref_record) Likewise.
4450
4451 2015-06-01 Martin Liska <mliska@suse.cz>
4452
4453 * df-problems.c (df_chain_create):Use new type-based pool allocator.
4454 (df_chain_unlink_1) Likewise.
4455 (df_chain_unlink) Likewise.
4456 (df_chain_remove_problem) Likewise.
4457 (df_chain_alloc) Likewise.
4458 (df_chain_free) Likewise.
4459 * df.h (struct dataflow) Likewise.
4460
4461 2015-06-01 Martin Liska <mliska@suse.cz>
4462
4463 * cselib.c (new_elt_list):Use new type-based pool allocator.
4464 (new_elt_loc_list) Likewise.
4465 (unchain_one_elt_list) Likewise.
4466 (unchain_one_elt_loc_list) Likewise.
4467 (unchain_one_value) Likewise.
4468 (new_cselib_val) Likewise.
4469 (cselib_init) Likewise.
4470 (cselib_finish) Likewise.
4471
4472 2015-06-01 Martin Liska <mliska@suse.cz>
4473
4474 * config/sh/sh.c (add_constant):Use new type-based pool allocator.
4475 (sh_reorg) Likewise.
4476
4477 2015-06-01 Martin Liska <mliska@suse.cz>
4478
4479 * cfg.c (initialize_original_copy_tables):Use new type-based
4480 pool allocator.
4481 (free_original_copy_tables) Likewise.
4482 (copy_original_table_clear) Likewise.
4483 (copy_original_table_set) Likewise.
4484
4485 2015-06-01 Martin Liska <mliska@suse.cz>
4486
4487 * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based
4488 pool allocator.
4489 (asan_mem_ref_new) Likewise.
4490 (free_mem_ref_resources) Likewise.
4491
4492 2015-06-01 Martin Liska <mliska@suse.cz>
4493
4494 * var-tracking.c (variable_htab_free):Use new type-based
4495 pool allocator.
4496 (attrs_list_clear) Likewise.
4497 (attrs_list_insert) Likewise.
4498 (attrs_list_copy) Likewise.
4499 (shared_hash_unshare) Likewise.
4500 (shared_hash_destroy) Likewise.
4501 (unshare_variable) Likewise.
4502 (var_reg_delete_and_set) Likewise.
4503 (var_reg_delete) Likewise.
4504 (var_regno_delete) Likewise.
4505 (drop_overlapping_mem_locs) Likewise.
4506 (variable_union) Likewise.
4507 (insert_into_intersection) Likewise.
4508 (canonicalize_values_star) Likewise.
4509 (variable_merge_over_cur) Likewise.
4510 (dataflow_set_merge) Likewise.
4511 (remove_duplicate_values) Likewise.
4512 (variable_post_merge_new_vals) Likewise.
4513 (dataflow_set_preserve_mem_locs) Likewise.
4514 (dataflow_set_remove_mem_locs) Likewise.
4515 (variable_from_dropped) Likewise.
4516 (variable_was_changed) Likewise.
4517 (set_slot_part) Likewise.
4518 (clobber_slot_part) Likewise.
4519 (delete_slot_part) Likewise.
4520 (loc_exp_insert_dep) Likewise.
4521 (notify_dependents_of_changed_value) Likewise.
4522 (emit_notes_for_differences_1) Likewise.
4523 (vt_emit_notes) Likewise.
4524 (vt_initialize) Likewise.
4525 (vt_finalize) Likewise.
4526
4527 2015-06-01 Martin Liska <mliska@suse.cz>
4528
4529 * ira-color.c (init_update_cost_records):Use new type-based
4530 pool allocator.
4531 (get_update_cost_record) Likewise.
4532 (free_update_cost_record_list) Likewise.
4533 (finish_update_cost_records) Likewise.
4534 (initiate_cost_update) Likewise.
4535
4536 2015-06-01 Martin Liska <mliska@suse.cz>
4537
4538 * lra.c (init_insn_regs): Use new type-based pool allocator.
4539 (new_insn_reg) Likewise.
4540 (free_insn_reg) Likewise.
4541 (free_insn_regs) Likewise.
4542 (finish_insn_regs) Likewise.
4543 (init_insn_recog_data) Likewise.
4544 (init_reg_info) Likewise.
4545 (finish_reg_info) Likewise.
4546 (lra_free_copies) Likewise.
4547 (lra_create_copy) Likewise.
4548 (invalidate_insn_data_regno_info) Likewise.
4549
4550 2015-06-01 Martin Liska <mliska@suse.cz>
4551
4552 * lra-lives.c (free_live_range): Use new type-based pool allocator.
4553 (free_live_range_list) Likewise.
4554 (create_live_range) Likewise.
4555 (copy_live_range) Likewise.
4556 (lra_merge_live_ranges) Likewise.
4557 (remove_some_program_points_and_update_live_ranges) Likewise.
4558 (lra_live_ranges_init) Likewise.
4559 (lra_live_ranges_finish) Likewise.
4560
4561 2015-06-01 Martin Liska <mliska@suse.cz>
4562
4563 * et-forest.c (et_new_occ): Use new type-based pool allocator.
4564 (et_new_tree): Likewise.
4565 (et_free_tree): Likewise.
4566 (et_free_tree_force): Likewise.
4567 (et_free_pools): Likewise.
4568 (et_split): Likewise.
4569
4570 2015-06-01 Martin Liska <mliska@suse.cz>
4571
4572 * alloc-pool.c (struct alloc_pool_descriptor): Move definition
4573 to header file.
4574 * alloc-pool.h (pool_allocator::pool_allocator): New function.
4575 (pool_allocator::release): Likewise.
4576 (inline pool_allocator::release_if_empty): Likewise.
4577 (inline pool_allocator::~pool_allocator): Likewise.
4578 (pool_allocator::allocate): Likewise.
4579 (pool_allocator::remove): Likewise.
4580
4581 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
4582
4583 * sched-deps.c (sched_analyze_2): Replace fuseable with fusible
4584 in comment.
4585
4586 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
4587
4588 * gcc/config/arm/arm-protos.h (tune_params): Rename fuseable_ops
4589 to fusible_ops.
4590 * gcc/config/arm/arm.c (arm_print_tune_info): Likewise.
4591 (arm_macro_fusion_p): Likewise.
4592 (arm_macro_fusion_pair_p): Likewise.
4593
4594 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
4595
4596 * config/aarch64/aarch64-protos.h (tune_params): Rename
4597 fuseable_ops to fusible_ops.
4598 * config/aarch64/aarch64.c (generic_tunings): Rename
4599 fuseable_ops to fusible_ops.
4600 (cortexa53_tunings): Likewise.
4601 (cortexa57_tunings): Likewise.
4602 (thunderx_tunings): Likewise.
4603 (xgene1_tunings): Likewise.
4604 (aarch64_macro_fusion_p): Likewise.
4605 (aarch64_macro_fusion_pair_p): Likewise.
4606
4607 2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
4608
4609 * config/s390/driver-native.c: New file.
4610 * config/s390/x-native: New file.
4611 * config.host: Add new files for s390.
4612 * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
4613 and -march=native
4614 * config.gcc: Likewise.
4615 * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
4616 * config/s390/s390-opts.h (enum processor_type): Ditto.
4617 * config/s390/s390.c (s390_option_override): Catch unhandled
4618 PROCESSOR_NATIVE
4619
4620 2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
4621
4622 PR target/65527
4623 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
4624 redirection for instrumented calls.
4625 * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
4626 (append_compiler_options): Append -fcheck-pointer-bounds.
4627 * tree-chkp.h (chkp_copy_call_skip_bounds): New.
4628 (chkp_redirect_edge): New.
4629 * tree-chkp.c (chkp_copy_call_skip_bounds): New.
4630 (chkp_redirect_edge): New.
4631
4632 2015-06-01 Richard Biener <rguenther@suse.de>
4633
4634 PR tree-optimization/66280
4635 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
4636 def-use walking.
4637
4638 2015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4639
4640 * config/aarch64/aarch64.md
4641 (*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
4642 logic_shift_imm.
4643
4644 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
4645
4646 * config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
4647 Remove obsolete kludge.
4648
4649 2015-06-01 Richard Biener <rguenther@suse.de>
4650
4651 * tree-ssa-reassoc.c (get_rank): Simplify.
4652
4653 2015-05-31 H.J. Lu <hongjiu.lu@intel.com>
4654
4655 * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
4656 * configure: Regenerated.
4657
4658 2015-05-31 Mikhail Maltsev <maltsevm@gmail.com>
4659
4660 * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
4661 issue (add space between string literal and macro).
4662 * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
4663
4664 2015-05-30 Andreas Schwab <schwab@linux-m68k.org>
4665
4666 * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
4667 implict or explicit -fPIE or -fpie.
4668
4669 2015-05-30 Mike Frysinger <vapier@gentoo.org>
4670
4671 * gcc/config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}.
4672
4673 2015-05-28 DJ Delorie <dj@redhat.com>
4674
4675 * expmed.c (extract_bit_field_1): Avoid clobbering a
4676 yet-to-be-used base/index register.
4677
4678 2015-05-30 Jan Hubicka <hubicka@ucw.cz>
4679
4680 * alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
4681 (alias_stats): Add num_universal.
4682 (alias_set_subset_of): Special case pointers; be ready for NULL
4683 children.
4684 (alias_sets_conflict_p): Special case pointers; be ready for NULL
4685 children.
4686 (init_alias_set_entry): Break out from ...
4687 (record_alias_subset): ... here; propagate new fields;
4688 allocate children only when really needed.
4689 (get_alias_set): Do less generous pointer globbing.
4690 (dump_alias_stats_in_alias_c): Update statistics.
4691
4692 2015-05-30 Alan Modra <amodra@gmail.com>
4693
4694 * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
4695 correct block for use of r12.
4696 (rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
4697
4698 2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4699
4700 PR target/66215
4701 * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
4702 with -mhotpatch=.
4703
4704 2015-05-29 Jakub Jelinek <jakub@redhat.com>
4705
4706 PR tree-optimization/66142
4707 * tree-if-conv.c (if_convertible_phi_p): Don't give up on
4708 virtual phis that feed themselves.
4709
4710 2015-05-29 Richard Biener <rguenther@suse.de>
4711
4712 PR tree-optimization/66314
4713 * tree-ssa-threadupdate.c (create_block_for_threading): Add
4714 parameter that says which loop the new block belongs to.
4715 (ssa_create_duplicates): Blocks duplicated for the threaded
4716 path belong to the loop of the thread destination.
4717
4718 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
4719
4720 * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
4721 to cleanup-saved-temps.
4722 * doc/sourcebuild.texi (Clean up generated test files): Expand
4723 introduction.
4724 (dg-keep-saved-temps): Document new proc.
4725 (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
4726 cleanup-saved-temps): Remove.
4727
4728 2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
4729
4730 * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
4731 gcc_AC_CHECK_DECLS.
4732 * configure: Regenerate.
4733
4734 2015-05-28 Mike Frysinger <vapier@gentoo.org>
4735
4736 * config/nios2/linux.h (CPP_SPEC): Define.
4737
4738 2015-05-28 Mike Frysinger <vapier@gentoo.org>
4739
4740 * config/microblaze/linux.h (CPP_SPEC): Define.
4741
4742 2015-05-28 Mike Frysinger <vapier@gentoo.org>
4743
4744 * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
4745 -pthread is specified.
4746
4747 2015-05-28 Richard Biener <rguenther@suse.de>
4748
4749 * tree-vect-loop.c (vect_fixup_reduc_chain): New function.
4750 (vect_fixup_scalar_cycles_with_patterns): Likewise.
4751 (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
4752 after pattern recog.
4753 (vect_create_epilog_for_reduction): Properly handle reductions
4754 with patterns.
4755 (vectorizable_reduction): Likewise.
4756 * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
4757 reduction chains.
4758 (vect_get_constant_vectors): Create the correct number of
4759 initial values for reductions.
4760 (vect_schedule_slp_instance): Handle reduction chains that are
4761 type changing properly.
4762 * tree-vect-stmts.c (vect_analyze_stmt): Adjust.
4763
4764 2015-05-28 Richard Biener <rguenther@suse.de>
4765
4766 PR tree-optimization/66142
4767 * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
4768 values better in memcpy destination handling. Handle non-aliasing
4769 we discover here.
4770
4771 2015-05-28 Lawrence Velázquez <vq@larryv.me>
4772
4773 PR target/63810
4774 * config/darwin-c.c (version_components): New global enum.
4775 (parse_version, version_as_legacy_macro)
4776 (version_as_modern_macro, macosx_version_as_macro): New functions.
4777 (version_as_macro): Remove.
4778 (darwin_cpp_builtins): Use new function.
4779
4780 2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
4781
4782 * builtins.c (expand_builtin_acc_on_device): Mark parameters
4783 with ATTRIBUTE_UNUSED.
4784
4785 2015-05-28 Julian Brown <julian@codesourcery.com>
4786
4787 PR libgomp/65742
4788
4789 * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
4790 sequence for !ACCEL_COMPILER.
4791
4792 2015-05-28 Nick Clifton <nickc@redhat.com>
4793
4794 * config/rx/rx.c (push_regs): New function. Extracts code from...
4795 (rx_expand_prologue): ... here. Use push_regs to push even small
4796 spans of registers.
4797 (pop_regs): New function.
4798 (rx_expand_epilogue): Use pop_regs to pop even small spans of
4799 registers.
4800
4801 2015-05-28 Richard Biener <rguenther@suse.de>
4802
4803 * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
4804 member.
4805 (SLP_INSTANCE_BODY_COST_VEC): Remove.
4806 (vect_update_slp_costs_according_to_vf): Likewise.
4807 (vect_slp_analyze_operations): Update prototype.
4808 * tree-vect-loop.c (vect_analyze_loop_2): Remove call to
4809 vect_update_slp_costs_according_to_vf, adjust.
4810 * tree-vect-slp.c (vect_free_slp_instance): Adjust.
4811 (vect_analyze_slp_cost_1): Likewise.
4812 (vect_analyze_slp_cost): Likewise. Properly deal with
4813 widening reduction ops. Commit body costs.
4814 (vect_analyze_slp_instance): Adjust. Do not analyze SLP
4815 cost for loops from here.
4816 (vect_slp_analyze_operations): But do it from here when
4817 the vectorization factor is known and stmts are analyzed.
4818 (vect_bb_vectorization_profitable_p): Simplify.
4819 (vect_slp_analyze_bb_1): Do not compute SLP cost here.
4820 (vect_update_slp_costs_according_to_vf): Remove.
4821
4822 2015-05-27 Magnus Granberg <zorry@gentoo.org>
4823 H.J. Lu <hongjiu.lu@intel.com>
4824
4825 * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
4826 (BUILD_CFLAGS): Likewise.
4827 (BUILD_CXXFLAGS): Likewise.
4828 (LINKER): Add @NO_PIE_FLAG@.
4829 (BUILD_LDFLAGS): Likewise.
4830 (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
4831 --enable-default-pie.
4832 * common.opt (fPIE): Initialize to -1.
4833 (fpie): Likewise.
4834 (no-pie): New option.
4835 (pie): Replace "Negative(shared)" with "Negative(no-pie)".
4836 * configure.ac: Add --enable-default-pie.
4837 (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST.
4838 (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST.
4839 * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE.
4840 * gcc.c (NO_PIE_SPEC): New.
4841 (PIE_SPEC): Likewise.
4842 (NO_FPIE1_SPEC): Likewise.
4843 (FPIE1_SPEC): Likewise.
4844 (NO_FPIE2_SPEC): Likewise.
4845 (FPIE2_SPEC): Likewise.
4846 (NO_FPIE2_SPEC): Likewise.
4847 (FPIE_SPEC): Likewise.
4848 (NO_FPIE_SPEC): Likewise.
4849 (NO_FPIC1_SPEC): Likewise.
4850 (FPIC1_SPEC): Likewise.
4851 (NO_FPIC2_SPEC): Likewise.
4852 (FPIC2_SPEC): Likewise.
4853 (NO_FPIC2_SPEC): Likewise.
4854 (FPIC_SPEC): Likewise.
4855 (NO_FPIC_SPEC): Likewise.
4856 (NO_FPIE1_AND_FPIC1_SPEC): Likewise.
4857 (FPIE1_OR_FPIC1_SPEC): Likewise.
4858 (NO_FPIE2_AND_FPIC2_SPEC): Likewise.
4859 (FPIE2_OR_FPIC2_SPEC): Likewise.
4860 (NO_FPIE_AND_FPIC_SPEC): Likewise.
4861 (FPIE_OR_FPIC_SPEC): Likewise.
4862 (LD_PIE_SPEC): Likewise.
4863 (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC.
4864 * opts.c (finish_options): Update opts->x_flag_pie if it is -1.
4865 * config/darwin.h (PIE_SPEC): Renamed to ...
4866 (DARWIN_PIE_SPEC): This.
4867 (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
4868 * config/darwin9.h (PIE_SPEC): Renamed to ...
4869 (DARWIN_PIE_SPEC): This.
4870 * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
4871 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
4872 * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
4873 FPIE2_OR_FPIC2_SPEC.
4874 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
4875 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
4876 * gcc/config/sol2.h (ASM_PIC_SPEC): Likewise.
4877 * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
4878 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
4879 * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
4880 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
4881 * config/m32r/m32r.h (ASM_SPEC): Likewise.
4882 * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
4883 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
4884 * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
4885 * config/sparc/freebsd.h (ASM_SPEC): Likewise.
4886 * config/sparc/linux.h (ASM_SPEC): Likewise.
4887 * config/sparc/linux64.h (ASM_SPEC): Likewise.
4888 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
4889 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
4890 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
4891 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
4892 * config/sparc/sparc.h (ASM_SPEC): Likewise.
4893 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
4894 * config/sparc/vxworks.h (ASM_SPEC): Likewise.
4895 * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
4896 FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
4897 * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
4898 * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
4899 NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
4900 (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
4901 * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC.
4902 * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC.
4903 * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
4904 * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
4905 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
4906 * config/vax/linux.h (ASM_SPEC): Likewise.
4907 * doc/install.texi: Document --enable-default-pie.
4908 * doc/invoke.texi: Document -no-pie.
4909 * config.in: Regenerated.
4910 * configure: Likewise.
4911
4912 2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
4913
4914 PR rtl-optimization/66168
4915 * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to
4916 can_move_invariant_reg.
4917
4918 2015-05-27 John David Anglin <danglin@gcc.gnu.org>
4919
4920 PR target/66148
4921 * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
4922 REG_EQUAL note when doing insert.
4923
4924 * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
4925 instead of "%d" for 'o' operand.
4926
4927 2015-05-27 Nathan Sidwell <nathan@acm.org>
4928
4929 PR c++/66270
4930 * tree.c (build_pointer_type_for_mode): Canonical type does not
4931 inherit can_alias_all.
4932 (build_reference_type_for_mode): Likewise.
4933
4934 2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
4935
4936 * expr.h (array_at_struct_end_p): Move to...
4937 (array_ref_element_size): Likewise.
4938 (component_ref_field_offset): Likewise.
4939 * tree.h (array_ref_element_size): ...here.
4940 (array_at_struct_end_p): Likewise.
4941 (component_ref_field_offset): Likewise.
4942 * expr.c (array_ref_element_size): Move to...
4943 (array_ref_low_bound): Likewise.
4944 (array_at_struct_end_p): Likewise.
4945 (array_ref_up_bound): Likewise.
4946 (component_ref_field_offset): Likewise.
4947 * tree.c (array_ref_element_size): ...here.
4948 (array_ref_low_bound): Likewise.
4949 (array_ref_up_bound): Likewise.
4950 (array_at_struct_end_p): Likewise.
4951 (component_ref_field_offset): Likewise.
4952
4953 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
4954 Szabolcs Nagy <szabolcs.nagy@arm.com>
4955
4956 * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.
4957
4958 2015-05-27 Jason Merrill <jason@redhat.com>
4959
4960 PR bootstrap/66304
4961 * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
4962 ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
4963 ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
4964
4965 2015-05-22 Aditya Kumar <hiraditya@msn.com>
4966
4967 * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample
4968 is true.
4969
4970 * statistics.c (statistics_fini_pass): Print pass name.
4971
4972 2015-05-27 Richard Biener <rguenther@suse.de>
4973
4974 PR tree-optimization/66272
4975 Revert parts of
4976 2014-08-15 Richard Biener <rguenther@suse.de>
4977
4978 PR tree-optimization/62031
4979 * tree-data-ref.c (dr_analyze_indices): Do not set
4980 DR_UNCONSTRAINED_BASE.
4981 (dr_may_alias_p): All indirect accesses have to go the
4982 formerly DR_UNCONSTRAINED_BASE path.
4983 * tree-data-ref.h (struct indices): Remove
4984 unconstrained_base member.
4985 (DR_UNCONSTRAINED_BASE): Remove.
4986
4987 2015-05-27 Aldy Hernandez <aldyh@redhat.com>
4988
4989 * dwarf2out.c: Remove block_map.
4990 (gen_call_site_die): Replace block_map use with BLOCK_DIE.
4991 (gen_lexical_block_die): Same.
4992 (dwarf2out_function_decl): Remove block_map use.
4993 (dwarf2out_c_finalize): Same.
4994 * tree-core.h (struct tree_block): Add die field.
4995 * tree.h (BLOCK_DIE): New.
4996
4997 2015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4998
4999 PR target/65358
5000 * expr.c (memory_load_overlap): New function.
5001 (emit_push_insn): When pushing partial args to the stack would
5002 clobber the register part load the overlapping part into a pseudo
5003 and put it into the hard reg after pushing. Change return type
5004 to bool. Add bool argument.
5005 * expr.h (emit_push_insn): Change return type to bool.
5006 Add bool argument.
5007 * calls.c (expand_call): Cancel sibcall optimization when encountering
5008 partial argument on targets with ARGS_GROW_DOWNWARD and
5009 !STACK_GROWS_DOWNWARD.
5010 (emit_library_call_value_1): Update callsite of emit_push_insn.
5011 (store_one_arg): Likewise.
5012
5013 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
5014
5015 * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
5016
5017 2015-05-27 Martin Liska <mliska@suse.cz>
5018
5019 * Makefile.in: Add additional dependencies related to memory report
5020 enhancement.
5021 * alloc-pool.c (allocate_pool_descriptor): Use new ctor.
5022 * bitmap.c (struct bitmap_descriptor_d): Remove.
5023 (struct loc): Likewise.
5024 (struct bitmap_desc_hasher): Likewise.
5025 (bitmap_desc_hasher::hash): Likewise.
5026 (bitmap_desc_hasher::equal): Likewise.
5027 (get_bitmap_descriptor): Likewise.
5028 (bitmap_register): User new memory descriptor API.
5029 (register_overhead): Likewise.
5030 (bitmap_find_bit): Register nsearches and search_iter statistics.
5031 (struct bitmap_output_info): Remove.
5032 (print_statistics): Likewise.
5033 (dump_bitmap_statistics): Use new memory descriptor.
5034 * bitmap.h (struct bitmap_usage): New class.
5035 * genmatch.c: Extend header file inclusion.
5036 * genpreds.c: Likewise.
5037 * ggc-common.c (struct ggc_usage): New class.
5038 (struct ggc_loc_desc_hasher): Remove.
5039 (ggc_loc_desc_hasher::hash): Likewise.
5040 (ggc_loc_desc_hasher::equal): Likewise.
5041 (struct ggc_ptr_hash_entry): Likewise.
5042 (struct ptr_hash_hasher): Likewise.
5043 (ptr_hash_hasher::hash): Likewise.
5044 (ptr_hash_hasher::equal): Likewise.
5045 (make_loc_descriptor): Likewise.
5046 (ggc_prune_ptr): Likewise.
5047 (dump_ggc_loc_statistics): Use new memory descriptor.
5048 (ggc_record_overhead): Likewise.
5049 (ggc_free_overhead): Likewise.
5050 (final_cmp_statistic): Remove.
5051 (cmp_statistic): Likewise.
5052 (ggc_add_statistics): Liekwise.
5053 (ggc_prune_overhead_list): Likewise.
5054 * hash-map-traits.h: New file.
5055 * hash-map.h (struct default_hashmap_traits): Move the traits to a
5056 separate header file.
5057 * hash-set.h: Pass memory statistics info to ctor.
5058 * hash-table.c (void dump_hash_table_loc_statistics): New function.
5059 * hash-table.h (hash_table::hash_table): Add new ctor arguments.
5060 (hash_table::~hash_table): Register memory release operation.
5061 (hash_table::alloc_entries): Handle memory allocation operation.
5062 (hash_table::expand): Likewise.
5063 * inchash.c (iterative_hash_hashval_t): Move implementation to header
5064 file.
5065 (iterative_hash_host_wide_int): Likewise.
5066 * inchash.h (class hash): Likewise.
5067 * mem-stats-traits.h: New file.
5068 * mem-stats.h: New file.
5069 (mem_location): Add new class.
5070 (mem_usage): Likewise.
5071 (mem_alloc_description): Likewise.
5072 * sese.c: Add new header file inclusision.
5073 * toplev.c (dump_memory_report): Add report for hash_table, hash_map
5074 and hash_set.
5075 * tree-sra.c: Add new header file inclusision.
5076 * vec.c (struct vec_descriptor): Remove.
5077 (hash_descriptor): Likewise.
5078 (struct vec_usage): Likewise.
5079 (struct ptr_hash_entry): Likewise.
5080 (hash_ptr): Likewise.
5081 (eq_ptr): Likewise.
5082 (vec_prefix::register_overhead): Use new memory descriptor API.
5083 (vec_prefix::release_overhead): Likewise.
5084 (add_statistics): Remove.
5085 (dump_vec_loc_statistics): Use new memory descriptor API.
5086 * vec.h (struct vec_prefix): Likewise.
5087 (va_heap::reserve): Likewise.
5088 (va_heap::release): Likewise.
5089 * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
5090
5091 2015-05-27 Richard Biener <rguenther@suse.de>
5092
5093 * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
5094 earlier and remove ??? comment.
5095 (vect_analyze_stmt): If we are analyzing a pure SLP stmt
5096 and got called from loop analysis bail out. Always pass the SLP
5097 node to the vectorizable_* functions.
5098 * tree-vect-loop.c (vect_analyze_loop_operations): Remove
5099 the premature SLP check here.
5100 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
5101 detected SLP stmts.
5102 (vect_detect_hybrid_slp_1): Likewise.
5103
5104 2015-05-26 Jeff Law <law@redhat.com>
5105
5106 * combine.c (find_split_point): Verify that the shift count is a
5107 constant when choosing (plus (ashift ...)) as a split point.
5108
5109 * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
5110 No functional changes.
5111
5112 2015-05-26 Jan Hubicka <hubicka@ucw.cz>
5113
5114 * ipa-polymorphic-call.c
5115 (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
5116 case when call target is already known.
5117
5118 2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
5119
5120 PR target/65979
5121 * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
5122 take into account the case that operands[1] and operands[2]
5123 are the same register.
5124
5125 2015-05-26 Michael Matz <matz@suse.de>
5126
5127 PR middle-end/66251
5128
5129 * tree-vect-stmts.c (vect_model_store_cost): Handled strided group
5130 stores.
5131 (vect_create_vectorized_demotion_stmts): Always set
5132 STMT_VINFO_VEC_STMT, also with SLP.
5133 (vectorizable_store): Handle strided group stores.
5134
5135 2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
5136
5137 PR target/66049
5138 * config/aarch64/aarch64.md
5139 (*adds_shift_imm_<mode>): New pattern.
5140 (*subs_shift_imm_<mode>): Likewise.
5141 (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
5142 (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
5143 (*add_uxt<mode>_shift2): Likewise.
5144 (*add_uxtsi_shift2_uxtw): Likewise.
5145 (*sub_uxt<mode>_shift2): Likewise.
5146 (*sub_uxtsi_shift2_uxtw): Likewise.
5147
5148 2015-05-26 David Edelsohn <dje.gcc@gmail.com>
5149
5150 * config/rs6000/constraints.md (Y, U): Use match_test.
5151
5152 2015-05-26 Christian Bruel <christian.bruel@st.com>
5153
5154 PR target/52144
5155 * config/arm/arm.c (arm_option_check_internal)
5156 (arm_option_params_internal): Check opts->target_flags to set macros.
5157 (TREE_TARGET_ARM, TREE_TARGET_THUMB)
5158 (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
5159 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
5160 (builtin_define): Replaced with def_or_undef_macro.
5161 * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
5162 TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
5163 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
5164 (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
5165 (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
5166 (TARGET_ARM_FEATURE_LDREX_P)
5167 (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
5168 * config/arm/arm-c.c (def_or_undef_macro): New function.
5169 (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition.
5170
5171 2015-05-26 Christian Bruel <christian.bruel@st.com>
5172
5173 * c-common.h (builtin_define_with_int_value)
5174 (builtin_define_type_sizeof): Declare.
5175 * c-cppbuiltin.c (builtin_define_with_int_value)
5176 (builtin_define_type_sizeof): Externalize.
5177 (builtin_define_std): Cleanup declaration.
5178 * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
5179 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
5180 * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
5181 (builtin_define, builtin_assert): New macros.
5182
5183 2015-05-26 Richard Biener <rguenther@suse.de>
5184
5185 PR tree-optimization/66142
5186 * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
5187 MEM_REFs for the same base address.
5188
5189 2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5190
5191 PR ipa/66181
5192 * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
5193
5194 2015-05-26 Jason Merrill <jason@redhat.com>
5195
5196 * configure.ac: Set CXXFLAGS for ISL test.
5197 * configure: Regenerate.
5198
5199 * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
5200 strstr and basename.
5201 * configure: Regenerate.
5202
5203 2015-05-26 Richard Biener <rguenther@suse.de>
5204
5205 * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
5206 X % C -> X & (C - 1) for C being a power-of two to ...
5207 * match.pd: ... patterns.
5208
5209 2015-05-26 Marc Glisse <marc.glisse@inria.fr>
5210
5211 * match.pd (swapped_tcc_comparison): New operator list.
5212 (-A CMP -B): New simplification.
5213 * fold-const.c (fold_comparison): Remove corresponding code.
5214
5215 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
5216
5217 * caller-save.c (init_caller_save): Base temporary register numbers
5218 on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
5219 * cfgloopanal.c (init_set_costs): Likewise.
5220 * dojump.c (prefer_and_bit_test): Likewise.
5221 * expr.c (init_expr_target): Likewise.
5222 * ira.c (setup_prohibited_mode_move_regs): Likewise.
5223 * lower-subreg.c (init_lower_subreg): Likewise.
5224 * postreload.c (reload_cse_regs_1): Likewise.
5225
5226 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
5227
5228 * gensupport.h (compute_test_codes): Declare.
5229 * gensupport.c (compute_predicate_codes): Rename to...
5230 (compute_test_codes): ...this. Generalize error message.
5231 (process_define_predicate): Update accordingly.
5232 * genpreds.c (compute_maybe_allows): Delete.
5233 (add_constraint): Use compute_test_codes to determine whether
5234 something can accept a SUBREG, REG or MEM.
5235
5236 2015-05-26 Torvald Riegel <triegel@redhat.com>
5237
5238 * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of
5239 'memory model' to align with C++11; fix description of memory orders;
5240 fix a few typos.
5241
5242 2015-05-26 Richard Biener <rguenther@suse.de>
5243
5244 * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
5245 (vect_analyze_loop_operations): ... here. Remove slp parameter,
5246 detect whether we apply SLP. Remove call to
5247 vect_update_slp_costs_according_to_vf.
5248 (vect_analyze_loop_2): Call vect_update_vf_for_slp and
5249 vect_update_slp_costs_according_to_vf from here. Dispatch
5250 to vect_slp_analyze_operations to analyze SLP stmts.
5251 * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
5252 unused bb_vec_info parameter, adjust assert.
5253 (vect_slp_analyze_operations): Pass in the slp instance tree
5254 instead of bb_vec_info.
5255 (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
5256 * tree-vectorizer.h (vect_slp_analyze_operations): Declare.
5257
5258 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
5259
5260 * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
5261 Q_REGS. Expand comment.
5262 (REG_CLASS_NAMES): Ditto.
5263 (REG_CLASS_CONTENTS): Ditto.
5264
5265 2015-05-25 Uros Bizjak <ubizjak@gmail.com>
5266
5267 PR target/66274
5268 * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
5269 when LEGACY_INT_REGNO_P is processed.
5270
5271 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
5272
5273 * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
5274
5275 2015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
5276
5277 * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
5278 register if not marked dead/unused, before return.
5279
5280 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
5281
5282 PR lto/66180
5283 * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
5284 is set; check for assembler name at LTO time.
5285 (type_in_anonymous_namespace): Remove hacks, check that all
5286 anonymous types are called "<anon>"
5287 (odr_type_p): Simplify; add check for "<anon>"
5288 (odr_subtypes_equivalent): Add odr_type_p check.
5289 * tree.c (need_assembler_name_p): Even anonymous namespace needs
5290 assembler name.
5291
5292 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
5293
5294 * ipa-utils.h (method_class_type): Remove.
5295 * cgraphunit.c (walk_polymorphic_call_targets): Use
5296 TYPE_METHOD_BASETYPE.
5297 * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
5298 on main variants only.
5299 (method_class_type): Remove.
5300 (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
5301 (build_type_inheritance_graph): Likewise.
5302 * ipa-icf.c (sem_function::equals_wpa): Likewise.
5303 * pa-polymorphic-call.c (decl_maybe_in_construction_p,
5304 check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.
5305
5306 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
5307
5308 * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
5309 is_typedef_decl, typedef_variant_p): Constify.
5310 * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
5311 is_typedef_decl, typedef_variant_p): Constify.
5312
5313 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5314
5315 * defaults.h (gen_tablejump): New function.
5316 (HAVE_tablejump): Add default value.
5317 * expr.c: Adjust.
5318 * stmt.c: Likewise.
5319
5320 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5321
5322 * defaults.h (gen_store_multiple): New function.
5323 (HAVE_store_multiple): Add default value.
5324 * expr.c (move_block_from_reg): Adjust.
5325
5326 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5327
5328 * defaults.h (gen_load_multiple): New function.
5329 (HAVE_load_multiple): Add default value.
5330 * expr.c (move_block_to_reg): Adjust.
5331
5332 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5333
5334 * defaults.h (gen_mem_signal_fence): New function.
5335 (HAVE_mem_signal_fence): Add default value.
5336 * optabs.c: Adjust.
5337
5338 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5339
5340 * defaults.h (gen_memory_barrier): New function.
5341 (HAVE_memory_barrier): Add default value.
5342 * optabs.c: Adjust.
5343
5344 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5345
5346 * defaults.h (gen_mem_thread_fence): New function.
5347 (HAVE_mem_thread_fence): Add default definition.
5348 * optabs.c: Adjust.
5349
5350 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5351
5352 * combine.c (find_split_point): Check the value of HAVE_lo_sum
5353 instead of if it is defined.
5354 (combine_simplify_rtx): Likewise.
5355 * lra-constraints.c (process_address_1): Likewise.
5356 * config/darwin.c: Adjust.
5357 * genconfig.c (main): Always define HAVE_lo_sum.
5358
5359 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5360
5361 * genmatch.c (parser::parse_operation): Reject expanding
5362 operator-list inside 'for'.
5363
5364 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5365
5366 * genmatch.c (parser::parse_for): Reject iterator if used as
5367 operator-list.
5368
5369 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5370
5371 * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN
5372 after end of id-list.
5373
5374 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
5375
5376 * tree.c (gimple_canonical_types_compatible_p): Sanity check that
5377 we do not try to compute canonical type for type that does not need
5378 alias set.
5379 (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
5380 FUNCITON_TYPE.
5381 * tree.h (type_with_alias_set_p): New.
5382
5383 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
5384
5385 * tree.c (gimple_canonical_types_compatible_p): Do not compare
5386 function attributes.
5387 (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
5388
5389 2015-05-22 Jim Wilson <jim.wilson@linaro.org>
5390
5391 * Makefile.in (check_gcc_parallelize): Delete.
5392 (lang_checks_parallelized): Update comment.
5393
5394 2015-05-22 Mikhail Maltsev <maltsevm@gmail.com>
5395
5396 PR rtl-optimization/66237
5397 * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
5398 location of an "as_a" cast.
5399
5400 2015-05-22 Jeff Law <law@redhat.com>
5401
5402 * config/pa/pa.md (non-canonical shift-add insns): Remove.
5403 (peepholes with non-canonical RTL sources): Remove.
5404 (peepholes for indexed stores of FP regs in integer modes): Match and
5405 generate canonical RTL.
5406
5407 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
5408
5409 PR tree-optimization/63387
5410 * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
5411 ((x ord x) & (y ord y) -> (x ord y),
5412 (x ord x) & (x ord y) -> (x ord y)): New simplifications.
5413 * fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
5414 vectors like scalars.
5415
5416 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
5417
5418 * convert.c (convert_to_integer, convert_to_vector): Include the
5419 types in the error message.
5420
5421 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
5422
5423 * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
5424 simplifications.
5425
5426 2015-05-22 Jeff Law <law@redhat.com>
5427
5428 * config/pa/pa.md (integer_indexed_store splitters): Use
5429 mem_shadd_operand. Use ASHIFT rather than MULT in the resulting
5430 insns -- adjusting the constant 2nd operand accordingly.
5431
5432 * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
5433 (plus (ashift X log2) Y) if it is a split point.
5434
5435 * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx
5436 out of hppa_legitimize_address to handle both forms of a multiply
5437 by 2, 4 or 8.
5438 (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
5439 Always generate the ASHIFT variant as the result is not directly
5440 used in a MEM. Update comments and refactor slightly to improve
5441 readability.
5442
5443 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5444
5445 PR target/65491
5446 * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
5447 aarch64_composite_type_p. Remove check for aarch64_composite_type_p.
5448 (aarch64_composite_type_p): Return false if given type and mode are
5449 for a short vector.
5450
5451 2015-05-22 Richard Biener <rguenther@suse.de>
5452
5453 * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
5454 member.
5455 * tree-vect-loop.c (vect_analyze_loop_operations): Look at
5456 patterns when determining whether SLP is pure.
5457 (vect_is_slp_reduction): Remove check for pattern stmts.
5458 (vect_is_simple_reduction_1): Remove dead code.
5459 * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
5460 (vect_get_and_check_slp_defs): Pass in the stmt number.
5461 Allow the first def in a reduction to be not a pattern stmt when
5462 the rest of the stmts def are patterns.
5463 (vect_build_slp_tree_1): Allow tcc_expression codes like
5464 SAD_EXPR and DOT_PROD_EXPR.
5465 (vect_build_slp_tree): Adjust.
5466 (vect_analyze_slp): Refactor and move BB vect error message ...
5467 (vect_slp_analyze_bb_1): ... here.
5468
5469 2015-05-22 Aldy Hernandez <aldyh@redhat.com>
5470
5471 * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
5472 for CSWTCH temporary.
5473
5474 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5475
5476 * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
5477 (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside
5478 unknown unspecs.
5479
5480 2015-05-22 Richard Biener <rguenther@suse.de>
5481
5482 PR tree-optimization/66251
5483 * tree-vect-stmts.c (vectorizable_conversion): Properly
5484 set STMT_VINFO_VEC_STMT even for the SLP case.
5485
5486 2015-05-22 Marek Polacek <polacek@redhat.com>
5487
5488 * doc/extend.texi: Use @pxref instead of @xref.
5489
5490 2015-05-22 hiraditya <hiraditya@msn.com>
5491
5492 * gimple.h (gimple_expr_type): Refactor to make it concise. Remove
5493 redundant if.
5494
5495 2015-05-22 Richard Biener <rguenther@suse.de>
5496
5497 PR tree-optimization/65701
5498 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
5499 Move peeling cost models into one place. Peel for alignment
5500 for single loads only if an aligned load is cheaper than
5501 an unaligned load.
5502
5503 2015-05-22 Marek Polacek <polacek@redhat.com>
5504
5505 PR c/47043
5506 * doc/extend.texi (Enumerator Attributes): New section.
5507 Document syntax of enumerator attributes.
5508
5509 2015-05-22 Richard Biener <rguenther@suse.de>
5510
5511 * tree-vect-loop.c (get_reduction_op): New function.
5512 (vect_model_reduction_cost): Use it, add reduc_index parameter.
5513 Make ready for BB reductions.
5514 (vect_create_epilog_for_reduction): Use get_reduction_op.
5515 (vectorizable_reduction): Init reduc_index to a valid value.
5516 Adjust vect_model_reduction_cost call.
5517 * tree-vect-slp.c (vect_get_constant_vectors): Use the proper
5518 operand for reduction defaults. Add SAD_EXPR support.
5519 Assert we have a neutral op for SLP reductions.
5520 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
5521 walking pattern stmt ops only recurse to SSA names.
5522
5523 2015-05-22 Richard Biener <rguenther@suse.de>
5524
5525 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
5526 assert with guard, remove check on detected reduction.
5527 (vect_recog_sad_pattern): Likewise.
5528 (vect_recog_widen_sum_pattern): Likewise.
5529
5530 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5531
5532 * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
5533 __always_inline__ attribute.
5534 (vaesdq_u8): Likewise.
5535 (vaesmcq_u8): Likewise.
5536 (vaesimcq_u8): Likewise.
5537 (vsha1cq_u32): Likewise.
5538 (vsha1mq_u32): Likewise.
5539 (vsha1pq_u32): Likewise.
5540 (vsha1h_u32): Likewise.
5541 (vsha1su0q_u32): Likewise.
5542 (vsha1su1q_u32): Likewise.
5543 (vsha256hq_u32): Likewise.
5544 (vsha256h2q_u32): Likewise.
5545 (vsha256su0q_u32): Likewise.
5546 (vsha256su1q_u32): Likewise.
5547 (vmull_p64): Likewise.
5548 (vmull_high_p64): Likewise.
5549
5550 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5551
5552 * final.c (final_scan_insn): Don't check HAVE_peephole with the
5553 preprocessor.
5554 * output.h: Likewise.
5555 * genconfig.c (main): Alwways define HAVE_peephole.
5556 * genpeep.c: Don't emit checks of HAVE_peephole.
5557
5558 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5559
5560 * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
5561 check HAVE_conditional_move with the preprocessor.
5562
5563 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5564
5565 * genconfig.c (main): Always define HAVE_conditional_move.
5566 * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
5567 toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
5568 is defined.
5569
5570 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5571
5572 * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
5573 reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
5574 and FRAME_POINTER_REGNUM with the preprocessor.
5575
5576 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5577
5578 * defaults.h: Add default for STACK_PUSH_CODE.
5579 * expr.c: Don't redefine STACK_PUSH_CODE.
5580 * recog.c: Likewise.
5581
5582 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5583
5584 * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
5585 sched-deps.c: Use if instead of preprocessor checks with
5586 STACK_GROWS_DOWNWARD.
5587
5588 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5589
5590 * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
5591 is defined.
5592 * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
5593 * defaults.h: Provide default for STACK_GROWS_DOWNWARD.
5594 * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
5595 * doc/tm.texi: Regenerate.
5596
5597 2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
5598
5599 PR target/66232
5600 * config/i386/constraints.md (Bg): New constraint for GOT memory
5601 operand.
5602 * config/i386/i386.md (*call_got_x32): New pattern.
5603 (*call_value_got_x32): Likewise.
5604 * config/i386/predicates.md (GOT_memory_operand): New predicate.
5605
5606 2015-05-21 Jakub Jelinek <jakub@redhat.com>
5607
5608 PR tree-optimization/66233
5609 * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
5610 Simplify.
5611
5612 2015-05-21 Jeff Law <law@redhat.com>
5613
5614 * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
5615 than MULT for shadd sequences.
5616
5617 2015-05-08 Jan Hubicka <hubicka@ucw.cz>
5618
5619 * alias.c (alias_stats): New static var.
5620 (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
5621 (dump_alias_stats_in_alias_c): New function.
5622 * alias.h (dump_alias_stats_in_alias_c): Declare.
5623 * tree-ssa-alias.c (dump_alias_stats): Call it.
5624
5625 2015-05-08 Michael Matz <matz@suse.de>
5626
5627 * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
5628 to strided_p.
5629 (STMT_VINFO_STRIDE_LOAD_P): Rename to ...
5630 (STMT_VINFO_STRIDED_P): ... this.
5631 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
5632 (vect_verify_datarefs_alignment): Likewise.
5633 (vect_enhance_data_refs_alignment): Likewise.
5634 (vect_analyze_data_ref_access): Likewise.
5635 (vect_analyze_data_refs): Accept strided stores.
5636 * tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
5637 (vect_model_load_cost): Adjust for macro rename.
5638 (vectorizable_mask_load_store): Likewise.
5639 (vectorizable_load): Likewise.
5640 (vectorizable_store): Open code strided stores.
5641
5642 2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5643
5644 * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
5645 Document sqrt_insn.
5646
5647 2015-05-21 Richard Biener <rguenther@suse.de>
5648
5649 PR c++/66211
5650 * match.pd: Guard pattern optimzing (int)(float)int
5651 conversions to apply only on GIMPLE.
5652
5653 2015-05-21 Jeff Law <law@redhat.com>
5654
5655 * combine.c (find_split_point): Handle ASHIFT like MULT to encourage
5656 multiply-accumulate/shift-add insn generation.
5657
5658 2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
5659
5660 PR target/54236
5661 * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
5662 operands[1] are the same.
5663
5664 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
5665
5666 PR middle-end/66221
5667 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
5668 build_distinct_type_copy to copy bounds.
5669
5670 2015-05-21 Thomas Schwinge <thomas@codesourcery.com>
5671
5672 * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
5673 Change to unsigned int.
5674
5675 2015-05-20 Jeff Law <law@redhat.com>
5676
5677 * config/pa/pa.c (pa_print_operand): New 'o' output modifier.
5678 (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
5679 (pa_shadd_constant_p): Allow constants for shadd insns rather
5680 than valid scaling constants for memory addresses.
5681 * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
5682 * config/pa/predicates.md (mem_shadd_operand): New predicate.
5683 * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
5684 (shift-add insns using ASHIFT): New patterns.
5685
5686 2015-05-20 Mikhail Maltsev <maltsevm@gmail.com>
5687
5688 * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
5689 feasible.
5690 (fix_up_fall_thru_edges): Likewise.
5691 (fix_crossing_conditional_branches): Likewise. Promote jump targets
5692 from to rtx_insn to rtx_code_label where feasible.
5693 * bt-load.c (move_btr_def): Remove as-a cast of the value returned by
5694 gen_move_insn (returned type changed to rtx_insn).
5695 * builtins.c (expand_errno_check): Fix arguments of
5696 do_compare_rtx_and_jump (now expects rtx_code_label).
5697 (expand_builtin_acc_on_device): Likewise.
5698 * cfgcleanup.c (try_simplify_condjump): Add cast when calling
5699 invert_jump (now exprects rtx_jump_insn).
5700 * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
5701 (construct_init_block): Use rtx_code_label.
5702 * cfgrtl.c (block_label): Promote return type to rtx_code_label.
5703 (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
5704 calling redirect_jump.
5705 (patch_jump_insn): Likewise.
5706 (redirect_branch_edge): Likewise.
5707 (force_nonfallthru_and_redirect): Likewise.
5708 (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
5709 when suitable.
5710 (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
5711 * cfgrtl.h: Promote return type of block_label to rtx_code_label.
5712 * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
5713 * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
5714 to store the value retured by gen_label_rtx.
5715 * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
5716 rtx_jump_insn.
5717 * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
5718 (split_branches): Fix calls of redirect_jump.
5719 * dojump.c (jumpifnot): Promote argument type from rtx to
5720 rtx_code_label.
5721 (jumpifnot_1): Likewise.
5722 (jumpif): Likewise.
5723 (jumpif_1): Likewise.
5724 (do_jump_1): Likewise.
5725 (do_jump): Likewise. Use rtx_code_label when feasible.
5726 (do_jump_by_parts_greater_rtx): Likewise.
5727 (do_jump_by_parts_zero_rtx): Likewise.
5728 (do_jump_by_parts_equality_rtx): Likewise.
5729 (do_compare_rtx_and_jump): Likewise.
5730 * dojump.h: Update function prototypes.
5731 * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
5732 returns rtx_insn).
5733 * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
5734 rtx_jump_insn.
5735 (emit_label_before): Likewise.
5736 (emit_jump_insn_after_noloc): Likewise.
5737 (emit_jump_insn_after_setloc): Likewise.
5738 (emit_jump_insn_after): Likewise
5739 (emit_jump_insn_before_setloc): Likewise.
5740 (emit_jump_insn_before): Likewise.
5741 (emit_label_before): Promote return type to rtx_code_label.
5742 (emit_label): Likewise.
5743 * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
5744 * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
5745 gen_move_insn.
5746 (emit_stack_restore): Likewise.
5747 * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
5748 (do_cmp_and_jump): Likewise.
5749 * expr.c (expand_expr_real_2): Likewise. Promote some local variables
5750 from rtx to rtx_code_label.
5751 (gen_move_insn_uncast): New function.
5752 * expr.h: Update return type of gen_move_insn (promote to rtx_insn).
5753 * function.c (convert_jumps_to_returns): Fix call of redirect_jump.
5754 * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
5755 * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
5756 invert_jump_1 and redirect_jump_1.
5757 * internal-fn.c (expand_arith_overflow_result_store): Fix call of
5758 do_compare_rtx_and_jump.
5759 (expand_addsub_overflow): Likewise.
5760 (expand_neg_overflow): Likewise.
5761 (expand_mul_overflow): Likewise.
5762 * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
5763 return value of gen_move_insn.
5764 * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
5765 * loop-doloop.c (add_test): Use rtx_code_label.
5766 (doloop_modify): Likewise.
5767 (doloop_optimize): Likewise.
5768 * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
5769 * lra-constraints.c (emit_spill_move): Remove cast of value returned
5770 by gen_move_insn.
5771 (inherit_reload_reg): Add cast when calling dump_insn_slim.
5772 (split_reg): Likewise.
5773 * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
5774 gen_move_insn.
5775 * optabs.c (expand_binop_directly): Remove casts of values returned by
5776 maybe_gen_insn.
5777 (expand_unop_direct): Likewise.
5778 (expand_abs): Likewise.
5779 (maybe_emit_unop_insn): Likewise.
5780 (maybe_gen_insn): Promote return type to rtx_insn.
5781 * optabs.h: Update prototype of maybe_gen_insn.
5782 * postreload-gcse.c (eliminate_partially_redundant_load): Remove
5783 redundant cast.
5784 * recog.c (struct peep2_insn_data): Promote type of insn field to
5785 rtx_insn.
5786 (peep2_reinit_state): Use NULL instead of NULL_RTX.
5787 (peep2_attempt): Remove casts of insn in peep2_insn_data.
5788 (peep2_fill_buffer): Promote argument from rtx to rtx_insn
5789 * recog.h (struct insn_gen_fn): Promote return types of function
5790 pointers and operator ().from rtx to rtx_insn.
5791 * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
5792 (fill_eager_delay_slots): Likewise.
5793 (relax_delay_slots): Likewise.
5794 (make_return_insns): Likewise.
5795 (dbr_schedule): Likewise.
5796 (optimize_skips): Likewise.
5797 (reorg_redirect_jump): Likewise.
5798 (fill_slots_from_thread): Likewise.
5799 * reorg.h: Update prototypes.
5800 * resource.c (find_dead_or_set_registers): Use dyn_cast to
5801 rtx_jump_insn instead of check. Use it's jump_target method.
5802 * rtl.h (rtx_jump_insn::jump_label): Define new method.
5803 (rtx_jump_insn::jump_target): Define new method.
5804 (rtx_jump_insn::set_jump_target): Define new method.
5805 * rtlanal.c (tablejump_p): Promote type of one local variable.
5806 * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
5807 (sched_analyze_insn): Likewise.
5808 * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
5809 (print_insn): Likewise.
5810 * stmt.c (label_rtx): Promote return type to rtx_insn.
5811 (force_label_rtx): Likewise.
5812 (jump_target_rtx): Define new function.
5813 (expand_label): Use it, get rid of one cast.
5814 (expand_naked_return): Promote rtx to rtx_code_label.
5815 (do_jump_if_equal): Fix do_compare_rtx_and_jump call.
5816 (expand_case): Use rtx_code_label instread of rtx where feasible.
5817 (expand_sjlj_dispatch_table): Likewise.
5818 (emit_case_nodes): Likewise.
5819 * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments.
5820 * store-motion.c (insert_store): Make use of new return type of
5821 gen_move_insn and remove a cast.
5822 (replace_store_insn): Likewise.
5823
5824 2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
5825
5826 * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
5827 by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
5828
5829 2015-05-20 Jeff Law <law@redhat.com>
5830
5831 * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
5832 dispose of the jump thread path when the jump threading
5833 opportunity is cancelled.
5834
5835 2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5836
5837 * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
5838 when printing the caret character.
5839
5840 2015-05-20 Marek Polacek <polacek@redhat.com>
5841
5842 * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
5843
5844 2015-05-20 Marek Polacek <polacek@redhat.com>
5845
5846 * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
5847 * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
5848 * gimple-fold.c (canonicalize_bool): Likewise.
5849 (same_bool_result_p): Likewise.
5850 * tree-if-conv.c (parse_predicate): Likewise.
5851
5852 2015-05-20 Marek Polacek <polacek@redhat.com>
5853
5854 * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
5855 * gimplify.c (gimplify_modify_expr_rhs): Likewise.
5856
5857 2015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5858
5859 * config/aarch64/aarch64.c (aarch64_class_max_nregs):
5860 Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
5861 values.
5862
5863 2015-05-20 Robert Suchanek <robert.suchanek@imgtec.com>
5864
5865 * config/mips/mips.h (micromips_globals): Declare.
5866
5867 2015-05-20 David Malcolm <dmalcolm@redhat.com>
5868
5869 * timevar.def (TV_INITIALIZE_RTL): New.
5870 * toplev.c (initialize_rtl): Use an auto_timevar to account this
5871 function's time to TV_INITIALIZE_RTL.
5872
5873 2015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com>
5874
5875 * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
5876 gimple_build_nop calls.
5877 (chkp_find_bounds_for_elem): Likewise.
5878 (chkp_get_zero_bounds): Likewise.
5879 (chkp_get_none_bounds): Likewise.
5880 (chkp_get_bounds_by_definition): Likewise.
5881 (chkp_generate_extern_var_bounds): Likewise.
5882 (chkp_get_bounds_for_decl_addr): Likewise.
5883 (chkp_get_bounds_for_string_cst): Likewise.
5884
5885 2015-05-20 Bin Cheng <bin.cheng@arm.com>
5886
5887 PR tree-optimization/65447
5888 * tree-ssa-loop-ivopts.c (struct iv_use): New fields.
5889 (dump_use, dump_uses): Support to dump sub use.
5890 (record_use): New parameters to support sub use. Remove call to
5891 dump_use.
5892 (record_sub_use, record_group_use): New functions.
5893 (compute_max_addr_offset, split_all_small_groups): New functions.
5894 (group_address_uses, rewrite_use_address): New functions.
5895 (strip_offset): New declaration.
5896 (find_interesting_uses_address): Call record_group_use.
5897 (add_candidate): New assertion.
5898 (infinite_cost_p): Move definition forward.
5899 (add_costs): Check INFTY cost and return immediately.
5900 (get_computation_cost_at): Clear setup cost and dependent bitmap
5901 for sub uses.
5902 (determine_use_iv_cost_address): Compute cost for sub uses.
5903 (rewrite_use_address_1): Rename from old rewrite_use_address.
5904 (free_loop_data): Free sub uses.
5905 (tree_ssa_iv_optimize_loop): Call group_address_uses.
5906
5907 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
5908 Jim Wilson <jim.wilson@linaro.org>
5909
5910 * config/arm/aarch-common-protos.h (struct mem_cost_table): Added
5911 new fields loadv and storev.
5912 * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
5913 Initialize loadv and storev.
5914 * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
5915 (cortexa53_extra_costs): Likewise.
5916 (cortexa57_extra_costs): Likewise.
5917 (xgene1_extra_costs): Likewise.
5918 * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
5919 rtx_costs.
5920
5921 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
5922
5923 * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
5924 storev.
5925 (cortexa8_extra_costs): Likewise.
5926 (cortexa5_extra_costs): Likewise.
5927 (cortexa7_extra_costs): Likewise.
5928 (cortexa12_extra_costs): Likewise.
5929 (cortexa15_extra_costs): Likewise.
5930 (v7m_extra_costs): Likewise.
5931
5932 2015-05-20 Jeff Law <law@redhat.com>
5933
5934 * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
5935 instead of open-coded version. Also delete the jump thread created
5936 within this function.
5937
5938 2015-05-20 Alan Modra <amodra@gmail.com>
5939
5940 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
5941 stack adjusting insn. Formatting.
5942 (rs6000_emit_prologue): Track stack adjusting insn, and use of
5943 r12. If possible, emit first -fsplit-stack arg pointer insn
5944 before stack adjust. Don't use r12 to save cr if split-stack.
5945
5946 2015-05-20 Alan Modra <amodra@gmail.com>
5947
5948 * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
5949 Define.
5950 (rs6000_supports_split_stack): New function.
5951 * gcc/config/rs6000/rs6000.c (machine_function): Add
5952 split_stack_arg_pointer.
5953 (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
5954 (setup_incoming_varargs): Use crtl->args.internal_arg_pointer
5955 rather than virtual_incoming_args_rtx.
5956 (rs6000_va_start): Likewise.
5957 (split_stack_arg_pointer_used_p): New function.
5958 (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
5959 (morestack_ref): New var.
5960 (gen_add3_const, rs6000_expand_split_stack_prologue,
5961 rs6000_internal_arg_pointer, rs6000_live_on_entry,
5962 rs6000_split_stack_space_check): New functions.
5963 (rs6000_elf_file_end): Call file_end_indicate_split_stack.
5964 * gcc/config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
5965 (UNSPECV_SPLIT_STACK_RETURN): Define.
5966 (split_stack_prologue, load_split_stack_limit,
5967 load_split_stack_limit_di, load_split_stack_limit_si,
5968 split_stack_return, split_stack_space_check): New expands and insns.
5969 * gcc/config/rs6000/rs6000-protos.h
5970 (rs6000_expand_split_stack_prologue): Declare.
5971 (rs6000_split_stack_space_check): Declare.
5972
5973 2015-05-20 Alan Modra <amodra@gmail.com>
5974
5975 * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
5976 (rs6000_stack_info): Don't zero offsets when not saving registers.
5977 (debug_stack_info): Adjust to omit printing unused offsets,
5978 as before.
5979 (direct_return): Test vrsave_size rather than vrsave_mask.
5980 (rs6000_emit_prologue): Likewise. Remove redundant altivec tests.
5981 (rs6000_emit_epilogue): Likewise.
5982
5983 2015-05-20 Alan Modra <amodra@gmail.com>
5984
5985 * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
5986 when not saving registers.
5987 (debug_stack_info): Adjust to omit printing unused offsets,
5988 as before.
5989 (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
5990 expression.
5991
5992 2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5993
5994 PR c++/65835
5995 * config/i386/winnt.c (struct wrapped_symbol_hasher): Change
5996 value_type to const char *.
5997
5998 2015-05-19 Sandra Loosemore <sandra@codesourcery.com>
5999
6000 * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
6001 to build a biarch toolchain again.
6002
6003 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
6004
6005 * ipa-devirt.c (type_in_anonymous_namespace_p): Return true
6006 or implicit declarations.
6007 (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
6008 into it.
6009 (get_odr_type): Check type has linkage before adding bases.
6010 (register_odr_type): Check that type has linkage before adding it.
6011 (type_known_to_have_no_deriavations_p): Rename to ..
6012 (type_known_to_have_no_derivations_p): This one.
6013 * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
6014 (type_known_to_have_no_derivations_p): This one.
6015 * ipa-polymorphic-call.c
6016 (ipa_polymorphic_call_context::restrict_to_inner_type): Check that
6017 type has linkage.
6018
6019 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
6020
6021 * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
6022 (layout_type): Use RECORD_OR_UNION_TYPE_P.
6023
6024 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6025
6026 * config/s390/s390.c (s390_vector_bool_type_p): New function.
6027 (s390_invalid_binary_op): New function.
6028 (TARGET_INVALID_BINARY_OP): Define macro.
6029
6030 2015-05-19 David Sherwood <david.sherwood@arm.com>
6031
6032 * loop-invariant.c (create_new_invariant): Don't calculate address cost
6033 if mode is not a scalar integer.
6034 (get_inv_cost): Increase computational cost for unused invariants.
6035
6036 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6037
6038 * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
6039 c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
6040 * config/s390/s390-builtin-types.def: New file.
6041 * config/s390/s390-builtins.def: New file.
6042 * config/s390/s390-builtins.h: New file.
6043 * config/s390/s390-c.c: New file.
6044 * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
6045 CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
6046 * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
6047 (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
6048 prototypes.
6049 * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
6050 Include.
6051 (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
6052 (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
6053 variable definitions.
6054 (s390_const_operand_ok): New function.
6055 (s390_expand_builtin): Rewrite.
6056 (s390_init_builtins): New function.
6057 (s390_handle_vectorbool_attribute): New function.
6058 (s390_attribute_table): Add s390_vector_bool attribute.
6059 (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
6060 (s390_branch_condition_mask): Generate masks for new modes.
6061 (s390_expand_vec_compare_cc): New function.
6062 (s390_mangle_type): Add mangling for vector bool types.
6063 (enum s390_builtin): Remove.
6064 (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
6065 efpc builtins.
6066 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
6067 s390_cpu_cpp_builtins.
6068 (REGISTER_TARGET_PRAGMAS): New macro.
6069 * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
6070 (insn_cmp mode attribute): Add new CC modes.
6071 (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
6072 (lcbb): New pattern definition.
6073 * config/s390/s390intrin.h: Include vecintrin.h.
6074 * config/s390/t-s390: New file.
6075 * config/s390/vecintrin.h: New file.
6076 * config/s390/vector.md: Include vx-builtins.md.
6077 * config/s390/vx-builtins.md: New file.S/390 zvector builtin
6078 support.
6079
6080 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6081
6082 * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
6083 CCVFHE.
6084 * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
6085 (s390_select_ccmode): Likewise.
6086 (s390_canonicalize_comparison): Swap operands if necessary.
6087 (s390_expand_vec_compare_scalar): Expand DFmode compare using
6088 single element vector instructions.
6089 (s390_emit_compare): Call s390_expand_vec_compare_scalar.
6090 (s390_branch_condition_mask): Generate CC masks for the new modes.
6091 * config/s390/s390.md (v0, vf, vd): New mode attributes.
6092 (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
6093 (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
6094 (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
6095 (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
6096 (*extend<DSF:mode><BFP:mode>2): New insn definition.
6097 (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
6098 (extend<DSF:mode><BFP:mode>2): Turn into expander.
6099 (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
6100 (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
6101 (sqrt<mode>2): Add vector instruction.
6102
6103 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6104
6105 * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
6106 constraints.
6107 * config/s390/predicates.md (const0_operand, constm1_operand)
6108 (constable_operand): Accept vector operands.
6109 * config/s390/s390-modes.def: Add supported vector modes.
6110 * config/s390/s390-protos.h (s390_cannot_change_mode_class)
6111 (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
6112 (s390_bytemask_vector_p, s390_expand_vec_strlen)
6113 (s390_expand_vec_compare, s390_expand_vcond)
6114 (s390_expand_vec_init): Add prototypes.
6115 * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
6116 (s390_vector_mode_supported_p): New function.
6117 (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
6118 (s390_contiguous_bitmask_vector_p): New function.
6119 (s390_bytemask_vector_p): New function.
6120 (s390_split_ok_p): Vector regs don't work either.
6121 (regclass_map): Add VEC_REGS.
6122 (s390_legitimate_constant_p): Handle vector constants.
6123 (s390_cannot_force_const_mem): Handle CONST_VECTOR.
6124 (legitimate_reload_vector_constant_p): New function.
6125 (s390_preferred_reload_class): Handle CONST_VECTOR.
6126 (s390_reload_symref_address): Likewise.
6127 (s390_secondary_reload): Vector memory instructions only support
6128 short displacements. Rename reload*_nonoffmem* to reload*_la*.
6129 (s390_emit_ccraw_jump): New function.
6130 (s390_expand_vec_strlen): New function.
6131 (s390_expand_vec_compare): New function.
6132 (s390_expand_vcond): New function.
6133 (s390_expand_vec_init): New function.
6134 (s390_dwarf_frame_reg_mode): New function.
6135 (print_operand): Handle addresses with 'O' and 'R' constraints.
6136 (NR_C_MODES, constant_modes): Add vector modes.
6137 (s390_output_pool_entry): Handle vector constants.
6138 (s390_hard_regno_mode_ok): Handle vector registers.
6139 (s390_class_max_nregs): Likewise.
6140 (s390_cannot_change_mode_class): New function.
6141 (s390_invalid_arg_for_unprototyped_fn): New function.
6142 (s390_function_arg_vector): New function.
6143 (s390_function_arg_float): Remove size variable.
6144 (s390_pass_by_reference): Handle vector arguments.
6145 (s390_function_arg_advance): Likewise.
6146 (s390_function_arg): Likewise.
6147 (s390_return_in_memory): Vector values are returned in a VR if
6148 possible.
6149 (s390_function_and_libcall_value): Handle vector arguments.
6150 (s390_gimplify_va_arg): Likewise.
6151 (s390_call_saved_register_used): Consider the arguments named.
6152 (s390_conditional_register_usage): Disable v16-v31 for non-vec
6153 targets.
6154 (s390_preferred_simd_mode): New function.
6155 (s390_support_vector_misalignment): New function.
6156 (s390_vector_alignment): New function.
6157 (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
6158 (TARGET_VECTOR_MODE_SUPPORTED_P)
6159 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
6160 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
6161 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
6162 (TARGET_VECTOR_ALIGNMENT): Define target macro.
6163 * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
6164 (FIRST_PSEUDO_REGISTER): Increase value.
6165 (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
6166 (VECTOR_REG_P): Define macros.
6167 (FIXED_REGISTERS, CALL_USED_REGISTERS)
6168 (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
6169 (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
6170 (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
6171 Add vector registers.
6172 (CANNOT_CHANGE_MODE_CLASS): Call C function.
6173 (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
6174 (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
6175 memory.
6176 (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
6177 (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
6178 * config/s390/s390.md (UNSPEC_VEC_*): New constants.
6179 (VR*_REGNUM): New constants.
6180 (ALL): New mode iterator.
6181 (INTALL): Remove mode iterator.
6182 Include vector.md.
6183 (movti): Implement TImode moves for VRs.
6184 Disable TImode splitter for VR targets.
6185 Implement splitting TImode GPR<->VR moves.
6186 (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
6187 (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
6188 reload<mode>_la_in, reload<mode>_la_out.
6189 (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
6190 (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
6191 (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
6192 (mov<mode> SF SD): Prefer lder, lde for loading.
6193 Add lrl and strl instructions.
6194 Add vector instructions.
6195 (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
6196 Call s390_expand_vec_strlen on z13.
6197 (*cc_to_int): Change predicate to nonimmediate_operand.
6198 (addti3): Rename to *addti3. New expander.
6199 (subti3): Rename to *subti3. New expander.
6200 * config/s390/vector.md: New file.
6201
6202 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6203
6204 * common/config/s390/s390-common.c (processor_flags_table): Add
6205 z13.
6206 * config.gcc: Add z13.
6207 * config/s390/s390-opts.h (enum processor_type): Add
6208 PROCESSOR_2964_Z13.
6209 * config/s390/s390.c (s390_adjust_priority): Check for
6210 PROCESSOR_2964_Z13.
6211 (s390_reorg): Likewise.
6212 (s390_sched_reorder): Likewise.
6213 (s390_sched_variable_issue): Likewise.
6214 (s390_loop_unroll_adjust): Likewise.
6215 (s390_option_override): Likewise. Default to -mvx when available.
6216 * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
6217 (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
6218 (TARGET_VX_ABI): Define macros.
6219 macros.
6220 (TARGET_DEFAULT): Add MASK_OPT_VX.
6221 * config/s390/s390.md ("cpu" attribute): Add z13.
6222 ("cpu_facility" attribute): Add vec.
6223 * config/s390/s390.opt (processor_type): Add z13.
6224 (mvx): New options.
6225 * doc/invoke.texi: Add z13 option for -march.
6226
6227 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6228
6229 * config/s390/predicates.md (shift_count_or_setmem_operand): Add
6230 mode check to make sure that only scalar integer values are
6231 accepted.
6232
6233 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
6234
6235 * tree.c (verify_type_variant): Fix #undef.
6236 (gimple_canonical_types_compatible_p): Move here from lto.c
6237 (verify_type): Verify TYPE_CANONICAL compatibility.
6238 * tree.h (gimple_canonical_types_compatible_p): Declare.
6239
6240 2015-05-19 Jakub Jelinek <jakub@redhat.com>
6241
6242 PR middle-end/66199
6243 * tree.h (OMP_TEAMS_COMBINED): Define.
6244 * gimplify.c (enum gimplify_omp_var_data): Add
6245 GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
6246 (enum omp_region_type): Add ORT_COMBINED_TEAMS.
6247 (omp_notice_variable): Accept both ORT_TEAMS
6248 and ORT_COMBINED_TEAMS. Don't recurse if
6249 GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
6250 GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
6251 GOVD_FIRSTPRIVATE.
6252 (omp_no_lastprivate): New function.
6253 (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
6254 and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
6255 notice_outer and set appropriate bits, otherwise make
6256 sure default(none) combined constructs won't complain.
6257 (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
6258 outer special casing, for OMP_CLAUSE_LASTPRIVATE if
6259 omp_no_lastprivate either remove the clause or turn it
6260 into OMP_CLAUSE_PRIVATE.
6261 (gimplify_omp_for): Fix up handling of implicit
6262 lastprivate or linear iterators.
6263 (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
6264 ORT_COMBINED_TEAMS.
6265 * omp-low.c (lower_omp_for_lastprivate): For combined
6266 for simd use fd.loop.n2 from the for rather than simd.
6267
6268 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
6269
6270 * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG
6271 instead of gen_rtx_raw_REG.
6272 (cris_expand_epilogue): Likewise.
6273 * config/microblaze/microblaze.c (microblaze_classify_address):
6274 Likewise.
6275 * config/sparc/sparc.md: Likewise.
6276
6277 2015-05-19 Uros Bizjak <ubizjak@gmail.com>
6278
6279 * config/alpha/alpha.c (alpha_legitimize_reload_address)
6280 (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use
6281 CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates.
6282 (alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>:
6283 Use CASE_CONST_SCALAR_INT.
6284 (print_operand) <case 'M'>: Use mode_width_operand to check the
6285 value of the constant.
6286 * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate.
6287 * config/alpha/predicates.md (input_operand): Use general_operand
6288 instead of match_code as operand check.
6289 (symbolic_operand): Use match_code with subexpression digits.
6290 * config/alpha/constraints.md (Q): Ditto.
6291
6292 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6293
6294 * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
6295
6296 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6297
6298 * config/s390/s390.c (s390_secondary_reload): Fix check for
6299 load/store relative.
6300
6301 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6302
6303 * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
6304 alternative_mask to uint64_t.
6305
6306 2015-05-19 Jakub Jelinek <jakub@redhat.com>
6307
6308 PR tree-optimization/66187
6309 * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
6310 Pass TYPE_SIGN to tree_int_cst_min_precision. If
6311 !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative.
6312
6313 2015-05-19 David Malcolm <dmalcolm@redhat.com>
6314
6315 * diagnostic.c (diagnostic_report_current_module): Strengthen
6316 local "new_map" from const line_map * to
6317 const line_map_ordinary *.
6318 * genmatch.c (error_cb): Likewise for local "map".
6319 (output_line_directive): Likewise for local "map".
6320 * input.c (expand_location_1): Likewise for local "map".
6321 Pass NULL rather than &map to
6322 linemap_unwind_to_first_non_reserved_loc, since the value is never
6323 read from there, and the value written back not read from here.
6324 (is_location_from_builtin_token): Strengthen local "map" from
6325 const line_map * to const line_map_ordinary *.
6326 (dump_location_info): Strengthen locals "map" from
6327 line_map *, one to const line_map_ordinary *, the other
6328 to const line_map_macro *.
6329 * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from
6330 const line_map * to const line_map_macro *.
6331 (maybe_unwind_expanded_macro_loc): Add a call to
6332 linemap_check_macro when writing to the "map" field of the
6333 loc_map_pair.
6334 Introduce local const line_map_ordinary * "ord_map", using it in
6335 place of "map" in the part of the function where we know we have
6336 an ordinary map. Strengthen local "m" from const line_map * to
6337 const line_map_ordinary *.
6338
6339 2015-05-19 Nick Clifton <nickc@redhat.com>
6340
6341 PR target/66156
6342 * config/msp430/msp430.md (zero_extendhisi2): Add support for
6343 separate source and destination registers.
6344
6345 2015-05-19 Richard Biener <rguenther@suse.de>
6346
6347 PR tree-optimization/66165
6348 * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
6349 for no load permutation.
6350
6351 PR tree-optimization/66185
6352 * tree-vect-slp.c (vect_build_slp_tree): Properly roll back
6353 when building the SLP node from scalars.
6354
6355 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
6356 Tristan Gingold <gingold@adacore.com>
6357
6358 * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
6359 * builtins.c (expand_builtin_update_setjmp_buf): Make global.
6360 (expand_stack_restore): Call record_new_stack_level.
6361 (expand_stack_save): Do not call do_pending_stack_adjust.
6362 * builtins.h (expand_builtin_update_setjmp_buf): Declare.
6363 * calls.c (expand_call): Call record_new_stack_level for alloca.
6364 * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
6365 wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
6366 (update_sjlj_context): New global function.
6367 * except.h (update_sjlj_context): Declare.
6368 * explow.c (record_new_stack_level): New global function.
6369 (allocate_dynamic_stack_space): Call record_new_stack_level.
6370 * explow.h (record_new_stack_level): Declare.
6371 * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
6372 * cfgrtl.c (duplicate_insn_chain): Likewise.
6373
6374 2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6375
6376 * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
6377 (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
6378 STACK_GROWS_DOWNWARD as normal if.
6379 (expand_call): Likewise.
6380
6381 2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
6382
6383 PR target/54236
6384 * config/sh/sh.md (*round_int_even): New insn_and_split and
6385 accompanying new unnamed split.
6386
6387 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
6388
6389 * bitmap.c (bitmap_set_range): Handle count==1 specially.
6390 (bitmap_clear_range): Likewise.
6391 * cfgcleanup.c (mark_effect): Use bitmap_clear_range and
6392 bitmap_set_range unconditionally.
6393 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
6394 * df-scan.c (df_mark_reg): Likewise.
6395 * haifa-sched.c (setup_ref_regs): Likewise.
6396 * sched-rgn.c (update_live_1): Likewise.
6397
6398 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
6399
6400 * regs.h (END_HARD_REGNO): Delete.
6401 (END_REGNO): Move to...
6402 * rtl.h: ...here.
6403 * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
6404 * caller-save.c (mark_set_regs): Likewise.
6405 * combine.c (move_deaths, distribute_notes): Likewise.
6406 * cse.c (invalidate, invalidate_for_call): Likewise.
6407 * df-scan.c (df_ref_record): Likewise.
6408 * postreload-gcse.c (reg_changed_after_insn_p): Likewise.
6409 (record_last_reg_set_info): Likewise.
6410 * reg-stack.c (convert_regs_exit): Likewise.
6411 * reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
6412 * resource.c (update_live_status): Likewise.
6413 * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
6414
6415 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
6416
6417 * rtl.h (reg_info): Add an nregs field.
6418 (REG_NREGS): Use it.
6419 (SET_REGNO_RAW): Delete.
6420 (set_regno_raw): New function.
6421 * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
6422 (END_REGNO): Redefine in terms of REG_NREGS.
6423 * read-rtl.c (read_rtx_code): Call set_regno_raw instead of
6424 SET_REGNO_RAW.
6425 * emit-rtl.c (set_mode_and_regno): Likewise.
6426 * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
6427 instead of SET_REGNO_RAW.
6428
6429 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
6430
6431 * rtl.h (PUT_MODE_RAW): New macro.
6432 (PUT_REG_NOTE_KIND): Use it.
6433 (set_mode_and_regno): Declare.
6434 (gen_raw_REG): Change regno to "unsigned int".
6435 (gen_rtx_REG): Change "unsigned" to "unsigned int".
6436 (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
6437 use set_mode_and_regno to change the mode of registers.
6438 * gengenrtl.c (gendef): Use PUT_MODE_RAW.
6439 * emit-rtl.c (set_mode_and_regno): New function.
6440 (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno.
6441 * caller-save.c (reg_save_code): Use set_mode_and_regno.
6442 * expr.c (init_expr_target): Likewise.
6443 * ira.c (setup_prohibited_mode_move_regs): Likewise.
6444 * postreload.c (reload_cse_simplify_operands): Likewise.
6445
6446 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
6447
6448 * caller-save.c (init_caller_save): Use word_mode and
6449 FIRST_PSEUDO_REGISTER when creating temporary rtxes.
6450 * expr.c (init_expr_target): Likewise.
6451 * ira.c (setup_prohibited_mode_move_regs): Likewise.
6452 * postreload.c (reload_cse_regs_1): Likewise.
6453
6454 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
6455
6456 * rtl.def (REG): Change format to "r".
6457 * rtl.h (rtunion): Remove rt_reg.
6458 (reg_info): New structure.
6459 (rtx_def): Add reg field to main union.
6460 (X0REGATTR): Delete.
6461 (REG_CHECK): New macro.
6462 (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
6463 * rtl.c (rtx_format): Document "r".
6464 (rtx_code_size): Handle REG specially.
6465 * gengenrtl.c (special_format): Return true for formats
6466 that include 'r'.
6467 * gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
6468 Deal with REG_ATTRS after the field loop.
6469 * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
6470 * expmed.c (init_expmed): Call gen_raw_REG instead of
6471 gen_rtx_raw_REG.
6472 * expr.c (init_expr_target): Likewise.
6473 * regcprop.c (maybe_mode_change): Likewise.
6474 * varasm.c (make_decl_rtl): Likewise.
6475 * final.c (leaf_renumber_regs_insn): Return early after
6476 handling REGs.
6477 * genemit.c (gen_exp): Handle 'r' fields.
6478 * genpeep.c (match_rtx): Likewise.
6479 * gensupport.c (subst_pattern_match): Likewise.
6480 (get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
6481 (alter_constraints, subst_dup): Likewise.
6482 * read-rtl.c (read_rtx_code): Likewise.
6483 * print-rtl.c (print_rtx): Likewise.
6484 * genrecog.c (find_operand, find_matching_operand): Likewise.
6485 (validate_pattern, match_pattern_2): Likewise.
6486 (parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
6487 (rtx_test::regno_field): New function.
6488 (operator ==, safe_to_hoist_p, transition_parameter_type)
6489 (parameter_type_string, print_parameter_value)
6490 (print_nonbool_test, print_test): Handle new enum values.
6491 * cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
6492 * lra-constraints.c (operands_match_p): Likewise.
6493
6494 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
6495
6496 * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
6497 Change type of new_regno to unsigned int.
6498 * df-scan.c (df_ref_change_reg_with_loc_1): Change type of
6499 new_regno to unsigned int.
6500 (df_ref_change_reg_with_loc): Remove old_regno parameter.
6501 Change type of new_regno to unsigned int. Use SET_REGNO_RAW.
6502 * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
6503 (SET_REGNO_RAW): Add space after ",".
6504
6505 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
6506
6507 * rtl.h (REG_NREGS): New macro
6508 * alias.c (record_set): Use it.
6509 * cfgcleanup.c (mark_effect): Likewise.
6510 * combine.c (likely_spilled_retval_1): Likewise.
6511 (likely_spilled_retval_p, can_change_dest_mode): Likewise.
6512 (move_deaths, distribute_notes): Likewise.
6513 * cselib.c (cselib_record_set): Likewise.
6514 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
6515 * df-scan.c (df_mark_reg): Likewise.
6516 * dse.c (look_for_hardregs): Likewise.
6517 * dwarf2out.c (reg_loc_descriptor): Likewise.
6518 (multiple_reg_loc_descriptor): Likewise.
6519 * expr.c (write_complex_part, read_complex_part): Likewise.
6520 (emit_move_complex): Likewise.
6521 * haifa-sched.c (setup_ref_regs): Likewise.
6522 * ira-lives.c (mark_hard_reg_live): Likewise.
6523 * lra.c (lra_set_insn_recog_data): Likewise.
6524 * mode-switching.c (create_pre_exit): Likewise.
6525 * postreload.c (reload_combine_recognize_const_pattern): Likewise.
6526 (reload_combine_recognize_pattern): Likewise.
6527 (reload_combine_note_use, move2add_record_mode): Likewise.
6528 (reload_cse_move2add): Likewise.
6529 * reg-stack.c (subst_stack_regs_pat): Likewise.
6530 * regcprop.c (kill_value, copy_value): Likewise.
6531 (copyprop_hardreg_forward_1): Likewise.
6532 * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
6533 (build_def_use): Likewise.
6534 * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
6535 (deps_analyze_insn): Likewise.
6536 * sched-rgn.c (check_live_1, update_live_1): Likewise.
6537 * sel-sched.c (count_occurrences_equiv): Likewise.
6538 * valtrack.c (dead_debug_insert_temp): Likewise.
6539
6540 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
6541
6542 * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
6543 * dse.c (note_add_store): Likewise.
6544 * ira-lives.c (mark_hard_reg_dead): Likewise.
6545 * loop-invariant.c (mark_reg_store): Likewise.
6546 (mark_reg_death): Likewise.
6547 * postreload.c (reload_combine): Likewise.
6548 (reload_combine_note_store): Likewise.
6549 (reload_combine_note_use): Likewise.
6550 * recog.c (peep2_reg_dead_p): Likewise.
6551
6552 2015-05-19 Alan Modra <amodra@gmail.com>
6553
6554 * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
6555 hard registers numbered greater or equal to ARG_POINTER_REGNUM.
6556 (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
6557 unused predicates.
6558 * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
6559 Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC.
6560 * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
6561 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.
6562
6563 2015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com>
6564
6565 * config/mips/mips.md (JOIN_MODE): New mode iterator.
6566 (join2_load_Store<JOIN_MODE:mode>): New pattern.
6567 (join2_loadhi): Likewise.
6568 (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
6569 load-load and store-stores.
6570 * config/mips/mips.opt (mload-store-pairs): New option.
6571 (TARGET_LOAD_STORE_PAIRS): New macro.
6572 * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
6573 * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
6574 * config/mips/mips.c (mips_load_store_bonding_p): New function.
6575
6576 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
6577
6578 * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
6579 explicit swaps.
6580 * dojump.c (do_compare_rtx_and_jump): Likewise.
6581 * expmed.c (emit_store_flag_1): Likewise.
6582 * fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
6583 * final.c (sprint_ul): Use std::reverse for reversing a string.
6584 * fold-const.c (extract_muldiv_1): Use std::swap.
6585 * genmodes.c (emit_mode_int_n): Likewise.
6586 * ifcvt.c (dead_or_predicable): Likewise.
6587 * ira-build.c (ira_merge_live_ranges): Likewise.
6588 (swap_allocno_copy_ends_if_necessary): Likewise.
6589 * ira.c (ira_setup_alts): Likewise.
6590 * loop-iv.c (iv_analyze_expr): Likewise.
6591 (implies_p): Likewise.
6592 (canon_condition): Likewise.
6593 * lra-constraints.c (swap_operands): Likewise.
6594 * lra-lives.c (lra_merge_live_ranges): Likewise.
6595 * omega.c (swap): Remove.
6596 (bswap): Remove.
6597 (omega_unprotect_1): Use std::swap.
6598 (omega_solve_geq): Likewise.
6599 * optabs.c (expand_binop_directly): Likewise.
6600 (expand_binop): Likewise.
6601 (emit_conditional_move): Likewise.
6602 (emit_conditional_add): Likewise.
6603 * postreload.c (reload_cse_simplify_operands): Likewise.
6604 * reg-stack.c (emit_swap_insn): Likewise.
6605 (swap_to_top): Likewise.
6606 (compare_for_stack_reg): Likewise.
6607 (subst_asm_stack_regs): Likewise.
6608 * reload.c (find_reloads): Likewise.
6609 * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
6610 * sel-sched.c (invoke_reorder_hooks): Likewise.
6611 (create_block_for_bookkeeping): Likewise.
6612 * tree-data-ref.c (lambda_matrix_row_exchange): Remove.
6613 (lambda_matrix_right_hermite): Use std::swap.
6614 * tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
6615 * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
6616 * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
6617 * tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
6618 * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
6619 * tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
6620 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
6621 * tree-vrp.c (compare_ranges): Likewise.
6622 * var-tracking.c (add_with_sets): Likewise.
6623 (vt_find_locations): Likewise.
6624
6625 2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
6626
6627 * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
6628 pie executables.
6629 (FBSD_ENDFILE_SPEC): Likewise.
6630 * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
6631 config/freebsd-spec.h.
6632 (ENDFILE_SPEC): Likewise.
6633
6634 2015-05-18 Uros Bizjak <ubizjak@gmail.com>
6635 Richard Henderson <rth@redhat.com>
6636
6637 PR target/57032
6638 * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
6639 Check for a memory location that is not a reference (using an AND)
6640 to an unaligned location here.
6641 * config/alpha/predicates.md (normal_memory_operand): Remove.
6642
6643 2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
6644
6645 * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
6646 (andsi_not_shiftsi_si_scc_no_reuse): New pattern.
6647
6648 2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
6649
6650 * config/mips/mips.c (micromips_globals): New variable.
6651 (mips_set_compression_mode): Save and reinitialize target-dependent
6652 state for microMIPS.
6653
6654 2015-05-18 Martin Liska <mliska@suse.cz>
6655
6656 * dbgcnt.def: Add new counter.
6657 * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter.
6658
6659 2015-05-18 Martin Liska <mliska@suse.cz>
6660
6661 * dbgcnt.def: Sort counters.
6662 * opts.c (common_handle_option): Do not compile if
6663 -fdbg-cnt-list is enabled.
6664
6665 2015-05-18 Tom de Vries <tom@codesourcery.com>
6666
6667 * gimplify.c (gimplify_modify_expr): Remove do_deref handling.
6668 (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of
6669 address operator to va_list operand.
6670 * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
6671 unconditionally.
6672 * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
6673 operand.
6674 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
6675 * config/s390/s390.c (s390_gimplify_va_arg): Same.
6676 * config/spu/spu.c (spu_gimplify_va_arg_expr): Same.
6677
6678 2015-05-18 Tom de Vries <tom@codesourcery.com>
6679
6680 * tree-ssa-tail-merge.c: Fix whitespace.
6681
6682 2015-05-17 Jim Wilson <jim.wilson@linaro.org>
6683
6684 * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
6685 cortex-a17, and cortex-a17.cortex-a7.
6686
6687 2015-05-17 Oleg Endo <olegendo@gcc.gnu.org>
6688
6689 PR target/54236
6690 * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.
6691
6692 2015-05-17 Uros Bizjak <ubizjak@gmail.com>
6693
6694 PR target/66174
6695 * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
6696 QImode inner modes for TARGET_AVX512BW. Force mask operand
6697 to a register for AVX512F modes.
6698
6699 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
6700
6701 * toplev.c (emit_debug_global_declarations): Do not output debug info
6702 when doing slim LTO objects.
6703
6704 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
6705
6706 * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
6707 odr_types_equivalent_p): Declare.
6708 (odr_type_p): Use gcc_checking_assert.
6709 (type_in_anonymous_namespace_p) Declare.
6710 (type_with_linkage_p): Declare.
6711 * common.opt (Wlto-type-mismatch): New warning.
6712 * ipa-devirt.c (compound_type_base): New function.
6713 (odr_or_derived_type_p): New function.
6714 (odr_types_equivalent_p): New function.
6715 (add_type_duplicate): Simplify.
6716 (type_with_linkage_p): Add hack to prevent false positives on C types
6717 (type_in_anonymous_namespace_p): Likewise.
6718 * tree.c (need_assembler_name_p): Use type_with_linkage.
6719 * tree.h (type_in_anonymous_namespace_p): Remove.
6720 * doc/invoke.texi (-Wlto-type-mismatch): Document
6721
6722 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
6723
6724 * tree.c (verify_type_variant): Verify tree_base and type_common flags.
6725 (verify_type): Verify STRING_FLAG.
6726
6727 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
6728
6729 PR fortran/44054
6730 * tree-pretty-print.c (percent_K_format): Replace locus pointer
6731 with accessor function.
6732 * tree-diagnostic.c (diagnostic_report_current_function): Use
6733 diagnostic_location function.
6734 (maybe_unwind_expanded_macro_loc): Likewise.
6735 (virt_loc_aware_diagnostic_finalizer): Likewise.
6736 (default_tree_printer): Replace locus pointer with accessor function.
6737 * diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
6738 (diagnostic_set_info_translated): Initialize second location.
6739 (diagnostic_build_prefix): Use CARET_LINE_MARGIN.
6740 (diagnostic_show_locus): Handle two locations. Call
6741 diagnostic_print_caret_line.
6742 (diagnostic_print_caret_line): New.
6743 (default_diagnostic_starter): Use diagnostic_location function.
6744 (diagnostic_report_diagnostic): Use diagnostic_location function.
6745 (verbatim): Do not set text.locus.
6746 * diagnostic.h (struct diagnostic_info): Remove location field.
6747 (struct diagnostic_context): Make caret_chars an array of two.
6748 (diagnostic_location): New inline.
6749 (diagnostic_expand_location): Handle two locations.
6750 (diagnostic_same_line): New inline.
6751 (diagnostic_print_caret_line): Declare.
6752 (CARET_LINE_MARGIN): New constant.
6753 * pretty-print.c (pp_printf): Do not set text.locus.
6754 (pp_verbatim): Do not set text.locus.
6755 * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
6756 (struct text_info): Replace locus pointer with locations
6757 array. Add accessor functions.
6758
6759 2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
6760 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6761
6762 PR target/65768
6763 * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
6764 * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
6765 large constants in register instead of splitting them.
6766
6767 2015-05-16 Uros Bizjak <ubizjak@gmail.com>
6768
6769 PR target/66140
6770 * config/alpha/alpha.c (get_aligned_mem): Also look for reload
6771 replacements in memory addresses.
6772 (get_unaligned_address): Ditto.
6773
6774 2015-05-16 James Bowman <james.bowman@ftdichip.com>
6775
6776 * config/ft32/*: New files for FT32 port.
6777 * doc/install.texi: Add FT32 information.
6778 * doc/invoke.texi: Add FT32 information.
6779 * doc/md.texi: Add FT32 information.
6780 * doc/contrib.texi: Self added.
6781
6782 2015-05-15 Marc Glisse <marc.glisse@inria.fr>
6783
6784 PR tree-optimization/64454
6785 * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
6786 (-1 - A -> ~A): Remove unnecessary condition.
6787
6788 2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca>
6789
6790 * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
6791 * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
6792 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.
6793
6794 2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
6795
6796 * ipa-chkp.h (chkp_wrap_function): New.
6797 * ipa-chkp.c (chkp_wrap_function): Remove 'static'.
6798 (chkp_wrap_function_name): New.
6799 (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
6800 to get wrapper name.
6801 * lto-cgraph.c: Include ipa-chkp.h.
6802 (input_cgraph_1): Avoid alias chain for wrappers.
6803
6804 2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
6805
6806 PR middle-end/66134
6807 * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
6808 (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
6809
6810 2015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6811
6812 * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
6813 (AARCH64_FL_SLOWMUL): Delete.
6814 (AARCH64_FL_CRC): Redefine to 1<<3.
6815 (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.
6816
6817 2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6818
6819 * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
6820 casting.
6821
6822 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
6823
6824 * config/alpha/alpha.md (extendqidi2): Use general_operand
6825 instead of some_operand for operand[1] predicate.
6826 (extendhidi2): Ditto.
6827 (cbranchdi4): Use general_operand instead of some_operand
6828 for operand[1] and operands[2] predicates.
6829 (cstoredi4): Ditto.
6830 * config/alpha/predicates.md (some_operand): Remove unused predicate.
6831 (some_ni_operand): Ditto.
6832
6833 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
6834
6835 * config/alpha/alpha.c (alpha_extract_integer): Do not handle
6836 CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x).
6837 (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
6838 low part of the constant using alpha_emit_set_const_1.
6839 (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
6840
6841 2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
6842
6843 * varasm.c (output_constant_pool_1): Pass down alignment from
6844 constant pool entry's descriptor to output_constant_pool_2.
6845 (output_object_block): Add comment prior to call to
6846 output_constant_pool_1.
6847
6848 2015-05-14 Vladimir Makarov <vmakarov@redhat.com>
6849
6850 PR rtl-optimization/65862
6851 * target.def (ira_change_pseudo_allocno_class): New hook.
6852 * targhooks.c (default_ira_change_pseudo_allocno_class): Default
6853 value of the hook.
6854 * targhooks.h (default_ira_change_pseudo_allocno_class): New extern.
6855 * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
6856 hook.
6857 * ira-costs.c (find_costs_and_classes): Call the hook and change
6858 classes when it is necessary.
6859 * doc/tm.texi: Update.
6860
6861 2015-05-14 Alexander Monakov <amonakov@ispras.ru>
6862
6863 * config/i386/i386.md (sibcall_memory): Check that register with
6864 callee address is not also used as one of the arguments, instead
6865 of checking that it is not live after the sibcall.
6866 (sibcall_pop_memory): Ditto.
6867 (sibcall_value_memory): Ditto.
6868 (sibcall_value_pop_memory): Ditto.
6869
6870 2015-05-14 Marc Glisse <marc.glisse@inria.fr>
6871
6872 * generic-match-head.c (types_match): Handle non-types.
6873 * gimple-match-head.c (types_match): Likewise.
6874 * match.pd: Remove unnecessary TREE_TYPE for types_match.
6875
6876 2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
6877
6878 * config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
6879 (csneg3<mode>_insn): Enable expansion of pattern.
6880
6881 2015-05-14 Nick Clifton <nickc@redhat.com>
6882
6883 * config/rl78/rl78.c (rl78_select_section): Select the correct
6884 default section based upon the category of the decl.
6885
6886 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
6887
6888 PR rtl-optimization/30967
6889 * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
6890 destination mode for the cost of scc patterns.
6891
6892 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
6893
6894 * config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
6895 using SWIM248 mode iterator.
6896 (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
6897 (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand
6898 for operand[2] constraint.
6899 (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.
6900
6901 2015-05-13 Jakub Jelinek <jakub@redhat.com>
6902
6903 PR middle-end/66133
6904 * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
6905 make sure it is never noreturn, even when the task body does not
6906 return.
6907 (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
6908 right before GIMPLE_OMP_RETURN.
6909 (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
6910 for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
6911 GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
6912
6913 2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6914
6915 * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
6916 * tree-ssa-math-opts.c: Include params.h
6917 (pow_synth_sqrt_info): New struct.
6918 (representable_as_half_series_p): New function.
6919 (get_fn_chain): Likewise.
6920 (print_nested_fn): Likewise.
6921 (dump_fractional_sqrt_sequence): Likewise.
6922 (dump_integer_part): Likewise.
6923 (expand_pow_as_sqrts): Likewise.
6924 (gimple_expand_builtin_pow): Use above to attempt to expand
6925 pow as series of square roots. Removed now unused variables.
6926
6927 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
6928
6929 * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
6930 (alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
6931 Remove *p0 and *p1 arguments. Rewrite function.
6932 (alpha_legitimate_constant_p): Update call to alpha_extract_integer.
6933 (alpha_split_const_mov): Update calls to alpha_extract_integer and
6934 alpha_emit_set_long_const.
6935 (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
6936 (alpha_output_mi_thunk_osf): Ditto.
6937 * config/alpha/alpha.md (movti): Do not check operands[1]
6938 for CONST_DOUBLE.
6939
6940 2015-05-13 Richard Biener <rguenther@suse.de>
6941
6942 PR tree-optimization/66129
6943 * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
6944 commutative.
6945 (vect_schedule_slp_instance): Fix typo.
6946
6947 2015-05-13 David Malcolm <dmalcolm@redhat.com>
6948
6949 * common.opt (fdump-internal-locations): New option.
6950 * input.c: Include diagnostic-core.h.
6951 (get_end_location): New function.
6952 (write_digit): New function.
6953 (write_digit_row): New function.
6954 (dump_location_range): New function.
6955 (dump_labelled_location_range): New function.
6956 (dump_location_info): New function.
6957 * input.h (dump_location_info): New prototype.
6958 * toplev.c (compile_file): Handle flag_dump_locations.
6959
6960 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
6961
6962 * gimple-expr.h (is_gimple_constant): Reorder.
6963 * tree-ssa-propagate.c (before_dom_children): Use inline accessor.
6964
6965 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
6966
6967 * combine.c (simplify_set): When generating a CC set, if the
6968 source already is in the correct mode, do not wrap it in a
6969 compare. Simplify the rest of that code.
6970
6971 2015-05-13 Richard Biener <rguenther@suse.de>
6972
6973 PR tree-optimization/66123
6974 * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
6975 a taken edge.
6976
6977 2015-05-13 Richard Biener <rguenther@suse.de>
6978
6979 PR middle-end/66110
6980 * alias.c (alias_sets_conflict_p): Do not treat has_zero_child
6981 specially.
6982 * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.
6983
6984 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
6985
6986 * doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
6987 * aclocal.m4: Regenerated with automake-1.11.6.
6988
6989 2015-05-13 Tom de Vries <tom@codesourcery.com>
6990
6991 PR tree-optimization/66010
6992 * gimplify.h (gimplify_va_arg_internal): Remove declaration.
6993 * gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
6994 * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval
6995 and rval based on do_deref.
6996
6997 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
6998
6999 PR target/65103
7000 * config/i386/i386.c (ix86_rtx_costs): We want to propagate
7001 link time constants into adress expressions and therefore set
7002 their cost to 0.
7003
7004 2015-05-13 Jakub Jelinek <jakub@redhat.com>
7005
7006 PR target/66112
7007 * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
7008 Use SWI248 iterator instead of SWI.
7009 (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template.
7010 Use eq_attr "alternative" "0" instead of match_test in
7011 length_immediate attribute computation.
7012 (*mulvhi4, *mulvhi4_1): New define_insns.
7013
7014 PR target/66112
7015 * internal-fn.c (get_min_precision): Use UNSIGNED instead of
7016 SIGNED to get precision of non-negative value.
7017
7018 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
7019
7020 PR target/66048
7021 * function.c (diddle_return_value_1): Process bounds first.
7022 * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
7023 register.
7024
7025 2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
7026
7027 PR rtl-optimization/64616
7028 * loop-invariant.c (can_move_invariant_reg): New.
7029 (move_invariant_reg): Call above new function to decide whether
7030 instruction can just be moved, skipping creation of temporary
7031 register.
7032
7033 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
7034
7035 PR target/pr66047.c
7036 * i386.c (ix86_function_sseregparm): Only return -1 if local function
7037 with implied regparm is called from -mno-sse function.
7038 (init_cumulative_args): Output error if ix86_function_sseregparm
7039 return -1 and SSE register would be needed.
7040 (function_arg_advance_32): Likewise.
7041 (function_arg_32): Likewise.
7042 * i386.h (ix86_args): Add decl field.
7043
7044 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
7045
7046 PR ipa/65873
7047 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
7048 inlines across optimization boundary.
7049
7050 2015-05-12 Jason Merrill <jason@redhat.com>
7051
7052 * config/mmix/mmix.c, config/msp430/msp430.c: Add space between
7053 string literal and macro name.
7054
7055 2015-05-12 Steve Ellcey <sellcey@imgtec.com>
7056
7057 * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
7058 * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
7059 * config/mips/predicates.md (const_immlsa_operand): Remove log call.
7060
7061 2015-05-12 David Malcolm <dmalcolm@redhat.com>
7062
7063 * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
7064 (-Wmisleading-indentation): New option.
7065 * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
7066
7067 2015-05-12 Uros Bizjak <ubizjak@gmail.com>
7068
7069 * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
7070 * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
7071 (alpha_extract_integer): Ditto.
7072 (alpha_legitimate_constant_p): Ditto.
7073 (alpha_split_tmode_pair): Ditto.
7074 (alpha_preferred_reload_class): Add CONST_WIDE_INT.
7075 (alpha_expand_mov): Ditto.
7076 (print_operand): Remove handling of 'H' modifier.
7077 <case 'm'>: Remove CONST_DOUBLE handling.
7078 (summarize_insn): Handle CONST_WIDE_INT.
7079 * config/alpha/alpha.md (*andsi_internal): Remove H constraint.
7080 (anddi3): Ditto.
7081 (movti): Handle CONST_WIDE_INT.
7082 * config/alpha/constraints.md ('H'): Remove constraint definition.
7083 ('G'): Do not match MODE_FLOAT class.
7084 * config/alpha/predicates.md (const0_operand): Also match
7085 const_wide_int.
7086 (non_add_const_operand): Ditto.
7087 (non_zero_const_operand): Ditto.
7088 (some_operand): Ditto.
7089 (input_operand): Ditto. Handle CONST_WIDE_INT.
7090 (and_operand): Do not match const_double.
7091 * config/alpha/sync.md (fetchop_constr): Remove H constraint.
7092
7093 2015-05-12 Andrew MacLeod <amacleod@redhat.com>
7094
7095 PR target/65697
7096 * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
7097 (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
7098 * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
7099 is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
7100 is_mm_seq_cst, is_mm_sync): New accessor functions.
7101 * builtins.c (expand_builtin_sync_operation,
7102 expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
7103 (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
7104 (get_memmodel, expand_builtin_atomic_compare_exchange,
7105 expand_builtin_atomic_load, expand_builtin_atomic_store,
7106 expand_builtin_atomic_clear): Use new accessor routines.
7107 (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
7108 * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
7109 (maybe_emit_sync_lock_test_and_set): Use new accessors and
7110 MEMMODEL_SYNC_ACQUIRE.
7111 (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
7112 (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
7113 expand_atomic_store): Use new accessors.
7114 * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
7115 * tsan.c (instrument_builtin_call): Update check for memory model beyond
7116 final enum to use MEMMODEL_LAST.
7117 * c-family/c-common.c: Use new accessor for memmodel_base.
7118 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
7119 accessors.
7120 * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
7121 arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
7122 mem_thread_fence, *dmb): Likewise.
7123 * config/alpha/alpha.c (alpha_split_compare_and_swap,
7124 alpha_split_compare_and_swap_12): Likewise.
7125 * config/arm/arm.c (arm_expand_compare_and_swap,
7126 arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
7127 * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
7128 atomic_loaddi): Likewise.
7129 * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
7130 Likewise.
7131 * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
7132 * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
7133 use new accessors.
7134 * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
7135 atomic_store<mode>, atomic_compare_and_swap<mode>,
7136 atomic_exchange<mode>): Use new accessors.
7137 * config/mips/mips.c (mips_process_sync_loop): Likewise.
7138 * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
7139 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
7140 rs6000_post_atomic_barrier): Add new cases.
7141 (rs6000_expand_atomic_compare_and_swap): Use new accessors.
7142 * config/rs6000/sync.md (mem_thread_fence): Add new cases.
7143 (atomic_load<mode>): Add new cases and use new accessors.
7144 (store_quadpti): Add new cases.
7145 * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
7146 accessors.
7147 * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
7148 * doc/extend.texi: Update docs to indicate 16 bits are used for memory
7149 model, not 8.
7150
7151 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
7152
7153 * ipa-devirt.c (type_with_linkage_p): New function.
7154 (type_in_anonymous_namespace_p): Move here from tree.c; assert that
7155 type has linkage.
7156 (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
7157 (can_be_name_hashed_p): Simplify.
7158 (hash_odr_name): Check that type has linkage before checking if it is
7159 anonymous.
7160 (types_same_for_odr): Likewise.
7161 (odr_name_hasher::equal): Likewise.
7162 (odr_subtypes_equivalent_p): Likewise.
7163 (warn_types_mismatch): Likewise.
7164 (get_odr_type): Likewise.
7165 (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
7166 * ipa-utils.h (odr_type_p): Move offline.
7167 * tree.c (need_assembler_name_p): Fix handling of types
7168 without linkages.
7169 (type_in_anonymous_namespace_p): Move to ipa-devirt.c
7170
7171 2015-05-12 David Malcolm <dmalcolm@redhat.com>
7172
7173 * timevar.c (timevar_enable): Delete in favor of...
7174 (g_timer): New global.
7175 (struct timevar_def): Move to timevar.h inside class timer.
7176 (struct timevar_stack_def): Likewise.
7177 (timevars): Delete global in favor of field "m_timevars" within
7178 class timer in timevar.h
7179 (stack): Likewise, in favor of field "m_stack".
7180 (unused_stack_instances): Likewise, in favor of field
7181 "m_unused_stack_instances".
7182 (start_time): Likewise, in favor of field "m_start_time".
7183 (get_time): Eliminate check for timevar_enable.
7184 (timer::timer): New function, built from part of timevar_init.
7185 (timevar_init): Rewrite idempotency test from using
7186 "timevar_enable" bool to using dynamic allocation of "g_timer".
7187 Move rest of implementation into timer's constructor.
7188 (timevar_push_1): Rename to...
7189 (timer::push): ...this, adding "m_" prefixes to variables that
7190 are now fields of timer.
7191 (timevar_pop_1): Likewise, rename to...
7192 (timer::pop): ...this, and add "m_" prefixes.
7193 (timevar_start): Replace test for "timevar_enable" with one for
7194 "g_timer", and move bulk of implementation to...
7195 (timer::start): ...here, adding "m_" prefixes.
7196 (timevar_stop): Likewise, from here...
7197 (timer::stop): ...to here.
7198 (timevar_cond_start): Likewise, from here...
7199 (timer::cond_start): ...to here.
7200 (timevar_cond_stop): Likewise, from here...
7201 (timer::cond_stop): ...to here.
7202 (validate_phases): Rename to...
7203 (timer::validate_phases): ...this, and add "m_" prefixes. Make
7204 locals "total" and "tv" const.
7205 (timevar_print): Rename to...
7206 (timer::print): ...this, and add "m_" prefixes. Make locals
7207 "total" and "tv" const. Eliminate test for timevar_enable.
7208 * timevar.h (timevar_enable): Eliminate.
7209 (g_timer): New declaration.
7210 (timevar_push_1): Eliminate.
7211 (timevar_pop_1): Eliminate.
7212 (timevar_print): Eliminate.
7213 (class timer): New class.
7214 (timevar_push): Rewrite to use g_timer.
7215 (timevar_pop): Likewise.
7216 * toplev.c (toplev::~toplev): Likewise.
7217
7218 2015-05-12 Richard Earnshaw <rearnsha@arm.com>
7219
7220 * arm-protos.h (arm_sched_autopref): Delete.
7221 (tune_params): Re-organize, use enums for flag values.
7222 (FUSE_OPS): New macro.
7223 * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
7224 (ARM_PREFETCH_BENEFICIAL): Likewise.
7225 (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
7226 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
7227 (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
7228 (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
7229 (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
7230 (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune)
7231 (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
7232 (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
7233 format.
7234 (arm_option_override, thumb2_reorg, arm_print_tune_info)
7235 (aarch_macro_fusion_pair_p): Update uses of current_tune.
7236 * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise.
7237
7238 2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
7239
7240 * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
7241 "break".
7242
7243 2015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
7244 Sandra Loosemore <sandra@codesourcery.com>
7245
7246 * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
7247 value.
7248 (REG_CLASS_NAMES): Add "IJMP_REGS".
7249 (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
7250 * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
7251 use new "c" register constraint.
7252 * config/nios2/constraint.md (c): New register constraint
7253 corresponding to IJMP_REGS.
7254
7255 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
7256
7257 * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
7258 *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
7259 define_splits): Delete, revamp, transmogrify into ...
7260 (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
7261 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
7262 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
7263 New.
7264
7265 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
7266
7267 * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
7268 gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
7269
7270 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
7271
7272 * config/rs6000/rs6000.md (extzv): FAIL for SImode.
7273 (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
7274 *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
7275 *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
7276 *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
7277 *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
7278 *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
7279 *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
7280 *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
7281 *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
7282 *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
7283 *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
7284 *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
7285 *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
7286 *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
7287 *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
7288 and 30 corresponding splitters): Delete.
7289
7290 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
7291
7292 * config/rs6000/rs6000.md (define_split for bswaphi): Don't use
7293 zero_extract.
7294
7295 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
7296
7297 * combine.c (recog_for_combine_1): New function, factored out
7298 from recog_for_combine.
7299 (change_zero_ext): New function.
7300 (recog_for_combine): If recog fails, try again with the pattern
7301 modified by change_zero_ext; if that still fails, restore the
7302 pattern.
7303
7304 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
7305
7306 * combine.c (get_undo_marker): New function.
7307 (undo_to_marker): New function, largely factored out from ...
7308 (undo_all): ... this. Adjust.
7309
7310 2015-05-12 Richard Biener <rguenther@suse.de>
7311
7312 PR tree-optimization/66101
7313 * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
7314 fixup if we turn a loop exit edge to a fallthru edge.
7315
7316 2015-05-12 Richard Biener <rguenther@suse.de>
7317
7318 PR tree-optimization/37021
7319 * tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
7320 (SLP_TREE_TWO_OPERATORS): New define.
7321 * tree-vect-slp.c (vect_create_new_slp_node): Initialize
7322 SLP_TREE_TWO_OPERATORS.
7323 (vect_build_slp_tree_1): Allow two mixing plus/minus in an
7324 SLP node.
7325 (vect_build_slp_tree): Adjust.
7326 (vect_analyze_slp_cost_1): Likewise.
7327 (vect_schedule_slp_instance): Vectorize mixing plus/minus by
7328 emitting two vector stmts and mixing the results.
7329
7330 2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
7331
7332 * call.c (print_z_candidates): Remove dead code.
7333
7334 2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7335
7336 * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
7337 and zEC12_simple_fp.
7338 * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
7339 to 1.
7340
7341 2015-05-12 Tom de Vries <tom@codesourcery.com>
7342
7343 PR tree-optimization/66010
7344 * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
7345 ifn_va_arg.
7346 * gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
7347 (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed
7348 va_lists are passed, and remove corresponding handling.
7349 (gimplify_va_arg_expr): Only take address of ap if necessary. Add
7350 do_deref argument to ifn_va_arg.
7351 * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
7352 ifn_va_arg.
7353
7354 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7355
7356 PR target/65955
7357 * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
7358 REG before taking its REGNO.
7359
7360 2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
7361
7362 * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
7363 rsp->sign_bit_copies and rsp->nonzero_bits into ...
7364 (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if
7365 present to get more accurate information about the number of sign bit
7366 copies and non zero bits.
7367
7368 2015-05-12 Richard Biener <rguenther@suse.de>
7369
7370 * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
7371 do not allow unrolling.
7372
7373 2015-05-11 Richard Henderson <rth@redhat.com>
7374
7375 * config/i386/i386-modes.def (CCP): New.
7376 * config/i386/i386.c (put_condition_code): Handle it.
7377 (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
7378
7379 2015-05-11 Richard Henderson <rth@redhat.com>
7380
7381 * target.def (md_asm_clobbers): Replace with...
7382 (md_asm_adjust): this.
7383 * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove.
7384 (TARGET_MD_ASM_ADJUST): New.
7385 * tm.texi: Rebuild.
7386 * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove.
7387 * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove.
7388 * system.h (TARGET_MD_ASM_CLOBBERS): Poison.
7389
7390 * cfgexpand.c (check_operand_nalternatives): Accept vector of
7391 constraints instead of lists of outputs and inputs.
7392 (expand_asm_stmt): Save and restore input_location around the
7393 body of the function. Move asm data into vectors instead of
7394 building tree lists. Generate cleanup sequences as needed,
7395 rather than waiting til the end. Use new md_asm_adjust hook.
7396
7397 * config/vxworks.c: Include vec.h before target.h.
7398 * gimple.c: Likewise.
7399 * incpath.c: Likewise.
7400 * mode-switching.c: Likewise.
7401
7402 * config/cris/cris.c (cris_md_asm_clobbers): Convert to...
7403 (cris_md_asm_adjust): this.
7404 (TARGET_MD_ASM_CLOBBERS): Remove.
7405 (TARGET_MD_ASM_ADJUST): New.
7406 * config/i386/i386.c (ix86_md_asm_clobbers): Convert to...
7407 (ix86_md_asm_adjust): this.
7408 (TARGET_MD_ASM_CLOBBERS): Remove.
7409 (TARGET_MD_ASM_ADJUST): New.
7410 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to...
7411 (mn10300_md_asm_adjust): this.
7412 (TARGET_MD_ASM_CLOBBERS): Remove.
7413 (TARGET_MD_ASM_ADJUST): New.
7414 * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to...
7415 (rs6000_md_asm_adjust): this.
7416 (TARGET_MD_ASM_CLOBBERS): Remove.
7417 (TARGET_MD_ASM_ADJUST): New.
7418 * config/visium/visium.c (visium_md_asm_clobbers): Convert to...
7419 (visium_md_asm_adjust): this.
7420 (TARGET_MD_ASM_CLOBBERS): Remove.
7421 (TARGET_MD_ASM_ADJUST): New.
7422
7423 2015-05-11 Richard Henderson <rth@redhat.com>
7424
7425 * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p
7426 if noutputs is zero.
7427 * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged.
7428
7429 * cfgexpand.c (expand_asm_operands): Merge into...
7430 (expand_asm_stmt): ... here.
7431
7432 * cfgexpand.c (expand_asm_operands): Don't call
7433 resolve_asm_operand_names.
7434 * stmt.c (resolve_asm_operand_names): Clarify block comment.
7435
7436 2015-05-11 Jan Hubicka <hubicka@ucw.cz>
7437
7438 * dwarf2out.c (gen_member_die): Sanity check that we access
7439 TYPE_MAIN_VARIANT for TYPE_METHODS.
7440 * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when
7441 checking TYPE_METHODS.
7442 * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
7443 if non-null.
7444 (build_distinct_type_copy): Clear TYPE_METHODS.
7445 (verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
7446 (verify_type): Allow TYPE_METHODS to be error_mark_node.
7447 * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS.
7448
7449 2015-05-11 Eric Botcazou <ebotcazou@adacore.com>
7450
7451 * emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
7452 (emit_pattern_before_setloc): Likewise.
7453
7454 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
7455
7456 * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
7457 for define_peephole2s.
7458 (get_peephole2_pattern): New function.
7459 (main): Use it. Call validate_pattern.
7460
7461 2015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
7462
7463 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
7464 LAST_CALLEE_SAVED_REG instead of hard-coded register number.
7465 (Last callee saved reg is different for AVR_TINY architecture)
7466
7467 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
7468
7469 * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
7470 when looking for memory references.
7471
7472 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
7473
7474 PR target/65753
7475 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
7476 via function pointers.
7477
7478 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
7479
7480 * calls.c (prepare_call_address): Transform PLT call to GOT lookup and
7481 indirect call by forcing address into a pseudo with -fno-plt.
7482 * common.opt (flag_plt): New option.
7483 * doc/invoke.texi (Code Generation Options): Add -fno-plt.
7484 ([-fno-plt]): Document.
7485
7486 2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de>
7487
7488 PR bootstrap/66105
7489 * config/rs6000/option-defaults.h: Add space between string literal
7490 and macro name.
7491
7492 2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
7493
7494 * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
7495 accross ARM targets.
7496
7497 2015-05-11 Christian Bruel <christian.bruel@st.com>
7498
7499 * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
7500 * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.
7501
7502 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
7503
7504 PR rtl-optimization/66076
7505 * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
7506 Don't grow the heap array if it is already big enough from a
7507 previous iteration.
7508
7509 2015-05-11 Christian Bruel <christian.bruel@st.com>
7510
7511 * config/arm/arm-protos.h (arm_declare_function_name): Declare.
7512 (is_called_in_ARM_mode): Remove.
7513 * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
7514 (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
7515 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
7516 arm_declare_function_name.
7517
7518 2015-05-11 Christian Bruel <christian.bruel@st.com>
7519
7520 * config/arm/arm.c (arm_option_override): Reoganized and split into :
7521 (arm_option_params_internal); New function.
7522 (arm_option_check_internal): New function.
7523 (arm_option_override_internal): New function.
7524 (thumb_code, thumb1_code): Remove.
7525 * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
7526 (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
7527 (thumb_code, thumb1_code): Remove.
7528 * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.
7529
7530 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
7531
7532 * config/alpha/alpha.c (alpha_emit_set_const_1)
7533 (alpha_emit_set_long_const, alpha_extract_integer)
7534 (alpha_legitimate_constant_p, alpha_split_const_mov)
7535 (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
7536 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
7537 (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
7538 HOST_WIDE_INT_1U.
7539 * config/alpha/predicates.md (mode_mask_operand): Do not match
7540 const_double RTX.
7541 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
7542 * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
7543 Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
7544 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
7545 (*negtf_internal): Use gen_int_mode instead of immed_double_const.
7546
7547 2015-05-11 Jakub Jelinek <jakub@redhat.com>
7548
7549 PR target/65780
7550 * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
7551 default_binds_local_p_2.
7552 * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
7553 * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
7554
7555 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
7556
7557 * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
7558
7559 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
7560
7561 Patch by Richard Biener
7562 * coverage.c (coverage_obj_init): Delay building of type variant
7563 until the type is finished.
7564
7565 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
7566
7567 * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
7568 mismatch between C and C++ type; compoare correctly ARG_TYPES
7569 for non-prototypes and output correctly parameter index for METHOD_TYPE.
7570 (odr_types_equivalent_p): Fix wording of warning about attributes;
7571 it is OK to match prototype and non-prototype.
7572
7573 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
7574
7575 * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
7576 TYPE_ARG_TYPES list.
7577 (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
7578 * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES
7579
7580 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
7581
7582 * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
7583 * tree.h (is_lang_specific): Constify.
7584
7585 2015-05-09 Marc Glisse <marc.glisse@inria.fr>
7586
7587 PR tree-optimization/64454
7588 * tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
7589 Rewrite.
7590
7591 2015-05-08 Jason Merrill <jason@redhat.com>
7592
7593 * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
7594 config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
7595 config/darwin.h, config/darwin9.h, config/elfos.h,
7596 config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
7597 config/microblaze/microblaze.h, config/mips/mips.h,
7598 config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
7599 config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
7600 config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
7601 config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
7602 config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
7603 cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
7604 dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
7605 ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
7606 ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
7607 modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
7608 tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
7609 between string literal and macro name.
7610
7611 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7612
7613 * jump.c: Change argument types to rtx_insn *.
7614 * rtl.h: Adjust.
7615
7616 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7617
7618 * lra-constraints.c: Change argument type to rtx_insn *.
7619
7620 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7621
7622 * df-problems.c: Change argument type to rtx_insn *.
7623
7624 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7625
7626 * combine.c: Change argument type to rtx_insn *.
7627
7628 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7629
7630 * rtl.h: Adjust.
7631 * rtlanal.c: Change argument type to rtx_insn *.
7632
7633 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7634
7635 * sched-deps.c: Change argument types to rtx_insn *.
7636 * sched-int.h: Adjust.
7637
7638 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7639
7640 * dwarf2cfi.c: Change argument type to rtx_insn *.
7641
7642 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7643
7644 * ira.c (decrease_live_ranges_number): Changetype of local
7645 variable to rtx_insn *.
7646 * recog.c: Change argument types to rtx_insn *.
7647 * recog.h: Adjust.
7648
7649 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7650
7651 * reorg.c: Change argument types to rtx_insn *.
7652
7653 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7654
7655 * ira-color.c: Change argument types to rtx_insn *.
7656 * lra-eliminations.c: Likewise.
7657 * ira.h: Adjust.
7658
7659 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7660
7661 * gcse.c: Change argument types to rtx_insn *.
7662
7663 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7664
7665 * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.
7666
7667 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7668
7669 * emit-rtl.c (emit_debug_insn_before): Change argument type to
7670 rtx_insn *.
7671 * rtl.h: Adjust.
7672
7673 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7674
7675 * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
7676 * rtl.h: Adjust.
7677
7678 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7679
7680 * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
7681 * rtl.h: Adjust.
7682
7683 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7684
7685 * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
7686 * rtl.h: Adjust.
7687
7688 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7689
7690 * rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
7691 * rtl.h: Adjust.
7692
7693 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7694
7695 * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
7696 to rtx_insn *.
7697 * rtl.h: Adjust.
7698
7699 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7700
7701 * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
7702 to rtx_insn *.
7703 * rtl.h: Likewise.
7704
7705 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7706
7707 * except.c (can_nonlocal_goto): Change type of argument to
7708 rtx_insn *.
7709 * rtl.h: Adjust.
7710
7711 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7712
7713 * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
7714 * rtl.h: Adjust.
7715
7716 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7717
7718 * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
7719 * cfgrtl.c (can_delete_label_p): Adjust.
7720 * rtl.h: likewise.
7721
7722 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7723
7724 * reorg.c (stop_search_p): Change argument to rtx_insn *.
7725
7726 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7727
7728 * except.c (make_reg_eh_region_note): Change argument to
7729 rtx_insn *.
7730 (make_reg_eh_region_note_nothrow_nononlocal): Likewise.
7731 * except.h: Adjust.
7732
7733 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7734
7735 * mode-switching.c (commit_mode_sets): Change type of local
7736 variable from rtx to rtx_insn *.
7737
7738 2015-05-08 Jim Wilson <jim.wilson@linaro.org>
7739
7740 * doc/install.texi (--enable-languages): Add missing jit and lto info.
7741 Add ^ to grep command.
7742 * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
7743 arg to last gimple_simplify declaration. Add missing gimple_build
7744 declaration for built-in function case with four tree args.
7745
7746 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
7747 Szabolcs Nagy <szabolcs.nagy@arm.com>
7748
7749 * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
7750 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
7751 (GNU_USER_DYNAMIC_LINKERN32): Update.
7752
7753 2015-05-08 Richard Biener <rguenther@suse.de>
7754
7755 PR tree-optimization/66036
7756 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
7757 Handle strided group loads.
7758 (vect_verify_datarefs_alignment): Likewise.
7759 (vect_enhance_data_refs_alignment): Likewise.
7760 (vect_analyze_group_access): Likewise.
7761 (vect_analyze_data_ref_access): Likewise.
7762 (vect_analyze_data_ref_accesses): Likewise.
7763 * tree-vect-stmts.c (vect_model_load_cost): Likewise.
7764 (vectorizable_load): Likewise.
7765
7766 2015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
7767
7768 * config/rs6000/rs6000.md: Require operand inequality in one
7769 of the peepholes.
7770
7771 2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
7772 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7773
7774 * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
7775 from (set ...).
7776 * config/rx/rx.md (movdi, movdf): Likewise.
7777 Likewise for define_peephole2s.
7778
7779 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
7780
7781 * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
7782 vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
7783 vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
7784 vtst_u64): Rewrite using gcc vector extensions.
7785
7786 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
7787
7788 * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
7789 vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
7790
7791 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
7792
7793 * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
7794
7795 2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
7796
7797 * config/glibc-stdint.h (OPTION_MUSL): Define.
7798 (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
7799 Change the definition based on OPTION_MUSL for 64 bit targets.
7800 * config/linux.h (OPTION_MUSL): Redefine.
7801 * config/alpha/linux.h (OPTION_MUSL): Redefine.
7802 * config/rs6000/linux.h (OPTION_MUSL): Redefine.
7803 * config/rs6000/linux64.h (OPTION_MUSL): Redefine.
7804
7805 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
7806 Szabolcs Nagy <szabolcs.nagy@arm.com>
7807
7808 * config.gcc (LIBC_MUSL): New tm_defines macro.
7809 * config/linux.h (OPTION_MUSL): Define.
7810 (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
7811 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
7812 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
7813 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
7814 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
7815 * config/linux.opt (mmusl): New option.
7816 * doc/invoke.texi (GNU/Linux Options): Document -mmusl.
7817 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
7818 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
7819 * configure: Regenerate.
7820
7821 2015-05-08 H.J. Lu <hongjiu.lu@intel.com>
7822 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7823
7824 PR target/48904
7825 * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
7826 * config/i386/knetbsd-gnu64.h: New file.
7827
7828 2015-05-08 Marek Polacek <polacek@redhat.com>
7829
7830 PR c/64918
7831 * doc/invoke.texi: Document -Woverride-init-side-effects.
7832
7833 2015-05-07 Marek Polacek <polacek@redhat.com>
7834
7835 PR c/65179
7836 * doc/invoke.texi: Document -Wshift-negative-value.
7837
7838 2015-05-06 Aditya Kumar <hiraditya@msn.com>
7839
7840 * gcov-tool.c (do_merge): Refactore to remove int ret.
7841 * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
7842 !type == FUNC to type != FUNC.
7843 * reload.h (struct target_reload): Changee to type of
7844 x_spill_indirect_levels from bool to unsigned char.
7845
7846 2015-05-07 Richard Sandiford <richard.sandiford@arm.com>
7847
7848 * rtl.h (always_void_p): New function.
7849 * gengenrtl.c (always_void_p): Likewise.
7850 (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
7851 with code foo are always VOIDmode.
7852 * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
7853 * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
7854 compare-elim.c, config/aarch64/aarch64.c,
7855 config/aarch64/aarch64.md, config/alpha/alpha.c,
7856 config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
7857 config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
7858 config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
7859 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
7860 config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
7861 config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
7862 config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
7863 config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
7864 config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
7865 config/ia64/vect.md, config/iq2000/iq2000.c,
7866 config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
7867 config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
7868 config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
7869 config/mep/mep.c, config/microblaze/microblaze.c,
7870 config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
7871 config/mn10300/mn10300.c, config/msp430/msp430.c,
7872 config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
7873 config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
7874 config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
7875 config/rs6000/altivec.md, config/rs6000/rs6000.c,
7876 config/rs6000/rs6000.md, config/rs6000/vector.md,
7877 config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
7878 config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
7879 config/sh/sh.md, config/sh/sh_treg_combine.cc,
7880 config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
7881 config/spu/spu.md, config/stormy16/stormy16.c,
7882 config/tilegx/tilegx.c, config/tilegx/tilegx.md,
7883 config/tilepro/tilepro.c, config/tilepro/tilepro.md,
7884 config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
7885 config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
7886 expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
7887 lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
7888 reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
7889 var-tracking.c: Update calls accordingly.
7890
7891 2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
7892
7893 PR middle-end/192
7894 PR middle-end/54303
7895 * varasm.c (function_mergeable_rodata_prefix): New function.
7896 (mergeable_string_section): Use it.
7897 (mergeable_constant_section): Use it.
7898
7899 2015-05-07 Jeff Law <law@redhat.com>
7900
7901 PR target/39726
7902 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
7903 simplifier to narrow arithmetic.
7904 * generic-match-head.c: (types_match, single_use): New functions.
7905 * gimple-match-head.c: (types_match, single_use): New functions.
7906
7907 2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
7908
7909 * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
7910 rtx type.
7911
7912 2015-05-07 Richard Biener <rguenther@suse.de>
7913
7914 PR tree-optimization/66002
7915 * passes.def: Schedule another pass_merge_phi after ifcombine, right
7916 before phiopt.
7917
7918 2015-05-07 Marek Polacek <polacek@redhat.com>
7919 Martin Uecker <uecker@eecs.berkeley.edu>
7920
7921 * doc/invoke.texi: Document -fsanitize=bounds-strict.
7922 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
7923 into SANITIZE_NONDEFAULT.
7924 * opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
7925
7926 2015-05-07 Uros Bizjak <ubizjak@gmail.com>
7927
7928 PR target/66015
7929 * config/alpha/alpha.c (alpha_override_options_after_change): New.
7930 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
7931 (alpha_override_options): Move align_loops, align_jumps and
7932 align_functions handling into alpha_override_options_after_change.
7933
7934 2015-05-06 Sandra Loosemore <sandra@codesourcery.com>
7935 Chris Jones <chrisj@nvidia.com>
7936 Joshua Conner <jconner@nvidia.com>
7937
7938 * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
7939 linking of crtfastmath.o.
7940 * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
7941
7942 2015-05-06 Segher Boessenkool <segher@kernel.crashing.org>
7943
7944 * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
7945 (cstore<mode>4_unsigned_imm): New expander.
7946 (cstore<mode>4): Remove empty constraint strings. Use the new
7947 expanders.
7948
7949 2015-05-06 Yvan Roux <yvan.roux@linaro.org>
7950
7951 PR target/64208
7952 * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
7953 alternatives.
7954
7955 2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
7956
7957 * config/aarch64/geniterators.sh: Use standard BRE in sed.
7958
7959 2015-05-06 Alan Modra <amodra@gmail.com>
7960
7961 PR target/66033
7962 * config/rs6000/rs6000.md (nop): Use an unspec pattern.
7963 (UNSPEC_NOP): Define.
7964 (reload_vsx_from_gpr<mode>): Add missing DONE.
7965 (reload_gpr_from_vsx<mode>): Likewise.
7966 * config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
7967 (vsx_div_v2di, vsx_udiv_v2di): Likewise.
7968
7969 2015-05-06 Christian Bruel <christian.bruel@st.com>
7970
7971 PR target/66015
7972 * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
7973 align_jumps, align_functions into aarch64_override_options_after_change.
7974
7975 2015-05-06 Richard Biener <rguenther@suse.de>
7976
7977 * tree-vect-slp.c (vect_supported_load_permutation_p): Use
7978 vect_transform_slp_perm_load to check if we support a permutation
7979 for basic-block vectorization.
7980
7981 2015-05-06 Nick Clifton <nickc@redhat.com>
7982
7983 * config/rl78/rl78.c (need_to_save): Save register 22 if it is
7984 used, even if it is not being used as a frame pointer.
7985
7986 2015-05-05 Jason Merrill <jason@redhat.com>
7987
7988 * dwarf2out.c (gen_member_die): Don't emit anything for an
7989 anonymous class constructor.
7990
7991 2015-05-05 David Malcolm <dmalcolm@redhat.com>
7992
7993 * auto-profile.c (afdo_find_equiv_class): Fix indentation so
7994 that it reflects the block structure.
7995 (afdo_propagate_edge): Likewise.
7996 (afdo_calculate_branch_prob): Likewise.
7997 (afdo_annotate_cfg): Likewise.
7998 * cfgcleanup.c (equal_different_set_p): Likewise.
7999 (try_crossjump_to_edge): Likewise.
8000 * cgraph.c (cgraph_node::verify_node): Likewise.
8001 * cgraphunit.c (expand_all_functions): Likewise.
8002 * config/i386/i386.c (ix86_expand_copysign): Likewise.
8003 (exact_dependency_1): Likewise.
8004 * dwarf2asm.c (dw2_output_indirect_constants): Likewise.
8005 * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
8006 * gensupport.c (process_define_subst): Likewise.
8007 * lto-wrapper.c (merge_and_complain): Likewise.
8008 * tree-if-conv.c (if_convertible_bb_p): Likewise.
8009 * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
8010 * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
8011 * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
8012 * tree-vect-loop.c (vectorizable_reduction): Likewise.
8013 * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
8014 * tree-vect-stmts.c (vectorizable_shift): Likewise.
8015 * tree-vrp.c (vrp_finalize): Likewise.
8016 * tree.c (variably_modified_type_p): Likewise.
8017
8018 2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
8019
8020 * config.gcc: Use darwin9.h, darwin10.h and darwin12.h
8021 on darwin12 and later.
8022 * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
8023 file to pass -rdynamic on darwin12 and later.
8024 * config/darwin.opt (rdynamic): Add.
8025
8026 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
8027
8028 * doc/extend.texi (C Extensions): Update menu for moved Variable
8029 Attributes and Type Attributes sections.
8030
8031 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
8032
8033 PR target/65990
8034 * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
8035 if rep_8byte stringop strategy was specified for 32-bit target.
8036
8037 2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
8038
8039 PR target/65915
8040 * config/i386/i386.md (vector convert to float spltiter): Check for
8041 xmm16+, when splitting scalar float conversion.
8042 * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
8043
8044 2015-05-05 Nick Clifton <nickc@redhat.com>
8045
8046 * config/msp430/msp430-opts.h (enum msp430_regions): New.
8047 * config/msp430/msp430.c (msp430_override_options): Complain if
8048 -mcode-region or -mdata-region is used on a non MSP430X.
8049 (msp430_section_attr): New function. Checks lower, upper and
8050 either attributes.
8051 (msp430_attribute_table): Add lower, upper and either.
8052 (gen_prefix): New function. Generates a prefix for a section
8053 name.
8054 (msp430_select_section): New function - handles the choice of
8055 section for an object. Takes into account memory region
8056 attributes and options.
8057 (msp430_function_section): Use gen_prefix.
8058 (TARGET_SECTION_TYPE_FLAGS): Define.
8059 (msp430_section_type_flags): New function.
8060 (TARGET_ASM_UNIQUE_SECTION): Define.
8061 (msp430_unique_section): New function.
8062 (msp430_output_aligned_decl_common): New function.
8063 (msp430_do_not_relax_short_jumps): New function.
8064 * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
8065 Define.
8066 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
8067 * config/msp430/msp430-protos.h
8068 (msp430_do_not_relax_short_jumps): New prototype.
8069 (msp430_output_aligned_decl_common): New prototype.
8070 * config/msp430/msp430.md (length): New attribute.
8071 (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
8072 then use a long code sequence for short jumps.
8073 * config/msp430/msp430.opt (mcode-region): New.
8074 (mdata-region): New.
8075 * doc/invoke.texi: Document new options.
8076 * doc/extend.texi: Document new attributes.
8077
8078 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
8079
8080 * gcc/config/aarch64-protos.h (struct cpu_branch_cost): New.
8081 (tune_params): Add field branch_costs.
8082 (aarch64_branch_cost): Declare.
8083 * gcc/config/aarch64.c (generic_branch_cost): New.
8084 (generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
8085 (cortexa53_tunings): Likewise.
8086 (cortexa57_tunings): Likewise.
8087 (thunderx_tunings): Likewise.
8088 (xgene1_tunings): Likewise.
8089 (aarch64_branch_cost): Define.
8090 * gcc/config/aarch64/aarch64.h (BRANCH_COST): Redefine.
8091
8092 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
8093
8094 * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
8095 and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
8096 * config/i386/i386.md: Ditto.
8097 * config/i386/winnt.c: Ditto.
8098
8099 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
8100
8101 * doc/extend.texi (__atomic Builtins): Move implementation details
8102 to the end of the description, rewrite opening paragraphs, state
8103 difference with __sync builtins, state C11/C++11 assumptions,
8104 weaken itemized descriptions, add explanation of memory model
8105 behaviour, expand description of compare-exchange, simplify text.
8106
8107 2015-05-05 Renlin Li <renlin.li@arm.com>
8108
8109 * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
8110
8111 2015-05-05 Yvan Roux <yvan.roux@linaro.org>
8112
8113 * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
8114 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
8115 * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
8116 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
8117 * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
8118 * configure: Regenerate.
8119 * configure.ac: Add --enable-fix-cortex-a53-843419 option.
8120 * doc/install.texi (aarch64*-*-*): Document new
8121 --enable-fix-cortex-a53-843419 option.
8122 * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
8123 and -mno-fix-cortex-a53-843419 options.
8124
8125 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
8126
8127 PR target/65871
8128 * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
8129
8130 2015-05-04 Jan Hubicka <hubicka@ucw.cz>
8131
8132 * tree.c (verify_type): Check various uses of TYPE_MAXVAL;
8133 fix overactive TYPE_MIN_VALUE check and add FIXME for type
8134 compatibility problems.
8135
8136 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
8137
8138 * config/microblaze/microblaze.md (cbranchsi4): Added immediate
8139 constraints.
8140 (cbranchsi4_reg): New.
8141 * config/microblaze/microblaze.c
8142 (microblaze_expand_conditional_branch_reg): New.
8143 * config/microblaze/microblaze-protos.h
8144 (microblaze_expand_conditional_branch_reg): New prototype.
8145
8146 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
8147
8148 * config/microblaze/microblaze.md (peephole2): New.
8149
8150 2015-05-04 Jeff Law <law@redhat.com>
8151
8152 Revert:
8153 2015-05-04 Jeff Law <law@redhat.com>
8154
8155 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
8156 simplifier to narrow arithmetic.
8157 * generic-match-head.c: (types_match, single_use): New functions.
8158 * gimple-match-head.c: (types_match, single_use): New functions.
8159
8160 2015-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
8161
8162 PR target/65987
8163 * config/sh/sh.c (output_far_jump): Take into account crossing jumps.
8164 (split_branches): Likewise.
8165
8166 2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
8167
8168 * common.opt (fdelete-null-pointer-checks): Init to -1.
8169 * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
8170 override flag_delete_null_pointer_checks default.
8171 * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
8172 behavior re address zero. Better document target-specific behavior.
8173 (-fisolate-errneous-paths-dereference): Mention relationship to
8174 -fdelete-null-pointer-checks.
8175
8176 2015-05-04 Jakub Jelinek <jakub@redhat.com>
8177
8178 PR tree-optimization/65984
8179 * ubsan.c: Include tree-cfg.h.
8180 (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
8181 stmt_could_throw_p test, rename can_throw variable to ends_bb.
8182
8183 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
8184
8185 * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
8186 to CONST_DOUBLE_P predicate.
8187 (standard_sse_constant_p): Return 0 for !TARGET_SSE.
8188 (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
8189 allow only operands that satisfy standard_sse_constant_p predicate.
8190 * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
8191 to CONST_DOUBLE_P predicate.
8192
8193 2015-05-04 Jeff Law <law@redhat.com>
8194
8195 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
8196 simplifier to narrow arithmetic.
8197 * generic-match-head.c: (types_match, single_use): New functions.
8198 * gimple-match-head.c: (types_match, single_use): New functions.
8199
8200 2015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
8201
8202 * config/arm/arm.c: Restore bootstrap.
8203
8204 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
8205
8206 * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
8207 * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
8208 as CONST_WIDE_INT, not CONST_DOUBLE.
8209 (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
8210 (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
8211 (ix86_find_base_term): Do not check for CONST_DOUBLE.
8212 (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
8213 (ix86_build_signbit_mask): Rewrite using wide ints.
8214 (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
8215 (ix86_rtx_costs): Handle CONST_WIDE_INT.
8216 (find_constant): Ditto.
8217 * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
8218 using gen_int_mode.
8219 * config/i386/predicates.md (x86_64_immediate_operand)
8220 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
8221 (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
8222 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
8223 (const0_operand): Also match const_wide_int.
8224 (constm1_operand): Ditto.
8225 (const1_operand): Ditto.
8226
8227 2015-05-04 Richard Biener <rguenther@suse.de>
8228
8229 PR tree-optimization/65965
8230 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
8231 store groups at gaps.
8232
8233 2015-05-04 Richard Biener <rguenther@suse.de>
8234
8235 PR tree-optimization/65935
8236 * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
8237 then make sure to apply that swapping to the IL.
8238
8239 2015-05-04 Jakub Jelinek <jakub@redhat.com>
8240
8241 * Makefile.in (PATCHLEVEL_c): New variable.
8242 (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
8243 expand the same way as if DEVPHASE_c was non-empty.
8244
8245 2015-05-04 Kai Tietz <ktietz@redhat.com>
8246
8247 PR target/65559
8248 * lto-wrapper.c (run_gcc): Open filename
8249 in binary-mode.
8250
8251 2015-05-03 Sandra Loosemore <sandra@codesourcery.com>
8252
8253 * doc/extend.texi (Variable Attributes, Type Attributes): Move
8254 sections up in file, to immediately after the Function Attributes
8255 section.
8256
8257 2015-05-02 Jan Hubicka <hubicka@ucw.cz>
8258
8259 * tree.c (verify_type): Check various uses of TYPE_MINVAL.
8260
8261 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8262
8263 * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
8264 (insert_partition_copy_on_edge): Adjust.
8265 (insert_rtx_to_part_on_edge): Likewise.
8266 (insert_part_to_rtx_on_edge): Likewise.
8267
8268 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8269
8270 * function.c (set_return_jump_label): Change type of argument to
8271 rtx_insn *.
8272 * function.h (set_return_jump_label): Adjust.
8273
8274 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8275
8276 * reload.h (struct reg_equivs_t): Change type of init to
8277 rtx_insn *.
8278 * ira.c (fix_reg_equiv_init): Adjust.
8279 * reload1.c (eliminate_regs_1): Likewise.
8280 (init_eliminable_invariants): Likewise.
8281
8282 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8283
8284 * cselib.c (fp_setter_insn): Take a rtx_insn *.
8285 * cselib.h (fp_setter_insn): Adjust.
8286
8287 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8288
8289 * recog.c (struct validate_replace_src_data): Change type of
8290 insn field to rtx_insn *.
8291 (validate_replace_src_group): Change type of argument to rtx_insn *.
8292 * recog.h (validate_replace_src_group): Adjust.
8293
8294 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8295
8296 * haifa-sched.c: Change the type of some variables to rtx_insn *.
8297 * sched-deps.c: Likewise.
8298 * sched-int.h: Likewise.
8299 * sched-rgn.c: Likewise.
8300 * sel-sched.c: Likewise.
8301
8302 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8303
8304 to rtx_insn *.
8305 * config/i386/i386.c: Change the type of some arguments to
8306 rtx_insn *.
8307 * config/arm/arm.c: Likewise.
8308
8309 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8310
8311 * lra-constraints.c: Change type of some arguments to rtx_insn *.
8312
8313 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8314
8315 * regcprop.c (kill_autoinc_value): Change type of argument to
8316 rtx_insn *.
8317
8318 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8319
8320 * genrecog.c (print_subroutine): Adjust.
8321 * recog.c (get_bool_attr_mask_uncached): Likewise.
8322 * recog.h (struct recog_data_d): Change the type of insn to
8323 rtx_insn *.
8324
8325 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8326
8327 * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
8328
8329 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8330
8331 * df-problems.c (df_set_note): Change type of argument to
8332 rtx_insn *.
8333
8334 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8335
8336 * builtins.c (expand_builtin_trap): Change type of local
8337 variable to rtx_insn *.
8338 (add_sched_insns_for_speculation): Likewise.
8339 (ix86_emit_save_regs): Likewise.
8340 (get_scratch_register_on_entry): Likewise.
8341 (ix86_emit_restore_reg_using_pop): Likewise.
8342 (ix86_emit_leave): Likewise.
8343 (ix86_emit_restore_regs_using_mov): Likewise.
8344 (ix86_expand_epilogue): Likewise.
8345 Likewise.
8346 (rl78_alloc_physical_registers_umul): Likewise.
8347 * cselib.c (discard_useless_locs): Likewise.
8348 (cselib_invalidate_regno): Likewise.
8349 (cselib_invalidate_mem): Likewise.
8350 * function.c (expand_function_start): Likewise.
8351 (emit_use_return_register_into_block): Likewise.
8352 * gcse.c: Likewise.
8353 * haifa-sched.c (ok_for_early_queue_removal): Likewise.
8354 * ifcvt.c (noce_get_alt_condition): Likewise.
8355 * loop-doloop.c (doloop_condition_get): Likewise.
8356 * lra-constraints.c (inherit_in_ebb): Likewise.
8357 * modulo-sched.c (sms_schedule_by_order): Likewise.
8358 * recog.c (next_insn_tests_no_inequality): Likewise.
8359 * reorg.c (emit_delay_sequence): Likewise.
8360 (update_reg_dead_notes): Likewise.
8361 (fix_reg_dead_note): Likewise.
8362 (fill_slots_from_thread): Likewise.
8363 (delete_computation): Likewise.
8364
8365 2015-05-01 Sandra Loosemore <sandra@codesourcery.com>
8366
8367 * doc/extend.texi (Variable Attributes): Add menu and proper
8368 @nodes to subsections. Move Microsoft Windows attributes to
8369 their own subsection.
8370 (Type Attributes): Reorganize introduction to remove duplicate
8371 list of attributes. Add menu and proper @nodes to subsections.
8372 Alphabetize the main table of common attributes.
8373
8374 2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
8375
8376 * match.pd: New simplification patterns.
8377 (x + (x & 1)) -> ((x + 1) & ~1)
8378 (x & ~(x & y)) -> ((x & ~y))
8379 (x | ~(x | y)) -> ((x | ~y))
8380
8381 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8382
8383 * target.def (attribute_table): Mention that struct attribute_spec
8384 is defined in tree-core.h rather than tree.h
8385 * doc/tm.texi: Regenerate.
8386
8387 2015-05-01 Richard Sandiford <richard.sandiford@arm.com>
8388
8389 * genrecog.c (test): Rename to rtx_test. Update rest of file
8390 accordingly.
8391
8392 2015-05-01 Andreas Schwab <schwab@linux-m68k.org>
8393
8394 PR translation/65959
8395 * params.h (DEFPARAM): Rename msgid to nocmsgid.
8396
8397 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
8398
8399 * gcc/config/aarch64/aarch64-protos.h (tune_params):
8400 Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
8401 * gcc/config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
8402 Return value depending on target.
8403 (generic_tunings): Initialize new target settings.
8404 (cortexa53_tunings): Likewise.
8405 (cortexa57_tunings): Likewise.
8406 (thunderx_tunings): Likewise.
8407 (xgene1_tunings): Likewise.
8408
8409 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
8410
8411 * gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
8412 Make Cortex-A53 shift costs more accurate.
8413
8414 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8415
8416 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
8417 UNSIGNED_FLOAT.
8418
8419 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
8420
8421 * gcc/config/aarch64/aarch64.c (aarch64_rtx_costs):
8422 Calculate cost of op0 and op1 in PLUS and MINUS cases.
8423
8424 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8425
8426 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
8427 Add cost of op0 in the compare-with-fpzero case.
8428
8429 2015-04-30 David Malcolm <dmalcolm@redhat.com>
8430
8431 * builtins.c (fold_builtin_1): Remove spurious second
8432 semicolon.
8433 * cgraph.h (symtab_node::get_availability): Likewise.
8434 * opts.c (common_handle_option): Remove spurious second semicolon.
8435 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
8436 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
8437
8438 2015-04-30 Caroline Tice <cmtice@google.com>
8439
8440 PR gcov-profile/65929
8441 * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
8442 (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
8443 * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
8444 (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
8445 * doc/tm.texi: Regenerate.
8446 * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME
8447 instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
8448 * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE
8449 instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
8450
8451 2015-04-30 Marek Polacek <polacek@redhat.com>
8452
8453 * varasm.c (handle_cache_entry): Fix logic.
8454
8455 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8456
8457 * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
8458 (*extrsi5_insn_uxtw_alt): Likewise.
8459 * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
8460 (aarch64_rtx_costs, IOR case): Use above to properly cost extr
8461 operations.
8462
8463 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8464
8465 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
8466 fabd in ABS case.
8467
8468 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8469
8470 * config/aarch64/aarch64.md
8471 (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
8472 (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
8473 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
8474 appropriately. Handle alternative EON form.
8475
8476 2015-04-30 Renlin Li <renlin.li@arm.com>
8477
8478 * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
8479 * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
8480
8481 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
8482
8483 PR ipa/65873
8484 * ipa-inline.c (can_inline_edge_p): It is safe to inline across
8485 -fstrict-aliasing boundaries.
8486
8487 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8488
8489 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
8490 and [SU]MNEGL patterns.
8491
8492 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8493
8494 * config/aarch64/aarch64.c (aarch64_shift_p): New function.
8495 (aarch64_rtx_mult_cost): Update comment to reflect that it also handles
8496 combined arithmetic-shift ops. Properly handle all shift and extend
8497 operations that can occur in combination with PLUS/MINUS.
8498 Rename maybe_fma to compound_p.
8499 (aarch64_rtx_costs): Use aarch64_shift_p when costing compound
8500 arithmetic and shift operations.
8501
8502 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8503
8504 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
8505 rather than arith_shift cost when costing ADD/MINUS of an
8506 extended value.
8507
8508 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
8509
8510 PR lto/65948
8511 * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
8512 to itself.
8513
8514 2015-04-30 Richard Sandiford <richard.sandiford@arm.com>
8515
8516 * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
8517 are for the same position.
8518
8519 2015-04-29 Aditya Kumar <hiraditya@hotmail.com>
8520
8521 * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
8522 vectorize_loops.
8523 (vectorize_loops): Use it.
8524
8525 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
8526
8527 * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
8528 for aggregate types.
8529 (register_odr_type): Be ready for MAIN_VARIANT of ODR type
8530 type to be non_ODR.
8531 * tree.c (need_assembler_name_p): Compute mangled name for
8532 non-fundamental types and integer types.
8533
8534 2015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
8535
8536 * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
8537 manual swaps.
8538 * expr.c (expand_expr_real_2): Likewise.
8539
8540 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
8541
8542 * tree.c (build_common_builtin_nodes): Do not build
8543 __builtin_alloca_with_align as equivalent of library alloca.
8544
8545 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
8546
8547 * dwarf2out.c (gen_type_die_with_usage): Call verify_type.
8548 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
8549 bugus variants.
8550 * tree.c: Include print-tree.h and ipa-utils.h
8551 (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
8552 (free_lang_data_in_cgraph): Call verify_type.
8553 (verify_type_variant): New function.
8554 (verify_type): New function.
8555 * tree.h (verify_type): Declare.
8556
8557 2015-04-29 Steve Ellcey <sellcey@imgtec.com>
8558
8559 * config/mips/mips-cpus.def: (mips4): Change default processor
8560 from PROCESSOR_R8000 to PROCESSOR_R10000.
8561
8562 2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
8563
8564 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
8565 la/jalr instead of jal.
8566
8567 2015-04-29 Uros Bizjak <ubizjak@gmail.com>
8568
8569 PR target/65871
8570 * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
8571 (*bmi2_bzhi_<mode>3_1_ccz): Ditto.
8572 (setcc+movzbl peephole2): Check also clobbered reg.
8573 (setcc+andl peephole2): Ditto.
8574
8575 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
8576
8577 PR libgomp/65099
8578 * config/nvptx/mkoffload.c (target_ilp32): New variable.
8579 (main): Set it depending on "-foffload-abi=[...]".
8580 (compile_native, main): Use it to pass "-m32" or "-m64" to the
8581 compiler.
8582
8583 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
8584
8585 PR target/65770
8586 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
8587 vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
8588 Flip lane index back at assembly time for bigendian.
8589
8590 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
8591
8592 * tree.h (OMP_STANDALONE_CLAUSES): New macro.
8593 * gimplify.c (gimplify_omp_workshare): Use it.
8594
8595 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
8596
8597 * Makefile.in (build/genrecog.o): Depend on inchash.h.
8598 (build/genrecog$(build_exeext): Depend on build/hash-table.o and
8599 build/inchash.o
8600 * genrecog.c: Rewrite most of the code except for the third page.
8601
8602 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
8603
8604 * inchash.h, inchash.c: Include bconfig.h for build objects.
8605 * Makefile.in (build/inchash.o): New rule.
8606
8607 2015-04-29 Yvan Roux <yvan.roux@linaro.org>
8608
8609 PR target/65924
8610 * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
8611 number in type attribute expression.
8612
8613 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
8614
8615 * loop-iv.c (canon_condition): Generalize to all types of integer
8616 constant.
8617
8618 2015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
8619
8620 * gimple-walk.c: Prune duplicate or unneeded includes.
8621 (walk_gimple_asm): Only call parse_input_constraint or
8622 parse_output_constraint if their findings are used.
8623 Honour parse_input_constraint and parse_output_constraint
8624 result.
8625
8626 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
8627
8628 * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
8629
8630 2015-04-29 Tom de Vries <tom@codesourcery.com>
8631
8632 PR tree-optimization/65893
8633 * passes.def (pass_all_optimizations): Move pass_stdarg to after
8634 pass_dce.
8635
8636 2015-04-29 Richard Biener <rguenther@suse.de>
8637
8638 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
8639 compute GROUP_SIZE for basic-block SLP.
8640 * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
8641 take into account gaps.
8642 (vect_get_mask_element): Properly reject references to previous
8643 vectors.
8644 (vect_transform_slp_perm_load): Likewise.
8645
8646 2015-04-29 Christian Bruel <christian.bruel@st.com>
8647
8648 PR target/64835
8649 * config/i386/i386.c (ix86_default_align): New function.
8650 (ix86_override_options_after_change): Call ix86_default_align.
8651 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
8652 (ix86_override_options_after_change): New function.
8653
8654 2015-04-28 Jeff Law <law@redhat.com>
8655
8656 * tree-ssa-dom.c (record_equality); Fix comment typos.
8657
8658 2015-04-28 Tom de Vries <tom@codesourcery.com>
8659
8660 PR tree-optimization/65887
8661 * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
8662
8663 2015-04-28 Sandra Loosemore <sandra@codesourcery.com>
8664
8665 * doc/extend.texi (Declaring Attributes of Functions): Split into
8666 subsections by target. Alphabetize the table of common attributes.
8667 Rewrite some of the introductory text to reflect the new structure.
8668 Update some cross-references to point to the new subsections.
8669 (Attribute Syntax): Put paragraph about "__" naming here. Remove
8670 duplicate copies in the discussion of function, label, and type
8671 attributes.
8672
8673 2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
8674
8675 PR bootstrap/65910
8676 * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
8677
8678 2015-04-28 Jason Merrill <jason@redhat.com>
8679
8680 PR c++/65734
8681 * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
8682 (finalize_type_size): Respect TYPE_USER_ALIGN.
8683 (layout_type) [ARRAY_TYPE]: Likewise.
8684
8685 2015-04-28 Yvan Roux <yvan.roux@linaro.org>
8686
8687 * config/arm/arm.md (*arm_movt): Fix type attribute.
8688 (*cmpsi_shiftsi): Likewise.
8689 (*cmpsi_shiftsi_swp): Likewise.
8690 (*movsicc_insn): Likewise.
8691 (*cond_move): Likewise.
8692 (*if_plus_move): Likewise.
8693 (*if_move_plus): Likewise.
8694 (*if_arith_move): Likewise.
8695 (*if_move_arith): Likewise.
8696 (*if_shift_move): Likewise.
8697 (*if_move_shift): Likewise.
8698 (*arm_movtas_ze): Likewise.
8699 * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
8700 redundancy and type attribute.
8701 (*thumb2_movsi_insn): Fix type attribute.
8702 (*thumb2_addsi_short): Likewise.
8703 (thumb2_addsi3_compare0): Likewise.
8704 (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
8705 attributes accordingly.
8706
8707 2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
8708
8709 PR other/65911
8710 * function.c (pad_to_arg_alignment): Add parentheses.
8711
8712 2015-04-28 Uros Bizjak <ubizjak@gmail.com>
8713
8714 * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
8715 libgcc/config/frv/elf-lib.h.
8716
8717 2015-04-28 Tom de Vries <tom@codesourcery.com>
8718
8719 * tree-call-cdce.c: Fix example in header comment.
8720
8721 2015-04-28 Richard Biener <rguenther@suse.de>
8722
8723 PR tree-optimization/62283
8724 * tree-vect-slp.c (vect_build_slp_tree): When the SLP build
8725 fails fatally and we are vectorizing a basic-block simply
8726 cause the child to be constructed piecewise.
8727 (vect_analyze_slp_cost_1): Adjust.
8728 (vect_detect_hybrid_slp_stmts): Likewise.
8729 (vect_bb_slp_scalar_cost): Likewise.
8730 (vect_get_constant_vectors): For piecewise constructed
8731 constants place them after the last def.
8732 (vect_get_slp_defs): Adjust.
8733 * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
8734 externals for basic-block vectorization.
8735
8736 2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
8737
8738 PR target/63503
8739 * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
8740 aarch64-*-*.
8741 * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
8742 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
8743 (AARCH64_TUNE_FMA_STEERING): Likewise.
8744 * config/aarch64/aarch64-cores.def: Set
8745 AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
8746 FMUL/FMADD instructions.
8747 * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
8748 (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
8749 aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
8750 * config/aarch64/cortex-a57-fma-steering.h: New file.
8751 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
8752
8753 2015-04-28 Richard Sandiford <richard.sandiford@arm.com>
8754
8755 * gensupport.c (std_preds): Add missing codes to address_operand entry.
8756
8757 2015-04-28 Richard Biener <rguenther@suse.de>
8758
8759 PR tree-optimization/65851
8760 * tree-ssa-ccp.c (set_lattice_value): Perform a meet when
8761 changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
8762 (ccp_lattice_meet): Remove stray argument. Use operand_equal_p
8763 rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
8764 (ccp_visit_phi_node): Adjust.
8765 (evaluate_stmt): For simplifications to SSA names return its
8766 lattice value if that isn't VARYING. Return immediately when
8767 simplified to a constant.
8768 (visit_assignment): Adjust.
8769 (ccp_visit_stmt): Likewise.
8770
8771 2015-04-28 Tom de Vries <tom@codesourcery.com>
8772
8773 PR tree-optimization/65818
8774 * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
8775 evaluated.
8776
8777 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8778
8779 * calls.c (save_fixed_argument_area): Don't check
8780 ARGS_GROW_DOWNWARD with the preprocessor.
8781 (restore_fixed_argument_area): Likewise.
8782 (mem_overlaps_already_clobbered_arg_p): Likewise.
8783 (check_sibcall_argument_overlap): Likewise.
8784 (expand_call): Likewise.
8785 (emit_library_call_value_1): Likewise.
8786 (store_one_arg): Likewise.
8787 * function.c (assign_parms): Likewise.
8788 (locate_and_pad_parm): Likewise.
8789 (pad_to_arg_alignment): Likewise.
8790 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
8791
8792 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8793
8794 * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
8795 * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
8796 * calls.c (save_fixed_argument_area): Don't chekc if
8797 ARGS_GROW_DOWNWARD is defined.
8798 (restore_fixed_argument_area): Likewise.
8799 (mem_overlaps_already_clobbered_arg_p): Likewise.
8800 (check_sibcall_argument_overlap): Likewise.
8801 (expand_call): Likewise.
8802 (emit_library_call_value_1): Likewise.
8803 (store_one_arg): Likewise.
8804 * function.c (assign_parms): Likewise.
8805 (locate_and_pad_parm): Likewise.
8806 (pad_to_arg_alignment): Likewise.
8807 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
8808
8809 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8810
8811 * defaults.h (gen_epilogue): New function.
8812 * alias.c (init_alias_analysis): don't check if HAVE_epilogue is
8813 defined.
8814 * cfgrtl.c (cfg_layout_finalize): Likewise.
8815 * df-scan.c: Likewise.
8816 * function.c (thread_prologue_and_epilogue_insns): Likewise.
8817 (reposition_prologue_and_epilogue_notes): Likewise.
8818 * reorg.c (find_end_label): Likewise.
8819 * toplev.c: Likewise.
8820
8821 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8822
8823 * bb-reorder.c (HAVE_return): Don't check if its undefined.
8824 * defaults.h (gen_simple_return): New function.
8825 (gen_simple_return): Likewise.
8826 (HAVE_return): Add default definition to false.
8827 (HAVE_simple_return): Likewise.
8828 * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
8829 HAVE_return and HAVE_simple_return are defined.
8830 * function.c (gen_return_pattern): Likewise.
8831 (convert_jumps_to_returns): Likewise.
8832 (thread_prologue_and_epilogue_insns): Likewise.
8833 * reorg.c (find_end_label): Likewise.
8834 (dbr_schedule): Likewise.
8835 * shrink-wrap.c: Likewise.
8836 * shrink-wrap.h: Likewise.
8837
8838 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8839
8840 * defaults.h (EPILOGUE_USES): Add default definition of false.
8841 * df-scan.c (EPILOGUE_USES): Remove check if its undefined.
8842 * resource.c (init_resource_info): Likewise.
8843
8844 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8845
8846 * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
8847 to false.
8848 * dwarf2out.c (field_byte_offset): REmove check if
8849 PCC_BITFIELD_TYPE_MATTERS is defined.
8850 * stor-layout.c (layout_decl): Likewise.
8851 (update_alignment_for_field): Likewise.
8852 (place_field): Likewise.
8853
8854 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8855
8856 * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
8857 true.
8858 * regrename.c (check_new_reg_p): Remove check if
8859 HARD_REGNO_RENAME_OK is defined.
8860 * sel-sched.c (sel_hard_regno_rename_ok): Likewise.
8861
8862 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8863
8864 * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
8865 * cse.c (fold_rtx): Likewise.
8866 * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
8867 * config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
8868 * config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
8869 * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
8870 * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
8871 * config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
8872 * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
8873 * config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
8874 * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
8875 * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
8876 * Likewise.
8877 * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
8878 * config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
8879 * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
8880 * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
8881 * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
8882 * config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
8883 * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
8884 * config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
8885 * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
8886 * config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
8887 * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
8888 * config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
8889 * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
8890 * doc/tm.texi: Regenerate.
8891 * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
8892 either true or false.
8893
8894 2015-04-27 Jeff Law <law@redhat.com>
8895
8896 PR tree-optimization/65217
8897 * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
8898 of them has a single use, make sure it is the LHS of the implied
8899 copy.
8900
8901 2015-04-28 Alan Modra <amodra@gmail.com>
8902
8903 PR target/65810
8904 * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
8905 (offsettable_ok_by_alignment): Use minimum of decl and toc
8906 pointer alignment. Replace dead code with assertion.
8907 (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium
8908 case if size exceeds toc pointer alignment.
8909 (rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
8910 (rs6000_emit_move): Likewise.
8911 * configure.ac: Add linker toc pointer alignment check.
8912 * configure: Regenerate.
8913 * config.in: Regenerate.
8914
8915 2015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp>
8916
8917 * config.gcc: Add h8300-*-linux.
8918 * config/h8300/linux.h: New.
8919 * config/h8300/t-linux: New.
8920 * config/h8300/h8300.c (h8300_option_override): Normal mode
8921 is not supported for h8300-*-linux.
8922 (h8300_file_start): Target priority change.
8923 (get_shift_alg): Likewise.
8924 (h8300_shift_need_scratch_p): Likewise.
8925 * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
8926 * config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
8927
8928 2015-04-27 Caroline Tice <cmtice@google.com>
8929
8930 * final.c (final_scan_insn): Output cold_function_name as function
8931 type.
8932 * varasm.c (cold_function_name): Make global.
8933 (assemble_start_function): Re-set cold_function_name.
8934 (assemble_end_function): Output cold partition size.
8935 * varasm.h (cold_function_name): Declare global.
8936
8937 2015-04-27 Ilya Tocar <ilya.tocar@intel.com>
8938
8939 * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
8940 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
8941 constraint.
8942 (*movxi_internal_avx512f): Ditto.
8943 (define_split): Check for xmm16+, when splitting scalar float_extend.
8944 (*extendsfdf2_mixed): Use "v" constraint.
8945 (define_split): Check for xmm16+, when splitting scalar float_truncate.
8946 (*truncdfsf_fast_sse): Use "v" constraint.
8947 (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
8948 (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
8949 (define_peephole2): Check for xmm16+, when converting scalar
8950 float_truncate.
8951 (define_peephole2): Check for xmm16+, when converting scalar
8952 float_extend.
8953 (*fop_<mode>_comm_mixed): Use "v" constraint.
8954 (*fop_<mode>_comm_sse): Ditto.
8955 (*fop_<mode>_1_mixed): Ditto.
8956 (*sqrt<mode>2_sse): Ditto.
8957 (*ieee_s<ieee_maxmin><mode>3): Ditto.
8958
8959 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8960
8961 * combine.c (simplify_if_then_else): Use std::swap instead
8962 of manually swapping.
8963 (known_cond): Likewise.
8964 (simplify_comparison): Likewise.
8965
8966 2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
8967
8968 PR target/64579
8969 * config/rs6000/htm.md: Remove all define_expands.
8970 (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
8971 UNSPECV_HTM_TABORTWCI): Remove.
8972 (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
8973 (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
8974 trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
8975 (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
8976 (tabortdc_internal, tabortdci_internal, tabortwc_internal,
8977 tabortwci_internal): Remove define_insns.
8978 (tabort<wd>c, tabort<wd>ci): New define_insns.
8979 (tabort): Use gpc_reg_operand.
8980 (tcheck): Remove operand.
8981 (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
8982 * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
8983 expected value.
8984 * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
8985 (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
8986 (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
8987 tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
8988 tsr, ttest): Pass in the RS6000_BTC_CR attribute.
8989 (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
8990 get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
8991 (tcheck): Remove builtin argument.
8992 * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
8993 not TARGET_64BIT.
8994 (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
8995 tabortdc and tabortdci builtins when not in 64-bit mode.
8996 Modify code to handle the loss of the HTM define_expands.
8997 Emit code to copy the CR register to TARGET.
8998 (htm_init_builtins): Modify code to handle the loss of the HTM
8999 define_expands.
9000 * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
9001 (RS6000_BTC_64BIT): Likewise.
9002 (RS6000_BTC_CR): New macro.
9003 * doc/extend.texi: Update documentation for htm builtins.
9004
9005 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9006
9007 * simplify-rtx.c (simplify_gen_binary): Use std::swap instead
9008 of manually swapping.
9009 (simplify_associative_operation): Likewise.
9010 (simplify_binary_operation): Likewise.
9011 (simplify_plus_minus): Likewise.
9012 (simplify_relational_operation): Likewise.
9013 (simplify_ternary_operation): Likewise.
9014
9015 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
9016
9017 * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
9018 (xs_hi_nonmemory_operand): Remove error.
9019 * config/stormy16/stormy16.md (movhi, movhi_internal): Use
9020 general_operand rather than xs_hi_general_operand.
9021
9022 2015-04-27 Richard Biener <rguenther@suse.de>
9023
9024 * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
9025 (record_equivalences_from_stmt): Valueize rhs.
9026 (record_equality): Canonicalize x and y order via
9027 tree_swap_operands_p. Do not swap operands for same loop depth.
9028
9029 2015-04-27 Georg-Johann Lay <avr@gjlay.de>
9030
9031 PR target/65296
9032 PR target/65895
9033 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
9034 Add hint how to use own spec file.
9035
9036 2015-04-27 Jakub Jelinek <jakub@redhat.com>
9037
9038 PR tree-optimization/65875
9039 * tree-vrp.c (update_value_range): If in is_new case setting
9040 old_vr to VR_VARYING, also set new_vr to it. Remove
9041 old_vr->type == VR_VARYING test.
9042 (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
9043 SSA_PROP_INTERESTING if update_value_range returned true,
9044 but new range is VR_VARYING.
9045
9046 2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
9047
9048 * combine.c (sign_extend_short_imm): New.
9049 (set_nonzero_bits_and_sign_copies): Use above new function for sign
9050 extension of src short immediate.
9051 (reg_nonzero_bits_for_combine): Likewise for tem.
9052
9053 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
9054
9055 * stor-layout.c (self_referential_component_ref_p): New predicate.
9056 (copy_self_referential_tree_r): Use it.
9057 (self_referential_size): Punt for simple operations directly involving
9058 self-referential component references.
9059 * tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
9060
9061 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
9062
9063 * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
9064
9065 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
9066
9067 * vec.h (vec): Make splice arguments const. Update definitions
9068 accordingly.
9069
9070 2015-04-27 Yvan Roux <yvan.roux@linaro.org>
9071
9072 * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
9073 alternatives.
9074
9075 2015-04-26 Tom de Vries <tom@codesourcery.com>
9076
9077 PR tree-optimization/65826
9078 * internal-fn.def: Mark VA_ARG with ECF_LEAF.
9079
9080 2015-04-24 Steve Ellcey <sellcey@imgtec.com>
9081
9082 * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
9083 (*madd3<mode>): Ditto.
9084 (*msub4<mode>): Ditto.
9085 (*msub3<mode>): Ditto.
9086 (*nmadd4<mode>): Ditto.
9087 (*nmadd3<mode>): Ditto.
9088 (*nmadd4<mode>_fastmath): Ditto.
9089 (*nmadd3<mode>_fastmath): Ditto.
9090 (*nmsub4<mode>): Ditto.
9091 (*nmsub3<mode>): Ditto.
9092 (*nmsub4<mode>_fastmath): Ditto.
9093 (*nmsub3<mode>_fastmath): Ditto.
9094
9095 2015-04-24 Jason Merrill <jason@redhat.com>
9096
9097 PR c++/50800
9098 * tree.c (build_reference_type_for_mode): Don't pass can_alias_all
9099 down when building TYPE_CANONICAL.
9100 (build_pointer_type_for_mode): Likewise.
9101
9102 2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com>
9103
9104 * genrecog.c (validate_pattern): Check matching constraint refers
9105 to a lower numbered operand.
9106
9107 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
9108
9109 PR target/65849
9110 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
9111 save to independent variables use the Save attribute. This will
9112 allow these options to be modified with the #pragma/attribute
9113 target support.
9114 (-mallow-movmisalign): Likewise.
9115 (-mallow-df-permute): Likewise.
9116 (-msched-groups): Likewise.
9117 (-malways-hint): Likewise.
9118 (-malign-branch-targets): Likewise.
9119 (-mvectorize-builtins): Likewise.
9120 (-msave-toc-indirect): Likewise.
9121
9122 * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
9123 can be set via the #pragma/attribute target support.
9124 (rs6000_opt_vars): Likewise.
9125 (rs6000_inner_target_options): If VSX was set, also set
9126 -mno-avoid-indexed-addresses.
9127
9128 2015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9129
9130 * config/arm/iterators.md (shiftable_ops): Rename to...
9131 (SHIFTABLE_OPS): ... This. Update use in comments.
9132 (ior_xor): Rename to...
9133 (IOR_XOR): ... This.
9134 (vqh_ops): Rename to...
9135 (VQH_OPS): ... This.
9136 (vqhs_ops): Rename to...
9137 (VQHS_OPS): ... This.
9138 (rshifts): Rename to...
9139 (RSHIFTS): ... This.
9140 (returns): Rename to...
9141 (RETURNS): ... This.
9142 * config/arm/arm.md: Update uses of the above.
9143 * config/arm/neon.md: Likewise.
9144
9145 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9146
9147 * config.host (case ${host}): Add aarch64*-*-linux case.
9148 * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
9149 fields to all the cores.
9150 * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
9151 Add MCPU_MTUNE_NATIVE_SPECS.
9152 * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
9153 field to all extensions.
9154 * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
9155 * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
9156 Adjust definition of AARCH64_OPT_EXTENSION.
9157 * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
9158 (MCPU_MTUNE_NATIVE_SPECS): Define.
9159 * config/aarch64/driver-aarch64.c: New file.
9160 * config/aarch64/x-arch64: New file.
9161 * doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
9162 -mtune and -march.
9163
9164 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
9165 Wei Mi <wmi@google.com>
9166
9167 * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
9168 * config/i386/i386.c (extract_base_offset_in_addr): New function.
9169 (ix86_operands_ok_for_move_multiple): Ditto.
9170 * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
9171 (movlpd/movhpd to movupd peephole2): Ditto.
9172
9173 2015-04-24 Marek Polacek <polacek@redhat.com>
9174
9175 PR c/61534
9176 * input.h (from_macro_expansion_at): Define.
9177
9178 PR c/63357
9179 * doc/invoke.texi: Update description of -Wlogical-op.
9180
9181 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
9182
9183 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
9184 ternary operator in fprintf and harmonize spacing.
9185
9186 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
9187
9188 * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
9189 Mark operand1 commutative.
9190
9191 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
9192
9193 * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
9194 input operands in memory.
9195 (*vec_concatv2si_sse4_1): Ditto.
9196 (*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
9197 (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
9198 register_operand.
9199 (vec_extract_hi_v32hi): Ditto.
9200 (vec_extract_hi_v64hi): Ditto.
9201 (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
9202
9203 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
9204 Steven Bosscher <steven@gcc.gnu.org>
9205
9206 PR rtl-optimization/34503
9207 * cprop.c (cprop_reg_p): New.
9208 (hash_scan_set): Use above function to check if register can be
9209 propagated.
9210 (find_avail_set): Return up to two sets, one whose source is a
9211 register and one whose source is a constant. Sets are returned in an
9212 array passed as parameter rather than as a return value.
9213 (cprop_insn): Use a do while loop rather than a goto. Try each of the
9214 sets returned by find_avail_set, starting with the one whose source is
9215 a constant. Use cprop_reg_p to check if register can be propagated.
9216 (do_local_cprop): Use cprop_reg_p to check if register can be
9217 propagated.
9218 (implicit_set_cond_p): Likewise.
9219
9220 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
9221
9222 * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
9223 (sem_function::equals): IGNORED_NODES parameter is now unused;
9224 update call of equals_private.
9225 (sem_function::equals_private): Do not call equals_wpa; skip
9226 gimple body matching if there is no body.
9227 (sem_function::init): Add logic to hash tthunk info.
9228 (sem_function::parse): Also parse thunks.
9229 * ipa-icf.h (equals_private): Update declaration.
9230
9231 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9232
9233 * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
9234 asterisk from name so this can be generated directly.
9235 (*altivec_stvx_<mode>_internal): Likewise.
9236 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
9237 that this is never called during or after reload/lra.
9238 (rs6000_frame_related): Remove split_reg
9239 argument and logic that references it.
9240 (emit_frame_save): Remove last parameter from call to
9241 rs6000_frame_related.
9242 (rs6000_emit_prologue): Remove last parameter from eight calls to
9243 rs6000_frame_related. Force generation of stvx instruction for
9244 Altivec register saves. Remove split_reg handling, which is no
9245 longer needed.
9246 (rs6000_emit_epilogue): Force generation of lvx instruction for
9247 Altivec register restores.
9248
9249 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9250
9251 * config/rs6000/rs6000.opt (mcrypto): Change option description to
9252 match category changes in ISA 2.07B.
9253
9254 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9255
9256 * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
9257 iterators.
9258 (cmp_op, cmp_type): New code attributes.
9259 (NEON_VCMP, NEON_VACMP): New int iterators.
9260 (cmp_op_unsp): New int attribute.
9261 * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
9262 (neon_vceq<mode>): Delete.
9263 (neon_vc<cmp_op><mode>_insn): New pattern.
9264 (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
9265 (neon_vcgeu<mode>): Delete.
9266 (neon_vcle<mode>): Likewise.
9267 (neon_vclt<mode>: Likewise.
9268 (neon_vcage<mode>): Likewise.
9269 (neon_vcagt<mode>): Likewise.
9270 (neon_vca<cmp_op><mode>): New define_expand.
9271 (neon_vca<cmp_op><mode>_insn): New pattern.
9272 (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
9273
9274 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
9275
9276 * tree.h (attribute_value_equal): Declare.
9277 * tree.c (attribute_value_equal): Export.
9278
9279 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
9280
9281 * ipa-icf.c (sem_item::compare_attributes): New function.
9282 (sem_item::compare_referenced_symbol_properties): Compare variable
9283 attributes.
9284 (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
9285 (sem_function::param_used_p): New function.
9286 (sem_function::equals_wpa): Fix attribute comparsion; match
9287 parameter type codes; do not compare paremter flags when
9288 they are not used; compare edge flags; compare indirect calls.
9289 (sem_item::update_hash_by_addr_refs): Hash reference type.
9290 (sem_function::equals_private): Do not match DECL_ATTRIBUTES.
9291 (sem_variable::equals_wpa): Do not match DECL_ALIGN; match
9292 reference use type.
9293 (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
9294 * ipa-icf.h (compare_attributes, param_used_p): Declare.
9295
9296 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
9297
9298 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
9299 cleanup.
9300 (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
9301 DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
9302 (sem_item::compare_referenced_symbol_properties): New.
9303 (sem_item::hash_referenced_symbol_properties): New.
9304 (sem_item::compare_cgraph_references): Rename to ...
9305 (sem_item::compare_symbol_references): ... this one; use
9306 compare_referenced_symbol_properties.
9307 (sem_function::equals_wpa): Do not compare
9308 DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
9309 DECL_IS_OPERATOR_NEW; compare pointer sizes.
9310 (sem_item::update_hash_by_addr_refs): Call
9311 hash_referenced_symbol_properties.
9312 (sem_item::update_hash_by_local_refs): Cleanup.
9313 (sem_function::merge): Do not mix up symbol properties.
9314 (sem_variable::equals_wpa): Use compare_symbol_references.
9315 * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
9316 (sem_item::hash_referenced_symbol_properties): New.
9317 (sem_item::compare_symbol_references): New.
9318 (sem_item::compare_cgraph_references): Remove.
9319
9320 2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
9321
9322 PR target/26702
9323 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
9324 Emit size of local.
9325
9326 2015-04-23 Nick Clifton <nickc@redhat.com>
9327
9328 * config/rl78/rl78.c (rl78_preferred_reload_class): Add
9329 ATTRIBUTE_UNUSED to x parameter.
9330 * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
9331
9332 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9333
9334 * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
9335 TARGET_CRYPTO to TARGET_P8_VECTOR>
9336 (crypto_vpermxor_<mode>): Likewise.
9337 * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
9338 (BU_CRYPTO_3A): Likewise.
9339 (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
9340 (BU_CRYPTO_OVERLOAD_3A): New #define.
9341 (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
9342 (VPMSUMH): Likewise.
9343 (VPMSUMW): Likewise.
9344 (VPMSUMD): Likewise.
9345 (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
9346 (VPERMXOR_V4SI): Likewise.
9347 (VPERMXOR_V8HI): Likewise.
9348 (VPERMXOR_V16QI): Likewise.
9349 (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
9350 BU_CRYPTO_OVERLOAD_2A.
9351 (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
9352 BU_CRYPTO_OVERLOAD_3A.
9353 * config/rs6000/rs6000.opt (mcrypto): Change description of
9354 option.
9355
9356 2015-04-23 Richard Biener <rguenther@suse.de>
9357
9358 * passes.def: Remove copy propagation passes run directly after CCP.
9359 * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
9360 SSA names.
9361 (ccp_visit_phi_node): Rework to handle first executable edge
9362 specially.
9363
9364 2015-04-23 Matthew Wahab <matthew.wahab@arm.com>
9365
9366 * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
9367 (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
9368 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
9369 * config/arm/arm.c (arm_legimitimize_reload_address): Remove.
9370 (thumb_legimitimize_reload_address): Remove.
9371 * config/arm/arm-protos.h (arm_legimitimize_reload_address):
9372 Remove.
9373 (thumb_legimitimize_reload_address): Remove.
9374
9375 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9376
9377 * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
9378
9379 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9380
9381 * config/arm/arm.md (load_multiple): Reject operand 2 greater than
9382 MAX_LDM_STM_OPS.
9383 (store_multiple): Likewise.
9384
9385 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9386
9387 * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
9388 * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
9389 arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
9390 arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
9391 arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
9392 arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
9393 arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
9394 Specify issue_rate value.
9395 (arm_issue_rate): Look up issue rate from tuning structs. Remove
9396 large switch statement.
9397 (arm_marvell_pj4_tune): New struct.
9398 * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
9399 struct.
9400
9401 2015-04-23 Richard Biener <rguenther@suse.de>
9402
9403 * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
9404 (vect_find_last_store_in_slp_instance): Rename to ...
9405 (vect_find_last_scalar_stmt_in_slp): ... this and generalize.
9406 (vect_analyze_slp_cost_1): Use vector_load for constant defs
9407 and vec_construct for external defs when estimating prologue cost.
9408 (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
9409 Compute costs here only when vectorizing loops.
9410 (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
9411 have been determined.
9412 (vect_schedule_slp_instance): Simplify vectorized code placement
9413 and prepare for in-BB external defs.
9414 * tree-vectorizer.h (struct _slp_instance): Remove first_load member.
9415 (SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
9416 * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
9417 guard.
9418 (vect_model_load_cost): Likewise.
9419 (vectorizable_store): Instead add it here.
9420 (vectorizable_load): Likewise.
9421 (vect_is_simple_use): Dump def type textually.
9422
9423 2015-04-23 Richard Biener <rguenther@suse.de>
9424
9425 * cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
9426 * cfgloop.c (verify_loop_structure): Verify the root loop node.
9427 * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
9428 instead of get_eh_region_from_lp_number.
9429 * loop-init.c (fix_loop_structure): If we removed a loop, reset
9430 the SCEV cache.
9431
9432 2015-04-23 Anton Blanchard <anton@samba.org>
9433
9434 * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
9435 need for -mprofile-kernel to save LR to stack.
9436
9437 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9438
9439 * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
9440 adjustments.
9441 (insn_is_swappable_p): Return 1 for a convert from double to
9442 single precision when all of its uses are splats of BE element
9443 zero.
9444
9445 2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
9446
9447 * ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
9448
9449 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9450
9451 PR target/65456
9452 * config/rs6000/rs6000.c (rs6000_option_override_internal): For
9453 VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
9454 TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
9455 option.
9456 (rs6000_builtin_mask_for_load): Return 0 for targets with
9457 efficient unaligned VSX accesses so that the vectorizer will use
9458 direct unaligned loads.
9459 (rs6000_builtin_support_vector_misalignment): Always return true
9460 for targets with efficient unaligned VSX accesses.
9461 (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
9462 stores on targets with efficient unaligned VSX accesses is almost
9463 always the same as the cost of an aligned load or store, so model
9464 it that way.
9465 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
9466 unaligned vectors if we have efficient unaligned VSX accesses.
9467 * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
9468 undocumented option.
9469
9470 2015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9471
9472 Revert:
9473 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
9474
9475 * config.gcc (LIBC_MUSL): New tm_defines macro.
9476 * config/linux.h (OPTION_MUSL): Define.
9477 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
9478 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
9479 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
9480
9481 * config/linux.opt (mmusl): New option.
9482 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
9483 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
9484
9485 * configure: Regenerate.
9486
9487 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
9488
9489 * config.gcc (LIBC_MUSL): New tm_defines macro.
9490 * config/linux.h (OPTION_MUSL): Define.
9491 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
9492 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
9493 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
9494
9495 * config/linux.opt (mmusl): New option.
9496 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
9497 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
9498
9499 * configure: Regenerate.
9500
9501 2015-04-22 Yury Gribov <y.gribov@samsung.com>
9502
9503 * doc/invoke.texi (-fsanitize-sections): Update description.
9504 * asan.c (set_sanitized_sections): Parse incoming arg.
9505 (section_sanitized_p): Support wildcards.
9506
9507 2015-04-22 Tom de Vries <tom@codesourcery.com>
9508
9509 PR tree-optimization/65823
9510 * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
9511 equality between ap_copy and ap.
9512
9513 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9514
9515 PR target/47098
9516 * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
9517
9518 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9519
9520 PR target/47122
9521 * config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
9522
9523 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9524
9525 PR target/55144
9526 * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
9527 remove already contained t-files.
9528
9529 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9530
9531 * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
9532 Remove unneeded forward declarations.
9533 (suitable_for_tail_call_opt_p): Commentary typo fix.
9534
9535 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9536
9537 * varasm.c (emit_bss): Remove redundant guard.
9538
9539 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9540
9541 * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
9542
9543 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9544
9545 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
9546
9547 2015-04-22 Hale Wang <hale.wang@arm.com>
9548 Terry Guo <terry.guo@arm.com>
9549
9550 PR rtl-optimization/64818
9551 * combine.c (can_combine_p): Don't combine user-specified
9552 register if it is in an asm input.
9553
9554 2015-04-21 Jan Hubicka <hubicka@ucw.cz>
9555
9556 PR ipa/65076
9557 * passes.def (early_optimizations): Add pass_dse.
9558
9559 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9560
9561 * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
9562 * reorg.c (redundant_insn): Remove ifdef
9563 INSN_REFERENCES_ARE_DELAYED.
9564 * resource.c (mark_referenced_resources): Likewise.
9565
9566 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9567
9568 * defaults.h (INSN_SETS_ARE_DELAYED): New definition.
9569 * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
9570 * resource.c (mark_set_resources): Likewise.
9571
9572 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9573
9574 * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
9575 * cfgcleanup.c (flow_find_cross_jump): Likewise.
9576 (flow_find_head_matching_sequence): Likewise.
9577 (try_head_merge_bb): Likewise.
9578 * combine.c (can_combine_p): Likewise.
9579 (try_combine): Likewise.
9580 (distribute_notes): Likewise.
9581 * df-problems.c (can_move_insns_across): Likewise.
9582 * final.c (final): Likewise.
9583 * gcse.c (insert_insn_end_basic_block): Likewise.
9584 * ira.c (find_moveable_pseudos): Likewise.
9585 * reorg.c (try_merge_delay_insns): Likewise.
9586 (fill_simple_delay_slots): Likewise.
9587 (fill_slots_from_thread): Likewise.
9588 * sched-deps.c (sched_analyze_2): Likewise.
9589
9590 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9591
9592 * df-scan.c (df_get_entry_block_def_set): Remove #ifdef
9593 PIC_OFFSET_TABLE_REGNUM.
9594
9595 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9596
9597 * alias.c (init_alias_target): Remove ifdef
9598 * HARD_FRAME_POINTER_IS_FRAME_POINTER.
9599 * df-scan.c (df_insn_refs_collect): Likewise.
9600 (df_get_regular_block_artificial_uses): Likewise.
9601 (df_get_eh_block_artificial_uses): Likewise.
9602 (df_get_entry_block_def_set): Likewise.
9603 (df_get_exit_block_use_set): Likewise.
9604 * emit-rtl.c (gen_rtx_REG): Likewise.
9605 * ira.c (ira_setup_eliminable_regset): Likewise.
9606 * reginfo.c (init_reg_sets_1): Likewise.
9607 * regrename.c (rename_chains): Likewise.
9608 * reload1.c (reload): Likewise.
9609 (eliminate_regs_in_insn): Likewise.
9610 * resource.c (mark_referenced_resources): Likewise.
9611 (init_resource_info): Likewise.
9612
9613 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9614
9615 * defaults.h (MASK_RETURN_ADDR): New definition.
9616 * except.c (expand_builtin_extract_return_addr): Remove ifdef
9617 MASK_RETURN_ADDR.
9618
9619 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9620
9621 * defaults.h (RETURN_ADDR_OFFSET): New definition.
9622 * except.c (expand_builtin_extract_return_addr): Remove ifdef
9623 RETURN_ADDR_OFFSET.
9624 (expand_builtin_frob_return_addr): Likewise.
9625
9626 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9627
9628 * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
9629 (try_redirect_by_replacing_jump): Likewise.
9630 (rtl_tidy_fallthru_edge): Likewise.
9631 * combine.c (insn_a_feeds_b): Likewise.
9632 (find_split_point): Likewise.
9633 (simplify_set): Likewise.
9634 * cprop.c (cprop_jump): Likewise.
9635 * cse.c (cse_extended_basic_block): Likewise.
9636 * df-problems.c (can_move_insns_across): Likewise.
9637 * function.c (emit_use_return_register_into_block): Likewise.
9638 * haifa-sched.c (sched_init): Likewise.
9639 * ira.c (find_moveable_pseudos): Likewise.
9640 * loop-invariant.c (find_invariant_insn): Likewise.
9641 * lra-constraints.c (curr_insn_transform): Likewise.
9642 * postreload.c (reload_combine_recognize_const_pattern):
9643 * Likewise.
9644 * reload.c (find_reloads): Likewise.
9645 * reorg.c (delete_scheduled_jump): Likewise.
9646 (steal_delay_list_from_target): Likewise.
9647 (steal_delay_list_from_fallthrough): Likewise.
9648 (redundant_insn): Likewise.
9649 (fill_simple_delay_slots): Likewise.
9650 (fill_slots_from_thread): Likewise.
9651 (delete_computation): Likewise.
9652 * sched-rgn.c (add_branch_dependences): Likewise.
9653
9654 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9655
9656 * genconfig.c (main): Always define HAVE_cc0.
9657 * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
9658 HAVE_cc0.
9659 * cfgcleanup.c (flow_find_cross_jump): Likewise.
9660 (flow_find_head_matching_sequence): Likewise.
9661 (try_head_merge_bb): Likewise.
9662 * cfgrtl.c (rtl_merge_blocks): Likewise.
9663 (try_redirect_by_replacing_jump): Likewise.
9664 (rtl_tidy_fallthru_edge): Likewise.
9665 * combine.c (do_SUBST_MODE): Likewise.
9666 (insn_a_feeds_b): Likewise.
9667 (combine_instructions): Likewise.
9668 (can_combine_p): Likewise.
9669 (try_combine): Likewise.
9670 (find_split_point): Likewise.
9671 (subst): Likewise.
9672 (simplify_set): Likewise.
9673 (distribute_notes): Likewise.
9674 * cprop.c (cprop_jump): Likewise.
9675 * cse.c (cse_extended_basic_block): Likewise.
9676 * df-problems.c (can_move_insns_across): Likewise.
9677 * final.c (final): Likewise.
9678 (final_scan_insn): Likewise.
9679 * function.c (emit_use_return_register_into_block): Likewise.
9680 * gcse.c (insert_insn_end_basic_block): Likewise.
9681 * haifa-sched.c (sched_init): Likewise.
9682 * ira.c (find_moveable_pseudos): Likewise.
9683 * loop-invariant.c (find_invariant_insn): Likewise.
9684 * lra-constraints.c (curr_insn_transform): Likewise.
9685 * optabs.c (prepare_cmp_insn): Likewise.
9686 * postreload.c (reload_combine_recognize_const_pattern):
9687 * Likewise.
9688 * reload.c (find_reloads): Likewise.
9689 (find_reloads_address_1): Likewise.
9690 * reorg.c (delete_scheduled_jump): Likewise.
9691 (steal_delay_list_from_target): Likewise.
9692 (steal_delay_list_from_fallthrough): Likewise.
9693 (try_merge_delay_insns): Likewise.
9694 (redundant_insn): Likewise.
9695 (fill_simple_delay_slots): Likewise.
9696 (fill_slots_from_thread): Likewise.
9697 (delete_computation): Likewise.
9698 (relax_delay_slots): Likewise.
9699 * sched-deps.c (sched_analyze_2): Likewise.
9700 * sched-rgn.c (add_branch_dependences): Likewise.
9701
9702 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9703
9704 * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
9705 that is trivially ded on non cc0 targets.
9706 (simplify_set): Likewise.
9707 (mark_used_regs_combine): Likewise.
9708 * cse.c (new_basic_block): Likewise.
9709 (fold_rtx): Likewise.
9710 (cse_insn): Likewise.
9711 (cse_extended_basic_block): Likewise.
9712 (set_live_p): Likewise.
9713 * rtlanal.c (canonicalize_condition): Likewise.
9714 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
9715
9716 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9717
9718 * conditions.h: Define macros even if HAVE_cc0 is undefined.
9719 * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
9720 * final.c: Likewise.
9721 * jump.c: Likewise.
9722 * recog.c: Likewise.
9723 * recog.h: Declare functions even when HAVE_cc0 is undefined.
9724 * sched-deps.c (sched_analyze_2): Always compile case for cc0.
9725
9726 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9727
9728 * defaults.h: New definition of EH_RETURN_DATA_REGNO.
9729 * except.c: Remove definition of EH_RETURN_DATA_REGNO.
9730 * builtins.c (expand_builtin): Remove check if
9731 EH_RETURN_DATA_REGNO is defined.
9732 * df-scan.c (df_bb_refs_collect): Likewise.
9733 (df_get_exit_block_use_set): Likewise.
9734 * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
9735 * ira-lives.c (process_bb_node_lives): Likewise.
9736 * lra-lives.c (process_bb_lives): Likewise.
9737
9738 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
9739
9740 * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
9741 FIRST_PSEUDO_REG): New.
9742 * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
9743 (ARG_POINTER_REGNUM): Define to ARGP_REG.
9744 (FRAME_POINTER_REGNUM): Define to FRAME_REG.
9745 (HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
9746 (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
9747 (FIRST_INT_REG): New.
9748 (LAST_INT_REG): New.
9749 (FIRST_*_REG): Define using *_REG.
9750 (LAST_*_REG): Ditto.
9751 (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
9752 (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
9753 (FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
9754
9755 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9756
9757 * expmed.c: (synth_mult): Only assume overlapping
9758 shift with previous steps in alg_sub_t_m2 case.
9759
9760 2015-04-21 Richard Biener <rguenther@suse.de>
9761
9762 PR tree-optimization/65650
9763 * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
9764 transitions involving copies.
9765 (set_lattice_value): Adjust for copy lattice state.
9766 (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
9767 if that doesn't dominate the merge point.
9768 (bit_value_unop): Adjust what we treat as varying mask.
9769 (bit_value_binop): Likewise.
9770 (bit_value_assume_aligned): Likewise.
9771 (evaluate_stmt): When we simplified to a SSA name record a copy
9772 instead of dropping to varying.
9773 (visit_assignment): Simplify.
9774
9775 * gimple-match.h (gimple_simplify): Add another callback.
9776 * gimple-fold.c (fold_stmt_1): Adjust caller.
9777 (gimple_fold_stmt_to_constant_1): Likewise - pass valueize
9778 for the 2nd callback.
9779 * gimple-match-head.c (gimple_simplify): Add a callback that is
9780 used to valueize the stmt operands and use it that way.
9781
9782 2015-04-21 Richard Biener <rguenther@suse.de>
9783
9784 PR tree-optimization/65788
9785 * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
9786
9787 2015-04-21 Richard Biener <rguenther@suse.de>
9788
9789 * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
9790 vec_construct cost by vec_stmt_cost.
9791
9792 2015-04-21 Richard Biener <rguenther@suse.de>
9793
9794 * cfghooks.h (create_basic_block): Replace with two overloads
9795 for RTL and GIMPLE.
9796 (split_block): Likewise.
9797 * cfghooks.c (split_block): Rename to ...
9798 (split_block_1): ... this.
9799 (split_block): Add two type-safe overloads for RTL and GIMPLE.
9800 (split_block_after_labels): Call split_block_1.
9801 (create_basic_block): Rename to ...
9802 (create_basic_block_1): ... this.
9803 (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
9804 (create_empty_bb): Call create_basic_block_1.
9805 * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
9806 split_block_after_labels.
9807 * omp-low.c (expand_parallel_call): Likewise.
9808 (expand_omp_target): Likewise.
9809 (simd_clone_adjust): Likewise.
9810 * tree-chkp.c (chkp_get_entry_block): Likewise.
9811 * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
9812 create_basic_block overload.
9813 (cgraph_node::expand_thunk): Likewise.
9814 * tree-cfg.c (make_blocks): Likewise.
9815 (handle_abnormal_edges): Likewise.
9816 * tree-inline.c (copy_bb): Likewise.
9817
9818 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9819
9820 * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
9821 New pattern.
9822 (*xor_one_cmplsidi3_ze): Likewise.
9823
9824 2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
9825
9826 * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
9827 use df_remove_problem rather than manually removing problems, leaving
9828 holes in df->problems_in_order[].
9829
9830 2015-04-21 Tom de Vries <tom@codesourcery.com>
9831
9832 PR tree-optimization/65802
9833 * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
9834
9835 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9836
9837 * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
9838 Increase to 128.
9839 (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
9840 at '.'. Assert that there's enough space for everything.
9841
9842 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
9843
9844 PR tree-optimization/64950
9845 Revert:
9846 2010-08-02 Uros Bizjak <ubizjak@gmail.com>
9847
9848 PR target/41089
9849 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
9850 as volatile.
9851
9852 2015-04-20 Shiva Chen <shiva0217@gmail.com>
9853
9854 PR rtl-optimization/64916
9855 * cfgcleanup.c (values_equal_p): New function.
9856 (can_replace_by): Use it.
9857
9858 2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
9859
9860 PR c++/65801
9861 * doc/invoke.texi ([-Wnarrowing]): Update.
9862
9863 2015-04-20 Jeff Law <law@redhat.com>
9864
9865 PR tree-optimization/65658
9866 * tree-ssa-threadupdate.c (redirection_block_p): Remove
9867 redundant test for GIMPLE_ASSIGN in last change.
9868
9869 2015-04-20 Uros Bizjak <ubizjak@gmail.com>
9870
9871 * config/i386/i386.c (set_pic_reg_ever_live): Remove.
9872 (legitimize_pic_address): Do not call set_pic_reg_ever_live.
9873 (legitimize_tls_address): Ditto.
9874 (ix86_expand_move): Ditto.
9875 (ix86_expand_binary_operator): Remove reload_in_progress checks.
9876 (ix86_expand_unary_operator): Ditto.
9877 * config/i386/predicates.md (index_register_operand): Ditto.
9878
9879 2015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com>
9880
9881 * reorg.c (try_merge_delay_insns): Improve correctness checking
9882 for targets with multiple delay slots.
9883
9884 2015-04-20 Jeff Law <law@redhat.com>
9885
9886 PR tree-optimization/65658
9887 * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
9888 statements too.
9889
9890 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
9891
9892 * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
9893 * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
9894 Delete.
9895
9896 2015-04-20 Jakub Jelinek <jakub@redhat.com>
9897
9898 PR debug/65807
9899 * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
9900
9901 2015-04-20 Richard Biener <rguenther@suse.de>
9902
9903 * gimple-fold.h (gimple_build): Remove optional valueize arguments.
9904 * gimple-fold.c (gimple_build_valueize): New function.
9905 (gimple_build): Always use gimple_build_valueize as valueize hook.
9906
9907 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
9908
9909 PR target/64134
9910 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
9911 and overwrite variable parts if <= 1/2 the elements are variable.
9912
9913 2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
9914
9915 PR rtl-optimization/65805
9916 * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
9917 Don't use difference of offset and previous offset if
9918 update_sp_offset is non-zero.
9919 (eliminate_regs_in_insn): Ditto.
9920 * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
9921 lra_eliminate_regs_1 call.
9922 * lra-constraints.c (get_equiv_with_elimination): Ditto.
9923
9924 2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
9925
9926 * hash-table.h: Remove version of hash_table that stored value_type *.
9927 * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
9928 config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
9929 config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
9930 dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
9931 gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
9932 hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
9933 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
9934 loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
9935 reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
9936 tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
9937 tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
9938 tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
9939 tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
9940 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
9941 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
9942 valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
9943
9944 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9945 Jakub Jelinek <jakub@redhat.com>
9946
9947 PR target/65787
9948 * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
9949 subsequent SH_NONE operand does not overwrite an existing *special
9950 value.
9951 (adjust_extract): Handle case where a vec_extract operation is
9952 wrapped in a PARALLEL.
9953
9954 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
9955
9956 PR target/65780
9957 * config/i386/i386.c (ix86_binds_local_p): Define only if
9958 TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
9959
9960 2015-04-17 Jeff Law <law@redhat.com>
9961
9962 PR tree-optimization/47679
9963 * Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
9964 * tree-ssa-scopedtables.c: New file.
9965 * tree-ssa-scopedtables.h: New file.
9966 * tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
9967 (const_and_copies): Change name/type.
9968 (record_const_or_copy): Move into tree-ssa-scopedtables.c
9969 (record_const_or_copy_1): Similarly.
9970 (restore_vars_to_original_value): Similarly.
9971 (pass_dominator::execute): Create and destroy const_and_copies table.
9972 (thread_across_edge): Update passing of const_and_copies.
9973 (record_temporary_equivalence): Use method calls rather than
9974 manipulating const_and_copies directly.
9975 (record_equality, cprop_into_successor_phis): Similarly.
9976 (dom_opt_dom_walker::before_dom_children): Similarly.
9977 (dom_opt_dom_walker::after_dom_children): Similarly.
9978 (eliminate_redundant_computations): Similarly.
9979 * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
9980 (record_temporary_equivalence): Likewise.
9981 (invalidate_equivalences): Likewise.
9982 (record_temporary_equivalences_from_phis): Update due to type
9983 change of const_and_copies. Use method calls rather than
9984 manipulating the stack directly.
9985 (record_temporary_equivalences_from_stmts_at_dest): Likewise.
9986 (thread_through_normal_block, thread_across_edge): Likewise.
9987 (thread_across_edge): Likewise.
9988 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
9989 * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type
9990 of equiv_stack.
9991 (identify_jump_threads): Update due to type change of equiv_stack.
9992 (finalize_jump_threads): Delete the equiv_stack when complete.
9993
9994 2015-04-17 Uros Bizjak <ubizjak@gmail.com>
9995
9996 * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
9997 * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
9998 * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
9999
10000 2015-04-17 Andreas Tobler <andreast@gcc.gnu.org>
10001
10002 PR target/65535
10003 * config.gcc: Exit with a comment when we do not have a major version
10004 number for the FreeBSD target.
10005
10006 2015-04-17 Jakub Jelinek <jakub@redhat.com>
10007
10008 PR target/65689
10009 * genpreds.c (struct constraint_data): Add maybe_allows_reg and
10010 maybe_allows_mem bitfields.
10011 (maybe_allows_none_start, maybe_allows_none_end,
10012 maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
10013 maybe_allows_mem_end): New variables.
10014 (compute_maybe_allows): New function.
10015 (add_constraint): Use it to initialize maybe_allows_reg and
10016 maybe_allows_mem fields.
10017 (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
10018 is_address constraints such that those that allow neither mem nor
10019 reg come first, then those that only allow reg but not mem, then
10020 those that only allow mem but not reg, then the rest.
10021 (write_allows_reg_mem_function): New function.
10022 (write_tm_preds_h): Call it.
10023 * stmt.c (parse_output_constraint, parse_input_constraint): Use
10024 the generated insn_extra_constraint_allows_reg_mem function
10025 instead of always setting *allows_reg = true; *allows_mem = true;
10026 for unknown extra constraints.
10027
10028 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
10029
10030 PR target/65780
10031 * output.h (default_binds_local_p_3): New.
10032 * varasm.c (default_binds_local_p_3): Make it public. Take an
10033 argument to indicate if common symbol may be local. If common
10034 symbol may be local, treat non-external variable as defined
10035 locally.
10036 (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
10037 (default_binds_local_p_1): Pass false to default_binds_local_p_3.
10038 * config/i386/i386.c (ix86_binds_local_p): New.
10039 (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
10040 ix86_binds_local_p.
10041
10042 2015-04-17 Jakub Jelinek <jakub@redhat.com>
10043
10044 PR debug/65771
10045 * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
10046 trying mem_loc_descriptor on XEXP (rtl, 0).
10047
10048 2015-04-17 Martin Liska <mliska@suse.cz>
10049
10050 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
10051 Release symbol_compare_collection.
10052 * ipa-reference.c: Add TODO that a vector should be released.
10053
10054 2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
10055
10056 PR target/65296
10057 * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
10058 to new AVR-LibC file layout (bug #44574).
10059 (*avrlibc_devicelib): Same.
10060 * config/avr/avr-mcus.def: Adjust comments.
10061 * config/avr/avr.opt (nodevicelib): Adjust help.
10062
10063 2015-04-17 Alan Lawrence <alan.lawrence@arm.com>
10064
10065 * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
10066
10067 2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
10068
10069 PR c++/64527
10070 * gimplify.c (gimplify_init_constructor): Always emit a
10071 side-effecting constructor.
10072
10073 2015-04-17 Tom de Vries <tom@codesourcery.com>
10074
10075 PR tree-optimization/64950
10076 * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
10077 in cfun->curr_properties.
10078 (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
10079 if we generate an IFN_VA_ARG.
10080 * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
10081 function if PROP_gimple_lva is not set in src function.
10082
10083 2015-04-17 Tom de Vries <tom@codesourcery.com>
10084 Michael Matz <matz@suse.de>
10085
10086 PR tree-optimization/64950
10087 * gimple-iterator.c (update_modified_stmts): Remove static.
10088 * gimple-iterator.h (update_modified_stmts): Declare.
10089 * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
10090 (gimplify_va_arg_internal): New function.
10091 (gimplify_va_arg_expr): Use IFN_VA_ARG.
10092 * gimplify.h (gimplify_va_arg_internal): Declare.
10093 * internal-fn.c (expand_VA_ARG): New unreachable function.
10094 * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
10095 * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
10096 (expand_ifn_va_arg): New function.
10097 (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
10098 (pass_stdarg::execute): Call expand_ifn_va_arg.
10099 (pass_data_lower_vaarg): New pass_data.
10100 (pass_lower_vaarg): New gimple_opt_pass.
10101 (pass_lower_vaarg::gate, pass_lower_vaarg::execute)
10102 (make_pass_lower_vaarg): New function.
10103 * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
10104 properties_required field.
10105 * passes.def (all_passes): Add pass_lower_vaarg.
10106 * tree-pass.h (PROP_gimple_lva): Add define.
10107 (make_pass_lower_vaarg): Declare.
10108
10109 2015-04-17 Tom de Vries <tom@codesourcery.com>
10110
10111 * fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
10112 * calls.c (call_expr_flags): Same.
10113
10114 2015-04-17 Tom de Vries <tom@codesourcery.com>
10115
10116 * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
10117 (pass_stdarg::execute): ... here.
10118
10119 2015-04-17 Tom de Vries <tom@codesourcery.com>
10120 Michael Matz <matz@suse.de>
10121
10122 * tree-cfg.c (make_blocks_1): Factor out of ...
10123 (make_blocks): ... here.
10124 (make_edges_bb): Factor out of ...
10125 (make_edges): ... here.
10126 (gimple_find_sub_bbs): New function.
10127 * tree-cfg.h (gimple_find_sub_bbs): Declare.
10128
10129 2015-04-17 Tom de Vries <tom@codesourcery.com>
10130
10131 * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
10132
10133 2015-04-17 Yury Gribov <y.gribov@samsung.com>
10134
10135 * asan.c (set_sanitized_sections): New function.
10136 (section_sanitized_p): Ditto.
10137 (asan_protect_global): Optionally sanitize user-defined
10138 sections.
10139 * asan.h (set_sanitized_sections): Declare new function.
10140 * common.opt (fsanitize-sections): New option.
10141 * doc/invoke.texi (-fsanitize-sections): Document new option.
10142 * opts-global.c (handle_common_deferred_options): Handle new
10143 option.
10144
10145 2015-04-17 Jakub Jelinek <jakub@redhat.com>
10146
10147 PR debug/65771
10148 * dwarf2out.c (loc_list_from_tree): Return NULL
10149 for DEBUG_EXPR_DECL.
10150
10151 2015-04-17 Christian Bruel <christian.bruel@st.com>
10152
10153 * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
10154 same attributes.
10155
10156 2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
10157
10158 * ira-color.c (setup_left_conflict_sizes_p): Do not process
10159 node itself when computing left conflict subnode size.
10160
10161 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
10162
10163 * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
10164 * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
10165 *fop_<mode>_1_sse using enabled attribute. Use
10166 register_mixssei387nonimm_operand operand 1 predicate. Change
10167 alternative 3 constraints from "x" to "v".
10168
10169 2015-04-16 Richard Biener <rguenther@suse.de>
10170
10171 PR tree-optimization/65774
10172 * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
10173 bit-value tracking on.
10174
10175 2015-04-16 Richard Biener <rguenther@suse.de>
10176
10177 PR tree-optimization/64277
10178 * tree-vrp.c (check_array_ref): Fix anti-range handling,
10179 simplify upper bound handling.
10180 (search_for_addr_array): Simplify.
10181 (check_array_bounds): Handle ADDR_EXPRs here.
10182 (check_all_array_refs): Simplify.
10183
10184 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
10185
10186 * config/i386/i386.c (print_reg): Rewrite function.
10187
10188 2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10189
10190 * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
10191 Invert the condition.
10192
10193 2015-04-16 Renlin Li <renlin.li@arm.com>
10194
10195 * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
10196 simplifications for UNSIGNED_FLOAT.
10197
10198 2015-04-16 Nick Clifton <nickc@redhat.com>
10199
10200 * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
10201 MUL_UNINIT.
10202 (enum rl78_cpu_type): New.
10203 * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
10204 (umulhi3_shift_virt): Remove m constraint from operand 1.
10205 (umulqihi3_virt): Likewise.
10206 * config/rl78/rl78.c (rl78_option_override): Add code to process
10207 -mcpu and -mmul options.
10208 (rl78_alloc_physical_registers): Add code to handle divhi and
10209 divsi valloc attributes.
10210 (set_origin): Likewise.
10211 * config/rl78/rl78.h (RL78_MUL_G14): Define.
10212 (TARGET_G10, TARGET_G13, TARGET_G14): Define.
10213 (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
10214 __RL78_Gxx__.
10215 (ASM_SPEC): Pass -mcpu on to assembler.
10216 * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
10217 (mulqi3_rl78): Likewise.
10218 (mulhi3_g13): Likewise.
10219 (mulhi3): Generate the G13 or G14 versions of the insn directly.
10220 (mulsi3): Likewise.
10221 (mulhi3_g14): Add clobbers of AX and BC.
10222 (mulsi3_g14): Likewise.
10223 (mulsi3_g13): Likewise.
10224 (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
10225 (udivmodsi4_g14, udivmodsi4_g13): New patterns.
10226 * config/rl78/rl78.opt (mmul): Initialise value to
10227 RL78_MUL_UNINIT.
10228 (mcpu): New option.
10229 (m13, m14, mrl78): New option aliases.
10230 * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
10231 (MULTILIB_DIRNAMES): Add g13 and g14.
10232 * doc/invoke.texi: Document -mcpu and -mmul options.
10233
10234 2015-04-16 Richard Biener <rguenther@suse.de>
10235
10236 * tree-ssa-ccp.c (likely_value): See if we have operands that
10237 are marked as never simulate again and return CONSTANT in this
10238 case.
10239 * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
10240 not have any operands that will be simulated again as
10241 not being simulated again.
10242
10243 2015-04-15 Uros Bizjak <ubizjak@gmail.com>
10244
10245 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
10246 Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
10247 (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
10248 attribute.
10249 (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
10250 enabled attribute.
10251 (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
10252 *float<SWI48:mode><MODEF:mode>2_sse.
10253 (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
10254 enabled attribute.
10255 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
10256 enabled attribute.
10257
10258 2015-04-15 Tom de Vries <tom@codesourcery.com>
10259
10260 PR other/65487
10261 * function.c (push_dummy_function): New function.
10262 (init_dummy_function_start): Use push_dummy_function.
10263 (pop_dummy_function): New function. Factored out of ...
10264 (expand_dummy_function_end): ... here.
10265 * function.h (push_dummy_function, pop_dummy_function): Declare.
10266 * passes.c (pass_manager::dump_passes): Use push_dummy_function and
10267 pop_dummy_function.
10268 * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
10269
10270 2015-04-15 Jeff Law <law@redhat.com>
10271
10272 PR tree-optimization/47679
10273 * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
10274 need for forward declaration in upcoming changes.
10275 (record_conditions, record_edge_info): Likewise.
10276
10277 PR rtl-optimization/42522
10278 * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
10279 SIGN_EXTRACT as a whole object rather than simplifying
10280 its operand.
10281
10282 2015-04-15 Jakub Jelinek <jakub@redhat.com>
10283
10284 PR ipa/65765
10285 * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
10286 and GIMPLE_PREDICT use break instead of return true. For
10287 GIMPLE_EH_DISPATCH, compare dispatch region.
10288
10289 2015-04-14 Matthew Wahab <matthew.wahab@arm.com>
10290
10291 * doc/extend.texi (__sync Builtins): Simplify some text. Update
10292 details about the implementation. Make clear preference for
10293 __atomic builtins. Reduce possibility of future change.
10294
10295 2015-04-15 Nick Clifton <nickc@redhat.com>
10296
10297 * config/rx/rx.opt (mallow-string-insns): New option.
10298 * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
10299 builtin if string instructions are denied.
10300 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
10301 __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
10302 appropriate.
10303 (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
10304 * config/rx/rx.md (movstr): Enable pattern only if string
10305 instructions are allowed.
10306 (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
10307 (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
10308 * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
10309 (MULTILIB_DIRNAMES): Add no-strings.
10310 * doc/invoke.texi: Document -mno-allow-string-insns.
10311
10312 2015-04-15 Alan Modra <amodra@gmail.com>
10313
10314 PR target/65408
10315 PR target/58744
10316 PR middle-end/36043
10317 * calls.c (load_register_parameters): Don't load past end of
10318 mem unless suitably aligned.
10319
10320 2015-04-15 Nick Clifton <nickc@redhat.com>
10321
10322 * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
10323 decrement instruction as being frame related.
10324 (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
10325 based addresses.
10326 If zero extending a function address enclose the operation in
10327 %code(...).
10328 (rl78_preferred_reload_class): New function.
10329 (TARGET_PREFERRED_RELOAD_CLASS): Define.
10330 * config/rl78/rl78.md: Remove useless constraints in expanders.
10331 (mulqi3_rl78): Remove + qualifier on input-only operand 1.
10332 (mulhi3_rl78): Likewise.
10333 (mulhi3_g13): Likewise.
10334 (mulsi3_rl78): Likewise.
10335 (es_addr): Move to before the multiply patterns.
10336
10337 2015-04-15 Alan Modra <amodra@gmail.com>
10338
10339 * function.h (struct emit_status): Delete x_first_insn, x_last_insn
10340 and sequence_stack. Add seq.
10341 (seq_stack): Delete.
10342 * function.c (prepare_function_start): Don't access x_last_insn.
10343 * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
10344 (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
10345 * emit_rtl.c (start_sequence, push_topmost_sequence,
10346 pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
10347 sequence accessors.
10348 (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
10349 remove_insn): Likewise. Simplify.
10350 * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
10351 and pop_topmost_sequence.
10352 (m32c_function_needs_enter): Use get_topmost_sequence. Ignore
10353 debug insns.
10354 * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
10355
10356 2015-04-14 Yvan Roux <yvan.roux@linaro.org>
10357
10358 PR target/65729
10359 * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
10360 the assertiion.
10361
10362 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
10363
10364 * config/i386/i386.h (LEGACY_INT_REG_P): New define.
10365 (LEGACY_INT_REGNO_P): Ditto.
10366 (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
10367 (ANY_MASK_REG_P): Remove.
10368 (BND_REG_P): Rename from ANY_BND_REG_P.
10369 * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
10370 legacy integer registers. Do not handle MMX_REG_P in a special way.
10371 Merge 64byte and 32byte SSE handling.
10372
10373 2015-04-14 Nick Clifton <nickc@redhat.com>
10374
10375 * expr.c (expand_assignment): Force an address offset computation
10376 into a register before changing its mode.
10377 (expand_expr_real_1): Likewise.
10378
10379 2015-04-14 Alan Lawrence <alan.lawrence@arm.com>
10380
10381 * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
10382 vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
10383 vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
10384 vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
10385 vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
10386 vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
10387 vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
10388 and __aarch64_vget_lane_any.
10389
10390 2015-04-14 Jakub Jelinek <jakub@redhat.com>
10391
10392 PR rtl-optimization/65761
10393 * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
10394 get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
10395
10396 2015-04-14 Richard Biener <rguenther@suse.de>
10397
10398 * graphite-scop-detection.c: Do not include cp/cp-tree.h.
10399 (graphite_can_represent_scev): Use POINTER_TYPE_P.
10400
10401 2015-04-14 Richard Biener <rguenther@suse.de>
10402
10403 PR tree-optimization/65758
10404 * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
10405 against -1.
10406 (ccp_lattice_meet): Likewise.
10407 (bit_value_unop): Likewise.
10408 (bit_value_binop): Likewise.
10409 (bit_value_assume_aligned): Likewise.
10410
10411 2015-04-14 Christian Bruel <christian.bruel@st.com>
10412
10413 * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
10414 function.
10415
10416 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
10417
10418 PR tree-optimization/63387
10419 * match.pd ((x unord x) | (y unord y) -> (x unord y),
10420 (x unord x) | (x unord y) -> (x unord y)): New simplifications.
10421
10422 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
10423
10424 * config/i386/predicates.md (any_QIreg_operand): Rename from
10425 q_regs_operand. Do not process subregs.
10426 (QIreg_operand): Use QI_REGNO_P predicate.
10427 (ext_QIreg_operand): Ditto.
10428 (ext_register_operand): Ditto.
10429 * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
10430 (AND splitters): Ditto.
10431 (AND with -65536 splitter): Add SWI48 mode for operand 0.
10432 (AND with -256 splitter): Use any_QIreg_operand predicate and
10433 SWI248 mode for operand 0.
10434 (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
10435 mode for operand 0.
10436 (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
10437
10438 2015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
10439
10440 * doc/plugins.texi: Rewrite first introductory paragraph.
10441
10442 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
10443
10444 * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
10445 (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
10446
10447 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
10448
10449 * ipa-profie.c (ipa_profile): Check number of parameters
10450 and possible polymorphic call targets before
10451 devirtualizing.
10452
10453 2015-04-13 Uros Bizjak <ubizjak@gmail.com>
10454
10455 * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
10456 *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
10457
10458 2015-04-13 Richard Biener <rguenther@suse.de>
10459
10460 PR tree-optimization/65204
10461 * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
10462 takens for bit-CCP.
10463
10464 2015-04-13 Richard Biener <rguenther@suse.de>
10465
10466 PR target/65660
10467 * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
10468 and cond_not_taken_branch_cost to 4 and 2.
10469 (bdver2_cost): Likewise.
10470 (bdver3_cost): Likewise.
10471 (bdver4_cost): Likewise.
10472
10473 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
10474
10475 * hash-table.h (hash_table constructor): Add mem stats.
10476 (alloc_entries): Likewise.
10477
10478 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
10479
10480 * ipa-cp.c (ipcp_driver): Relase prev_edge.
10481 * passes.c (execute_one_pass): Only add transform if pass has one.
10482
10483 2015-04-12 Joseph Myers <joseph@codesourcery.com>
10484
10485 * config/i386/i386.c (ix86_option_override_internal): Don't set
10486 -fprefetch-loop-arrays if optimizing for size.
10487
10488 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
10489 Gerald Pfeifer <gerald@pfeifer.com>
10490
10491 * doc/contrib.texi (Contributors): Add Martin Jambor and
10492 Michael Matz.
10493
10494 2015-04-12 Jakub Jelinek <jakub@redhat.com>
10495
10496 * BASE-VER: Set to 6.0.0.
10497
10498 PR tree-optimization/65747
10499 * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
10500 rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
10501
10502 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
10503
10504 * doc/invoke.texi (-Wmemset-transposed-args): Break a long
10505 sentence. Improve grammar.
10506
10507 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
10508
10509 * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
10510
10511 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
10512
10513 PR ipa/65743
10514 * ipa-inline-transform.c (speculation_removed): Remove static var.
10515 (check_speculations): New function.
10516 (clone_inlined_nodes): Do not check spculations.
10517 (inline_call): Call check_speculations.
10518 * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
10519 consider non-invariants.
10520
10521 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
10522 Martin Liska <mliska@suse.cz>
10523
10524 PR ipa/65722
10525 * ipa-icf.c (sem_item::compare_cgraph_references): function and
10526 variable can not match.
10527 (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
10528 (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
10529
10530 2015-04-11 Jakub Jelinek <jakub@redhat.com>
10531
10532 PR tree-optimization/65735
10533 * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
10534 Remove visited_phis argument, add visited_bbs, avoid recursing into the
10535 same bb rather than just into the same phi node.
10536 (thread_through_normal_block): Adjust caller.
10537
10538 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
10539
10540 * doc/contrib.texi (Contributors): Add Ira Rosen.
10541
10542 2015-04-11 Benno Schulenberg <bensberg@justemail.net>
10543
10544 * gcov.c (find_source): Fix miswording in error message.
10545 * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
10546 (ix86_expand_sse_comi_round): Fix typo in error message.
10547
10548 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
10549
10550 * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
10551
10552 2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
10553
10554 * doc/contrib.texi (Contributors): Update Joe Buck's entry.
10555
10556 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
10557
10558 PR target/65710
10559 * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
10560 Print bad_spills_num and insn_pseudos_num.
10561
10562 2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10563
10564 PR target/65694
10565 * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
10566 when creating +1 values for SImode.
10567
10568 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
10569
10570 PR target/65729
10571 * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
10572 assert.
10573
10574 2015-04-10 Jakub Jelinek <jakub@redhat.com>
10575 Iain Sandoe <iain@codesourcery.com>
10576
10577 PR target/65351
10578 * configure: Regenerate.
10579
10580 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
10581
10582 PR target/65671
10583 * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
10584
10585 2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
10586
10587 * doc/contrib.texi (Contributors): Add John Marino.
10588
10589 2015-04-09 Jakub Jelinek <jakub@redhat.com>
10590
10591 PR tree-optimization/65709
10592 * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
10593 TREE_TYPE (TREE_TYPE (t)).
10594
10595 2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
10596
10597 PR target/65710
10598 * lra-int.h (lra_bad_spill_regno_start): New.
10599 * lra.c (lra_bad_spill_regno_start): New.
10600 (lra): Set up lra_bad_spill_regno_start. Set up
10601 lra_constraint_new_regno_start unconditionally.
10602 * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
10603 spill preferences.
10604
10605 2015-04-09 Marek Polacek <polacek@redhat.com>
10606 Jakub Jelinek <jakub@redhat.com>
10607
10608 PR middle-end/65554
10609 * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
10610 (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
10611 of STRIP_NOPS.
10612
10613 2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
10614
10615 PR rtl-optimization/65693
10616 * combine.c (is_parallel_of_n_reg_sets): Move outside of
10617 #ifndef HAVE_cc0.
10618
10619 2015-04-09 Georg-Johann Lay <avr@gjlay.de>
10620
10621 PR target/65296
10622 * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
10623 device specs file if "device-specs%s" didn't resolve to a path.
10624
10625 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
10626
10627 PR target/65676
10628 * config/i386/i386.c (fixup_modeless_constant): New.
10629 (ix86_expand_args_builtin): Fixup modeless constant operand.
10630 (ix86_expand_round_builtin): Ditto.
10631 (ix86_expand_special_args_builtin): Ditto.
10632 (ix86_expand_builtin): Ditto.
10633
10634 2015-04-09 Jakub Jelinek <jakub@redhat.com>
10635
10636 PR target/65693
10637 * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
10638 any pow2 integer in between 2 and 0x80000000U inclusive.
10639
10640 2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
10641
10642 PR rtl-optimization/65693
10643 * combine.c (is_parallel_of_n_reg_sets): Change first argument
10644 from an rtx_insn * to an rtx.
10645 (try_combine): Adjust both callers. Use it once more.
10646
10647 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
10648
10649 * tree-chkp.c (chkp_find_const_bounds_var): Remove.
10650 (chkp_make_static_const_bounds): Search existing
10651 symbol by assembler name. Use make_decl_one_only.
10652 (chkp_get_zero_bounds_var): Remove node search which
10653 is now performed in chkp_make_static_const_bounds.
10654 (chkp_get_none_bounds_var): Likewise.
10655
10656 2015-04-08 Michael Witten <mfwitten@gmail.com>
10657
10658 * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
10659 to an example.
10660
10661 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
10662
10663 * tree.h (CONVERT_EXPR_P): Commentary typo fix.
10664
10665 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
10666
10667 * doc/extend.texi (__sync Builtins): Fix grammar.
10668
10669 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
10670
10671 * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
10672
10673 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
10674
10675 * varasm.c (emit_local): Move definition of align.
10676
10677 2015-04-08 Julian Brown <julian@codesourcery.com>
10678
10679 * config/nvptx/mkoffload.c (process): Support variable mapping.
10680
10681 2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
10682
10683 * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
10684 alpha_links **.
10685 (alpha_write_one_linkage): Correct typo.
10686
10687 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
10688
10689 * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
10690
10691 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
10692
10693 * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
10694
10695 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
10696
10697 * tree-chkp.h (chkp_insert_retbnd_call): New.
10698 * tree-chkp.c (chkp_insert_retbnd_call): New.
10699 * ipa-split.c (insert_bndret_call_after): Remove.
10700 (split_function): Use chkp_insert_retbnd_call.
10701 * cgraphunit.c (cgraph_node::expand_thunk): Build returned
10702 bounds for instrumented functions.
10703
10704 2015-04-07 Jan Hubicka <hubicka@ucw.cz>
10705
10706 PR ipa/65540
10707 * calls.c (initialize_argument_information): When producing tail
10708 call also turn SSA_NAMES passed by references to original PARM_DECLs
10709
10710 2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
10711
10712 PR target/65648
10713 * lra-remat.c (do_remat): Process input and non-input insn
10714 registers separately.
10715
10716 2015-04-07 Jakub Jelinek <jakub@redhat.com>
10717
10718 PR debug/65678
10719 * valtrack.c (debug_lowpart_subreg): New function.
10720 (dead_debug_insert_temp): Use it.
10721
10722 PR middle-end/65680
10723 * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
10724 into signed HOST_WIDE_INT the same as negative bit_offset.
10725
10726 2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
10727
10728 * ipa-comdats.c (ipa_comdats): Visit all thunks
10729 to set proper comdat group.
10730
10731 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10732
10733 PR target/65489
10734 * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
10735 on constants for NEON VSTRUCT modes.
10736
10737 2015-04-07 Jakub Jelinek <jakub@redhat.com>
10738 Iain Sandoe <iain@codesourcery.com>
10739
10740 PR target/65351
10741 * configure: Regenerate.
10742
10743 2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
10744
10745 PR target/65614
10746 * config/rs6000/rs6000.c (struct processor_costs): Add cost field
10747 for SF->DF conversions to make FLOAT_EXTEND more expensive, so
10748 that LFD is used to load double constants instead of LFS. Add
10749 defaults for all costs structures. Add comments for missing
10750 initialization fields.
10751 (size32_cost): Likewise.
10752 (size64_cost): Likewise.
10753 (rs64a_cost): Likewise.
10754 (mpccore_cost): Likewise.
10755 (ppc403_cost): Likewise.
10756 (ppc405_cost): Likewise.
10757 (ppc440_cost): Likewise.
10758 (ppc476_cost): Likewise.
10759 (ppc601_cost): Likewise.
10760 (ppc603_cost): Likewise.
10761 (ppc604_cost): Likewise.
10762 (ppc604e_cost): Likewise.
10763 (ppc620_cost): Likewise.
10764 (ppc630_cost): Likewise.
10765 (ppccell_cost): Likewise.
10766 (ppc750_cost): Likewise.
10767 (ppc7450_cost): Likewise.
10768 (ppc8540_cost): Likewise.
10769 (ppce300c2c3_cost): Likewise.
10770 (ppce500mc_cost): Likewise.
10771 (ppce500mc64_cost): Likewise.
10772 (ppce5500_cost): Likewise.
10773 (ppce6500_cost): Likewise.
10774 (titan_cost): Likewise.
10775 (power4_cost): Likewise.
10776 (power6_cost): Likewise.
10777 (power7_cost): Likewise.
10778 (power8_cost): Likewise.
10779 (ppca2_cost): Likewise.
10780 (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
10781
10782 * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
10783 instead of XXLOR to copy SFmode to clear out dirty bits created
10784 when SFmode denormals are generated.
10785 (mov<mode>_hardfloat, FMOVE32 case): Likewise.
10786 (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
10787
10788 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
10789
10790 * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
10791 * config/aarch64/aarch64-cores.def (exynos-m1): New core.
10792 * config/aarch64/aarch64-tune.md: Regenerate.
10793
10794 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
10795
10796 * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
10797 * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
10798 * config/arm/arm-cores.def (exynos-m1): New core.
10799 * config/arm/arm-tune.md: Regenerate.
10800 * config/arm/arm-tables.opt: Add entry for "exynos-m1".
10801 * config/arm/bpabi.h: Likewise.
10802
10803 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
10804
10805 * ipa-cp (set_single_call_flag): Remove too
10806 restrictive assert.
10807
10808 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
10809
10810 * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
10811 GOMP_offload_unregister from the destructor.
10812
10813 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
10814
10815 * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
10816 flags for instrumentation thunk.
10817 (chkp_produce_thunks): Likewise.
10818
10819 2015-04-05 Martin Liska <mliska@suse.cz>
10820
10821 PR ipa/65665
10822 * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
10823 has computed data structure.
10824 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
10825
10826 2015-04-04 Jan Hubicka <hubicka@ucw.cz>
10827
10828 * invoke.texi (inline-unit-growth): Increase growth to 20%
10829 * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
10830
10831 2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
10832
10833 PR target/65647
10834 * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
10835 value checking.
10836 (lra_rematerialization_iter): New.
10837 * lra.c (lra): Initialize lra_rematerialization_iter.
10838 Stop updating lra_constraint_new_regno_start after switching of
10839 inheritance and rematerialization.
10840 * lra-remat.c (lra_rematerialization_iter): New.
10841 (lra_remat): Add printing pass iteration. Do rematerialization
10842 only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
10843
10844 2015-04-04 Richard Biener <rguenther@suse.de>
10845
10846 PR tree-optimization/64909
10847 PR tree-optimization/65660
10848 * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
10849 to take a cost vector for scalar iteration cost.
10850 (vect_get_single_scalar_iteration_cost): Likewise.
10851 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
10852 Compute the scalar iteration cost into a cost vector.
10853 (vect_get_known_peeling_cost): Use the scalar cost vector to
10854 account for the cost of the peeled iterations.
10855 (vect_estimate_min_profitable_iters): Likewise.
10856 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
10857 Likewise.
10858
10859 2015-04-04 Alan Modra <amodra@gmail.com>
10860
10861 PR target/65576
10862 PR target/65240
10863 * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
10864 0.0 constant unless TARGET_VSX.
10865 * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
10866 alternative.
10867
10868 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
10869
10870 PR ipa/65654
10871 * ipa-inline-transform.c (inline_call): Skip sanity check to work
10872 around the ICE
10873
10874 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
10875
10876 PR ipa/65655
10877 * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
10878 speculative indirect edges to avoid ordering issue.
10879
10880 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
10881
10882 PR ipa/65076
10883 * ipa-inline.c (edge_badness): Add combined size to the denominator.
10884
10885 2015-04-03 Jakub Jelinek <jakub@redhat.com>
10886
10887 * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
10888 TYPE_ARTIFICIAL on the .omp_data* types.
10889
10890 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
10891
10892 * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
10893 instrumentation thunks.
10894
10895 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
10896
10897 * config/i386/i386.c (ix86_expand_call): Avoid nested
10898 PARALLEL in returned call value.
10899
10900 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
10901
10902 * lto-cgraph.c (input_cgraph_1): Always link instrumented
10903 assembler name with original one.
10904
10905 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
10906
10907 * config/i386/i386.c (ix86_register_priority): Use AX_REG.
10908
10909 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
10910
10911 Revert parts of r216820.
10912 * config/i386/i386.md (movqi_internal): Correct type calculation
10913 for alternatives 3 and 5.
10914
10915 2015-04-02 Jakub Jelinek <jakub@redhat.com>
10916
10917 PR preprocessor/61977
10918 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
10919 predefine __vector/__bool/__pixel macros nor context sensitive
10920 macros for CLK_ASM.
10921 * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
10922
10923 2015-04-02 John David Anglin <danglin@gcc.gnu.org>
10924
10925 * config/pa/pa.c (pa_output_move_double): Directly handle register
10926 indexed memory operand. Simplify handling of scaled register indexed
10927 memory operands.
10928
10929 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
10930
10931 PR driver/65444
10932 * config/i386/linux-common.h (MPX_SPEC): New.
10933 (CHKP_SPEC): Add MPX_SPEC.
10934 * doc/invoke.texi (-fcheck-pointer-boudns): Document
10935 possible issues with '-z bndplt' support in linker.
10936
10937 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
10938
10939 * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
10940 (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
10941 (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
10942 * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
10943 (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
10944
10945 2015-04-01 Uros Bizjak <ubizjak@gmail.com>
10946
10947 * config/i386/sync.md (UNSPEC_MOVA): Remove.
10948 (atomic_load<mode>): Change operand 0 predicate to
10949 nonimmediate_operand and fix up the destination when needed.
10950 Use UNSPEC_LDA.
10951 (atomic_loaddi_fpu): Use UNSPEC_LDA.
10952 (atomic_store<mode>): Change operand 1 predicate to
10953 nonimmendate_operand and move the source to register when needed.
10954 Use UNSPEC_STA.
10955 (atomic_store<mode>_1): Use UNSPEC_STA.
10956 (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
10957 Fix moves from memory operand. Use UNSPEC_STA.
10958
10959 2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
10960
10961 * expmed.c (strict_volatile_bitfield_p): Check that the access will
10962 not cross a MODESIZE boundary.
10963 (store_bit_field, extract_bit_field): Added assertions in the
10964 strict volatile bitfields code path.
10965
10966 2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
10967
10968 PR target/65624
10969 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
10970 Increase args array size by one to avoid buffer overflow.
10971
10972 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
10973
10974 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
10975 split_part.
10976 * ipa-inline.c (edge_badness): Add wrapper penalty.
10977 (sum_callers): Move up.
10978 (inline_small_functions): Set single_caller.
10979 * ipa-inline.h (inline_summary): Add single_caller.
10980 * ipa-split.c (split_function): Set split_part.
10981 (cgraph_node::create_clone): Do not shadow decl; copy split_part.
10982 * cgraph.h (cgraph_node): Add split_part.
10983
10984 2015-03-31 Uros Bizjak <ubizjak@gmail.com>
10985
10986 PR target/58945
10987 * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
10988 Do not split operands 0 and operands 2 to halfmode.
10989 (atomic_compare_and_swap<mode>): Update for
10990 atomic_compare_and_swap<dwi>_doubleword changes.
10991
10992 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
10993
10994 * tree.c (need_assembler_name_p): Artificial types have no ODR names.
10995 * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
10996 no caching is done.
10997
10998 2015-03-31 Martin Liska <mliska@suse.cz>
10999
11000 PR ipa/65557
11001 * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
11002 has already filled up function summary.
11003 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
11004
11005 2015-03-31 Richard Biener <rguenther@suse.de>
11006
11007 * tree-sra.c (create_access_replacement): Drop under-/over-alignment
11008 of types.
11009
11010 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
11011
11012 * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
11013 nested functions.
11014 (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
11015 (s390_asm_output_function_label): Adapt to new signature of
11016 s390_function_num_hotpatch_hw
11017 Optimise the code generating assembler output.
11018 Add comments to assembler file.
11019
11020 2015-03-31 Richard Biener <rguenther@suse.de>
11021
11022 PR middle-end/65626
11023 * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
11024 of the noreturn call so it is last and cleanup_control_flow_bb
11025 can do the CFG part.
11026
11027 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
11028
11029 PR target/65531
11030 * ipa-chkp.c (chkp_maybe_create_clone): Don't set
11031 same_comdat_group for external symbols.
11032 * symtab.c (symtab_node::verify_symtab_nodes): Avoid
11033 infinite same_comdat_group traversal loop.
11034
11035 2015-03-31 Jakub Jelinek <jakub@redhat.com>
11036
11037 PR plugins/61176
11038 * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
11039 automatically to $headers.
11040
11041 2015-03-30 Jakub Jelinek <jakub@redhat.com>
11042
11043 PR ipa/65610
11044 * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
11045 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
11046 function.
11047 (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
11048 Use it.
11049 * ipa-prop.c (param_type_may_change_p): Likewise.
11050 * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
11051 (remove_unused_scope_block_p): Add in_ctor_dtor_block
11052 argument. Before inlining, preserve
11053 inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
11054 with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
11055 recursive calls.
11056 (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
11057
11058 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
11059
11060 PR ipa/65076
11061 * ipa-inline.c (edge_badness): Base denominator on callee's
11062 grwoth squared.
11063
11064 2015-03-27 Martin Jambor <mjambor@suse.cz>
11065
11066 PR ipa/65478
11067 * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
11068 (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
11069 * ipa-prop.h (ipa_node_params): New flags node_within_scc and
11070 node_calling_single_call.
11071 * ipa-cp.c (count_callers): New function.
11072 (set_single_call_flag): Likewise.
11073 (initialize_node_lattices): Count callers and set single_flag_call if
11074 necessary.
11075 (incorporate_penalties): New function.
11076 (good_cloning_opportunity_p): Use it, dump new flags.
11077 (propagate_constants_topo): Set node_within_scc flag if appropriate.
11078 * doc/invoke.texi (ipa-cp-recursion-penalty,
11079 ipa-cp-single-call-pentalty): Document.
11080
11081 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
11082
11083 PR ipa/65588
11084 * symtab.c (symtab_node::get_partitioning_class): Register vars
11085 are duplicated.
11086 * varpool.c (symbol_table::output_variables) Do not assemble unefined
11087 decls for non-symbols.
11088
11089 2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
11090
11091 PR target/65248
11092 * output.h (default_binds_local_p_2): New.
11093 * varasm.c (default_binds_local_p_2): Renamed to ...
11094 (default_binds_local_p_3): This. Don't return true on protected
11095 data symbol if protected data may be external.
11096 (default_binds_local_p): Use default_binds_local_p_3.
11097 (default_binds_local_p_1): Likewise.
11098 (default_binds_local_p_2): New.
11099 * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
11100 default_binds_local_p_2 if TARGET_MACHO is undefined.
11101
11102 2015-03-27 Jakub Jelinek <jakub@redhat.com>
11103
11104 PR target/65593
11105 * config/i386/i386.c (legitimize_pic_address): If base
11106 is SYMBOL_REF or LABEL_REF using %rip addressing, force
11107 it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
11108
11109 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
11110
11111 PR target/65531
11112 * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
11113 comdat groups.
11114
11115 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
11116
11117 PR ipa/65600
11118 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
11119 of optimized out indirect call.
11120 (redirect_to_unreachable): Always build symbol table node for
11121 BUILT_IN_UNREACHABLE
11122
11123 2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
11124
11125 PR target/65407
11126 * ira-costs.c (record_reg_classes): Process all constraint string
11127 containing 0-9.
11128
11129 2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
11130
11131 * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
11132 memory_operand.
11133
11134 PR target/65052
11135 * config/c6x/constraints.md (S3): New constraint.
11136 * config/c6x/c6x.md (real_jump): Use it.
11137
11138 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
11139
11140 PR middle-end/65595
11141 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
11142 do redirection if the call is not optimized out.
11143
11144 2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
11145
11146 PR target/65495
11147 * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
11148 (fchkp-check-incomplete-type): Add LTO.
11149 (fchkp-zero-input-bounds-for-main): Likewise.
11150 (fchkp-first-field-has-own-bounds): Likewise.
11151 (fchkp-narrow-bounds): Likewise.
11152 (fchkp-narrow-to-innermost-array): Likewise.
11153 (fchkp-use-static-bounds): Likewise.
11154 (fchkp-use-static-const-bounds): Likewise.
11155 (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
11156
11157 2015-03-27 Marek Polacek <polacek@redhat.com>
11158
11159 * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
11160
11161 2015-03-27 Marek Polacek <polacek@redhat.com>
11162
11163 PR sanitizer/65583
11164 * ubsan.c (ubsan_create_edge): New function.
11165 (instrument_bool_enum_load): Call it.
11166 (instrument_nonnull_arg): Likewise.
11167 (instrument_nonnull_return): Likewise.
11168 (instrument_object_size): Likewise.
11169
11170 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
11171
11172 * lto-streamer.h (class lto_location_cache): Turn loc_cache into
11173 auto_vec.
11174
11175 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
11176
11177 PR lto/65536
11178 * lto-streamer.h (class lto_location_cache): New.
11179 (struct data_in): Add location_cache.
11180 (lto_input_location): Update prototype.
11181 (stream_input_location_now): New.
11182 * streamer-hooks.h (struct streamer_hooks): Make input_location to take
11183 pointer to location.
11184 (stream_input_location): Update.
11185 * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
11186 (warn_odr): Apply location cache before warning.
11187 (lto_input_location): Update prototype.
11188 * gimple-streamer-in.c (input_phi, input_gimple_stmt):
11189 Use stream_input_location_now.
11190 * lto-streamer-in.c (lto_location_cache::current_cache): New static
11191 variable.
11192 (lto_location_cache::cmp_loc): New function.
11193 (lto_location_cache::apply_location_cache): New function.
11194 (lto_location_cache::accept_location_cache): New function.
11195 (lto_location_cache::revert_location_cache): New function.
11196 (lto_location_cache::input_location): New function.
11197 (lto_input_location): Do location caching.
11198 (stream_input_location_now): New function.
11199 (input_eh_region, input_struct_function_base): Use
11200 stream_input_location_now.
11201 (lto_data_in_create): use new.
11202 (lto_data_in_delete): Use delete.
11203 * tree-streamer-in.c (unpack_ts_block_value_fields,
11204 unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
11205 lto_input_ts_exp_tree_pointers): Update for cached location api.
11206
11207 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
11208
11209 PR ipa/65076
11210 * passes.def: Add pass_nothrow.
11211 * ipa-pure-const.c: (pass_data_nothrow): New.
11212 (pass_nothrow): New.
11213 (pass_nothrow::execute): New.
11214 (make_pass_nothrow): New.
11215 * tree-pass.h (make_pass_nothrow): Declare.
11216
11217 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
11218
11219 * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
11220 edge to change by speculation resolution or redirection.
11221 (edge_set_predicate): Likewise.
11222 (inline_summary_t::duplicate): Likewise.
11223 (remap_edge_summaries): Likewise.
11224
11225 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
11226
11227 * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
11228 New macros.
11229 (can_inline_edge_p): Relax option matching for always inline functions.
11230
11231 2015-03-26 Uros Bizjak <ubizjak@gmail.com>
11232
11233 PR target/65561
11234 * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
11235 Check operand 4 and operand 0 for equality.
11236 (avx512f_vextract<shuffletype>32x4_1_maskm):
11237 Check operand 6 and operand 0 for equality.
11238 (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
11239 for equality.
11240 (vec_extract_hi_<mode>_maskm): Ditto.
11241
11242 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
11243
11244 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
11245 dead calls back to live.
11246 (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
11247 cross check to ...
11248 (cgraph_node::verify_node): ... here; verify only callee edges,
11249 not caller.
11250 * cif-code.def (CILK_SPAWN): New code.
11251
11252 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
11253
11254 * ipa-inline-analysis.c (redirect_to_unreachable): New function.
11255 (edge_set_predicate): Use it to mark unreachable edges.
11256 (inline_summary_t::duplicate): Remove unnecesary code.
11257 (remap_edge_summaries): Likewise.
11258 (dump_inline_summary): Report contains_cilk_spawn.
11259 (compute_inline_parameters): Compute contains_cilk_spawn.
11260 (inline_read_section, inline_write_summary): Stream
11261 contains_cilk_spawn.
11262 * ipa-inline.c (can_inline_edge_p): Do not touch
11263 DECL_STRUCT_FUNCTION that may not be available;
11264 use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
11265 remove check for callee_fun->can_throw_non_call_exceptions and
11266 replace it by optimization attribute check; check for flag_exceptions.
11267 * ipa-inline-transform.c (inline_call): Maintain
11268 DECL_FUNCTION_PERSONALITY
11269 * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
11270
11271 2015-03-26 Jakub Jelinek <jakub@redhat.com>
11272
11273 PR tree-optimization/65551
11274 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
11275 TYPE_PRECISION only for INTEGRAL_TYPE_P types.
11276
11277 2015-03-26 Richard Biener <rguenther@suse.de>
11278
11279 PR middle-end/65555
11280 * tree-cfg.c (verify_gimple_call): Do not require a call to
11281 have no LHS if it wasn't recognized as control altering yet.
11282
11283 2015-03-26 Jakub Jelinek <jakub@redhat.com>
11284
11285 PR tree-optimization/64715
11286 * passes.def: Add another instance of pass_object_sizes before ccp1.
11287 * tree-object-size.c (pass_object_sizes::execute): In
11288 first_pass_instance, only handle __bos (, 1) and __bos (, 3)
11289 calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
11290 __bos result and the computed constant. Remove redundant
11291 checks, obsoleted by gimple_call_builtin_p test.
11292
11293 * var-tracking.c (variable_tracking_main_1): Don't track
11294 variables for targetm.no_register_allocation targets.
11295
11296 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
11297
11298 * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
11299 * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
11300
11301 2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
11302
11303 PR target/65569
11304 * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
11305 XXLXOR to create 0.0. On pre-VSX systems make sure the constant
11306 0.0 is correctly setup.
11307 (extenddftf2_internal): Likewise.
11308
11309 2015-03-25 Sebastian Pop <s.pop@samsung.com>
11310
11311 PR tree-optimization/65177
11312 * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
11313 (bb_in_bbs): New.
11314 (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
11315 edges not adjacent on the path to the original code.
11316
11317 2015-03-25 Uros Bizjak <ubizjak@gmail.com>
11318
11319 PR bootstrap/65537
11320 * doc/install.texi (Building a native compiler): Document new
11321 bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
11322 configuration assumes that the host supports the linker plugin.
11323
11324 2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
11325
11326 PR target/65508
11327 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
11328 chain for generated call.
11329
11330 2015-03-25 Richard Biener <rguenther@suse.de>
11331
11332 * passes.c (pass_manager::execute_early_local_passes): Guard
11333 execution of pass_chkp_instrumentation_passes with
11334 flag_check_pointer_bounds.
11335 (pass_chkp_instrumentation_passes::gate): Likewise.
11336
11337 2015-03-25 Martin Liska <mliska@suse.cz>
11338
11339 PR tree-optimization/65538
11340 * symbol-summary.h (function_summary::~function_summary):
11341 Relese memory for allocated summaries.
11342 (function_summary::release): New function.
11343
11344 2015-03-25 Jakub Jelinek <jakub@redhat.com>
11345
11346 PR lto/65515
11347 * lto-streamer-out.c (DFS::worklist): New struct.
11348 (DFS::worklist_vec): New data member.
11349 (DFS::next_dfs_num): Remove.
11350 (DFS::DFS): Rewritten using worklist instead of recursion,
11351 using most of code from DFS::DFS_write_tree.
11352 (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
11353 pass it to DFS_write_tree calls.
11354 (DFS::DFS_write_tree): Remove SINGLE_P argument, after
11355 quick initial checks push it into worklist_vec and return.
11356
11357 2015-03-25 Richard Biener <rguenther@suse.de>
11358
11359 PR middle-end/65519
11360 * genmatch.c (expr::gen_transform): Re-write to avoid
11361 using gimple_build.
11362
11363 2015-03-25 Bin Cheng <bin.cheng@arm.com>
11364
11365 * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
11366
11367 2015-03-25 Bin Cheng <bin.cheng@arm.com>
11368
11369 * config/arm/arm.opt (print_tune_info): New option.
11370 * config/arm/arm.c (arm_print_tune_info): New function.
11371 (arm_file_start): Call arm_print_tune_info.
11372 * config/arm/arm-protos.h (struct tune_params): Add comment.
11373 * doc/invoke.texi (@item -mprint-tune-info): New item.
11374 (-mtune): mention it in ARM Option Summary.
11375
11376 2015-03-25 DJ Delorie <dj@redhat.com>
11377
11378 * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
11379 correct clause.
11380
11381 2015-03-24 Jan Hubicka <hubicka@ucw.cz>
11382 Martin Liska <mliska@suse.cz>
11383
11384 * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
11385 * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
11386 (sem_item::add_type): New function.
11387 (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
11388 (sem_function::compare_polymorphic_p): Do not consider indirect calls.
11389 (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
11390 (sem_function::equals_wpa): Fix typo.
11391 * ipa-icf.h (sem_item::add_type): New function.
11392 (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
11393 order.
11394
11395 2015-03-24 Jakub Jelinek <jakub@redhat.com>
11396
11397 PR tree-optimization/65533
11398 * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
11399 with swapped operands, call vect_free_slp_tree on
11400 SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
11401 vector.
11402
11403 2015-03-24 Richard Biener <rguenther@suse.de>
11404
11405 PR middle-end/65517
11406 * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
11407 for fixup if necessary.
11408
11409 2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
11410
11411 * doc/extend.texi (Function Attributes): Add @cindex entries
11412 for all attributes and regularize their format. Delete text
11413 about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
11414 information about "eightbit_data", "tiny_data", and "model"
11415 variable attributes to the Variable Attributes section. Fix
11416 some obvious typos and copy-editing issues.
11417 (Variable Attributes, Type Attributes): Likewise add/fix
11418 @cindex entries for all attributes.
11419
11420 2015-03-23 Jakub Jelinek <jakub@redhat.com>
11421
11422 PR target/65523
11423 * tree-chkp.c (chkp_build_returned_bound): Ignore
11424 ERF_RETURNS_ARG calls if they have fewer than needed arguments.
11425
11426 2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
11427
11428 PR target/65505
11429 * config/sh/predicates.md (simple_mem_operand,
11430 displacement_mem_operand): Add test for reg.
11431 (short_displacement_mem_operand): Test for displacement_mem_operand
11432 before invoking sh_disp_addr_displacement.
11433 * config/sh/constraints.md (Sdd, Sra): Simplify.
11434 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
11435 Remove redundant displacement_mem_operand tests.
11436
11437 2015-03-23 Georg-Johann Lay <avr@gjlay.de>
11438
11439 PR target/65296
11440 * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
11441 the same -mmcu=MCU more than once.
11442
11443 2015-03-23 Jakub Jelinek <jakub@redhat.com>
11444
11445 PR bootstrap/65522
11446 * ipa-devirt.c: Remove duplicate demangle.h include.
11447
11448 PR target/65504
11449 * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
11450 on the pseudo.
11451 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
11452 REG_POINTER on *destptr after adjusting it for prologue size.
11453
11454 PR ipa/65521
11455 * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
11456 ultimate_alias_target ()->order ints instead of
11457 ultimate_alias_target () pointers.
11458
11459 2015-03-23 Richard Biener <rguenther@suse.de>
11460
11461 PR tree-optimization/65518
11462 * tree-vect-stmts.c (vectorizable_load): Reject single-element
11463 interleaving cases we generate absymal code for.
11464
11465 2015-03-23 Richard Biener <rguenther@suse.de>
11466
11467 PR tree-optimization/65494
11468 * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
11469 matches here.
11470 (vect_analyze_slp_instance): But do that here, always and once.
11471
11472 2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11473
11474 * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
11475 adding T or multiplying by T+1 and subracting T.
11476
11477 2015-03-22 Jeff Law <law@redhat.com>
11478
11479 PR rtl-optimization/64317
11480 * Makefile.in (OBJS): Add gcse-common.c
11481 * gcse.c: Include gcse-common.h
11482 (struct modify_pair_s): Move structure definition to gcse-common.h
11483 (compute_transp): Move function to gcse-common.c.
11484 (canon_list_insert): Similarly.
11485 (record_last_mem_set_info): Break out some code and put it into
11486 gcse-common.c. Call into the new common code.
11487 (compute_local_properties): Pass additional arguments to compute_transp.
11488 * postreload-gcse.c: Include gcse-common.h and df.h
11489 (modify_mem_list_set, blocks_with_calls): New variables.
11490 (modify_mem_list, canon_modify_mem_list, transp): Likewise.
11491 (get_bb_avail_insn): Pass in the expression index too.
11492 (alloc_mem): Allocate memory for the new bitmaps and lists.
11493 (free_mem): Free memory for the new bitmaps and lists.
11494 (insert_expr_in_table): Record a bitmap index for each entry we
11495 add to the table.
11496 (record_last_mem_set_info): Call into common code in gcse-common.c.
11497 (get_bb_avail_insn): If no available insn was found in the requested
11498 BB. If BB has a single predecessor, see if the expression is
11499 transparent in BB and available in that single predecessor.
11500 (compute_expr_transp): New wrapper for compute_transp.
11501 (eliminate_partially_redundant_load): Pass expression's bitmap_index
11502 to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
11503 (gcse_after_reload_main): If there are elements in the hash table,
11504 then compute transparency for all the elements in the hash table.
11505 * gcse-common.h: New file.
11506 * gcse-common.c: New file.
11507
11508 2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
11509
11510 * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
11511 as an adjective.
11512 (System Headers): Likewise.
11513 (Ifdef): Likewise.
11514 (Traditional macros): Likewise.
11515 (Invocation): Likewise.
11516 (Option Index): Likewise.
11517 * doc/cppopts.texi (-M): Likewise.
11518 (-finput-charset): Likewise.
11519 (--help): Likewise.
11520 * doc.invoke.texi (AVR Options): Likewise.
11521 (V850 Options): Likewise.
11522
11523 2015-03-22 Jan Hubicka <hubicka@ucw.cz>
11524
11525 PR ipa/65475
11526 * ipa-devirt.c: Include demangle.h
11527 (odr_type_d): Add field rtti_broken.
11528 (odr_subtypes_equivalent_p): Do not require name to match.
11529 (compare_virtual_tables): Fix typo; if type already has ODR violation,
11530 bypass the tests; be ready for function referneces in vtables that are
11531 not DECL_VIRTUAL; make warnings to be OPT_Wodr.
11532 (warn_odr): Give up for nameless types.
11533 (warn_types_mismatch): Report mismatch in mangled names;
11534 report mismatch in anonymous namespaces; look into component types to
11535 give useful error; report when mismatch is dragged in from other ODR
11536 type.
11537 (odr_types_equivalent_p): Match types for being polymorphic; avoid
11538 duplicated diagnostics.
11539 (add_type_duplicate): Reorder checks so more informative ones come
11540 first; fix typo; do not output "the extra base is defined here" when
11541 we did not warn.
11542 (BINFO_N_BASE_BINFOS): Relax sanity check.
11543
11544 2015-03-22 Martin Liska <mliska@suse.cz>
11545 Jakub Jelinek <jakub@redhat.com>
11546
11547 * config/i386/i386.c (def_builtin): Set deferred_isa_values for
11548 masks that can potentially include a builtin.
11549 (ix86_add_new_builtins): Introduce fast filter for isa values
11550 that cannot trigger builtin inclusion.
11551
11552 2015-03-22 Martin Liska <mliska@suse.cz>
11553
11554 * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
11555 (sem_item::update_hash_by_local_refs): Likewise.
11556 (sem_variable::get_hash): Empty line is fixed.
11557 (sem_item_optimizer::execute): Include adding of hash references.
11558 (sem_item_optimizer::update_hash_by_addr_refs): New function.
11559 (sem_item_optimizer::build_hash_based_classes): Use local hash.
11560 * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
11561 (sem_item::update_hash_by_local_refs): Likewise.
11562
11563 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
11564
11565 PR ipa/65502
11566 * ipa-comdats.c (enqueue_references): Walk through thunks.
11567 (ipa_comdats): Likewise.
11568 (set_comdat_group_1): New function.
11569
11570 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
11571
11572 PR ipa/65475
11573 * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
11574 non-polymorphic
11575
11576 2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
11577 Gerald Pfeifer <gerald@pfeifer.com>
11578
11579 * doc/contrib.texi (Contributors): Update entry for Danny Smith.
11580
11581 2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
11582 Sandra Loosemore <sandra@codesourcery.com>
11583
11584 * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
11585 function parameter declaration.
11586 * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
11587 Update arguments to nios2_adjust_call_address().
11588 (sibcall_internal): Rename from *sibcall.
11589 (sibcall_value_internal): Rename from *sibcall_value.
11590 * config/nios2/nios2.c (nios2_emit_add_constant): New function.
11591 (nios2_large_got_address): Add target temp reg parameter.
11592 (nios2_got_address): Adjust call to nios2_large_got_address, add
11593 force_reg around it.
11594 (nios2_load_pic_address): Add target temp reg parameter, replace call
11595 to nios2_got_address with corresponding code.
11596 (nios2_legitimize_constant_address): Update call to
11597 nios2_load_pic_address.
11598 (nios2_adjust_call_address): Add temp reg parameter, update PIC case
11599 to use temp reg for PIC loading purposes.
11600 (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
11601 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
11602 (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
11603
11604 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
11605
11606 * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
11607 usage of "the @option{...}".
11608 (-Wopenmp-simd): Likewise.
11609 (-fsanitize-recover): Likewise.
11610 (-fsanitize-undefined-trap-on-error): Likewise.
11611 (-flto): Likewise.
11612 (tracer-dynamic-coverage-feedback): Likewise.
11613 (reorder-block-duplicate-feedback): Likewise.
11614 (loop-unroll-jam-size): Likewise.
11615 (-B): Likewise.
11616 (-I-): Likewise.
11617 (-mabs=legacy): Likewise.
11618 (-mupper-regs-df): Likewise.
11619 (-mupper-regs-sf): Likewise.
11620 (-mpointers-to-nested-functions): Likewise.
11621
11622 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
11623
11624 * doc/extend.texi (Cilk Plus Builtins): Add markup.
11625
11626 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
11627
11628 * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
11629 additional index entries and cross-references.
11630 (-fchkp-check-incomplete-type): Likewise.
11631 (-fchkp-first-field-has-own-bounds): Likewise.
11632 (-fchkp-narrow-to-innermost-array): Likewise.
11633 (-fchkp-use-fast-string-functions): Likewise.
11634 (-fchkp-use-nochk-string-functions): Likewise.
11635 (-fchkp-use-static-const-bounds): Likewise.
11636 (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
11637 (-fchkp-instrument-marked-only): Likewise.
11638 (-fchkp-use-wrappers): Likewise.
11639 (-static-libmpx): Likewise.
11640 (-static-libmpxwrappers): Likewise.
11641 * doc/extend.texi (bnd_legacy): Likewise.
11642 (bnd_instrument): Likewise.
11643 (bnd_variable_size): Likewise.
11644 (Pointer Bounds Checker builtins): Likewise.
11645
11646 2015-03-21 Tom de Vries <tom@codesourcery.com>
11647
11648 PR tree-optimization/65458
11649 * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
11650 * cgraph.h (cgraph_node): Add parallelized_function field.
11651 * lto-cgraph.c (lto_output_node): Write parallelized_function field.
11652 (input_overwrite_node): Read parallelized_function field.
11653 * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
11654 parallelized_function on cgraph_node for child_fn.
11655 * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
11656 Remove include of gt-tree-parloops.h.
11657 (parallelized_functions): Remove static variable.
11658 (parallelized_function_p): Rewrite using parallelized_function field of
11659 cgraph_node.
11660 (create_loop_fn): Remove adding to parallelized_functions.
11661 * Makefile.in (GTFILES): Remove tree-parloops.c
11662
11663 2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
11664
11665 PR rtl-optimization/64366
11666 * lra.c (lra_update_insn_regno_info): Consider regs in
11667 CALL_INSN_FUNCTION_USAGE memory.
11668
11669 2015-03-20 Richard Biener <rguenther@suse.de>
11670
11671 PR middle-end/64715
11672 * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
11673 for type comparison and gcc_checking_assert.
11674 (chrec_fold_plus_poly_poly): Likewise.
11675 (chrec_fold_multiply_poly_poly): Likewise.
11676 (chrec_convert_1): Likewise.
11677 * gimplify.c (gimplify_expr): Remove premature folding of
11678 &X + CST to &MEM[&X, CST].
11679
11680 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
11681
11682 * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
11683 already is final.
11684 (ipa_inline): Recompute inline_failed codes.
11685 * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
11686 USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
11687 CIF_FINAL_ERROR.
11688
11689 2015-03-20 Uros Bizjak <ubizjak@gmail.com>
11690
11691 PR rtl-optimization/60851
11692 * recog.c (constrain_operands): Accept a pseudo register before reload
11693 for LRA enabled targets.
11694
11695 2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
11696
11697 PR target/65240
11698 * config/rs6000/predicates.md (easy_fp_constant): Remove special
11699 -ffast-math handling that kept non-0 constants live in the RTL
11700 until reload. Remove logic testing the number of instructions it
11701 took to create a constant in a GPR that was never used, due to a
11702 test for soft-float earlier.
11703 (memory_fp_constant): Delete, no longer used.
11704
11705 * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
11706 alternatives for loading non-0 constants into GPRs for hard
11707 floating point that is no longer needed due to changes in
11708 easy_fp_constant. Add support for loading 0.0 into GPRs.
11709 (mov<mode>_hardfloat32): Likewise.
11710 (mov<mode>_hardfloat64): Likewise.
11711 (mov<mode>_64bit_dm): Likewise.
11712 (movtd_64bit_nodm): Likewise.
11713 (pre-reload move FP constant define_split): Delete define_split,
11714 since it is no longer used.
11715 (extenddftf2_internal): Remove GHF constraints that are not valid
11716 for extenddftf2.
11717
11718 2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
11719
11720 PR rtl-optimization/63491
11721 * lra-constraints.c (check_and_process_move): Use src instead of
11722 sreg. Remove some dead code.
11723
11724 2015-03-19 Jan Hubicka <hubicka@ucw.cz>
11725
11726 PR ipa/65380
11727 * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
11728 (sem_variable::merge): Likewise.
11729
11730 2015-03-19 Martin Liska <mliska@suse.cz>
11731
11732 PR ipa/65465
11733 * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
11734 all fields of cgraph_thunk_info.
11735
11736 2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
11737
11738 * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
11739 clone instrumented thunks.
11740
11741 2015-03-19 Richard Biener <rguenther@suse.de>
11742
11743 Revert
11744 2015-03-10 Richard Biener <rguenther@suse.de>
11745
11746 PR middle-end/63155
11747 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
11748 * tree-ssa-coalesce.c: Include timevar.h.
11749 (attempt_coalesce): Handle graph being NULL.
11750 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
11751 Split out abnormal coalescing to ...
11752 (perform_abnormal_coalescing): ... this function.
11753 (coalesce_ssa_name): Perform abnormal coalescing without computing
11754 live/conflict.
11755 (verify_ssa_coalescing_worker): New function.
11756 (verify_ssa_coalescing): Likewise.
11757
11758 2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
11759 Jakub Jelinek <jakub@redhat.com>
11760
11761 PR sanitizer/65400
11762 * tsan.c (instrument_gimple): Clear tail call flag on
11763 calls.
11764
11765 2015-03-19 Jakub Jelinek <jakub@redhat.com>
11766
11767 PR sanitizer/65400
11768 * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
11769 call in the return bb.
11770 (find_split_points): Add RETURN_BB argument, don't call
11771 find_return_bb.
11772 (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
11773 if true append TSAN_FUNC_EXIT internal call after the call to
11774 the split off function.
11775 (execute_split_functions): Call find_return_bb here.
11776 Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
11777 Adjust find_split_points and split_function calls.
11778
11779 2015-03-18 DJ Delorie <dj@redhat.com>
11780
11781 * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
11782 (iorqi3_virt): Likewise.
11783
11784 2015-03-18 Tom de Vries <tom@codesourcery.com>
11785
11786 * tree-parloops.c (parallelize_loops): Make static.
11787 * tree-parloops.h (parallelize_loops): Remove extern declaration.
11788
11789 2015-03-18 Andrew Stubbs <ams@codesourcery.com>
11790
11791 PR middle-end/64491
11792 Revert:
11793 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
11794
11795 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
11796 condition would be removed due to undefined behaviour.
11797
11798 2015-03-18 Martin Liska <mliska@suse.cz>
11799
11800 PR ipa/65432
11801 * cgraph.c (cgraph_node::get_create): Remove unnecessary
11802 xstrdup_for_dump wrapper.
11803 * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
11804 sem_item::name.
11805 (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
11806 with xstrdup_for_dump.
11807 (sem_variable::equals): Likewise.
11808 (sem_item_optimizer::read_section): Use symtab_node::name instead of
11809 sem_item::name.
11810 (sem_item_optimizer::parse_funcs_and_vars): Likewise.
11811 (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
11812 symtab_node::asm_name with xstrdup_for_dump.
11813 (congruence_class::dump): Use symtab_node::name instead of
11814 sem_item::name.
11815 * ipa-icf.h (symtab_node::name): Remove.
11816 (symtab_node::asm_name): Likewise.
11817
11818 2015-03-18 Jakub Jelinek <jakub@redhat.com>
11819
11820 PR tree-optimization/65450
11821 * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
11822 function.
11823 (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
11824 it instead of duplicate_ssa_name_ptr_info.
11825
11826 PR target/65222
11827 * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
11828
11829 2015-03-18 Richard Biener <rguenther@suse.de>
11830
11831 * tree-data-ref.h (struct access_matrix): Remove.
11832 (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
11833 AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
11834 AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
11835 (am_vector_index_for_loop): Likewise.
11836 (struct data_reference): Remove access_matrix member.
11837 (DR_ACCESS_MATRIX): Remove.
11838 (lambda_vector_new): Add comment.
11839 (lambda_matrix_new): Use XOBNEWVEC.
11840
11841 2015-03-18 Richard Biener <rguenther@suse.de>
11842
11843 * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
11844 (pass_ch::execute): Cleanup the CFG only if we did sth.
11845 * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
11846
11847 2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11848
11849 * expmed.c (synth_mult): Use std::swap instead of manually
11850 swapping algorithms.
11851
11852 2015-03-18 Jakub Jelinek <jakub@redhat.com>
11853
11854 PR target/65078
11855 * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
11856
11857 2015-03-16 Georg-Johann Lay <avr@gjlay.de>
11858
11859 PR target/65296
11860 * config/avr/avr.opt (-nodevicelib): New option.
11861 * doc/invoke.texi (AVR Options): Document it.
11862 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
11863 libgcc.a, libc.a, libm.a.
11864 * config/avr/specs.h: Same.
11865 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
11866 which don't (directly) depend on the device. Print more help.
11867 (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
11868 (*cpp): Don't define __AVR_DEV_LIB_NAME__.
11869 * config/avr/driver-avr.c: Remove -nodevicelib from option list in
11870 case of an error.
11871 (avr_devicespecs_file): Use suffix "%s" instead of absolute path
11872 for specs file name.
11873 * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
11874 * config/avr/avr-mcus.def: Adjust initializers and comments.
11875
11876 2015-03-16 Jan Hubicka <hubicka@ucw.cz>
11877
11878 * tree-sra.c (ipa_sra_preliminary_function_checks): Use
11879 DECL_ONE_ONLY to check if decl is one only.
11880 * ipa-split.c (consider_split): Limit splitt of one only functions.
11881
11882 2015-03-16 Jakub Jelinek <jakub@redhat.com>
11883
11884 PR tree-optimization/65427
11885 * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
11886 functions.
11887 (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
11888
11889 2015-03-16 Marek Polacek <polacek@redhat.com>
11890
11891 * cgraph.h (add_new_static_var): Remove declaration.
11892 * varpool.c (add_new_static_var): Remove function.
11893
11894 2015-03-16 Jakub Jelinek <jakub@redhat.com>
11895
11896 * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
11897 instead of vec<tree> * with vec_alloc and release for args.
11898 Adjust all users.
11899
11900 PR middle-end/65431
11901 * omp-low.c (delete_omp_context): Only splay_tree_delete
11902 reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
11903 is_gimple_omp_oacc contexts. Don't look at ctx->outer.
11904
11905 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
11906
11907 PR sanitizer/64820
11908 * cfgexpand.c (align_base): New function.
11909 (alloc_stack_frame_space): Call it.
11910 (expand_stack_vars): Align prev_frame to be sure
11911 data->asan_vec elements aligned properly.
11912
11913 2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
11914
11915 PR middle-end/65409
11916 * expr.c (store_field): Do not do a direct block copy if the source is
11917 a PARALLEL with BLKmode.
11918
11919 2015-03-16 Tom de Vries <tom@codesourcery.com>
11920
11921 PR middle-end/65414
11922 Revert:
11923 2015-03-12 Tom de Vries <tom@codesourcery.com>
11924
11925 PR rtl-optimization/64895
11926 * lra-lives.c (check_pseudos_live_through_calls): Use
11927 actual_call_used_reg_set instead of call_used_reg_set, if available.
11928
11929 2015-03-16 Alan Modra <amodra@gmail.com>
11930
11931 PR target/63150
11932 * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
11933 Modify Z->r bswapdi splitter to use dest in place of scratch.
11934 In r->Z and Z->r bswapdi splitter rename word_high, word_low
11935 to word1, word2 and rearrange logic to suit.
11936 (bswapdi2_64bit): Remove early clobber on Z->r alternative.
11937 (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
11938 (bswapdi2_32bit): Remove early clobber on Z->r alternative.
11939 Add one '?' on r->r. Modify Z->r splitter to avoid need for
11940 early clobber.
11941
11942 2015-03-14 Jakub Jelinek <jakub@redhat.com>
11943
11944 PR tree-optimization/65369
11945 * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
11946 Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
11947 (vs - 1) * TYPE_SIZE_UNIT (elem_type).
11948
11949 PR tree-optimization/65418
11950 * tree-ssa-reassoc.c (extract_bit_test_mask): If there
11951 are casts in the first PLUS_EXPR operand, ensure tbias and
11952 *totallowp are in the inner type.
11953
11954 PR rtl-optimization/65401
11955 * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
11956 argument. If true, adjust_address_nv of x with big-endian
11957 correction for the mode widening to GET_MODE (y).
11958 (make_field_assignment): Don't do MEM mode widening here.
11959 Use MEM_P instead of GET_CODE == MEM.
11960
11961 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
11962
11963 * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
11964 the external decls.
11965
11966 2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11967
11968 PR target/64600
11969 * config/arm/arm.c (arm_gen_constant, AND case): Use
11970 ARM_SIGN_EXTEND when constructing AND mask.
11971
11972 2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
11973
11974 * graph.c (print_graph_cfg): Make function names visible and append
11975 parenthesis to it. Also make groups of basic blocks belonging to the
11976 same function visible.
11977
11978 2015-03-12 Richard Biener <rguenther@suse.de>
11979
11980 PR middle-end/44563
11981 * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
11982 to avoid quadratic behavior with inline expansion splitting blocks.
11983 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
11984 with the successor if the predecessor will be merged with it.
11985 * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
11986 entry block with its successor.
11987
11988 2015-03-13 Richard Biener <rguenther@suse.de>
11989
11990 PR middle-end/44563
11991 * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
11992 (cleanup_tree_cfg_1): Do not call it.
11993 (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
11994 (fixup_noreturn_call): Mark the stmt as control altering.
11995 * tree-cfg.c (execute_fixup_cfg): Do not dump the function
11996 here.
11997 (pass_data_fixup_cfg): Produce a dump file.
11998 * tree-ssa-dom.c: Include tree-cfgcleanup.h.
11999 (need_noreturn_fixup): New global.
12000 (pass_dominator::execute): Fixup queued noreturn calls.
12001 (optimize_stmt): Queue calls that became noreturn for fixup.
12002 * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
12003 * tree-ssa-pre.c: Include tree-cfgcleanup.h.
12004 (el_to_fixup): New global.
12005 (eliminate_dom_walker::before_dom_childre): Queue calls that
12006 became noreturn for fixup.
12007 (eliminate): Fixup queued noreturn calls.
12008 * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
12009 (substitute_and_fold_dom_walker): New member stmts_to_fixup.
12010 (substitute_and_fold_dom_walker::before_dom_children): Queue
12011 alls that became noreturn for fixup.
12012 (substitute_and_fold): Fixup queued noreturn calls.
12013
12014 2015-03-12 Jan Hubicka <hubicka@ucw.cz>
12015
12016 * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
12017 and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
12018 are building; for methods check ODR type of class they belong to if
12019 they may lead to a polymorphic call.
12020 (sem_function::compare_polymorphic_p): Be bit smarter about testing
12021 when function may lead to a polymorphic call.
12022 (sem_function::compare_type_list): Remove.
12023 (sem_variable::equals): Update use of compatible_types_p.
12024 (sem_variable::parse_tree_refs): Remove.
12025 (sem_item_optimizer::filter_removed_items): Do not filter out CXX
12026 cdtor.
12027 * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
12028 matching here.
12029 (func_checker::compatible_polymorphic_types_p): Break out from ...
12030 (unc_checker::compatible_types_p): ... here.
12031 * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
12032 Declare.
12033 (unc_checker::compatible_types_p): Update.
12034 * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
12035 Remove.
12036
12037 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12038
12039 PR rtl-optimization/65235
12040 * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
12041 When first element of vec_concat is const_int, calculate its size
12042 using second element.
12043
12044 2015-03-12 Richard Biener <rguenther@suse.de>
12045
12046 PR middle-end/65270
12047 * fold-const.c (operand_equal_p): Fix ordering of resetting
12048 OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
12049
12050 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
12051
12052 * config/s390/s390.c (s390_reorg): Move code to output nops after label
12053 to s390_reorg ().
12054 (s390_asm_output_function_label): Likewise.
12055 * config/s390/s390.c (s390_asm_output_function_label):
12056 Fix function label alignment with -mhtopatch.
12057 * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
12058 UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
12059 ("nop_2_byte"): New define_insn.
12060 ("nop_4_byte"): Likewise.
12061 ("nop_6_byte"): Likewise.
12062 * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
12063 * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
12064
12065 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
12066
12067 PR target/65103
12068 * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
12069 register.
12070
12071 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
12072
12073 PR target/65044
12074 * toplev.c (process_options): Restrict Pointer Bounds Checker
12075 usage with Address Sanitizer.
12076
12077 2015-03-12 Richard Biener <rguenther@suse.de>
12078
12079 * tree-cfg.c (gimple_split_block): Remove loop finding stmt
12080 to split on.
12081 * omp-low.c (expand_omp_taskreg): Split block before removing
12082 the stmt.
12083 (expand_omp_target): Likewise.
12084 * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
12085 * tree-parloops.c (create_call_for_reduction_1): Pass a proper
12086 stmt to split_block.
12087
12088 2015-03-12 Tom de Vries <tom@codesourcery.com>
12089
12090 PR rtl-optimization/64895
12091 * lra-lives.c (check_pseudos_live_through_calls): Use
12092 actual_call_used_reg_set instead of call_used_reg_set, if available.
12093
12094 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
12095
12096 * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
12097 (cgraph_node::remove): Likewise.
12098 (cgraph_node::get_untransformed_body): Likewise.
12099 * varpool.c (varpool_node::remove): Likewise.
12100 (varpool_node::get_constructor): Add sanity check.
12101
12102 2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
12103
12104 * doc/invoke.texi (-fgnu89-inline): Remove discussion about
12105 old GCC versions.
12106 (-fabi-compat-version): Likewise.
12107 (-ffriend-injection): Likewise.
12108 (-Wdeclaration-after-statement): Likewise.
12109 (-fomit-frame-pointer): Likewise.
12110 (-ftree-coalesce-inlined-vars): Likewise.
12111 (-fvisibility=): Likewise.
12112 * doc/extend.texi (Typeof): Likewise.
12113 (Zero Length): Likewise.
12114 (Escaped Newlines): Likewise.
12115 (Compound Literals): Likewise.
12116 (Function Attributes): Likewise.
12117 (Label Attributes): Likewise.
12118 (Type Attributes): Likewise.
12119 (Function Names): Likewise.
12120 (Other Builtins): Likewise.
12121 (Function Specific Option Pragmas): Likewise.
12122 (C++ Interface): Likewise.
12123
12124 2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
12125
12126 * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
12127
12128 2015-03-11 Marek Polacek <polacek@redhat.com>
12129
12130 PR tree-optimization/65388
12131 * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
12132
12133 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
12134
12135 PR target/65296
12136 * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
12137 * configure: Regenerate.
12138 * config.in: Regenerate.
12139 * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
12140 [-mn-flash]: Document it.
12141 [__AVR_ARCH__]: Document avrtiny.
12142
12143 * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
12144 (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
12145 (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
12146
12147 2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
12148
12149 * doc/invoke.texi: Add missing cpu values (z196, zEC12).
12150
12151 2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
12152
12153 PR target/65242
12154 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
12155 allow reloads of PLUS in floating point/VSX registers.
12156
12157 2015-03-11 Junmo Park <junmoz.park@samsung.com>
12158
12159 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
12160 crypto_sha256_fast.
12161 (cortex_a57_crypto_complex): Add crypto_sha256_slow.
12162
12163 2015-03-11 Richard Biener <rguenther@suse.de>
12164
12165 PR tree-optimization/65310
12166 * tree-sra.c (build_ref_for_offset): Also preserve larger
12167 alignment.
12168
12169 2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
12170
12171 * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
12172
12173 2015-03-10 Jakub Jelinek <jakub@redhat.com>
12174
12175 PR target/65368
12176 * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
12177 new define_expand.
12178 (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
12179
12180 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
12181
12182 * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
12183 (sem_function::equals_wpa): ... here.
12184
12185 2015-03-10 Marek Polacek <polacek@redhat.com>
12186 Jakub Jelinek <jakub@redhat.com>
12187
12188 PR sanitizer/65367
12189 * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
12190 when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
12191 separately.
12192
12193 2015-03-10 Jakub Jelinek <jakub@redhat.com>
12194
12195 PR target/65286
12196 * config/rs6000/t-linux: For powerpc64* target set
12197 MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
12198
12199 2015-03-10 Richard Biener <rguenther@suse.de>
12200
12201 PR middle-end/44563
12202 * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
12203 for redirect_all_calls.
12204
12205 2015-03-10 Marek Polacek <polacek@redhat.com>
12206
12207 * gdbinit.in (pcfun): Define and document.
12208
12209 2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
12210
12211 * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
12212 of libgomp-plugin.h.
12213 (find_target_compiler): Support a case when the path to gcc is
12214 specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
12215 (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
12216 intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
12217 libgomp-plugin.h.
12218 (main): Use GCC_INSTALL_NAME as target_driver_name.
12219 * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
12220 define.
12221 (mkoffload.o): Remove obsolete include path and defines.
12222 (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
12223
12224 2015-03-10 Richard Biener <rguenther@suse.de>
12225
12226 PR middle-end/63155
12227 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
12228 * tree-ssa-coalesce.c: Include timevar.h.
12229 (attempt_coalesce): Handle graph being NULL.
12230 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
12231 Split out abnormal coalescing to ...
12232 (perform_abnormal_coalescing): ... this function.
12233 (coalesce_ssa_name): Perform abnormal coalescing without computing
12234 live/conflict.
12235 (verify_ssa_coalescing_worker): New function.
12236 (verify_ssa_coalescing): Likewise.
12237
12238 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
12239
12240 PR target/65296
12241 * config.gcc (extra_options) [avr]: Remove.
12242 (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
12243 (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
12244 (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
12245
12246 * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
12247 (-mmcu=): Add Var and MissingArgError properties.
12248 (-march=): Remove.
12249 * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
12250 * config/avr/t-multilib: Regenerate.
12251 * config/avr/specs.h: New file.
12252 * config/avr/driver-avr.c: New file.
12253 * config/avr/genopt.sh: Remove file.
12254 * config/avr/avr-tables.opt: Remove file.
12255 * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
12256 * config/avr/avr-c.c: Same.
12257 * avr-arch.h: Same.
12258 (avr_current_device): Remove proto.
12259 * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
12260 (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
12261 (EXTRA_SPEC_FUNCTIONS): Define.
12262 (avr_devicespecs_file): New specs function proto.
12263 (DRIVER_SELF_SPECS): Use device-specs-file spec function.
12264 * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
12265 (avr_current_device): Remove definition and usage.
12266 (avr_set_core_architecture): New static function.
12267 (avr_option_override): Use it.
12268 * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
12269 (mcu_name): New static array.
12270 (comparator, avr_archs_str, avr_mcus_str): New static functions.
12271 (avr_inform_devices, avr_inform_core_architectures): New functions.
12272 * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
12273 (avrlibc.h) [WITH_AVRLIBC]: Include.
12274 (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
12275 (print_mcu): Rewrite from scratch.
12276 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
12277 Forward to avr-specific specs defined in device-specs file.
12278 * config/avr/t-avr (driver-avr.o): New rule.
12279 (avr-devices.o): Depend on avr-arch.h.
12280 (avr-mcus): No more depend on avr-tables.opt.
12281 (avr-tables.opt): Remove rule.
12282 (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
12283
12284 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
12285
12286 * c-family/c.opt (fchkp-use-wrappers): New.
12287 * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
12288 (chkp_wrap_function): New.
12289 (chkp_build_instrumented_fndecl): Support wrapped
12290 functions.
12291 * doc/invoke.texi (-fcheck-pointer-bounds): New.
12292 (-fchkp-check-incomplete-type): New.
12293 (-fchkp-first-field-has-own-bounds): New.
12294 (-fchkp-narrow-bounds): New.
12295 (-fchkp-narrow-to-innermost-array): New.
12296 (-fchkp-optimize): New.
12297 (-fchkp-use-fast-string-functions): New.
12298 (-fchkp-use-nochk-string-functions): New.
12299 (-fchkp-use-static-bounds): New.
12300 (-fchkp-use-static-const-bounds): New.
12301 (-fchkp-treat-zero-dynamic-size-as-infinite): New.
12302 (-fchkp-check-read): New.
12303 (-fchkp-check-write): New.
12304 (-fchkp-store-bounds): New.
12305 (-fchkp-instrument-calls): New.
12306 (-fchkp-instrument-marked-only): New.
12307 (-fchkp-use-wrappers): New.
12308 (-static-libmpx): New.
12309 (-static-libmpxwrappers): New.
12310
12311 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
12312
12313 * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
12314 (CHKP_SPEC): Add wrappers library.
12315 * c-family/c.opt (static-libmpxwrappers): New.
12316
12317 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
12318
12319 * config/i386/linux-common.h (LIBMPX_LIBS): New.
12320 (LIBMPX_SPEC): New.
12321 (CHKP_SPEC): New.
12322 * gcc.c (CHKP_SPEC): New.
12323 (LINK_COMMAND_SPEC): Add CHKP_SPEC.
12324 * c-family/c.opt (static-libmpx): New.
12325
12326 2015-03-10 Richard Biener <rguenther@suse.de>
12327
12328 PR middle-end/44563
12329 * cgraph.h (struct cgraph_edge_hasher): Add hash overload
12330 for compare_type.
12331 * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
12332 (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
12333 (cgraph_add_edge_to_call_site_hash): Likewise.
12334 (cgraph_node::get_edge): Likewise.
12335 (cgraph_edge::set_call_stmt): Likewise.
12336 (cgraph_edge::remove_caller): Likewise.
12337
12338 2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
12339
12340 * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
12341 (callee_saved_gpr_regs_size): ... this.
12342 (callee_saved_regs_first_regno): Rename to ...
12343 (callee_saved_first_gpr_regno): ... this.
12344 (callee_saved_regs_last_regno) Rename to ...
12345 (callee_saved_last_gpr_regno): ... this.
12346 * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
12347 variables.
12348 (nds32_initial_elimination_offset): Likewise.
12349 (nds32_expand_prologue): Likewise.
12350 (nds32_expand_epilogue): Likewise.
12351 (nds32_expand_prologue_v3push): Likewise.
12352 (nds32_expand_epilogue_v3pop): Likewise.
12353 * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
12354 Adjust renamed variables.
12355 (nds32_output_stack_pop): Likewise.
12356
12357 2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
12358
12359 * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
12360 code in comment.
12361
12362 2015-03-10 Jakub Jelinek <jakub@redhat.com>
12363
12364 PR rtl-optimization/65321
12365 * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
12366 than shift mode.
12367 * var-tracking.c (use_narrower_mode): Likewise.
12368
12369 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
12370
12371 PR tree-optimization/65355
12372 * varasm.c (notice_global_symbol): Do not produce RTL.
12373 * symtab.c (symtab_node::can_increase_alignment_p): Check for section
12374 anchor.
12375 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
12376 check for section anchors.
12377
12378 2015-03-10 Alan Modra <amodra@gmail.com>
12379
12380 PR target/65286
12381 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
12382 to be single-arch by default. Set cpu_is_64bit for powerpc64
12383 given --with-cpu=native.
12384 * config/rs6000/t-fprules: Do not set default MULTILIB vars.
12385 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
12386 and powerpc64le.
12387 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
12388 rs6000_isa_flags rather than TARGET_64BIT.
12389
12390 2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
12391 Kaz Kojima <kkojima@gcc.gnu.org>
12392
12393 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
12394
12395 2015-03-09 Jakub Jelinek <jakub@redhat.com>
12396
12397 PR lto/65361
12398 * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
12399 on a TREE_BINFO, instead use BINFO_TYPE.
12400
12401 2015-03-09 Richard Biener <rguenther@suse.de>
12402
12403 PR middle-end/65270
12404 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
12405 * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
12406 operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
12407 of that. When comparing dereferences compare alignment.
12408 When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
12409
12410 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
12411
12412 * ipa-inline-analysis.c (check_callers): Check
12413 node->can_remove_if_no_direct_calls_and_refs_p.
12414 (growth_likely_positive): Reorganize to call
12415 can_remove_if_no_direct_calls_p later.
12416 * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
12417 will_be_removed_from_program_if_no_direct_calls_p): Add
12418 will_inline parameter.
12419 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
12420 cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
12421 Handle inliner case correctly.
12422
12423 2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
12424
12425 PR tree-optimization/63743
12426 * cfgexpand.c (reorder_operands): Also reorder if only second operand
12427 had its definition forwarded by TER.
12428
12429 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
12430
12431 PR lto/65316
12432 * ipa-utils.h (types_odr_comparable): Add strict argument.
12433 * ipa-devirt.c: Fix whitespace;
12434 (odr_hasher): Remove.
12435 (odr_name_hasher, odr_vtable_hasher): New hashers.
12436 (can_be_name_hashed_p): New predicate.
12437 (hash_type_name): remove.
12438 (hash_odr_name): New.
12439 (odr_name_hasher::hash): new.
12440 (can_be_vtable_hashed_p): New.
12441 (hash_odr_vtable): New.
12442 (odr_vtable_hasher::hash): New.
12443 (types_same_for_odr): Add strict parameter.
12444 (types_odr_comparable): Likewise.
12445 (odr_name_hasher::equal): New.
12446 (odr_vtable_hasher::equal): New.
12447 (odr_name_hasher::remove): New.
12448 (odr_hash_type): Change to hash_table<odr_name_hasher>.
12449 (odr_vtable_hash_type): New.
12450 (odr_vtable_hash): New.
12451 (odr_subtypes_equivalent_p): Do strict comparsion.
12452 (add_type_duplicate): Merge type names; cleanup; avoid type
12453 duplicates.
12454 (register_odr_type): Initialize vtable hash.
12455 (build_type_inheritance_graph): Likewise
12456 (get_odr_type): Reorg to use two hashes.
12457 (dump_possible_polymorphic_call_targets): Move sanity check after debug
12458 output.
12459 (ipa_devirt): Dump type_inheritance_graph.
12460 (types_same_for_odr): Add strict mode.
12461
12462 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
12463
12464 PR ipa/65334
12465 * cgraph.h (symtab_node): Add definition_alignment,
12466 can_increase_alignment_p and increase_alignment.
12467 * symtab.c (symtab_node::can_increase_alignment_p,
12468 increase_alignment_1, symtab_node::increase_alignment,
12469 symtab_node::definition_alignment): New.
12470 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
12471 can_increase_alignment_p.
12472 * tree-vectorizer.c (increase_alignment): Use increase_alignment.
12473 * tree-vect-stmts.c (ensure_base_align): Likewise.
12474 * varasm.c (function_section_1): Use definition_alignment.
12475 (assemble_start_function): Likewise.
12476 (emit_local): likewise.
12477 (build_constant_desc): Likewsie.
12478 (output_constant_def_contents): Likewise.
12479 (place_block_symbol): Likewise.
12480 (output_object_block): Likewise.
12481
12482 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
12483
12484 PR ipa/65316
12485 * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
12486 when outputting debug.
12487
12488 2015-03-07 Marek Polacek <polacek@redhat.com>
12489 Martin Uecker <uecker@eecs.berkeley.edu>
12490
12491 PR sanitizer/65280
12492 * doc/invoke.texi: Update description of -fsanitize=bounds.
12493
12494 2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
12495
12496 * tree-ssa-phiopt.c (neg_replacement): Remove.
12497 (tree_ssa_phiopt_worker): Remove negate optimization.
12498
12499 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
12500
12501 PR ipa/65302
12502 * value-prof.c (gimple_ic): Pure dead eh edges when needed.
12503
12504 2015-03-06 Richard Biener <rguenther@suse.de>
12505
12506 PR middle-end/64928
12507 * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
12508 and liveout_obstack members.
12509 (calculate_live_on_exit): Remove.
12510 (calculate_live_ranges): Change declaration.
12511 * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
12512 (new_tree_live_info): Adjust.
12513 (calculate_live_ranges): Delete livein when not wanted.
12514 (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
12515 Deal with partly deleted live info.
12516 (loe_visit_block): Remove temporary bitmap by using
12517 bitmap_ior_and_compl_into.
12518 (live_worklist): Adjust accordingly.
12519 (calculate_live_on_exit): Make static.
12520 * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
12521 we do not need livein.
12522
12523 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
12524
12525 * real.c (real_from_string): Fix typo in assertion.
12526
12527 2015-03-06 Alex Velenko <alex.velenko@arm.com>
12528
12529 * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
12530 the patch.
12531
12532 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
12533
12534 * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
12535
12536 2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
12537
12538 PR target/64342
12539 * lra-assigns.c (find_hard_regno_for): Rename to
12540 find_hard_regno_for_1. Add a new parameter.
12541 (find_hard_regno_for): New function using find_hard_regno_for_1.
12542
12543 2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
12544
12545 PR rtl-optimization/65067
12546 * expmed.c (store_bit_field, extract_bit_field): Reworked the
12547 strict volatile bitfield handling.
12548
12549 2015-03-05 Martin Liska <mliska@suse.cz>
12550
12551 PR ipa/65318
12552 * ipa-icf.c (sem_variable::equals): Compare variables types.
12553
12554 2015-03-05 Richard Henderson <rth@redhat.com>
12555
12556 PR target/65121
12557 * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
12558 correctly check weak symbol binding.
12559
12560 2015-03-05 Steve Ellcey <sellcey@imgtec.com>
12561
12562 PR middle-end/65315
12563 * cfgexpand.c (expand_stack_vars): Update large_align to maximum
12564 needed alignment.
12565
12566 2015-03-05 Martin Liska <mliska@suse.cz>
12567
12568 * ipa-inline.c (inline_small_functions): Set default value to
12569 prevent warning during bootstrap.
12570 * tree.h: Add pragma guard that ignores false positives during
12571 bootstrap.
12572
12573 2015-03-05 Richard Biener <rguenther@suse.de>
12574
12575 PR tree-optimization/65310
12576 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
12577 Properly preserve alignment of the base of the access.
12578
12579 2015-03-05 Richard Biener <rguenther@suse.de>
12580
12581 PR ipa/65270
12582 * ipa-icf-gimple.c (func_checker::compare_memory_operand):
12583 Compare dependence info.
12584
12585 2015-03-05 Richard Biener <rguenther@suse.de>
12586
12587 PR middle-end/65233
12588 * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
12589 tree-into-ssa.h.
12590 (walk_ssa_copies): Revert last chage. Instead do not walk
12591 SSA names registered for SSA update.
12592
12593 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
12594
12595 PR ipa/65270
12596 * ipa-icf.c (sem_item::compare_cgraph_references): Compare
12597 vtable references for their containing type.
12598 (sem_function::equals_wpa): Compare TYPE_RESTRICT
12599 and type attributes.
12600
12601 2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
12602
12603 * fold-const.c (round_up_loc): Cast divisor to signed on all paths
12604 before negating it.
12605 * stor-layout.c (finalize_record_size): Revert latest change.
12606
12607 2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
12608
12609 * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
12610
12611 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
12612
12613 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
12614 for correct comdat handling.
12615 (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
12616 Likewise.
12617 * cgraph.h (call_for_symbol_and_aliases): Fix formating.
12618 (used_from_object_file_p_worker): Remove.
12619 (cgraph_node::only_called_directly_or_alised): Add
12620 used_from_object_file_p.
12621 * ipa-inline-analysis.c (growth_likely_positive): Optimie.
12622 * ipa-inline-transform.c (can_remove_node_now_p_1): Use
12623 can_remove_if_no_direct_calls_and_refs_p.
12624
12625 2015-03-04 Nick Clifton <nickc@redhat.com>
12626
12627 * config/rl78/rl78.h (enum reg_class): Remove real registers from
12628 General register class.
12629 * config/rl78/rl78-real.md: Replace general register constraints
12630 with real+virtual register constraints.
12631
12632 2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
12633
12634 * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
12635 from checking for -mhtm option.
12636
12637 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
12638
12639 * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
12640 (struct ipa_sra_check_caller_data): Add has_thunk field.
12641 (ipa_sra_check_caller): Check for thunk.
12642 (ipa_sra_preliminary_function_checks): Give up on function with
12643 thunks.
12644 (ipa_early_sra): Use call_for_symbol_and_aliases.
12645
12646 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
12647
12648 PR target/65249
12649 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
12650 called for __stack_chk_guard symbol.
12651
12652 2015-03-03 DJ Delorie <dj@redhat.com>
12653
12654 * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
12655 inc/dec.
12656 (*addhi3_real): Likewise.
12657 * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
12658 pattern to match incrementing memory.
12659 * config/rl78/predicates.md (rl78_1_2_operand): New.
12660 * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
12661 it's the same and only mem.
12662 (rl78_alloc_physical_registers_op2): If there's effectively only
12663 one MEM, transcode it into HL.
12664 (rl78_far_p): Reject addresses that aren't legitimate.
12665
12666 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
12667
12668 * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
12669 negating it.
12670
12671 * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
12672
12673 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
12674
12675 Implement call0 ABI for xtensa
12676 * config/xtensa/constraints.md ("a" constraint): Include stack
12677 pointer in case of call0 ABI.
12678 ("q" constraint): Make empty in case of call0 ABI.
12679 ("D" constraint): Include stack pointer in case of call0 ABI.
12680 * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
12681 xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
12682 prototypes.
12683 * config/xtensa/xtensa.c (xtensa_callee_save_size): New
12684 variable.
12685 (xtensa_regno_to_class): Make it a local variable in the
12686 function xtensa_regno_to_class.
12687 (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
12688 macro, function prototype and implementation.
12689 (reg_nonleaf_alloc_order): Make it a local variable in the
12690 function order_regs_for_local_alloc.
12691 (xtensa_conditional_register_usage): New function.
12692 (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
12693 (xtensa_valid_move): Allow direct moves to stack pointer
12694 register in call0 ABI.
12695 (xtensa_setup_frame_addresses): Only spill register windows in
12696 windowed ABI.
12697 (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
12698 call0 ABI respectively.
12699 (xtensa_function_arg_1): Only mark a7 register for copying in
12700 windowed ABI.
12701 (xtensa_call_save_reg): New function.
12702 (compute_frame_size): Add space for callee saved register
12703 storage to the frame size in call0 ABI.
12704 (xtensa_expand_prologue): Generate code to set up stack frame
12705 and save callee-saved registers in call0 ABI.
12706 (xtensa_expand_epilogue): New function.
12707 (xtensa_set_return_address): New function.
12708 (xtensa_return_addr): Calculate return address in call0 ABI.
12709 (xtensa_builtin_saveregs): Only mark a7 register for copying and
12710 emit copying code in windowed ABI.
12711 (order_regs_for_local_alloc): Add preferred register allocation
12712 order for non-leaf function in call0 ABI.
12713 (xtensa_static_chain): Add atatic chain passing for call0 ABI.
12714 (xtensa_asm_trampoline_template): Add trampoline generation for
12715 call0 ABI.
12716 (xtensa_trampoline_init): Add trampoline initialization for
12717 call0 ABI.
12718 (xtensa_conditional_register_usage, xtensa_regno_to_class): New
12719 functions.
12720 * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
12721 (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
12722 (CALL_USED_REGISTERS): Modify to encode both windowed and call0
12723 ABI call-used registers.
12724 (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
12725 (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
12726 call0 ABI.
12727 (REG_CLASS_CONTENTS): Include all registers into the preferred
12728 reload registers set, adjust the set in the
12729 xtensa_conditional_register_usage.
12730 (xtensa_regno_to_class): Drop variable declaration.
12731 (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
12732 function.
12733 (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
12734 respectively.
12735 (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
12736 (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
12737 (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
12738 (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
12739 location in call0 ABI.
12740 (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
12741 stack adjustment size when handling exception.
12742 (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
12743 * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
12744 definitions.
12745 ("return" pattern): Generate ret.n/ret in call0 ABI.
12746 ("epilogue" pattern): Expand epilogue.
12747 ("nonlocal_goto" pattern): Use default in call0 ABI.
12748 ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
12749 emit eh_set_a0_* depending on ABI.
12750 ("eh_set_a0_windowed" pattern): Former eh_return pattern.
12751 ("eh_set_a0_call0", "blockage"): New patterns.
12752
12753 2015-03-03 Martin Liska <mliska@suse.cz>
12754
12755 PR ipa/65287
12756 * ipa-icf.c (sem_variable::parse): Skip all alias variables.
12757
12758 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
12759
12760 PR 65138/target
12761 * config/rs6000/rs6000-tables.opt: Regenerate table.
12762
12763 2015-03-03 Renlin Li <renlin.li@arm.com>
12764
12765 * doc/md.texi (@item ^): Change ? into ^.
12766
12767 2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
12768
12769 * doc/tm.texi: Regenerated.
12770
12771 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
12772
12773 * builtins.c (expand_builtin_return_addr): Add
12774 RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
12775 surrounding #ifdef.
12776 * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
12777 definition to 1.
12778 * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
12779 Likewise.
12780 * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
12781 undefined.
12782 * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
12783 paragraph.
12784
12785 2015-03-03 Martin Jambor <mjambor@suse.cz>
12786 Eric Botcazou <ebotcazou@adacore.com>
12787
12788 * tree-sra.c (ipa_sra_check_caller_data): New type.
12789 (has_caller_p): Removed.
12790 (ipa_sra_check_caller): New function.
12791 (ipa_sra_preliminary_function_checks): Use it.
12792
12793 2015-03-03 Martin Liska <mliska@suse.cz>
12794
12795 * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
12796 instead of if branch.
12797
12798 2015-03-03 Martin Liska <mliska@suse.cz>
12799
12800 PR ipa/65282
12801 * ipa-icf.c (sem_variable::equals): Fix wrong condition.
12802
12803 2015-03-23 Jeff Law <law@redhat.com>
12804
12805 PR tree-optimization/65241
12806 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
12807 hash table if INSERT is true.
12808
12809 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
12810
12811 PR target/65296
12812 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
12813
12814 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
12815
12816 PR target/64331
12817 * config/avr/avr.c (context.h, tree-pass.h): Include them.
12818 (avr_pass_data_recompute_notes): New static variable.
12819 (avr_pass_recompute_notes): New class.
12820 (avr_register_passes): New static function.
12821 (avr_option_override): Call it.
12822
12823 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
12824
12825 Fix various problems with specs file generation.
12826
12827 PR target/65296
12828 * config.gcc (extra_gcc_objs) [avr]: Remove.
12829 * config/avr/driver-avr.c: Remove file.
12830 * config/avr/t-avr (driver-avr.o): Remove rule.
12831 (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
12832 INCLUDES to build. Depend on TM_H.
12833 * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
12834 build warnings. Fix non-matching types and non-existing %-codes.
12835 (tm.h): Include.
12836 (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
12837 (*libgcc) [WITH_AVRLIBC]: Add "-lm".
12838 * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
12839 * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
12840 (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
12841 (LIBGCC_SPEC): Remove definitions.
12842
12843 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
12844
12845 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
12846 to create a register in testing mode.
12847
12848 2015-03-03 Martin Liska <mliska@suse.cz>
12849 Jan Hubicka <hubicka@ucw.cz>
12850
12851 PR ipa/65263
12852 * cgraph.c (cgraph_node::has_thunk_p): New function.
12853 * cgraph.h (cgraph_node::has_thunk_p: Likewise.
12854 * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
12855 (sem_function::merge): Assert is changed.
12856
12857 2015-03-03 Martin Liska <mliska@suse.cz>
12858 Martin Jambor <mjambor@suse.cz>
12859
12860 PR ipa/65087
12861 * ipa-icf.c (sem_item_optimizer::execute): Change function
12862 return value to boolean.
12863 (sem_item_optimizer::merge_classes): Likewise.
12864 (ipa_icf_driver): Return TODO_remove_functions in case there's
12865 a merge operation processed.
12866 * ipa-icf.h: Change function return value to boolean.
12867
12868 2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
12869
12870 PR 65138/target
12871 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
12872 processor type for 64-bit little endian PowerPC.
12873
12874 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
12875 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
12876 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
12877 printing built-in mask so it does not pass NULL pointers.
12878
12879 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
12880 -mcpu=powerpc64le.
12881
12882 2015-03-02 Steve Ellcey <sellcey@imgtec.com>
12883
12884 PR target/58158
12885 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
12886 !ISA_HAS_FP_CONDMOVE.
12887
12888 2015-03-02 Aldy Hernandez <aldyh@redhat.com>
12889
12890 * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
12891 reload_completed.
12892
12893 2015-03-02 Ulrich Drepper <drepper@gmail.com>
12894
12895 * doc/invoke.texi (Options for Code Generation Conventions):
12896 Fix URL of DSO paper.
12897
12898 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
12899
12900 PR ipa/65130
12901 * ipa-inline.c (check_callers): Looks for recursion.
12902 (inline_to_all_callers): Give up on uninlinable or recursive edges.
12903 * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
12904 summary of inline clones.
12905 (do_estimate_growth_1): Fix recursion check.
12906
12907 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
12908
12909 PR ipa/64988
12910 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
12911 comdat groups.
12912
12913 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
12914 Aldy Hernandez <aldyh@redhat.com>
12915
12916 PR lto/65276
12917 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
12918 when checking TYPE_BINFO.
12919
12920 2015-03-02 Richard Biener <rguenther@suse.de>
12921
12922 PR ipa/65270
12923 * ipa-icf-gimple.c: Include builtins.h.
12924 (func_checker::compare_memory_operand): Compare base alignment.
12925
12926 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
12927
12928 PR target/65184
12929 * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
12930 are never passed by reference.
12931
12932 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
12933
12934 PR target/65183
12935 * tree-chkp.c (chkp_check_lower): Don't check against
12936 zero bounds for already instrumented functions.
12937 (chkp_check_upper): Likewise.
12938 (chkp_fini): Clean pass local data to avoid wrong reusage.
12939
12940 2015-02-28 Martin Liska <mliska@suse.cz>
12941 Jan Hubicka <hubicka@ucw.cz>
12942
12943 * ipa-icf.c (sem_variable::equals): Improve debug output;
12944 get variable constructor.
12945 (sem_variable::parse): Do not filter out too early; give up on
12946 volatile and register vars.
12947 (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
12948 variables.
12949 * ipa-icf.h (sem_variable::init): Do not set ctor.
12950 (sem_variable::ctor): Remove.
12951
12952 2015-03-01 Aldy Hernandez <aldyh@redhat.com>
12953
12954 PR middle-end/65233
12955 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
12956
12957 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
12958
12959 * ipa-icf.c: Include stor-layout.h
12960 (sem_function::compare_cgraph_references): Rename to ...
12961 (sem_item::compare_cgraph_references): ... this one.
12962 (sem_variable::equals_wpa): New function
12963 (sem_variable::equals): Do not check stuff already verified by
12964 equals_wpa.
12965 (sem_variable::equals): Reorg based on varasm.c:compare_constant.
12966 * ipa-icf.h (sem_item): Add compare_cgraph_references.
12967 (sem_function): Remove compare_cgraph_references.
12968 (sem_variable): Turns equals_wpa into non-inline.
12969
12970 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
12971
12972 * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
12973 (sem_item::add_expr): New function.
12974 (sem_function::hash_stmt): Handle operands of most statements.
12975 (sem_variable::get_hash): Hash the actual constructor.
12976 * ipa-icf.h (sem_item): Add add_expr.
12977 (sem_function): Update prototype of hash_stmt
12978
12979 2015-02-28 Martin Liska <mliska@suse.cz>
12980 Jan Hubicka <hubicka@ucw.cz>
12981
12982 PR ipa/65245
12983 * ipa-icf-gimple.c (func_checker::compare_function_decl):
12984 Remove.
12985 (func_checker::compare_variable_decl): Skip symtab vars.
12986 (func_checker::compare_cst_or_decl): Update.
12987 * ipa-icf.c (sem_function::parse): Do not consider aliases.
12988 (sem_function::compare_cgraph_references): Add ADDRESS parameter;
12989 use correct symtab predicates.
12990 (sem_function::equals_wpa): Update uses of compare_cgraph_references.
12991 (sem_variable::parse): Update comment.
12992 (sem_item_optimizer::build_graph): Consider ultimate aliases
12993 for references.
12994
12995 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
12996
12997 * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
12998 of OBJ_TYPE_REF.
12999
13000 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
13001
13002 * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
13003 (sem_variable::merge) Likewise.
13004
13005 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
13006
13007 * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
13008 target; also match flag_ipa_devirt.
13009
13010 2015-03-01 Martin Liska <mliska@suse.cz>
13011 Jan Hubicka <hubicka@ucw.cz>
13012
13013 * ipa-icf-gimple.c (func_checker::compare_variable_decl):
13014 Validate variable alignment.
13015 * ipa-icf.c (sem_function::equals_private): Be more precise
13016 about non-common function attributes.
13017 (sem_variable::equals): Likewise.
13018
13019 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
13020
13021 PR ipa/65237
13022 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
13023 across COMDAT group boundary.
13024
13025 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
13026
13027 PR ipa/65232
13028 * ipa-icf.c (clear_decl_rtl): New function.
13029 (sem_function::merge): Clear RTL before forming alias.
13030 (sem_variable::merge): Clear RTL before forming alias.
13031
13032 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
13033
13034 PR ipa/65236
13035 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
13036
13037 2015-02-28 Xingxing Pan <xxingpan@marvell.com>
13038
13039 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
13040 to neon_to_gp<q>.
13041
13042 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
13043
13044 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
13045 a typo in the description.
13046
13047 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
13048
13049 PR target/64317
13050 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
13051 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
13052 * lra-constraints.c: Include "params.h".
13053 (EBB_PROBABILITY_CUTOFF): Use
13054 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
13055 (lra_inheritance): Use '<' instead of '<=' for
13056 EBB_PROBABILITY_CUTOFF.
13057 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
13058 Document change.
13059
13060 2015-02-27 Martin Liska <mliska@suse.cz>
13061
13062 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
13063 vector length condition.
13064
13065 2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
13066
13067 * doc/extend.texi (x86 transactional memory intrinsics):
13068 Reorganize discussion of _xbegin. Clarify that the return
13069 value is a bit mask. Expand example and move to end of section.
13070
13071 2015-02-26 Jakub Jelinek <jakub@redhat.com>
13072 Aldy Hernandez <aldyh@redhat.com>
13073
13074 PR rtl-optimization/65220
13075 * config/i386/i386.md (*udivmod<mode>4_pow2): New.
13076
13077 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
13078
13079 PR target/65032
13080 * lra-remat.c (update_scratch_ops): New.
13081 (do_remat): Call it.
13082 * lra.c (lra_register_new_scratch_op): New. Take code from ...
13083 (remove_scratches): ... here.
13084 * lra-int.h (lra_register_new_scratch_op): New prototype.
13085
13086 2015-02-27 Marek Polacek <polacek@redhat.com>
13087
13088 PR c/65040
13089 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
13090 -Wformat-signedness anymore.
13091
13092 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13093
13094 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
13095 function.
13096 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
13097
13098 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13099
13100 * config/s390/s390.c (enum s390_builtin):
13101 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
13102 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
13103 (s390_init_builtins): Generate new builtin functions.
13104 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
13105 (s390_sfpc, s390_efpc): New pattern definitions.
13106
13107 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13108
13109 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
13110 Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
13111 (s390_builtin_decls): New array.
13112 (s390_init_builtins): Put builtin decls into s390_builtin_decls.
13113 (s390_builtin_decl): New function.
13114 (TARGET_BUILTIN_DECL): Define macro.
13115
13116 2015-02-27 Richard Biener <rguenther@suse.de>
13117
13118 PR middle-end/63175
13119 * builtins.c (get_object_alignment_2): Make sure to re-apply
13120 the ANDed mask after recursing to its operand gets us a new
13121 misalignment bit position.
13122
13123 2015-02-26 Jan Hubicka <hubicka@ucw.cz>
13124 Martin Liska <mliska@suse.cz>
13125
13126 PR bootstrap/65150
13127 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
13128 Use address_matters_p.
13129 (redirect_all_callers, set_addressable): New functions.
13130 (sem_function::merge): Reorganize and fix merging issues.
13131 (sem_variable::merge): Likewise.
13132 (sem_variable::compare_sections): Remove.
13133 * common.opt (fmerge-all-constants, fmerge-constants): Remove
13134 Optimization flag.
13135 * symtab.c (symtab_node::resolve_alias): When alias has aliases,
13136 redirect them.
13137 (symtab_node::make_decl_local): Set ADDRESSABLE bit when
13138 decl is used.
13139 (address_matters_1): New function.
13140 (symtab_node::address_matters_p): New function.
13141 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
13142 check for merged flag.
13143 * cgraph.h (address_matters_p): Declare.
13144 (symtab_node::address_taken_from_non_vtable_p): Remove.
13145 (symtab_node::address_can_be_compared_p): New method.
13146 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
13147 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
13148 Remove.
13149 (comdat_can_be_unshared_p_1) Use address_matters_p.
13150 (update_vtable_references): Fix formating.
13151 * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
13152 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
13153 * cgraphclones.c: Preserve merged and icf_merged flags.
13154
13155 2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
13156
13157 * doc/extend.texi (Function Attributes): Fix spelling and typos.
13158 (Label Attributes): Likewise.
13159 (Cilk Plus Builtins): Likewise.
13160 (ARC SIMD Built-in Functions): Likewise.
13161 (ARM C Language Extensions (ACLE)): Likewise.
13162 (PowerPC Built-in Functions): Likewise.
13163 (PowerPC Hardware Transactional Memory Built-in Functions):
13164 Likewise.
13165
13166 2015-02-26 Jakub Jelinek <jakub@redhat.com>
13167
13168 PR tree-optimization/65216
13169 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
13170 new stmt and new SSA_NAME for lhs whenever the arguments have
13171 changed and weren't just swapped. Fix comment typo.
13172
13173 PR tree-optimization/65215
13174 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
13175 for PDP endian targets.
13176 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
13177 Fix up formatting issues.
13178 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
13179 size is smaller than the original, adjust MEM_REF offset by the
13180 difference of sizes. Use is_gimple_mem_ref_addr instead of
13181 is_gimple_min_invariant test to avoid adding address temporaries.
13182
13183 2015-02-26 Martin Liska <mliska@suse.cz>
13184 Jan Hubicka <hubicka@ucw.cz>
13185
13186 PR ipa/64693
13187 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
13188 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
13189 (sem_item_optimizer::process_cong_reduction): Include division by
13190 sensitive references.
13191 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
13192 * ipa-ref.c (ipa_ref::address_matters_p): New function.
13193 * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
13194
13195 2015-02-26 Georg-Johann Lay <avr@gjlay.de>
13196
13197 PR target/65192
13198 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
13199 Remove.
13200 * config/avr/avr.c: Same.
13201 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
13202 Refuse any constant address not in 0..0xbf.
13203 * config/avr/avr.md (*mov<mode>, *movsf): Remove
13204 tiny_valid_direct_memory_access_range from insn conditions.
13205 (mov<mode>): Don't special-case expansion of avrtiny addresses.
13206
13207 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
13208
13209 PR target/61142
13210 * config/sh/sh.c (sh_check_add_incdec_notes): New function.
13211 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
13212 * config/sh/predicates.md (const_logical_operand): New predicate.
13213 * config/sh/sh.md: Add new peephole2 patterns.
13214
13215 2015-02-26 Marek Polacek <polacek@redhat.com>
13216
13217 PR ipa/65008
13218 * ipa-inline.c (early_inliner): Recompute inline parameters.
13219
13220 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13221
13222 PR target/65171
13223 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
13224 instructions with TImode operands are included in the analysis.
13225
13226 2015-02-26 Sebastian Pop <s.pop@samsung.com>
13227
13228 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
13229 of an EDGE_FSM_THREAD.
13230
13231 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
13232
13233 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
13234
13235 2015-02-25 Aldy Hernandez <aldyh@redhat.com>
13236
13237 PR debug/46102
13238 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
13239
13240 2015-02-26 Sebastian Pop <s.pop@samsung.com>
13241
13242 PR tree-optimization/65048
13243 * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
13244 (thread_through_all_blocks): Call valid_jump_thread_path.
13245 Remove invalid FSM jump-thread paths.
13246
13247 2015-02-26 Jakub Jelinek <jakub@redhat.com>
13248
13249 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
13250 (ipa_write_optimization_summaries): Likewise.
13251 * tree-streamer.h: Include data-streamer.h.
13252 (streamer_mode_table): Declare extern variable.
13253 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
13254 * lto-streamer-out.c (lto_output_init_mode_table,
13255 lto_write_mode_table): New functions.
13256 (produce_asm_for_decls): Call lto_write_mode_table when streaming
13257 offloading LTO.
13258 * lto-section-in.c (lto_section_name): Add "mode_table" entry.
13259 (lto_create_simple_input_block): Add mode_table argument to the
13260 lto_input_block constructors.
13261 * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
13262 Likewise.
13263 * data-streamer-in.c (string_for_index): Likewise.
13264 * ipa-inline-analysis.c (inline_read_section): Likewise.
13265 * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
13266 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
13267 * lto-streamer-in.c (lto_read_body_or_constructor,
13268 lto_input_toplevel_asms): Likewise.
13269 (lto_input_mode_table): New function.
13270 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
13271 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
13272 Use bp_pack_machine_mode.
13273 * real.h (struct real_format): Add name field.
13274 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
13275 (class lto_input_block): Add mode_table member.
13276 (lto_input_block::lto_input_block): Add mode_table_ argument,
13277 initialize mode_table.
13278 (struct lto_file_decl_data): Add mode_table field.
13279 (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
13280 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
13281 unpack_ts_decl_common_value_fields,
13282 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
13283 * tree-streamer.c (streamer_mode_table): New variable.
13284 * real.c (ieee_single_format, mips_single_format,
13285 motorola_single_format, spu_single_format, ieee_double_format,
13286 mips_double_format, motorola_double_format,
13287 ieee_extended_motorola_format, ieee_extended_intel_96_format,
13288 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
13289 ibm_extended_format, mips_extended_format, ieee_quad_format,
13290 mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
13291 decimal_single_format, decimal_double_format, decimal_quad_format,
13292 ieee_half_format, arm_half_format, real_internal_format): Add name
13293 field.
13294 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
13295
13296 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
13297
13298 PR target/65161
13299 * config/i386/i386.c (ix86_sched_reorder): Skip instruction
13300 reordering for selective scheduling.
13301
13302 2015-02-26 Terry Guo <terry.guo@arm.com>
13303
13304 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
13305 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
13306 (arm_arch_no_volatile_ce): Declare new global variable.
13307 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
13308 (arm_option_override): Assign value to arm_arch_no_volatile_ce.
13309 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
13310 (TARGET_NO_VOLATILE_CE): New macro.
13311 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
13312 volatile memory access in IT block
13313
13314 2015-02-25 Kai Tietz <ktietz@redhat.com>
13315
13316 PR tree-optimization/61917
13317 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
13318 that reduc_def_stmt is null.
13319
13320 2015-02-25 Martin Liska <mliska@suse.cz>
13321
13322 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
13323 hard register variables.
13324
13325 2015-02-25 Kai Tietz <ktietz@redhat.com>
13326
13327 PR target/64212
13328 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
13329 (symtab::noninterposable_alias): Likewise.
13330
13331 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
13332
13333 PR target/65167
13334 * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
13335 bounds registers.
13336 (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
13337
13338 2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
13339
13340 PR target/64997
13341 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
13342 as split condition; force split via '#' in output pattern.
13343
13344 2015-02-25 Richard Biener <rguenther@suse.de>
13345 Kai Tietz <ktietz@redhat.com>
13346
13347 PR tree-optimization/61917
13348 * tree-vect-loop.c (vectorizable_reduction): Allow
13349 vect_internal_def without reduction to exit graceful.
13350
13351 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
13352
13353 PR target/65196
13354 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
13355 only with NONDEBUG_INSN_P.
13356
13357 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
13358
13359 Use variadic macros with avr-log.c.
13360
13361 * config/avr/avr-protos.h (avr_vdump): New prototype.
13362 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
13363 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
13364 * config/avr/avr-log.c: Adjust comments.
13365 (avr_vdump): New function.
13366 (avr_vadump): Pass caller as 2nd argument instead of format string.
13367 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
13368 (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
13369
13370 2015-02-25 Jakub Jelinek <jakub@redhat.com>
13371
13372 PR lto/64374
13373 * target.def (target_option_stream_in): New target hook.
13374 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
13375 targetm.target_option.post_stream_in if non-NULL.
13376 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
13377 * doc/tm.texi: Updated.
13378 * config/i386/i386.c (ix86_function_specific_post_stream_in): New
13379 function.
13380 (TARGET_OPTION_POST_STREAM_IN): Redefine.
13381
13382 2015-02-24 Jeff Law <law@redhat.com>
13383
13384 PR target/65117
13385 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
13386 of operand 0 and operand 2.
13387 (zero_cost_loop_end, loop_end): Similarly.
13388
13389 2015-02-24 Aldy Hernandez <aldyh@redhat.com>
13390
13391 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
13392 CXX_MEM_STAT_INFO.
13393
13394 2015-02-24 DJ Delorie <dj@redhat.com>
13395
13396 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
13397 * config/rl78/rl78-expand.md (movsf): New, same as movsi.
13398 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
13399 instead of hardcoding SImode.
13400
13401 2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
13402
13403 * omp-low.c (create_omp_child_function): Tag entrypoint
13404 functions with a special attribute.
13405
13406 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
13407
13408 PR target/65058
13409 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
13410
13411 2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
13412
13413 PR rtl-optimization/65123
13414 * lra-remat.c (operand_to_remat): Check hard regs in insn
13415 definition too.
13416
13417 2015-02-24 Nick Clifton <nickc@redhat.com>
13418
13419 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
13420 to the assembler.
13421
13422 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
13423
13424 PR libgomp/64625
13425 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
13426 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
13427 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
13428 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
13429 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
13430 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
13431 (BUILT_IN_GOACC_PARALLEL): Specify as
13432 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
13433 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
13434 * builtin-types.def
13435 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
13436 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
13437 Remove function types.
13438 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
13439 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
13440 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
13441 New function types.
13442
13443 2015-02-24 Georg-Johann Lay <avr@gjlay.de>
13444
13445 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
13446
13447 2015-02-24 Jakub Jelinek <jakub@redhat.com>
13448
13449 PR tree-optimization/65170
13450 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
13451 if val[1] < 0, clear also val[2] and return 3.
13452
13453 2015-02-24 Alan Modra <amodra@gmail.com>
13454
13455 PR target/65172
13456 * config/rs6000/rs6000.c (get_memref_parts): Only return true
13457 when *base is a reg. Handle nested plus addresses. Simplify
13458 pre_modify test.
13459
13460 2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
13461
13462 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
13463 use natural alignment when optimizing for size.
13464
13465 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
13466
13467 PR target/65153
13468 * config/sh/sh.md (movsicc_true+3): Remove peephole.
13469 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
13470 * config/sh/sh.c (replace_n_hard_rtx): Remove.
13471
13472 2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
13473
13474 PR fortran/63427
13475 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
13476 too big for a wide_int. Implement missing wrapping operation.
13477
13478 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
13479
13480 PR target/65163
13481 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
13482 instead of const_int 4294901760.
13483
13484 2015-02-23 Georg-Johann Lay <avr@gjlay.de>
13485
13486 * config/avr/t-avr: Fix typo in comment.
13487
13488 2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
13489
13490 * doc/rtl.texi (fma): Clarify documentation.
13491
13492 2015-02-20 Aldy Hernandez <aldyh@redhat.com>
13493
13494 PR debug/58123
13495 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
13496 over input_location.
13497
13498 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
13499
13500 * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
13501 unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
13502 restrict alignments to absolute_biggest_alignment.
13503 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
13504 Define.
13505 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
13506 * doc/tm.texi: Regenerate.
13507 * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
13508
13509 2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
13510
13511 PR target/64172
13512 * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
13513
13514 2015-02-20 Richard Biener <rguenther@suse.de>
13515
13516 PR tree-optimization/65136
13517 * tree-ssa-propagate.c: Include cfgloop.h.
13518 (replace_phi_args_in): Avoid replacing loop latch edge PHI
13519 arguments with constants.
13520
13521 2015-02-20 Jakub Jelinek <jakub@redhat.com>
13522 Martin Liska <mliska@suse.cz>
13523
13524 PR target/63892
13525 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
13526 don't try to create_thunk if stdarg_p. If
13527 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
13528 redirect_callers if possible.
13529 (sem_item_optimizer::execute): Call unregister_hooks here...
13530 (ipa_icf_driver): ... instead of here.
13531
13532 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13533
13534 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
13535 Mark operand 0 as earlyclobber in 2nd alternative.
13536 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
13537 Write negated shift amount into QI lowpart operand 0 and use it
13538 in the shift step.
13539 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
13540
13541 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
13542
13543 * cgraph.h (clone_function_name_1): Declare.
13544 * cgraphclones.c (clone_function_name_1): New function.
13545 (clone_function_name): Use it.
13546 * lto-partition.c: Include "stringpool.h".
13547 (must_not_rename, maybe_rewrite_identifier)
13548 (validize_symbol_for_target): New static functions.
13549 (privatize_symbol_name): Use must_not_rename.
13550 (promote_symbol): Call validize_symbol_for_target.
13551 (lto_promote_cross_file_statics): Likewise.
13552 (lto_promote_statics_nonwpa): Likewise.
13553
13554 2015-02-20 Georg-Johann Lay <avr@gjlay.de>
13555
13556 PR target/64452
13557 * config/avr/avr.md (pushhi_insn): New insn.
13558 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
13559
13560 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
13561 Jakub Jelinek <jakub@redhat.com>
13562
13563 * tree-streamer.c (preload_common_nodes): Don't preload
13564 TI_VA_LIST* for offloading.
13565 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
13566 in_lto_p.
13567
13568 2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
13569
13570 * config/pa/pa.c (pa_emit_move_sequence): Always force
13571 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
13572 note on insn.
13573
13574 * config/pa/pa.c (pa_reloc_rw_mask): New function.
13575 (TARGET_ASM_RELOC_RW_MASK): Define.
13576 (pa_cannot_force_const_mem): Revert previous change.
13577
13578 2015-02-19 Martin Jambor <mjmabor@suse.cz>
13579 Jan Hubicka <hubicka@ucw.cz>
13580
13581 PR ipa/65028
13582 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
13583 across jump functions.
13584
13585 2015-02-19 Uros Bizjak <ubizjak@gmail.com>
13586
13587 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
13588
13589 2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
13590
13591 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
13592
13593 2015-02-19 Richard Henderson <rth@redhat.com>
13594
13595 PR middle-end/65074
13596 * varasm.c (default_binds_local_p_2): Don't test node->definition;
13597 test DECL_EXTERNAL independent of symtab_node.
13598
13599 2015-02-19 Jakub Jelinek <jakub@redhat.com>
13600
13601 PR lto/65012
13602 * varpool.c (varpool_node::get_constructor): Return early
13603 if this->lto_file_data is NULL.
13604
13605 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
13606
13607 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
13608 (rank_for_schedule_debug): Update.
13609 (ready_sort): Make static. Move sorting logic to ...
13610 (ready_sort_debug, ready_sort_real): New static functions.
13611 (schedule_block): Sort both debug insns and real insns in preparation
13612 for ready list trimming. Improve debug output.
13613 * sched-int.h (ready_sort): Remove global declaration.
13614
13615 2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
13616
13617 * ipa-icf.c (sem_function::equals_private): Adjust.
13618 (sem_function::bb_dict_test): Take a vec<int> * instead of
13619 auto_vec<int>.
13620 * ipa-icf.h (bb_dict_test): Likewise.
13621
13622 2015-02-18 Jakub Jelinek <jakub@redhat.com>
13623
13624 PR gcov-profile/64634
13625 * tree-eh.c (frob_into_branch_around): Fix up typos
13626 in function comment.
13627 (lower_catch): Put eh_seq resulting from EH lowering of
13628 the cleanup sequence after the cleanup rather than before it.
13629
13630 2015-02-18 Tom de Vries <tom@codesourcery.com>
13631
13632 * common.opt (fstdarg-opt): New option.
13633 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
13634 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
13635 (@item -fstdarg-opt): New item.
13636
13637 2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
13638
13639 PR target/65064
13640 * config/ia64/predicates.md (sdata_symbolic_operand): Return false
13641 for common symbols.
13642
13643 2015-02-18 Jakub Jelinek <jakub@redhat.com>
13644
13645 * config/i386/t-intelmic (mkoffload.o): Remove dependency on
13646 insn-modes.h.
13647 (ALL_HOST_OBJS): Add mkoffload.o.
13648 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
13649
13650 2015-02-18 Jan Hubicka <hubicka@ucw.cz>
13651
13652 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
13653 (compare_virtual_tables): Be smarter about skipping typeinfos;
13654 do sane output on virtual table table mismatch.
13655 (warn_odr): Be ready for forward declarations of enums;
13656 output sane info on base mismatch and virtual table mismatch.
13657 (add_type_duplicate): Fix code choosing prevailing type; do not ICE
13658 when only one type is polymorphic.
13659 (get_odr_type): Fix hashtable corruption.
13660 (dump_odr_type): Dump mangled names.
13661
13662 2015-02-18 Richard Biener <rguenther@suse.de>
13663
13664 PR tree-optimization/65063
13665 * tree-predcom.c (determine_unroll_factor): Return 1 if we
13666 have replaced looparound PHIs.
13667
13668 2015-02-18 Martin Liska <mliska@suse.cz>
13669
13670 * lto-streamer.c (lto_streamer_init): Encapsulate
13671 streamer_check_handled_ts_structures with checking macro.
13672
13673 2015-02-18 Jakub Jelinek <jakub@redhat.com>
13674
13675 PR ipa/65087
13676 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
13677 section if !implicit_section.
13678 (cgraph_node::create_version_clone_with_body): Likewise.
13679 * trans-mem.c (ipa_tm_create_version): Likewise.
13680
13681 2015-02-18 Richard Biener <rguenther@suse.de>
13682
13683 PR tree-optimization/62217
13684 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
13685 into BIVs.
13686
13687 2015-02-18 Marek Polacek <polacek@redhat.com>
13688
13689 PR sanitizer/65081
13690 * ubsan.c (OBJSZ_MAX_OFFSET): Define.
13691 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
13692 is in range [-16K, -1]. Don't issue run-time error if
13693 (ptr > ptr + offset).
13694
13695 2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
13696
13697 * doc/install.texi (nvptx-*-none): New section.
13698 * doc/invoke.texi (Nvidia PTX Options): Likewise.
13699 * config/nvptx/nvptx.opt: Update.
13700
13701 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
13702 (access_check): New functions, copied from
13703 config/i386/intelmic-mkoffload.c.
13704 (main): For non-installed testing, look in all COMPILER_PATHs for
13705 GCC_INSTALL_NAME.
13706
13707 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
13708
13709 2015-02-18 Andrew Pinski <apinski@cavium.com>
13710 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
13711
13712 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
13713 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
13714
13715 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
13716
13717 * ipa-visibility.c (function_and_variable_visibility): Only
13718 check locality if node is not already local.
13719 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
13720 call_for_symbol_and_aliases instead of
13721 call_for_symbol_thunks_and_aliases.
13722 (ipa_inline): Likewise.
13723 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
13724 first walk aliases.
13725 * ipa.c (symbol_table::remove_unreachable_nodes): Use
13726 call_for_symbol_and_aliases.
13727 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
13728 (ipa_propagate_frequency_1): Use it; use opt_for_fn
13729 (ipa_propagate_frequency): Update.
13730 (ipa_profile): Add opt_for_fn gueards.
13731
13732 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
13733
13734 * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
13735 * doc/invoke.texi (SH options): Document it.
13736 * config/sh/sh.c (sh_insn_length_adjustment): Check
13737 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
13738
13739 2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
13740
13741 * common.opt (fipa-cp-alignment): New.
13742 * ipa-cp.c (ipcp_store_alignment_results): Check
13743 flag_ipa_cp_alignment.
13744 * opts.c (default_options_table): Enable -fipa-cp-alignment for
13745 -O2.
13746 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
13747 * doc/invoke.texi: Document -fipa-cp-alignment.
13748
13749 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
13750
13751 PR target/64793
13752 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
13753 to nil. Adjust comments.
13754
13755 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
13756
13757 * ipa-visibility.c (function_and_variable_visibility): Only
13758 check locality if node is not already local.
13759 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
13760 call_for_symbol_and_aliases instead of
13761 call_for_symbol_thunks_and_aliases.
13762 (ipa_inline): Likewise.
13763 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
13764 first walk aliases.
13765 * ipa.c (symbol_table::remove_unreachable_nodes): Use
13766 call_for_symbol_and_aliases.
13767 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
13768 (ipa_propagate_frequency_1): Use it; use opt_for_fn
13769 (ipa_propagate_frequency): Update.
13770 (ipa_profile): Add opt_for_fn guards.
13771
13772 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
13773
13774 * config/nvptx/mkoffload.c (parse_file): Fix logic error in
13775 skipping of "strange" tokens.
13776
13777 2015-02-17 Jeff Law <law@redhat.com>
13778
13779 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
13780 obsolete comment.
13781
13782 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
13783
13784 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
13785 as forcing a HARD_DEP between instructions, thereby
13786 disallowing rewriting to break dependencies.
13787
13788 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
13789
13790 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
13791 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
13792 variables in boundary that have no inlitalizer encoded and are
13793 not aliases.
13794 * varasm.c (default_binds_local_p_2): External definitions do not
13795 count as definitions here.
13796
13797 2015-02-16 Jeff Law <law@redhat.com>
13798
13799 PR tree-optimization/64823
13800 * tree-vrp.c (identify_jump_threads): Handle blocks with no real
13801 statements.
13802 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
13803 threading through blocks with PHIs, but no statements.
13804 (thread_through_normal_block): Distinguish between blocks where
13805 we did not process all the statements and blocks with no statements.
13806
13807 2015-02-16 Jakub Jelinek <jakub@redhat.com>
13808 James Greenhalgh <james.greenhalgh@arm.com>
13809
13810 PR ipa/64963
13811 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
13812 section if not linkonce. Fix up formatting.
13813 (cgraph_node::create_version_clone_with_body): Copy section.
13814 * trans-mem.c (ipa_tm_create_version): Likewise.
13815
13816 2015-02-16 Richard Biener <rguenther@suse.de>
13817
13818 PR tree-optimization/65077
13819 * tree-ssa-structalias.c (get_constraint_for_1): Handle
13820 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
13821 (find_func_aliases): Allow float values to carry pointers again.
13822
13823 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
13824
13825 * doc/install.texi (Specific): Reorder targets list to put
13826 aarch64 in alphabetical order. Add a link to aarch64*-*-*
13827 from the top menu.
13828
13829 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
13830 David Edelsohn <dje.gcc@gmail.com>
13831
13832 PR target/65058
13833 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
13834 mapping class to external variable or function reference.
13835 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
13836 mapping class.
13837
13838 2015-02-16 David Eelsohn <dje.gcc@gmail.com>
13839
13840 PR target/53348
13841 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
13842 ASM_WEAKEN_DECL if defined.
13843
13844 2015-02-16 Richard Biener <rguenther@suse.de>
13845
13846 PR lto/65015
13847 * varasm.c (default_file_start): For LTO produced units
13848 emit <artificial> as file directive.
13849
13850 2015-02-16 Richard Biener <rguenther@suse.de>
13851
13852 PR tree-optimization/63593
13853 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
13854 stmts and releasing SSA names until...
13855 (execute_pred_commoning): ... after processing all chains.
13856
13857 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
13858
13859 PR ipa/65059
13860 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
13861 external functions.
13862
13863 2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
13864
13865 * doc/bugreport.texi: Adjust section titles throughout the file
13866 to use "Title Case".
13867 * doc/extend.texi: Likewise.
13868 * doc/gcov.texi: Likewise.
13869 * doc/implement-c.texi: Likewise.
13870 * doc/implement-cxx.texi: Likewise.
13871 * doc/invoke.texi: Likewise.
13872 * doc/objc.texi: Likewise.
13873 * doc/standards.texi: Likewise.
13874 * doc/trouble.texi: Likewise.
13875
13876 2015-02-15 Jan Hubicka <hubicka@ucw.cz>
13877
13878 * cgraph.h (symtab_node::has_aliases_p): Simplify.
13879 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
13880 * tree.c (lookup_binfo_at_offset): Make static.
13881 (get_binfo_at_offset): Do not shadow offset; add explanatory
13882 comment.
13883
13884 2015-02-15 John David Anglin <danglin@gcc.gnu.org>
13885
13886 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
13887 for all floading point loads and stores except those using a register
13888 index address.
13889 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
13890 to a register.
13891
13892 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
13893
13894 * ipa-inline-analysis.c (growth_data): Add uninlinable field.
13895 (do_estimate_growth_1): Record if any uninlinable edge was seen.
13896 (estimate_growth): Handle uninlinable edges correctly.
13897 (check_callers): New.
13898 (growth_likely_positive): Handle aliases correctly.
13899
13900 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
13901
13902 * ipa-chkp.c: Use iterate_direct_aliases.
13903 * symtab.c (resolution_used_from_other_file_p): Move inline.
13904 (symtab_node::create_reference): Fix formating.
13905 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
13906 (symtab_node::iterate_reference): Move inline.
13907 (symtab_node::iterate_referring): Move inline.
13908 (symtab_node::iterate_direct_aliases): Move inline.
13909 (symtab_node::used_from_object_file_p_worker): Inline into ...
13910 (symtab_node::used_from_object_file_p): ... this one; move inline.
13911 (symtab_node::call_for_symbol_and_aliases): Move inline;
13912 use iterate_direct_aliases.
13913 (symtab_node::call_for_symbol_and_aliases_1): New method.
13914 (cgraph_node::call_for_symbol_and_aliases): Move inline;
13915 use iterate_direct_aliases.
13916 (cgraph_node::call_for_symbol_and_aliases_1): New method.
13917 (varpool_node::call_for_node_and_aliases): Rename to ...
13918 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
13919 use iterate_direct_aliases.
13920 (varpool_node::call_for_symbol_and_aliases_1): New method.
13921 * ipa.c (ipa_single_use): Use iterate_direct_aliases.
13922 (ipa_discover_readonly_nonaddressable_var): Update.
13923 * ipa-devirt.c: Fix formating.
13924 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
13925 Move inline.
13926 (cgraph_node::call_for_symbol_and_aliases): Move inline.
13927 (cgraph_node::call_for_symbol_and_aliases_1): New function..
13928 * cgraph.h (used_from_object_file_p_worker): Remove.
13929 (resolution_used_from_other_file_p): Move inline.
13930 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
13931 (symtab_node::iterate_reference): Move inline.
13932 (symtab_node::iterate_referring): Move inline.
13933 (symtab_node::iterate_direct_aliases): Move inline.
13934 (symtab_node::used_from_object_file_p_worker): Inline into ...
13935 (symtab_node::used_from_object_file_p): Move inline.
13936 * tree-emutls.c (ipa_lower_emutls): Update.
13937 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
13938 (varpool_node::call_for_node_and_aliases): Remove.
13939
13940 2015-02-14 Jakub Jelinek <jakub@redhat.com>
13941
13942 PR tree-optimization/62209
13943 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
13944 op == range->exp, insert seq and gimplified code after labels
13945 instead of after the phi.
13946
13947 2015-02-13 Jeff Law <law@redhat.com>
13948
13949 PR bootstrap/65060
13950 Revert my change for tree-optimization/64823.
13951
13952 2015-02-13 Jakub Jelinek <jakub@redhat.com>
13953
13954 PR tree-optimization/65053
13955 * tree-ssa-phiopt.c (value_replacement): When moving assign before
13956 cond, either reset VR on lhs or set it to phi result VR.
13957
13958 2015-02-13 Jeff Law <law@redhat.com>
13959
13960 PR tree-optimization/64823
13961 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
13962 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
13963 threading through blocks with PHIs, but no statements.
13964 (thread_through_normal_block): Distinguish between blocks where
13965 we did not process all the statements and blocks with no statements.
13966
13967 PR rtl-optimization/47477
13968 * match.pd (convert (plus/minus (convert @0) (convert @1): New
13969 simplifier to narrow arithmetic.
13970
13971 2015-02-13 Jan Hubicka <hubicka@ucw.cz>
13972
13973 PR ipa/65028
13974 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
13975 polymorphic call info when type is not known to be preserved.
13976
13977 2015-02-13 Maritn Jambor <mjambor@suse.cz>
13978
13979 PR ipa/65028
13980 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
13981 (inline_call): Use it.
13982
13983 2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
13984
13985 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
13986 GOMP_DEVICE_NVIDIA_PTX.
13987
13988 2015-02-13 Jakub Jelinek <jakub@redhat.com>
13989
13990 PR ipa/65034
13991 * stmt.c (emit_case_nodes): Use void_type_node instead of
13992 NULL_TREE as LABEL_DECL type.
13993
13994 2015-02-13 John David Anglin <danglin@gcc.gnu.org>
13995
13996 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
13997 constraints.
13998 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
13999 symbolic references to data to be forced to constant memory on the
14000 SOM target.
14001
14002 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
14003
14004 PR tree-optimization/65002
14005 * tree-cfg.c (pass_data_fixup_cfg): Don't update
14006 SSA on start.
14007 * tree-sra.c (some_callers_have_no_vuse_p): New.
14008 (ipa_early_sra): Reject functions whose callers
14009 assume function is read only.
14010
14011 2015-02-13 Richard Biener <rguenther@suse.de>
14012
14013 PR lto/65015
14014 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
14015 for LTO produced CUs.
14016
14017 2015-02-13 Bin Cheng <bin.cheng@arm.com>
14018
14019 PR tree-optimization/64705
14020 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
14021 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
14022 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
14023 (find_bivs, find_givs_in_stmt_scev): Pass new argument to
14024 expand_simple_operations.
14025
14026 2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
14027 Richard Henderson <rth@redhat.com>
14028
14029 PR rtl/32219
14030 * cgraphunit.c (cgraph_node::finalize_function): Set definition
14031 before notice_global_symbol.
14032 (varpool_node::finalize_decl): Likewise.
14033 * varasm.c (default_binds_local_p_2): Rename from
14034 default_binds_local_p_1, add weak_dominate argument. Use direct
14035 returns instead of assigning to local variable. Unify varpool and
14036 cgraph paths via symtab_node. Reject undef weak variables before
14037 testing visibility. Reorder tests for simplicity.
14038 (default_binds_local_p): Use default_binds_local_p_2.
14039 (default_binds_local_p_1): Likewise.
14040 (decl_binds_to_current_def_p): Unify varpool and cgraph paths
14041 via symtab_node.
14042 (default_elf_asm_output_external): Emit visibility when specified.
14043
14044 2015-02-13 Alan Modra <amodra@gmail.com>
14045
14046 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
14047 code setting up r11 for out-of-line fp restore.
14048
14049 2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
14050
14051 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
14052 (muser-mode): Likewise.
14053
14054 2015-02-13 Alan Modra <amodra@gmail.com>
14055
14056 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
14057 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
14058
14059 2015-02-12 David Howells <dhowells@redhat.com>
14060
14061 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
14062 warning.
14063 * tree-ssa-uninit.c (dump_predicates): Likewise.
14064 * opts.c (print_filtered_help): Likewise.
14065
14066 2015-02-12 Jakub Jelinek <jakub@redhat.com>
14067
14068 * dwarf2out.c (output_die): Use "%s", name instead of name to
14069 avoid -Wformat-security warning.
14070
14071 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
14072 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
14073 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
14074 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
14075
14076 2015-02-12 Jason Merrill <jason@redhat.com>
14077
14078 * common.opt (-flifetime-dse): New.
14079
14080 2015-02-12 Jakub Jelinek <jakub@redhat.com>
14081
14082 PR sanitizer/65019
14083 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
14084
14085 PR tree-optimization/65014
14086 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
14087 use original second operand of arg0 or arg1 instead of
14088 that adjusted by STRIP_NOPS.
14089
14090 2015-02-11 Jeff Law <law@redhat.com>
14091
14092 PR target/63347
14093 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
14094 that needs to be queued, just queue it for a single cycle.
14095
14096 2015-02-11 Jan Hubicka <hubicka@ucw.cz>
14097
14098 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
14099 bodies of thunks; comment on why.
14100 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
14101 symbols are extern.
14102
14103 2015-02-11 Richard Henderson <rth@redhat.com>
14104
14105 PR sanitize/65000
14106 * tree-eh.c (mark_reachable_handlers): Mark source and destination
14107 regions of __builtin_eh_copy_values.
14108
14109 2015-02-11 Jakub Jelinek <jakub@redhat.com>
14110
14111 PR middle-end/65003
14112 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
14113 ultimate alias is MEM with SYMBOL_REF satisfying
14114 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
14115 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
14116
14117 2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
14118
14119 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
14120 "diagnostic-core.h".
14121 (main): Initialize progname, and call diagnostic_initialize.
14122
14123 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
14124 instead of __OPENMP_TARGET__.
14125
14126 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
14127 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
14128 hard-coding PTX_ID.
14129
14130 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
14131
14132 * doc/sourcebuild.texi (pie_enabled): Document.
14133
14134 2015-02-11 Martin Liska <mliska@suse.cz>
14135
14136 PR ipa/64813
14137 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
14138 a return value for call to a function that is noreturn.
14139
14140 2015-02-11 Richard Biener <rguenther@suse.de>
14141
14142 PR lto/65015
14143 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
14144 and -fresolution.
14145
14146 2015-02-11 Andrew Pinski <apinski@cavium.com>
14147
14148 PR target/64893
14149 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
14150 Change the first argument type to size_type_node and add another
14151 size_type_node.
14152 (aarch64_simd_expand_builtin): Handle the new argument to
14153 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
14154 print an out when the first two arguments are not
14155 nonzero integer constants.
14156 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
14157 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
14158
14159 2015-02-11 Jakub Jelinek <jakub@redhat.com>
14160
14161 PR target/61925
14162 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
14163 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
14164 (ix86_set_current_function): Rewritten.
14165 (ix86_add_new_builtins): Temporarily clear current_target_pragma
14166 when creating builtin fndecls.
14167
14168 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
14169
14170 PR ipa/65005
14171 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
14172 function.
14173 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
14174 have no comdat group.
14175 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
14176 (lto_output_varpool_node): Always output alias info.
14177 (output_refs): Output refs of boundary aliases, too.
14178 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
14179 (output_symtab): Output call eges in thunks in boundary.
14180 (get_alias_symbol): Remove.
14181 (input_node, input_varpool_node): Do not special case weakrefs.
14182 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
14183 alias and thunks targets in the boundary; do not take removed symbols
14184 from their comdat groups.
14185 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
14186 (cgraph_node::global_info): Remove.
14187 (cgraph_node::rtl_info): Look through aliases and thunks.
14188 * cgrpah.h (global_info): Remove.
14189 (non_local_p): Remove.
14190
14191 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
14192 Sandra Loosemore <sandra@codesourcery.com>
14193
14194 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
14195 to inline asm. List dialects in proper order.
14196
14197 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
14198 Sandra Loosemore <sandra@codesourcery.com>
14199
14200 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
14201
14202 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
14203
14204 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
14205 modified) reference to Solaris.
14206
14207 2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
14208
14209 * doc/extend.texi (Extended Asm): Fix typos.
14210
14211 2015-02-10 Jakub Jelinek <jakub@redhat.com>
14212
14213 PR sanitizer/65004
14214 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
14215
14216 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
14217
14218 PR target/64661
14219 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
14220 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
14221 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
14222 * config/sh/constraints.md (Ara, Add): New constraints.
14223 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
14224 predicates.
14225 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
14226 atomic_mem_operand_0. Don't use force_reg on the memory address.
14227 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
14228 Sra constraint. Convert to insn_and_split. Add workaround for
14229 PR 64974.
14230 (atomic_compare_and_swap<mode>_hard): Copy to
14231 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
14232 Use atomic_mem_operand_0 predicate.
14233 (atomic_compare_and_swap<mode>_soft_gusa,
14234 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
14235 AraAdd constraints.
14236 (atomic_compare_and_swap<mode>_soft_tcb,
14237 atomic_compare_and_swap<mode>_soft_imask,
14238 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
14239 atomic_mem_operand_0 predicate and SraSdd constraints.
14240 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
14241 constraint.
14242 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
14243 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
14244 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
14245 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
14246 force_reg on the memory address.
14247 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
14248 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
14249 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
14250 atomic_mem_operand_1 predicate and Sra constraint.
14251 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
14252 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
14253 Use atomic_mem_operand_1 predicate.
14254 (atomic_<fetchop_name><mode>_hard): Copy to
14255 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
14256 Use atomic_mem_operand_1 predicate.
14257 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
14258 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
14259 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
14260 insn_and_split. Use atomic_mem_operand_1 predicate.
14261 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
14262 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
14263 Use atomic_mem_operand_1 predicate.
14264 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
14265 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
14266 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
14267 in generated insn with original mem operand before emitting the insn.
14268 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
14269 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
14270 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
14271 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
14272 Use atomic_mem_operand_1 predicate and AraAdd constraints.
14273 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
14274 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
14275 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
14276 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
14277 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
14278 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
14279 atomic_not_fetch<mode>_soft_tcb,
14280 atomic_<fetchop_name>_fetch<mode>_soft_imask,
14281 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
14282 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
14283 Use atomic_mem_operand_1 predicate and SraSdd constraints.
14284
14285 2015-02-10 Uros Bizjak <ubizjak@gmail.com>
14286
14287 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
14288 and 3 earlyclobber operands.
14289
14290 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
14291
14292 * common.opt (fstack-reuse): Mark as optimization.
14293
14294 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
14295
14296 PR ipa/64982
14297 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
14298
14299 2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
14300
14301 PR tree-optimization/64326
14302 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
14303
14304 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
14305
14306 PR gcov-profile/61889
14307 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
14308
14309 2015-02-10 Richard Biener <rguenther@suse.de>
14310
14311 PR tree-optimization/64995
14312 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
14313 value we use is final.
14314 (visit_reference_op_store): Always valueize op.
14315 (visit_use): Properly valueize vuses.
14316
14317 2015-02-10 Richard Biener <rguenther@suse.de>
14318
14319 PR tree-optimization/64909
14320 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
14321 pass a scalar-stmt count estimate to the cost model.
14322 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
14323
14324 2015-02-10 Alexander Monakov <amonakov@ispras.ru>
14325
14326 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
14327 enabled by default together with var-tracking.
14328
14329 2015-02-10 Nick Clifton <nickc@redhat.com>
14330
14331 * config/rl78/rl78.c: Remove DIV attribute code accidentally
14332 included in previous rl78 commit.
14333
14334 2015-02-10 Richard Biener <rguenther@suse.de>
14335
14336 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
14337 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
14338 return the bitpack.
14339
14340 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
14341
14342 PR gcov-profile/61889
14343 * config.in: regenerate.
14344 * configure.in: Likewise.
14345 * configure.ac: Check for ftw.h.
14346 * gcov-tool.c: Check for ftw.h before using nftw.
14347
14348 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
14349
14350 PR lto/64076
14351 * ipa-visibility.c (update_visibility_by_resolution_info): Only
14352 assert when not in lto mode.
14353
14354 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
14355
14356 * ira-color.c (setup_left_conflict_sizes_p): Simplify
14357 initialization/assignment of conflict_size.
14358
14359 2015-02-09 Jan Hubicka <hubicka@ucw.cz>
14360
14361 PR ipa/64978
14362 * ipa-cp.c (gather_caller_stats): Skip thunks.
14363 (propagate_constants_topo): Skip aliases.
14364
14365 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
14366
14367 PR target/64761
14368 * config/sh/sh.c (sh_option_override): Don't change
14369 -freorder-blocks-and-partition to -freorder-blocks even when
14370 unwinding is enabled.
14371 (sh_can_follow_jump): Return false if the followee jump is
14372 a crossing jump when -freorder-blocks-and-partition is specified.
14373 * config/sh/sh.md (*jump_compact_crossing): New insn.
14374
14375 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
14376 Kaz Kojima <kkojima@gcc.gnu.org>
14377
14378 PR target/64761
14379 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
14380 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
14381 (sh_can_redirect_branch): Rename to ...
14382 (sh_can_follow_jump): ... this. Constify argument types.
14383 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
14384 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
14385 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
14386 * doc/tm.texi: Regenerate.
14387
14388 2015-02-09 Jakub Jelinek <jakub@redhat.com>
14389
14390 PR sanitizer/64981
14391 * builtins.c (expand_builtin): Call targetm.expand_builtin
14392 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
14393
14394 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
14395
14396 PR ipa/61548
14397 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
14398
14399 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
14400
14401 PR ipa/63566
14402 * ipa-icf.c (set_local): New function.
14403 (sem_function::merge): Use it.
14404
14405 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
14406
14407 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
14408 (add_type_duplicate): Fix comparison of BINFOs.
14409
14410 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
14411
14412 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
14413 on getting VOID pointer.
14414
14415 2015-02-09 Jakub Jelinek <jakub@redhat.com>
14416
14417 PR target/64979
14418 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
14419 va_list escapes.
14420
14421 2015-02-09 Richard Biener <rguenther@suse.de>
14422
14423 * genmatch.c (replace_id): Copy expr_type.
14424
14425 2015-02-09 Richard Biener <rguenther@suse.de>
14426
14427 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
14428 (streamer_write_tree_bitfields): Declare.
14429 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
14430 properly unpack padding.
14431 (unpack_value_fields): Inline ...
14432 (streamer_read_tree_bitfields): ... here.
14433 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
14434 and properly add padding bits.
14435 (streamer_pack_tree_bitfields): Fold into ...
14436 (streamer_write_tree_bitfields): ... this new function,
14437 exposing the bitpack object.
14438 * lto-streamer-out.c (lto_write_tree_1): Call
14439 streamer_write_tree_bitfields.
14440
14441 2015-02-09 Richard Biener <rguenther@suse.de>
14442
14443 PR tree-optimization/54000
14444 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
14445 (struct ivopts_data): Add loop_loc member.
14446 (tree_ssa_iv_optimize_loop): Dump loop location.
14447 (create_new_ivs): Likewise, also dump number of IVs generated.
14448
14449 2015-02-09 Martin Liska <mliska@suse.cz>
14450
14451 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
14452 just if not yet registered.
14453 (ipa_icf_generate_summary): Register callgraph hooks.
14454
14455 2015-02-08 Andrew Pinski <apinski@cavium.com>
14456
14457 * config/aarch64/aarch64.c (gty_dummy): Delete.
14458
14459 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
14460
14461 PR ipa/63566
14462 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
14463 (cgraph_node::local_p): Remove thunk related FIXME.
14464
14465 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
14466
14467 PR ipa/63566
14468 * i386.c (ix86_function_regparm): Look through aliases to see if callee
14469 is local and optimized.
14470 (ix86_function_sseregparm): Likewise; also use target's SSE math
14471 settings; error out instead of silently generating wrong code
14472 on mismatches.
14473 (init_cumulative_args): Look through aliases.
14474
14475 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
14476
14477 PR ipa/63566
14478 * ipa-split.c (execute_split_functions): Split if function has aliases.
14479
14480 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
14481
14482 PR ipa/63566
14483 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
14484 aliases before trying to expand it.
14485 (cgraph_node::expand_thunk): Fix formating.
14486
14487 2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
14488
14489 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
14490 (Using Assembly Language with C): Expand introduction.
14491 (Basic Asm): Copy-edit. Add more information about uses of
14492 basic asm.
14493 (Extended Asm): Copy-edit. Document new escape syntax and
14494 %l[label] syntax.
14495 (Global Reg Vars): Copy-edit.
14496 (Local Reg Vars): Likewise.
14497
14498 2015-02-06 David Edelsohn <dje.gcc@gmail.com>
14499
14500 PR debug/2714
14501 PR bootstrap/64256
14502 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
14503 (DBX_CONTIN_CHAR): Define.
14504
14505 2015-02-06 Sebastian Pop <s.pop@samsung.com>
14506 Brian Rzycki <b.rzycki@samsung.com>
14507
14508 PR tree-optimization/64878
14509 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
14510 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
14511 Stop recursion at loop phi nodes after having visited a loop phi node.
14512
14513 2015-02-06 Jakub Jelinek <jakub@redhat.com>
14514
14515 * toplev.c (process_options): Change flag_ipa_ra before creating
14516 optimization_{default,current}_node.
14517
14518 PR ipa/64896
14519 * cgraphunit.c (cgraph_node::expand_thunk): If
14520 restype is not is_gimple_reg_type nor the thunk_fndecl
14521 returns aggregate_value_p, set restmp to a temporary variable
14522 instead of resdecl.
14523
14524 2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
14525
14526 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
14527
14528 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
14529
14530 PR target/64205
14531 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
14532 add a general secondary reload handler for SDmode, unless we have
14533 both read/write support for SDmode.
14534
14535 2015-02-06 Jakub Jelinek <jakub@redhat.com>
14536
14537 PR middle-end/64937
14538 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
14539 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
14540 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
14541 1 before, push it to abstract_vec.
14542 (dwarf2out_abstract_function): Adjust caller. Don't call
14543 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
14544 DECL_ABSTRACT_P flags for all abstract_vec elts.
14545
14546 2015-02-06 Renlin Li <renlin.li@arm.com>
14547
14548 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
14549 complex gimple.
14550 * tree-ssa.c (execute_update_addresses_taken): Likewise.
14551
14552 2015-02-06 Jeff Law <law@redhat.com>
14553
14554 PR target/64889
14555 * config/h8300/h8300.c (push): New argument "in_prologue".
14556 Pass "in_prologue" along to "F".
14557 (h8300_push_pop): Corresponding changes.
14558 (h8300_expand_prologue): Likewise.
14559 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
14560
14561 2015-02-06 Jakub Jelinek <jakub@redhat.com>
14562
14563 PR rtl-optimization/64957
14564 PR debug/64817
14565 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
14566 IOR rather than for AND.
14567
14568 2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
14569
14570 PR target/62631
14571 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
14572 of shift-add and (add + shift) operations. Rename local variable.
14573
14574 2015-02-05 Jeff Law <law@redhat.com>
14575
14576 PR target/17306
14577 * config/h8300/constraints.md (U): Correctly dectect
14578 "eightbit_data" memory addresses.
14579 * config/h8300/h8300.c (eightbit_constant_address_p): Also
14580 handle (const (plus (symbol_ref (x)))) where x is declared
14581 as an 8-bit data memory address.
14582 * config/h8300/h8300.md (call, call_value): Correctly detect
14583 "funcvec" functions.
14584
14585 PR target/43264
14586 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
14587 24 to 28 bits for the H8/300.
14588
14589 2015-02-06 Alan Modra <amodra@gmail.com>
14590
14591 PR target/64876
14592 * config/rs6000/rs6000.c (chain_already_loaded): New function.
14593 (rs6000_call_aix): Use it.
14594
14595 2015-02-05 Jan Hubicka <hubicka@ucw.cz>
14596
14597 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
14598 check.
14599
14600 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
14601
14602 * config/h8300/constraints.md ("U" constraint): Use strict
14603 variant of REG_OK_FOR_BASE_P after reload has started.
14604
14605 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
14606
14607 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
14608 define to zero if !TARGET_NEON.
14609 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
14610
14611 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
14612 Trevor Saunders <tsaunders@mozilla.com>
14613
14614 PR ipa/61548
14615 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
14616
14617 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
14618
14619 PR ipa/61548
14620 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
14621 when removing varpool nodes.
14622
14623 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
14624
14625 PR ipa/61548
14626 * varpool.c (varpool_node::remove): Fix order of variables.
14627
14628 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
14629
14630 PR ipa/64686
14631 * ipa-inline.c (inline_small_functions): Fix ordering issue between
14632 speculation resolution and key updates.
14633
14634 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
14635
14636 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
14637 about not letting any speculative edges unupdated.
14638
14639 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
14640
14641 PR gcov/64123
14642 * gcov-io.c (gcov_var): Export.
14643
14644 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
14645
14646 PR middle-end/64922
14647 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
14648 edges that become speculative.
14649
14650 2015-02-04 Jakub Jelinek <jakub@redhat.com>
14651
14652 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
14653 or DW_LANG_Fortran08.
14654 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
14655 DW_LANG_Fortran08.
14656 (gen_compile_unit_die): Handle "GNU Fortran2003" and
14657 "GNU Fortran2008" language strings.
14658 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
14659 * langhooks.h (lang_GNU_Fortran): New prototype.
14660 * langhooks.c (lang_GNU_Fortran): New function.
14661 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
14662 lang_GNU_Fortran.
14663
14664 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
14665
14666 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
14667 (RTX_OK_FOR_OLO10_P): Likewise.
14668
14669 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
14670
14671 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
14672
14673 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
14674
14675 PR middle-end/64922
14676 * gimple.c: Include gimple-ssa.h.
14677 (maybe_remove_unused_call_args): New function.
14678 * gimple.h (maybe_remove_unused_call_args): Declare.
14679 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
14680 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
14681 * gimple-fold.c (gimple_fold_call): Likewise.
14682
14683 2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
14684
14685 PR rtl-optimization/64905
14686 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
14687 pointer alignment if it isn't needed.
14688
14689 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
14690
14691 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
14692 cortex-a72.cortex-a53.
14693 * config/aarch64/aarch64-tune.md: Regenerate.
14694 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
14695
14696 2015-02-04 Nick Clifton <nickc@redhat.com>
14697
14698 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
14699 inside a MEM.
14700
14701 2015-02-04 Jakub Jelinek <jakub@redhat.com>
14702
14703 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
14704 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
14705 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
14706 of DEF_BUILTIN.
14707 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
14708 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
14709 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
14710 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
14711 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
14712 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
14713 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
14714 * tree-core.h (enum built_in_function): In between
14715 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
14716 for builtins that use DEF_BUILTIN_CHKP macro.
14717
14718 2015-02-04 Alexandre Oliva <aoliva@redhat.com>
14719
14720 PR debug/64817
14721 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
14722 operands for tcc_comparison exprs. Fix typos.
14723
14724 PR debug/64817
14725 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
14726 of two XORs that have an intervening AND or IOR.
14727
14728 PR debug/64817
14729 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
14730 simplification of XOR of AND to not allocate new rtx before
14731 committing to a simplification.
14732
14733 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14734
14735 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
14736 manual swaps in all peepholes.
14737
14738 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14739
14740 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
14741 of manual swapping implementation.
14742 (aarch64_expand_vec_perm_const_1): Likewise.
14743
14744 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
14745
14746 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
14747 (generic_addrcost_table): Remove NAMED_PARAM.
14748 (cortexa57_addrcost_table): Likewise.
14749 (xgene1_addrcost_table): Likewise.
14750 (generic_regmove_table): Likewise.
14751 (cortexa53_regmove_table): Likewise.
14752 (xgene1_regmove_table): Likewise.
14753 (generic_vector_table): Likewise.
14754 (cortexa57_vector_table): Likewise.
14755 (xgene1_vector_table): Likewise.
14756 (generic_tunings): Likewise.
14757 (cortexa53_tunings): Likewise.
14758 (cortexa57_tunings): Likewise.
14759 (xgene1_tunings): Likewise.
14760
14761 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
14762
14763 * config/arm/arm-cores.def: Add cortex-a72 and
14764 cortex-a72.cortex-a53.
14765 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
14766 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
14767 * config/arm/arm-tune.md: Regenerate.
14768 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
14769 "cortex-a72.cortex-a53".
14770 * doc/invoke.texi (ARM Options/-mtune): Likewise.
14771
14772 2015-02-04 Nick Clifton <nickc@redhat.com>
14773
14774 PR target/64408
14775 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
14776 of accepted codes.
14777 (nonimmediate_di_operand): Likewise.
14778
14779 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
14780 prefixes of known F5 using MSP430 MCUs.
14781
14782 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14783
14784 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
14785 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
14786 instead of __builtin_sqrt.
14787
14788 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
14789
14790 * varasm.c (do_assemble_alias): Follow transparent alias
14791 chain for target.
14792 (default_assemble_visibility): Follow transparent alias
14793 chain for decl name.
14794
14795 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
14796
14797 PR middle-end/62103
14798 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
14799 to compute size of referenced value in the constant case.
14800
14801 2015-02-03 Jakub Jelinek <jakub@redhat.com>
14802
14803 PR rtl-optimization/64756
14804 * cse.c (invalidate_dest): New function.
14805 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
14806 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
14807 invalidate and do not record it.
14808
14809 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
14810
14811 PR target/64660
14812 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
14813 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
14814 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
14815 atomic_nand<mode>_soft_tcb): New insns.
14816 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
14817 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
14818 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
14819 Split into atomic_not_fetchsi_hard if operands[0] is unused.
14820 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
14821 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
14822 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
14823 atomic_not<mode>_hard if operands[0] is unused.
14824 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
14825 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
14826 if operands[0] is unused.
14827 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
14828 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
14829 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
14830 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
14831 unused.
14832 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
14833 into atomic_not<mode>_soft_tcb if operands[0] is unused.
14834 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
14835 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
14836 if operands[0] is unused.
14837 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
14838 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
14839 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
14840 atomic_nand_fetchsi_hard if operands[0] is unused.
14841 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
14842 atomic_nand<mode>_hard if operands[0] is unused.
14843 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
14844 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
14845 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
14846 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
14847 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
14848 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
14849 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
14850 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
14851 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
14852 atomic_not<mode>_hard if operands[0] is unused.
14853 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
14854 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
14855 unused.
14856 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
14857 into atomic_not<mode>_soft_tcb if operands[0] is unused.
14858 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
14859 atomic_nand<mode>_hard if operands[0] is unused.
14860 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
14861 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
14862
14863 2015-02-03 David Malcolm <dmalcolm@redhat.com>
14864
14865 PR jit/64810
14866 * Makefile.in (GCC_OBJS): Add gcc-main.o.
14867 * gcc-main.c: New file, containing "main" taken from gcc.c.
14868 * gcc.c (do_self_spec): Free decoded_options.
14869 (class driver): Move declaration to gcc.h.
14870 (main): Move declaration and implementation to new file
14871 gcc-main.c.
14872 (driver_get_configure_time_options): New function.
14873 * gcc.h (class driver): Move this declaration here, from
14874 gcc.c.
14875 (driver_get_configure_time_options): New declaration.
14876
14877 2015-02-03 Jan Hubicka <hubicka@ucw.cz>
14878
14879 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
14880 cross-module inlining.
14881 * cgraph.h (cgraph_node): Add flag merged.
14882 * ipa-icf.c (sem_function::merge): Maintain it.
14883
14884 2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
14885
14886 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
14887 instead of OBJECT_P.
14888
14889 2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
14890
14891 PR target/62631
14892 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
14893 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
14894 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
14895 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
14896
14897 2015-02-03 Jakub Jelinek <jakub@redhat.com>
14898
14899 PR other/63504
14900 * combine.c (reg_n_sets_max): New variable.
14901 (can_change_dest_mode, reg_nonzero_bits_for_combine,
14902 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
14903 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
14904 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
14905 (rest_of_handle_combine): Initialize reg_n_sets_max.
14906
14907 2015-02-02 Jan Hubicka <hubicka@ucw.cz>
14908
14909 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
14910 if some always_inline was inlined, apply changes before inlining
14911 heuristically.
14912
14913 2015-02-02 David Malcolm <dmalcolm@redhat.com>
14914
14915 PR jit/64810
14916 * config/arm/arm.c (arm_option_override): Set
14917 arm_selected_arch/cpu/tune to NULL on entry.
14918
14919 2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
14920 Andrew Pinski <pinskia@gcc.gnu.org>
14921 Jakub Jelinek <jakub@gcc.gnu.org>
14922
14923 PR target/64231
14924 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
14925 integer typing for small model. Use IN_RANGE.
14926
14927 2015-02-02 Richard Biener <rguenther@suse.de>
14928
14929 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
14930 * tree-vrp.c (vrp_valueize_1): Likewise.
14931
14932 2015-02-02 Alan Modra <amodra@gmail.com>
14933
14934 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
14935 than mem for toc_restore.
14936 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
14937 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
14938 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
14939
14940 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
14941
14942 PR target/64047
14943 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
14944 explicit default options.
14945
14946 2015-02-01 Jan Hubicka <hubicka@ucw.cz>
14947
14948 PR ipa/64872
14949 * ipa-utils.c (ipa_merge_profiles): Add release argument.
14950 * ipa-icf.c (sem_function::merge): Do not release body when merging.
14951 * ipa-utils.h (ipa_merge_profiles): Update prototype.
14952
14953 2015-02-01 Jakub Jelinek <jakub@redhat.com>
14954
14955 PR debug/64817
14956 * cfgexpand.c (deep_ter_debug_map): New variable.
14957 (avoid_deep_ter_for_debug): New function.
14958 (expand_debug_expr): If TERed SSA_NAME is in
14959 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
14960 instead of trying to expand SSA_NAME's def stmt.
14961 (expand_debug_locations): When expanding debug bind
14962 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
14963 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
14964 value.
14965 (pass_expand::execute): Call avoid_deep_ter_for_debug on
14966 all debug bind stmts. Delete deep_ter_debug_map after
14967 expand_debug_location if non-NULL and clear it.
14968
14969 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
14970
14971 PR target/64851
14972 * config/sh/sync.md (atomic_fetch_notsi_hard,
14973 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
14974 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
14975 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
14976 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
14977 atomic_not_fetch<mode>_soft_imask): New insns.
14978
14979 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
14980
14981 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
14982 (rank_for_schedule_debug): Split from ...
14983 (rank_for_schedule): ... this.
14984 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
14985 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
14986
14987 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
14988
14989 * doc/md.texi (Machine Constraints): Alphabetize table by target.
14990 * doc/extend.texi (x86 Variable Attributes): Move section to
14991 correct alphabetization after renaming.
14992 (x86 Type Attributes): Likewise.
14993 (Target Builtins): Re-alphabetize menu.
14994 (x86 Built-in Functions): Move section to correct alphabetization
14995 after renaming.
14996 (x86 transactional memory intrinsics): Likewise.
14997 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
14998 and x86 Windows Options in table and menu.
14999 (x86 Options): Move section to correct alphabetization after
15000 renaming.
15001 (x86 Windows Options): Likewise.
15002
15003 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
15004
15005 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
15006 preferred names of the architecture and its 32- and 64-bit
15007 variants.
15008 * doc/invoke.texi: Likewise.
15009 * doc/md.texi: Likewise.
15010
15011 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
15012
15013 PR target/64882
15014 * config/i386/predicates.md (address_no_seg_operand): Reject
15015 non-CONST_INT_P operands in invalid mode.
15016
15017 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
15018
15019 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
15020 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
15021 * config/i386/predicates.md (address_no_seg_operand): Call
15022 address_operand with VOIDmode.
15023 (vsib_address_operand): Ditto.
15024 (address_mpx_no_base_operand): Ditto.
15025 (address_mpx_no_index_operand): Ditto.
15026
15027 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
15028
15029 PR target/64688
15030 * lra-constraints.c (original_subreg_reg_mode): New.
15031 (simplify_operand_subreg): Try to simplify subreg of const. Use
15032 original_subreg_reg_mode for it.
15033 (swap_operands): Update original_subreg_reg_mode.
15034 (curr_insn_transform): Set up original_subreg_reg_mode.
15035
15036 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
15037
15038 PR target/64617
15039 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
15040 function.
15041 (process_alt_operands): Use it.
15042 (curr_insn_transform): Check the optional reload pseudo class is
15043 ok for the mode.
15044
15045 2015-01-30 Joseph Myers <joseph@codesourcery.com>
15046
15047 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
15048 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
15049 prototype.
15050 * toplev.h (init_asm_output): Update comment on use of
15051 UNKNOWN_LOCATION with fatal_error.
15052 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
15053 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
15054 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
15055 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
15056 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
15057 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
15058 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
15059 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
15060 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
15061 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
15062 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
15063 fatal_error changed to pass input_location as first argument.
15064
15065 2015-01-30 Martin Liska <mliska@suse.cz>
15066
15067 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
15068 in #pragma GCC diagnostic guards.
15069
15070 2015-01-30 Richard Biener <rguenther@suse.de>
15071
15072 PR tree-optimization/64829
15073 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
15074 not add a widening conversion pattern but hand off extra
15075 widenings to callers.
15076 (vect_recog_widen_mult_pattern): Handle extra widening produced
15077 by vect_handle_widen_op_by_const.
15078 (vect_recog_widen_shift_pattern): Likewise.
15079 (vect_pattern_recog_1): Remove excess vertical space in dumping.
15080 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
15081 (vect_init_vector_1): Likewise.
15082 (vect_get_vec_def_for_operand): Likewise.
15083 (vect_finish_stmt_generation): Likewise.
15084 (vectorizable_load): Likewise.
15085 (vect_analyze_stmt): Likewise.
15086 (vect_is_simple_use): Likewise.
15087
15088 2015-01-29 Jeff Law <law@redhat.com>
15089
15090 * combine.c (try_combine): Fix typo in comment.
15091
15092 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
15093
15094 PR target/64580
15095 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
15096 (rs6000_stack_info): Add assert.
15097 (rs6000_output_savres_externs): New function, split off from...
15098 (rs6000_output_function_prologue): ... here. Do not call it for
15099 thunks.
15100
15101 2015-01-29 Jeff Law <law@redhat.com>
15102
15103 PR target/15184
15104 * combine.c (try_combine): If I0 is a memory load and I3 a store
15105 to a related address, increase the "goodness" of doing a 4-insn
15106 combination with I0-I3.
15107 (make_field_assignment): Handle SUBREGs in the ior+and case.
15108
15109 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
15110
15111 PR tree-optimization/64746
15112 * tree-if-conv.c (mask_exists): New function.
15113 (predicate_mem_writes): Save created mask with given size for further
15114 use.
15115 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
15116 (ifcvt_repair_bool_pattern): Collect all statements that are root
15117 of bool pattern and use iterative algorithm to remove multiple uses
15118 of predicates, display number of required iterations.
15119
15120 2015-01-29 Richard Biener <rguenther@suse.de>
15121
15122 PR tree-optimization/64853
15123 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
15124 stmt will get simulated again.
15125 * tree-ssa-ccp.c (valueize_op_1): Likewise.
15126
15127 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15128
15129 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
15130 return_in_pc. Remove redundant assignments.
15131 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
15132 (arm_expand_epilogue): Don't compare boolean with true in if condition.
15133
15134 2015-01-29 Uros Bizjak <ubizjak@gmail.com>
15135
15136 * config/i386/i386.c (ix86_mode_after): Make static.
15137
15138 2015-01-29 Richard Biener <rguenther@suse.de>
15139
15140 PR tree-optimization/64844
15141 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
15142 dump cost model analysis.
15143 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
15144 Do not register adjusted load/store costs here.
15145
15146 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
15147 Uros Bizjak <ubizjak@gmail.com>
15148
15149 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
15150 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
15151 using x86_use_pseudo_pic_reg.
15152 * config/i386/i386.c (ix86_conditional_register_usage): Remove
15153 support for fixed PIC register.
15154 (ix86_use_pseudo_pic_reg): Not static any more.
15155
15156 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
15157
15158 PR middle-end/64805
15159 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
15160 to avoid error in cgraph node verification.
15161
15162 2015-01-29 Marek Polacek <polacek@redhat.com>
15163
15164 * doc/standards.texi: Reflect that the default for C is gnu11.
15165
15166 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
15167
15168 PR target/64761
15169 * reorg.c (switch_text_sections_between_p): New function.
15170 (relax_delay_slots): Call it when testing if the jump insn
15171 is removable. Use targetm.can_follow_jump when testing if
15172 the conditional branch can follow an unconditional jump.
15173
15174 2015-01-27 Caroline Tice <cmtice@google.com>
15175
15176 Committing VTV Cywin/Ming patch for Patrick Wollgast
15177 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
15178 if -fvtable-verify=preinit/std is used.
15179 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
15180 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
15181 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
15182 if -fvtable-verify=preinit/std is used.
15183 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
15184 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
15185 if -fvtable-verify=preinit/std is used.
15186 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
15187 * config/i386/mingw32.h (LIB_SPEC): Likewise.
15188 * varasm.c (assemble_variable): Add code to properly set the comdat
15189 section and name for the .vtable_map_vars section in case the
15190 target is PE or COFF.
15191
15192 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
15193
15194 PR ipa/64801
15195 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
15196 make sane BB profile.
15197 (cgraph_node::expand_thunk): Make sane BB profile.
15198 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
15199 * cgraph.h (init_lowered_empty_function): Update prototype.
15200 * config/i386/i386.c (make_resolver_func): Update call.
15201 * predict.c (gate): Disable branch prediction pass if
15202 profile is already there.
15203
15204 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
15205
15206 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
15207 * opth-gen.awk: Likewise.
15208 * common.opt: Mark flag_fp_contract_mode as Optimization.
15209
15210 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
15211
15212 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
15213 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
15214
15215 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
15216
15217 PR target/64659
15218 * config/sh/predicates.md (atomic_arith_operand,
15219 atomic_logical_operand): Remove.
15220 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
15221 (atomic_arith_operand_0): New predicate.
15222 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
15223 Use atomic_arith_operand_0 for input values.
15224 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
15225 atomic_compare_and_swap<mode>_soft_gusa,
15226 atomic_compare_and_swap<mode>_soft_tcb,
15227 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
15228 arith_reg_operand instead of register_operand.
15229 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
15230 atomic_arith_operand_0 for newval input.
15231 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
15232 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
15233 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
15234 arith_reg_operand instead of register_operand.
15235 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
15236 fetchop_predicate_1, fetchop_constraint_1_llcs,
15237 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
15238 fetchop_constraint_1_imask): New code iterator attributes.
15239 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
15240 register_operand. Use fetchop_predicate_1.
15241 (atomic_fetch_<fetchop_name>si_hard,
15242 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
15243 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
15244 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
15245 and arith_reg_operand instead of register_operand. Use
15246 fetchop_predicate_1, fetchop_constraint_1_gusa.
15247 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
15248 and arith_reg_operand instead of register_operand. Use
15249 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
15250 to allow R0 usage.
15251 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
15252 and arith_reg_operand instead of register_operand. Use
15253 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
15254 to allow R0 usage.
15255 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
15256 register_operand. Use atomic_logical_operand_1.
15257 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
15258 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
15259 arith_reg_operand instead of register_operand.
15260 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
15261 Use arith_reg_dest and arith_reg_operand instead of register_operand.
15262 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
15263 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
15264 register_operand. Use fetchop_predicate_1.
15265 (atomic_<fetchop_name>_fetchsi_hard,
15266 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
15267 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
15268 fetchop_constraint_1_llcs.
15269 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
15270 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
15271 fetchop_constraint_1_gusa.
15272 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
15273 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
15274 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
15275 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
15276 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
15277 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
15278 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
15279 register_operand. Use atomic_logical_operand_1.
15280 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
15281 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
15282 arith_reg_operand instead of register_operand.
15283 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
15284 arith_reg_operand instead of register_operand. Use logical_operand
15285 and K08. Adjust asm sequence to allow R0 usage.
15286 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
15287 arith_reg_operand instead of register_operand. Use logical_operand
15288 and K08.
15289
15290 2015-01-28 Jakub Jelinek <jakub@redhat.com>
15291
15292 PR other/63504
15293 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
15294 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
15295 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
15296 only get_full_len HOST_WIDE_INTs from get_val () array rather than
15297 all bits in *val_wide.
15298
15299 2015-01-28 Jan Hubicka <hubicka@ucw.cz>
15300
15301 * varpool.c (tls_model_names): Fix names.
15302 (varpool_node::dump): Dump tls- prefix for tls models.
15303
15304 2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
15305 Bernd Schmidt <bernds@codesourcery.com>
15306 Nathan Sidwell <nathan@codesourcery.com>
15307
15308 * config/nvptx/mkoffload.c: New file.
15309 * config/nvptx/t-nvptx: Add build rules for it.
15310 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
15311 (extra_programs): Add mkoffload.
15312 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
15313 function.
15314 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
15315
15316 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
15317
15318 PR middle-end/64809
15319 * cfgexpand.c (reorder_operands): Skip debug gimples.
15320
15321 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
15322
15323 PR tree-optimization/64277
15324 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
15325 range info when possible to refine estimation.
15326
15327 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
15328
15329 PR tree-optimization/64718
15330 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
15331 be a 16bit unsigned integer when n->range is 16.
15332 (bswap_replace): Convert src to that type if necessary for all bswap
15333 sizes. Fix rotation right notation in nearby comment. Use bswap_type
15334 set in pass_optimize_bswap::execute ().
15335
15336 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
15337
15338 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
15339 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
15340 integer and floating point variants.
15341 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
15342
15343 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
15344
15345 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
15346 for all vector modes.
15347
15348 2015-01-28 Jakub Jelinek <jakub@redhat.com>
15349
15350 PR bootstrap/64612
15351 * doc/sourcebuild.texi (comdat_group): Document.
15352
15353 2015-01-28 Terry Guo <terry.guo@arm.com>
15354
15355 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
15356
15357 2015-01-27 David Malcolm <dmalcolm@redhat.com>
15358
15359 * toplev.c (print_version): Add param "show_global_state", and
15360 only print GGC and plugin information if it is true.
15361 (init_asm_output): Pass in "true" for the new param when calling
15362 print_version.
15363 (process_options): Likewise.
15364 (toplev::main): Likewise.
15365 * toplev.h (print_version): Add new param to decl.
15366
15367 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
15368
15369 PR ipa/60871
15370 PR ipa/64139
15371 * tree.c (lookup_binfo_at_offset): New function.
15372 (get_binfo_at_offset): Use it.
15373
15374 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
15375
15376 PR ipa/64282
15377 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
15378 on vtable being vtable.
15379
15380 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
15381
15382 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
15383 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
15384 -mhotpatch= option.
15385 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
15386 -mno-hotpatch options. Change syntax of -mhotpatch= option.
15387 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
15388 Renamed.
15389 (s390_hotpatch_trampoline_halfwords_max): Renamed.
15390 (s390_hotpatch_hw_max): New name.
15391 (s390_hotpatch_trampoline_halfwords): Renamed.
15392 (s390_hotpatch_hw_before_label): New name.
15393 (get_hotpatch_attribute): Removed.
15394 (s390_hotpatch_hw_after_label): New name.
15395 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
15396 attribute.
15397 (s390_attribute_table): Ditto.
15398 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
15399 (s390_function_num_hotpatch_hw): New name.
15400 Remove special handling of inline functions and hotpatching.
15401 Return number of nops before and after the function label.
15402 (s390_can_inline_p): Removed.
15403 (s390_asm_output_function_label): Emit a configurable number of nops
15404 after the function label.
15405 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
15406 (TARGET_CAN_INLINE_P) Removed.
15407 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
15408
15409 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15410 Jiong Wang <jiong.wang@arm.com>
15411
15412 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
15413 of scratch reg.
15414 (cb<optab><mode>1): Likewise.
15415 * config/aarch64/iterators.md (bcond): New define_code_attr.
15416
15417 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15418
15419 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
15420 memory accesses.
15421
15422 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15423
15424 * config/s390/s390.c (s390_register_move_cost): Increase costs for
15425 FPR->GPR moves.
15426
15427 2015-01-27 Richard Biener <rguenther@suse.de>
15428
15429 * tree-vrp.c (update_value_range): Intersect the range with
15430 old recorded SSA name range information.
15431
15432 2015-01-27 Nick Clifton <nickc@redhat.com>
15433
15434 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
15435 BC, DE and HL registers directly, not via AX.
15436 When decrementing the stack pointer by a large amount, transfer SP
15437 into AX and perform the subtraction there.
15438 (rl78_expand_epilogue): Perform the inverse of the above
15439 enhancements.
15440
15441 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15442
15443 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
15444
15445 2015-01-27 Jakub Jelinek <jakub@redhat.com>
15446 Yury Gribov <y.gribov@samsung.com>
15447
15448 PR ubsan/64741
15449 * ubsan.c (ubsan_source_location): Refactor code.
15450 (ubsan_type_descriptor): Update type size. Refactor code.
15451
15452 2015-01-27 Richard Biener <rguenther@suse.de>
15453
15454 PR tree-optimization/56273
15455 PR tree-optimization/59124
15456 PR tree-optimization/64277
15457 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
15458 from the first VRP pass.
15459
15460 2015-01-27 Jakub Jelinek <jakub@redhat.com>
15461
15462 PR ipa/64776
15463 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
15464 handle the first argument in the same loop as all the other arguments.
15465
15466 PR rtl-optimization/61058
15467 * jump.c (cleanup_barriers): Update basic block boundaries
15468 if BLOCK_FOR_INSN is non-NULL on PREV.
15469
15470 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
15471
15472 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
15473 bounds narrowing, already instrumented calls and calls to
15474 not instrumentable functions.
15475
15476 2015-01-27 Jakub Jelinek <jakub@redhat.com>
15477
15478 PR tree-optimization/64807
15479 * wide-int.cc (wi::divmod_internal): Clear
15480 b_dividend[dividend_blocks_needed].
15481
15482 2015-01-26 DJ Delorie <dj@redhat.com>
15483
15484 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
15485 volatile memory references.
15486
15487 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
15488
15489 PR target/49263
15490 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
15491 remove_insn.
15492 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
15493 shifts if it already fits into K08.
15494
15495 2015-01-26 Jakub Jelinek <jakub@redhat.com>
15496
15497 PR ipa/64730
15498 * ipa-inline.c (inline_small_functions): Print "unknown" even
15499 if edge->call_stmt is non-NULL, but has builtins or unknown
15500 location.
15501
15502 PR middle-end/64421
15503 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
15504 with asterisk, skip the first character.
15505
15506 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
15507
15508 PR target/64806
15509 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
15510 order change.
15511
15512 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
15513
15514 PR target/64795
15515 * config/i386/i386.md (*movdi_internal): Also check operand 0
15516 to determine TYPE_LEA operand.
15517 (*movsi_internal): Ditto.
15518
15519 2015-01-26 Jakub Jelinek <jakub@redhat.com>
15520
15521 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
15522 OPTION_MASK_QUAD_MEMORY_ATOMIC.
15523
15524 2015-01-26 Renlin Li <renlin.li@arm.com>
15525
15526 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
15527 the comment.
15528 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
15529 for higher part.
15530
15531 2015-01-26 Richard Biener <rguenther@suse.de>
15532
15533 PR middle-end/64764
15534 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
15535 combining two BIT_AND_EXPR predicates.
15536
15537 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
15538
15539 PR bootstrap/64754
15540 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
15541
15542 2015-01-26 Terry Guo <terry.guo@arm.com>
15543
15544 * config/arm/arm.c (arm_file_start): Update the assignment of
15545 Tag_ABI_HardFP_use.
15546
15547 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
15548
15549 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
15550 pipeline model.
15551 config/arm/arm.md: Include the new Cortex-A57 model.
15552 (generic_sched): Don't use generic_sched when tuning for
15553 Cortex-A57.
15554
15555 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
15556 Uros Bizjak <ubizjak@gmail.com>
15557
15558 * config/i386/i386.c (get_builtin_code_for_version): Add
15559 support for BMI and BMI2 multiversion functions.
15560
15561 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
15562
15563 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
15564 (extract_bit_field): Likewise.
15565 (extract_low_bits): Likewise.
15566 (expand_mult): Likewise.
15567 (expand_mult_highpart_adjust): Likewise.
15568
15569 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
15570
15571 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
15572 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
15573 * config/i386/i386.c (processor_model): Add
15574 M_INTEL_COREI7_BROADWELL.
15575 (arch_names_table): Add "broadwell".
15576
15577 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
15578
15579 PR target/49263
15580 PR target/53987
15581 PR target/64345
15582 PR target/59533
15583 PR target/52933
15584 PR target/54236
15585 PR target/51244
15586 * config/sh/sh-protos.h
15587 (sh_extending_set_of_reg::can_use_as_unextended_reg,
15588 sh_extending_set_of_reg::use_as_unextended_reg,
15589 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
15590 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
15591 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
15592 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
15593 (sh_treg_insns): New class.
15594 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
15595 (scope_counter): New class.
15596 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
15597 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
15598 sh_extending_set_of_reg::can_use_as_unextended_reg,
15599 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
15600 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
15601 sh_split_treg_set_expr): New functions.
15602 (addsubcosts): Handle treg_set_expr.
15603 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
15604 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
15605 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
15606 (sh_insn_operands_modified_between_p): Make non-static.
15607 * config/sh/predicates.md (zero_extend_movu_operand): Allow
15608 simple_mem_operand in addition to displacement_mem_operand.
15609 (zero_extend_operand): Don't allow zero_extend_movu_operand.
15610 (treg_set_expr, treg_set_expr_not_const01,
15611 arith_reg_or_treg_set_expr): New predicates.
15612 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
15613 arith_or_int_operand instead of logical_operand. Convert to
15614 insn_and_split. Try to optimize constant operand in splitter.
15615 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
15616 (*tstqi_t_zero): Delete.
15617 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
15618 (tstsi_t_and_not): Delete.
15619 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
15620 Convert to insn_and_split.
15621 (unnamed split, tstsi_t_zero_extract_xor,
15622 tstsi_t_zero_extract_subreg_xor_little,
15623 tstsi_t_zero_extract_subreg_xor_big): Delete.
15624 (*tstsi_t_shift_mask): New insn_and_split.
15625 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
15626 to recombine with surrounding insns when splitting.
15627 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
15628 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
15629 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
15630 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
15631 (*cbranch_div0s: Delete.
15632 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
15633 Try to recombine with surrounding insns when splitting. Add operand
15634 order variants.
15635 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
15636 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
15637 *addc_r_r_msb, *addc_2r_msb): Delete.
15638 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
15639 order variant.
15640 (*addc_negreg_t): New insn_and_split.
15641 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
15642 Try to recombine with surrounding insns when splitting.
15643 Add operand order variants.
15644 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
15645 insn_and_split patterns.
15646 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
15647 surrounding insns when splitting.
15648 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
15649 (*rotcl): Likewise. Add zero_extract variant.
15650 (*ashrsi2_31): New insn_and_split.
15651 (*negc): Convert to insn_and_split. Use treg_set_expr.
15652 (*zero_extend<mode>si2_disp_mem): Update comment.
15653 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
15654 condition.
15655 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
15656 with surrounding insns when splitting.
15657 (any_treg_expr_to_reg): New insn_and_split.
15658 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
15659 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
15660 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
15661 *zero_extract_2): New single bit zero extract patterns.
15662 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
15663 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
15664 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
15665 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
15666 set destination.
15667 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
15668 register_operand for set source.
15669
15670 2015-01-23 Jan Hubicka <hubicka@ucw.cz>
15671
15672 * i386.opt (prefetch_sse): New targetsave.
15673 * i386.c (ix86_function_specific_save): Save prefetch_sse.
15674 (ix86_function_specific_restore): Restore prefetch_sse and initialize
15675 ix86_cost/ix86_tune_cost.
15676
15677 2015-01-23 David Malcolm <dmalcolm@redhat.com>
15678
15679 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
15680 Support the JIT by using 0 as the language type.
15681
15682 2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
15683
15684 PR target/64317
15685 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
15686 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
15687 (mark_regno_live, process_bb_lives): Pass new parameter value to
15688 make_hard_regno_born.
15689
15690 2015-01-23 Jakub Jelinek <jakub@redhat.com>
15691
15692 PR rtl-optimization/63637
15693 PR rtl-optimization/60663
15694 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
15695 if elt->cost is MAX_COST for ASM_OPERANDS.
15696 (find_sets_in_insn): Fix up comment typo.
15697 (cse_insn): Don't set src_volatile for all non-volatile
15698 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
15699 or with "memory" clobber. Set elt->cost to MAX_COST
15700 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
15701 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
15702
15703 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
15704
15705 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
15706 alternative 1.
15707
15708 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
15709
15710 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
15711 libgcc/config/i386/elf-lib.h.
15712
15713 2015-01-23 Jakub Jelinek <jakub@redhat.com>
15714
15715 PR driver/64737
15716 * gcc.c (print_configuration): Don't print a blank line at the end
15717 here...
15718 (run_attempt): ... but here unstead.
15719
15720 PR middle-end/64734
15721 * omp-low.c (scan_sharing_clauses): Don't ignore
15722 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
15723 on target data/update constructs.
15724
15725 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
15726
15727 PR target/50928
15728 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
15729 (DEBUG_RELOAD): Removed define.
15730 (m32c_limit_reload_class): Enable traces with if DEBUG0.
15731 (m32c_function_arg): Added a type cast.
15732 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
15733 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
15734 * config/m32c/bitops.md (andqi3_16): Likewise.
15735 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
15736 (push_a01_l): Likewise.
15737
15738 2015-01-23 David Malcolm <dmalcolm@redhat.com>
15739
15740 PR jit/64721
15741 * main.c (main): Construct toplev instances with init_signals=true.
15742 * toplev.c (general_init): Add param "init_signals", and use it to
15743 conditionalize the calls to signal and host_hooks.extra_signals.
15744 (toplev::toplev): Add param "init_signals".
15745 (toplev::main): When invoking general_init, pass m_init_signals
15746 to control whether signal-handlers are installed.
15747 * toplev.h (toplev::toplev): Add param "init_signals".
15748 (toplev::m_init_signals): New field.
15749
15750 2015-01-23 David Malcolm <dmalcolm@redhat.com>
15751
15752 PR jit/64722
15753 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
15754 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
15755 latter may be affected by the former (e.g. on i686).
15756
15757 2015-01-23 Martin Liska <mliska@suse.cz>
15758
15759 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
15760 false positive during profiledbootstrap.
15761
15762 2015-01-23 Tom de Vries <tom@codesourcery.com>
15763
15764 PR libgomp/64672
15765 * lto-opts.c (lto_write_options): Output non-explicit conservative
15766 -fno-openacc.
15767 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
15768 (append_compiler_options): Pass -fopenacc through.
15769
15770 2015-01-23 Tom de Vries <tom@codesourcery.com>
15771
15772 PR libgomp/64707
15773 * lto-opts.c (lto_write_options): Output non-explicit conservative
15774 -fno-openmp.
15775 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
15776 (append_compiler_options): Pass -fopenmp through.
15777
15778 2015-01-23 Jakub Jelinek <jakub@redhat.com>
15779
15780 PR debug/64511
15781 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
15782 GTY markup.
15783
15784 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
15785 * diagnostic.def (DK_ICE_NOBT): New kind.
15786 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
15787 like DK_ICE, but never print backtrace.
15788 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
15789 (internal_error_no_backtrace): New function.
15790 * gcc.c (execute): Use internal_error_no_backtrace instead of
15791 internal_error.
15792
15793 2015-01-22 Jeff Law <law@redhat.com>
15794
15795 PR target/52076
15796 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
15797 improve code density for small immediate to memory case.
15798 (insv): Better handle bitfield assignments when the field is
15799 being set to all ones.
15800 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
15801 operand predicate.
15802
15803 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15804 Jakub Jelinek <jakub@redhat.com>
15805
15806 PR middle-end/64729
15807 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
15808 for !TARGET_LIBC_PROVIDES_SSP version and
15809 -fstack-protector-{all,strong,explicit} otherwise.
15810 * config/freebsd.h (LINK_SSP_SPEC): Handle
15811 -fstack-protector-{strong,explicit}.
15812
15813 2015-01-22 Jan Hubicka <hubicka@ucw.cz>
15814 H.J. Lu <hongjiu.lu@intel.com>
15815
15816 PR ipa/64694
15817 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
15818 heap.
15819
15820 2015-01-22 Wei Mi <wmi@google.com>
15821
15822 PR rtl-optimization/64557
15823 * dse.c (record_store): Call get_addr for mem_addr.
15824 (check_mem_read_rtx): Likewise.
15825
15826 2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
15827
15828 * fold-const.c (const_binop): Add early return for non-tcc_binary.
15829
15830 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
15831
15832 * toplev.c (init_local_tick): Process the failure when read
15833 fails for random_seed.
15834
15835 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
15836 'pretty_name' to avoid memory overflow.
15837
15838 2015-01-22 Richard Biener <rguenther@suse.de>
15839
15840 PR middle-end/64728
15841 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
15842 abnormal coalescing on undefined SSA names.
15843
15844 2015-22-01 Uros Bizjak <ubizjak@gmail.com>
15845
15846 PR target/64688
15847 PR target/64477
15848 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
15849 for alternative 3.
15850 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
15851
15852 2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
15853
15854 PR middle-end/63325
15855 * fold-const.c (fold_checksum_tree): Don't include value of
15856 expr->decl_with_vis.symtab_node in the checksum.
15857
15858 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15859
15860 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
15861
15862 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
15863
15864 PR driver/64690
15865 * gcc.c (insert_comments): New function.
15866 (try_generate_repro): Call it.
15867 (append_text): Removed.
15868
15869 2015-01-22 Richard Biener <rguenther@suse.de>
15870
15871 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
15872 with IL incompatible options. Properly honor user optimize
15873 attributes.
15874
15875 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
15876
15877 PR rtl-optimization/64682
15878 * combine.c (distribute_notes): When moving a death note for
15879 a register that is set in the new I2, make sure to put it
15880 before that new I2.
15881
15882 2015-01-21 David Edelsohn <dje.gcc@gmail.com>
15883
15884 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
15885 not TARGET_DEFAULT.
15886
15887 2015-01-21 Jakub Jelinek <jakub@redhat.com>
15888
15889 PR debug/64511
15890 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
15891 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
15892 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
15893
15894 PR sanitizer/64706
15895 * doc/invoke.texi (-fsanitize=vptr): Document.
15896
15897 PR rtl-optimization/62078
15898 * dse.c: Include cfgcleanup.h.
15899 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
15900 anything call purge_all_dead_edges and cleanup_cfg at the end
15901 of the pass.
15902
15903 2015-01-21 Jan Hubicka <hubicka@ucw.cz>
15904
15905 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
15906 edges.
15907
15908 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
15909
15910 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
15911 decl attribute.
15912
15913 2015-01-21 David Sherwood <david.sherwood@arm.com>
15914 Tejas Belagod <Tejas.Belagod@arm.com>
15915
15916 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
15917 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
15918 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
15919 Removed.
15920
15921 2015-01-21 David Sherwood <david.sherwood@arm.com>
15922 Tejas Belagod <Tejas.Belagod@arm.com>
15923
15924 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
15925 (aarch64_reverse_mask): New decls.
15926 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
15927 (insn_count): New mode_attr.
15928 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
15929 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
15930 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
15931 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
15932 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
15933 (aarch64_simd_st4): New patterns.
15934 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
15935 (aarch64_reverse_mask): New functions.
15936
15937 2015-01-21 Richard Sandiford <richard.sandiford@arm.com>
15938
15939 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
15940 Declare.
15941 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
15942 addressing modes for BE.
15943 (aarch64_print_operand): Add 'R' specifier.
15944 (aarch64_simd_disambiguate_copy): Delete.
15945 (aarch64_simd_emit_reg_reg_move): New function.
15946 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
15947 in define_splits for structural moves.
15948 (mov<mode>): Use less restrictive predicates.
15949 (*aarch64_mov<mode>): Simplify and only allow for LE.
15950 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
15951
15952 2015-01-21 Alan Hayward <alan.hayward@arm.com>
15953
15954 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
15955
15956 2015-01-21 Richard Henderson <rth@redhat.com>
15957
15958 PR target/64669
15959 * ccmp.c (used_in_cond_stmt_p): Remove.
15960 (expand_ccmp_expr): Don't use it.
15961
15962 2015-01-21 Nick Clifton <nickc@redhat.com>
15963
15964 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
15965 PARALLELs.
15966
15967 2015-01-21 Richard Biener <rguenther@suse.de>
15968
15969 PR middle-end/64313
15970 * tree-core.h (builtin_info, builtin_info_type): Turn from
15971 an object with two arrays into an array of an object with
15972 decl and two flags, implicit_p and declared_p.
15973 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
15974 set_builtin_decl, set_builtin_decl_implicit_p,
15975 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
15976 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
15977 * builtins.c (builtin_info): Adjust.
15978 * gimplify.c (gimplify_addr_expr): References to builtins
15979 that have been declared by the user makes them eligible for
15980 use by the compiler. Call set_builtin_decl_implicit_p on them.
15981
15982 2015-01-20 Jeff Law <law@redhat.com>
15983
15984 PR target/59946
15985 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
15986 allow pc-relative addresses in operand predicates or constraints.
15987
15988 2015-01-21 Bin Cheng <bin.cheng@arm.com>
15989
15990 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
15991 neon on aarch32 processors for stringops.
15992
15993 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
15994
15995 PR ipa/63576
15996 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
15997
15998 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
15999
16000 PR lto/45375
16001 * ipa-inline.c: Include lto-streamer.h
16002 (report_inline_failed_reason): Output source file differences and
16003 flags on optimization/target node mismatch.
16004 (can_inline_edge_p): Consider caller to be the outer inline function;
16005 be less restrictive about matching opimize and optimize_size attributes.
16006 (inline_account_function_p): Break out from ...
16007 (inline_small_functions): ... here.
16008 * ipa-inline-transform.c (clone_inlined_nodes): Use
16009 inline_account_function_p.
16010 (inline_call): Use optimize attribution; use inline_account_function_p.
16011 (inline_transform): Use opt_for_fn.
16012 * ipa-inline.h (inline_account_function_p): Declare.
16013
16014 2015-01-20 Jakub Jelinek <jakub@redhat.com>
16015
16016 PR debug/64663
16017 * dwarf2out.c (decl_piece_node): Don't put bitsize into
16018 mode if bitsize <= 0.
16019 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
16020 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
16021 sizes and positions.
16022
16023 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
16024
16025 * config/nios2/nios2.c (nios2_asm_file_end): Implement
16026 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
16027 needed.
16028 (TARGET_ASM_FILE_END): Define.
16029
16030 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
16031
16032 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
16033 (struct tune_params): Use the enum.
16034 * arm.c (arm_*_tune): Update.
16035 (arm_option_override): Update.
16036
16037 2015-01-20 Richard Biener <rguenther@suse.de>
16038
16039 PR ipa/64684
16040 * ipa-reference.c (add_static_var): Inline ...
16041 (analyze_function): ... here after splitting out from ...
16042 (is_proper_for_analysis): ... this.
16043
16044 2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
16045
16046 PR target/64149
16047 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
16048 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
16049 replace the conditional with it's true branch.
16050 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
16051 (arm_lra_p): Remove.
16052
16053 2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
16054
16055 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
16056
16057 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16058
16059 * config/tilegx/mul-tables.c: Move symtab.h include after
16060 coretypes.h include.
16061 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
16062 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
16063 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
16064 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
16065 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
16066
16067 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
16068
16069 PR bootstrap/64676
16070 Revert:
16071 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
16072
16073 PR rtl-optimization/64081
16074 * loop-iv.c (def_pred_latch_p): New function.
16075 (latch_dominating_def): Allow specific cases with non-single
16076 definitions.
16077 (iv_get_reaching_def): Likewise.
16078 (check_complex_exit_p): New function.
16079 (check_simple_exit): Use check_complex_exit_p to allow certain cases
16080 with exits not executing on any iteration.
16081
16082 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
16083
16084 PR lto/45375
16085 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
16086 to set branch cost.
16087
16088 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
16089
16090 PR lto/45375
16091 * i386.c (gate): Check flag_expensive_optimizations and
16092 optimize_size.
16093 (ix86_option_override_internal): Drop optimize_size condition
16094 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
16095 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
16096 MASK_PREFER_AVX128.
16097 (ix86_avx256_split_vector_move_misalign,
16098 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
16099 * sse.md (all uses of TARGET_PREFER_AVX128): Add
16100 optimize_insn_for_speed_p check.
16101
16102 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
16103
16104 * config/mips/mips.h (FP_ASM_SPEC): New define.
16105 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
16106 instead.
16107
16108 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
16109
16110 PR target/53988
16111 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
16112 nullptr for insn when reaching the first insn.
16113 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
16114 (sh_insn_operands_modified_between_p): Add nullptr check.
16115 (sh_find_extending_set_of_reg): Fix log message. Don't accept
16116 sign extending mem load if the insn contains any UNSPEC or
16117 UNSPEC_VOLATILE.
16118
16119 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
16120
16121 * params.def (inline-unit-growth): Drop to 15%.
16122 * invoke.texi (inline-unit-growth): Document change.
16123
16124 2015-01-19 Martin Liska <mliska@suse.cz>
16125
16126 PR ipa/64668
16127 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
16128 function for second argument of OBJ_TYPE_REF.
16129
16130 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
16131
16132 PR ipa/64218
16133 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
16134 whether function is an alias.
16135
16136 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
16137
16138 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
16139 cases.
16140
16141 2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
16142
16143 PR rtl-optimization/64671
16144 * lra-remat.c (operand_to_remat): Don't consider jump and call
16145 insns.
16146
16147 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
16148
16149 PR target/59828
16150 * config/rs6000/default64.h: Include rs6000-cpus.def.
16151 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
16152 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
16153 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
16154 and POWER8.
16155 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
16156 POWER8.
16157 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
16158 pseudo-op to specify assembler dialect.
16159
16160 2015-01-19 Martin Liska <mliska@suse.cz>
16161
16162 PR ipa/64664
16163 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
16164 Handle safe potentially removed nodes during filtering.
16165
16166 2015-01-19 Martin Liska <mliska@suse.cz>
16167
16168 * doc/extend.texi (no_icf): Add new attribute description.
16169 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
16170 where the pass attempts to merge a function with no_icf attribute.
16171
16172 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16173
16174 PR target/64532
16175 * doc/md.texi (ARM Options): Document register constraints.
16176
16177 2015-01-19 Jiong Wang <jiong.wang@arm.com>
16178 Andrew Pinski <apinski@cavium.com>
16179
16180 PR target/64304
16181 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
16182 (ashl<mode>3): Don't expand if operands[2] is not constant.
16183
16184 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16185
16186 PR target/64448
16187 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
16188 Match xor-and-xor RTL pattern.
16189
16190 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
16191
16192 PR rtl-optimization/64081
16193 * loop-iv.c (def_pred_latch_p): New function.
16194 (latch_dominating_def): Allow specific cases with non-single
16195 definitions.
16196 (iv_get_reaching_def): Likewise.
16197 (check_complex_exit_p): New function.
16198 (check_simple_exit): Use check_complex_exit_p to allow certain cases
16199 with exits not executing on any iteration.
16200
16201 2015-01-19 Jakub Jelinek <jakub@redhat.com>
16202
16203 * common.opt (fgraphite): Fix a typo.
16204
16205 2015-01-19 Felix Yang <felix.yang@huawei.com>
16206
16207 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
16208 pattern.
16209 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
16210 uminp, smax_nanp, smin_nanp): New builtins.
16211 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
16212 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
16213 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
16214 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
16215 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
16216 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
16217 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
16218 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
16219 vpminnms_f32): Rewrite using builtin functions.
16220
16221 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
16222
16223 PR libgomp/64625
16224 * omp-low.c (offload_symbol_decl): Remove variable.
16225 (get_offload_symbol_decl): Remove function.
16226 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
16227 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
16228 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
16229 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
16230 BUILT_IN_GOACC_UPDATE don't pass it at all.
16231
16232 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
16233
16234 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
16235 callers.
16236
16237 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
16238
16239 * ipa-chkp.c (chkp_produce_thunks): Add early param
16240 to split thunks production into two passes. Keep
16241 'always_inline' function bodies after the first pass.
16242 (pass_data_ipa_chkp_early_produce_thunks): New.
16243 (pass_ipa_chkp_early_produce_thunks): New.
16244 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
16245 chkp_produce_thunks signature.
16246 (make_pass_ipa_chkp_early_produce_thunks): New.
16247 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
16248 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
16249 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
16250
16251 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
16252
16253 * cgraph.c (cgraph_node::dump): Dump profile flags.
16254
16255 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
16256
16257 PR target/64652
16258 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
16259 reg appear first in the parallel.
16260
16261 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
16262
16263 * ipa-reference.c (set_reference_optimization_summary,
16264 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
16265 disabled.
16266 (ignore_module_statics): New static var.
16267 (propagate_bits): If ipa-reference is disabled, do not look into local
16268 properties.
16269 (analyze_function): Disable analysis when ipa_reference is disabled.
16270 (generate_summary): Do not dump when reference is disabled;
16271 collect vars accessed from functions with ipa-reference disabled.
16272 (get_read_write_all_from_node): When ipa-reference is disabled, use the
16273 node flags.
16274 (gate): Enable for LTO.
16275 (ignore_edge_p): New function.
16276 (propagate): Skip functions w/o ipa-reference analysis.
16277 * optc-save-gen.awk: Handle optimize_debug correctly.
16278 * opth-gen.awk: Likewise.
16279 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
16280 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
16281 fira-share-save-slots, fira-share-spill-slots,
16282 fmodulo-sched-allow-regmoves, fpartial-inlining,
16283 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
16284 ftracer, ftree-parallelize-loops, fassociative-math,
16285 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
16286 Optimization
16287 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
16288 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
16289 Optimization.
16290 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
16291 Fix for IPA.
16292
16293 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
16294
16295 PR ipa/64378
16296 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
16297 flag correctly.
16298 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
16299
16300 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
16301
16302 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
16303 Remove duplicate option listings.
16304
16305 2015-01-18 Felix Yang <felix.yang@huawei.com>
16306
16307 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
16308 (autofdo_source_profile::get_callsite_total_count,
16309 function_instance::get_function_instance_by_decl,
16310 string_table::get_index, string_table::get_index_by_decl,
16311 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
16312 Fix comment typos. Reformatting and minor code rearrangement.
16313
16314 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
16315
16316 * config/rs6000/rs6000.md (probe_stack): Delete.
16317 (probe_stack_address): New.
16318
16319 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
16320
16321 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
16322 to test for 32-bit ABIs, not !TARGET_POWERPC64.
16323
16324 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
16325
16326 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
16327 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
16328 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
16329 snafu.
16330 (rs6000_libcall_value): Use the new function.
16331
16332 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
16333
16334 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
16335
16336 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
16337
16338 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
16339 implement a more precise life analysis for it during backward scan.
16340
16341 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
16342
16343 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
16344
16345 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
16346
16347 PR rtl-optimization/52773
16348 * calls.c (emit_library_call_value): When pushing arguments use
16349 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
16350 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
16351 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
16352
16353 2015-01-17 Jeff Law <law@redhat.com>
16354
16355 PR rtl-optimization/32790
16356 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
16357 not ZERO_EXTEND in SET_DESTs.
16358
16359 2015-01-17 Alan Modra <amodra@gmail.com>
16360
16361 * cprop.c (do_local_cprop): Revert last change.
16362
16363 2015-01-16 DJ Delorie <dj@redhat.com>
16364 Nick Clifton <nickc@redhat.com>
16365
16366 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
16367 (addhi3_real): Likewise. Fix [HL+0] syntax.
16368 (subqi3_real): Likewise.
16369 (subhi3_real): Likewise.
16370 (cbranchqi4_real): Likewise. Allow saddr,#imm.
16371 (cbranchhi4_real): Likewise.
16372 (cbranchhi4_real_inverted): Likewise.
16373 (cbranchsi4_real_lt): Likewise.
16374 (cbranchsi4_real_ge): Likewise.
16375 (cbranchsi4_real_ge): Likewise.
16376 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
16377 (sub<mode>3_virt): Likewise.
16378 (cbranchqi4_virt): Likewise.
16379 (cbranchhi4_virt): Likewise.
16380 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
16381 always use '[reg+imm]' even when imm is zero.
16382 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
16383 (rl78_general_operand): New.
16384 (rl78_nonimmediate_operand): New.
16385 (rl78_nonfar_operand): Use them.
16386 (rl78_nonfar_nonimm_operand): Likewise.
16387 (rl78_stack_based_mem): Fix.
16388 * config/rl78/constraints.md (Ibqi): New.
16389 (IBqi): New.
16390 (Wsa): New.
16391 (Wsf): New.
16392 (Cs1): Fix.
16393 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
16394 (iorqi3): Likewise.
16395 (xorqi3): Likewise.
16396 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
16397
16398 * config/rl78/constrains (Qs8): New constraint.
16399 * config/rl78/rl78.c (rl78_flags_already_set): New function.
16400 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
16401 * config/rl78/rl78-real.md (update_Z): New attribute.
16402 Update patterns to set it.
16403 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
16404 shorter compare and branch sequence can be used.
16405 (cbranchhi4_real): Likewise.
16406 (cbranchhi4_real_inverted): Likewise.
16407
16408 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
16409 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
16410 address space.
16411 * config/rl78/rl78.c (rl78_get_name_encoding): New.
16412 (rl78_option_override): Allow -mes0 only if C.
16413 (characterize_address): Support subregs of symbol_refs.
16414 (rl78_addr_space_address_mode): Move. Add __near.
16415 (rl78_far_p): Likewise.
16416 (rl78_addr_space_pointer_mode): Likewise.
16417 (rl78_as_legitimate_address): Likewise.
16418 (rl78_addr_space_subset_p): Likewise.
16419 (rl78_addr_space_convert): Likewise.
16420 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
16421 symbols with -mes0.
16422 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
16423 addressing.
16424 (rl78_alloc_physical_registers_op1): Change logic to prefer
16425 symbol[BC] addressing.
16426 (frodata_section): New.
16427 (rl78_asm_init_sections): Initialize it.
16428 (rl78_select_section): Put __far readonly symbols in .frodata.
16429 (rl78_make_type_far): New.
16430 (rl78_insert_attributes): Force all readonly symbols to be
16431 __far when -mes0.
16432 (rl78_asm_out_integer): New.
16433 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
16434 * config/rl78/rl78.opt (-mes0): New.
16435
16436 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
16437 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
16438 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
16439 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
16440 (rl78_saddr_p): New.
16441 (rl78_output_aligned_common): New.
16442 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
16443 (rl78_handle_saddr_attribute): New.
16444 (rl78_handle_naked_attribute): New.
16445 (rl78_attribute_table): Add saddr.
16446 (rl78_print_operand_1): Don't print '!' on saddr operands.
16447 (rl78_print_operand_1): Strip encodings.
16448 (rl78_sfr_p): New.
16449 (rl78_strip_name_encoding): New.
16450 (rl78_attrlist_to_encoding): New.
16451 (rl78_encode_section_info): New.
16452 (rl78_asm_init_sections): New.
16453 (rl78_select_section): New.
16454 (rl78_output_labelref): New.
16455 (rl78_output_aligned_common): New.
16456 (rl78_asm_out_integer): New.
16457 (rl78_asm_ctor_dtor): New.
16458 (rl78_asm_constructor): New.
16459 (rl78_asm_destructor): New.
16460
16461 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
16462 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
16463 (transcode_memory_rtx): Update.
16464 (rl78_expand_epilogue): Use A_REG instead of 0.
16465
16466 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
16467
16468 * config/arm/arm-protos.h (struct tune_params): New field
16469 sched_autopref_queue_depth.
16470 * config/arm/arm.c (sched-int.h): Include header.
16471 (arm_first_cycle_multipass_dfa_lookahead_guard,)
16472 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
16473 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
16474 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
16475 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
16476 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
16477 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
16478 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
16479 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
16480 * config/arm/t-arm (arm.o): Update.
16481 * haifa-sched.c (update_insn_after_change): Update.
16482 (rank_for_schedule): Use auto-prefetcher model, if requested.
16483 (autopref_multipass_init): New static function.
16484 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
16485 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
16486 variable for debug dumps.
16487 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
16488 (autopref_multipass_dfa_lookahead_guard): New global function that
16489 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
16490 (init_h_i_d): Update.
16491 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
16492 * sched-int.h (enum autopref_multipass_data_status): New const enum.
16493 (autopref_multipass_data_): Structure for auto-prefetcher data.
16494 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
16495 (struct _haifa_insn_data:autopref_multipass_data): New field.
16496 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
16497 (autopref_multipass_dfa_lookahead_guard): Declare.
16498
16499 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
16500
16501 * rtlanal.c (get_base_term): Handle SCRATCH.
16502
16503 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
16504
16505 * config/aarch64/aarch64.c
16506 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
16507 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
16508 * config/arm/arm.c
16509 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
16510 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
16511
16512 2015-01-17 Alan Modra <amodra@gmail.com>
16513
16514 * cprop.c (do_local_cprop): Disallow replacement of fixed
16515 hard registers.
16516
16517 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16518
16519 PR target/62066
16520 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
16521 early return 0.
16522
16523 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
16524
16525 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
16526 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
16527
16528 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16529
16530 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
16531 * config/arm/thumb1.md: ... Here.
16532
16533 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
16534
16535 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
16536 TImode for TARGET_32BIT.
16537
16538 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
16539
16540 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
16541 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
16542 as ...
16543 (rs6000_abi_word_mode): New function.
16544
16545 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
16546
16547 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
16548 instead of UNITS_PER_WORD to describe the size of stack slots.
16549
16550 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
16551
16552 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
16553 as rs6000_promote_function_mode. Move comment to there.
16554 (rs6000_promote_function_mode): New function.
16555
16556 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
16557
16558 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
16559 -mpowerpc64 is active.
16560
16561 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
16562
16563 PR middle-end/64353
16564 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
16565 virtuals on start.
16566
16567 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
16568
16569 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
16570 introduced in revision 219724.
16571
16572 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16573 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16574
16575 PR target/64263
16576 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
16577 destination is not a GP reg.
16578 (*movdi_aarch64): Likewise.
16579
16580 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
16581
16582 PR target/64623
16583 * config/rs6000/default64.h: Revert ISA change.
16584
16585 2015-01-16 Richard Biener <rguenther@suse.de>
16586
16587 PR middle-end/64614
16588 * tree-ssa-uninit.c: Include tree-cfg.h.
16589 (MAX_SWITCH_CASES): New define.
16590 (convert_control_dep_chain_into_preds): Handle switch statements.
16591 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
16592 (normalize_one_pred_1): Do not split bit-manipulations.
16593 Record (x & CST).
16594
16595 2015-01-16 Richard Biener <rguenther@suse.de>
16596
16597 PR tree-optimization/64568
16598 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
16599 complex load rewriting for TARGET_MEM_REFs.
16600
16601 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
16602
16603 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
16604
16605 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
16606
16607 PR target/64149
16608 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
16609 variable.
16610 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
16611 (aarch64_lra_p): Remove.
16612
16613 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
16614
16615 PR target/64363
16616 * ipa-chkp.h (chkp_instrumentable_p): New.
16617 * ipa-chkp.c: Include tree-inline.h.
16618 (chkp_instrumentable_p): New.
16619 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
16620 Fix processing of not instrumentable functions.
16621 (chkp_versioning): Use chkp_instrumentable_p. Warn about
16622 not instrumentable functions.
16623 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
16624 chkp_instrumentable_p.
16625 * tree-inline.h (copy_forbidden): New.
16626 * tree-inline.c (copy_forbidden): Not static anymore.
16627
16628 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16629
16630 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
16631 ptr1, ptr2 unused.
16632
16633 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
16634
16635 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
16636 type OP_OUT to OP_INOUT.
16637
16638 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
16639
16640 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
16641 (high x) y) to y if x and y have the same base.
16642
16643 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
16644
16645 * config/arm/cortex-a57.md: New.
16646 * config/aarch64/aarch64.md: Include it.
16647 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
16648 * config/aarch64/aarch64-tune.md: Regenerate.
16649
16650 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
16651
16652 PR target/64015
16653 * ccmp.c (expand_ccmp_next): New function.
16654 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
16655 and compare insn sequence.
16656 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
16657 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
16658 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
16659 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
16660 (*ccmp_ior): Changed to ccmp_ior<mode>.
16661 (cmp<mode>): New pattern.
16662 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
16663 parameters.
16664 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
16665
16666 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
16667
16668 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
16669 _mm256_bsrli_epi128): New.
16670 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
16671
16672 2015-01-15 Jiong Wang <jiong.wang@arm.com>
16673
16674 * expmed.c (store_bit_field_using_insv): Improve warning message.
16675 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
16676
16677 2015-01-15 Jiong Wang <jiong.wang@arm.com>
16678
16679 PR rtl-optimization/64011
16680 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
16681 there is partial overflow.
16682
16683 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
16684
16685 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
16686 prototype.
16687 (nds32_expand_epilogue_v3pop): Likewise.
16688 * config/nds32/nds32.md (sibcall): Define this for sibling call
16689 optimization.
16690 (sibcall_register): Likewise.
16691 (sibcall_immediate): Likewise.
16692 (sibcall_value): Likewise.
16693 (sibcall_value_register): Likewise.
16694 (sibcall_value_immediate): Likewise.
16695 (sibcall_epilogue): Likewise.
16696 (epilogue): Pass false to indicate this is not a sibcall epilogue.
16697 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
16698 (nds32_expand_epilogue_v3pop): Likewise.
16699
16700 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
16701
16702 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
16703 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
16704 (return_internal): New.
16705 (return): Define this named pattern.
16706 (simple_return): Define this named pattern.
16707 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
16708 pattern instead of unspec_volatile_func_return.
16709 (nds32_expand_epilogue_v3pop): Likewise.
16710 (nds32_can_use_return_insn): New function.
16711
16712 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
16713
16714 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
16715 * config/nds32/nds32.md (pop25return): New.
16716 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
16717 pop25return pattern.
16718
16719 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
16720
16721 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
16722 -mforbid-fp-as-gp, and -mex9 options.
16723
16724 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
16725
16726 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
16727 remove -mgp-direct option.
16728
16729 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
16730
16731 * doc/invoke.texi (--param early-inlining-insns): Update default value.
16732 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
16733
16734 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
16735
16736 * ipa-inline.c (inline_small_functions): Work around hints
16737 cache issue.
16738
16739 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
16740
16741 PR target/59710
16742 * doc/invoke.texi (Option Summary): Document new Nios II
16743 -mgpopt= syntax.
16744 (Nios II Options): Likewise.
16745 * config/nios2/nios2.opt: Add -mgpopt= option support.
16746 Modify existing -mgpopt and -mno-gpopt options to be aliases.
16747 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
16748 * config/nios2/nios2.c (nios2_option_override): Adjust
16749 -mgpopt defaulting.
16750 (nios2_in_small_data_p): Return true for explicit small data
16751 sections even with -G0.
16752 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
16753 option choices.
16754
16755 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
16756
16757 PR ipa/64612
16758 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
16759 of comdat locals.
16760 (inline_call): Fix removal of aliases.
16761
16762 2015-01-15 Jakub Jelinek <jakub@redhat.com>
16763
16764 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
16765 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
16766 * opts.c (common_handle_option): Add -fsanitize=vptr.
16767 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
16768 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
16769 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
16770 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
16771 (ubsan_expand_vptr_ifn): New prototype.
16772 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
16773 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
16774 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
16775 expand_LOOP_VECTORIZED): Make argument nameless, remove
16776 ATTRIBUTE_UNUSED.
16777 (expand_UBSAN_VPTR): New function.
16778 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
16779 in fn spec.
16780 (UBSAN_VPTR): New internal function.
16781 * sanopt.c (tree_map_traits): Renamed to ...
16782 (sanopt_tree_map_traits): ... this.
16783 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
16784 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
16785 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
16786 (maybe_optimize_ubsan_vptr_ifn): New function.
16787 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
16788 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
16789 -fsanitize=vptr.
16790 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
16791 internal calls like pure functions for aliasing, even when they
16792 have other side-effects that prevent making them ECF_PURE.
16793 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
16794 (ubsan_expand_vptr_ifn): New function.
16795
16796 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
16797
16798 PR rtl-optimization/64110
16799 * stmt.c (parse_output_constraint): Process '^' and '$'.
16800 (parse_input_constraint): Ditto.
16801 * lra-constraints.c (process_alt_operands): Process the new
16802 constraints.
16803 * ira-costs.c (record_reg_classes): Process the new constraint
16804 '^'.
16805 * genoutput.c (indep_constraints): Add '^' and '$'.
16806 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
16807 * doc/md.texi: Add description of the new constraints.
16808
16809 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
16810 Bernd Schmidt <bernds@codesourcery.com>
16811 Cesar Philippidis <cesar@codesourcery.com>
16812 James Norris <jnorris@codesourcery.com>
16813 Tom de Vries <tom@codesourcery.com>
16814 Ilmir Usmanov <i.usmanov@samsung.com>
16815 Dmitry Bocharnikov <dmitry.b@samsung.com>
16816 Evgeny Gavrin <e.gavrin@samsung.com>
16817 Jakub Jelinek <jakub@redhat.com>
16818
16819 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
16820 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
16821 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
16822 New function types.
16823 * builtins.c: Include "gomp-constants.h".
16824 (expand_builtin_acc_on_device): New function.
16825 (expand_builtin, is_inexpensive_builtin): Handle
16826 BUILT_IN_ACC_ON_DEVICE.
16827 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
16828 New macros.
16829 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
16830 flag_openmp.
16831 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
16832 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
16833 i386/intelmic-offload.h.
16834 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
16835 to libgomp and its dependencies.
16836 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
16837 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
16838 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
16839 * config/ia64/hpux.h (LIB_SPEC): Likewise.
16840 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
16841 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
16842 * doc/generic.texi: Update for OpenACC changes.
16843 * doc/gimple.texi: Likewise.
16844 * doc/invoke.texi: Likewise.
16845 * doc/sourcebuild.texi: Likewise.
16846 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
16847 GF_OMP_FOR_KIND_OACC_LOOP.
16848 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
16849 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
16850 GF_OMP_TARGET_KIND_OACC_UPDATE,
16851 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
16852 Dump more data.
16853 * gimple.c: Update comments for OpenACC changes.
16854 * gimple.def: Likewise.
16855 * gimple.h: Likewise.
16856 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
16857 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
16858 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
16859 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
16860 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
16861 appropriate place.
16862 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
16863 * gimplify.c: Include "gomp-constants.h".
16864 Update comments for OpenACC changes.
16865 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
16866 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
16867 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
16868 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
16869 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
16870 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
16871 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
16872 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
16873 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
16874 OMP_CLAUSE_SEQ.
16875 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
16876 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
16877 OMP_CLAUSE_SET_MAP_KIND.
16878 (gimplify_oacc_cache): New function.
16879 (gimplify_omp_for): Handle OACC_LOOP.
16880 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
16881 OACC_DATA.
16882 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
16883 OACC_EXIT_DATA, OACC_UPDATE.
16884 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
16885 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
16886 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
16887 (gimplify_body): Consider flag_openacc next to flag_openmp.
16888 * lto-streamer-out.c: Include "gomp-constants.h".
16889 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
16890 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
16891 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
16892 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
16893 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
16894 (BUILT_IN_ACC_ON_DEVICE): New builtins.
16895 * omp-low.c: Include "gomp-constants.h".
16896 Update comments for OpenACC changes.
16897 (struct omp_context): Add reduction_map, gwv_below, gwv_this
16898 members.
16899 (extract_omp_for_data, use_pointer_for_field, install_var_field)
16900 (new_omp_context, delete_omp_context, scan_sharing_clauses)
16901 (create_omp_child_function, scan_omp_for, scan_omp_target)
16902 (check_omp_nesting_restrictions, lower_reduction_clauses)
16903 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
16904 Update for OpenACC changes.
16905 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
16906 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
16907 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
16908 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
16909 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
16910 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
16911 OMP_CLAUSE_MAP_*.
16912 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
16913 Handle GF_OMP_FOR_KIND_OACC_LOOP.
16914 (expand_omp_target, lower_omp_target): Handle
16915 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
16916 GF_OMP_TARGET_KIND_OACC_UPDATE,
16917 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
16918 GF_OMP_TARGET_KIND_OACC_DATA.
16919 (pass_expand_omp::execute, execute_lower_omp)
16920 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
16921 flag_openmp.
16922 (offload_symbol_decl): New variable.
16923 (oacc_get_reduction_array_id, oacc_max_threads)
16924 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
16925 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
16926 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
16927 (oacc_gimple_assign, oacc_initialize_reduction_data)
16928 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
16929 functions.
16930 (is_targetreg_ctx): Remove function.
16931 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
16932 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
16933 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
16934 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
16935 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
16936 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
16937 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
16938 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
16939 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
16940 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
16941 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
16942 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
16943 * tree-core.h: Update comments for OpenACC changes.
16944 (enum omp_clause_map_kind): Remove.
16945 (struct tree_omp_clause): Change type of map_kind member from enum
16946 omp_clause_map_kind to unsigned char.
16947 * tree-inline.c: Update comments for OpenACC changes.
16948 * tree-nested.c: Likewise. Include "gomp-constants.h".
16949 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
16950 (convert_tramp_reference_stmt, convert_gimple_call): Update for
16951 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
16952 OMP_CLAUSE_SET_MAP_KIND.
16953 * tree-pretty-print.c: Include "gomp-constants.h".
16954 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
16955 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
16956 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
16957 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
16958 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
16959 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
16960 instead of OMP_CLAUSE_MAP_*.
16961 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
16962 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
16963 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
16964 * tree-streamer-in.c: Include "gomp-constants.h".
16965 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
16966 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
16967 * tree-streamer-out.c: Include "gomp-constants.h".
16968 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
16969 OMP_CLAUSE_MAP_*.
16970 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
16971 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
16972 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
16973 * tree.c (omp_clause_num_ops): Update accordingly.
16974 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
16975 Likewise.
16976 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
16977 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
16978 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
16979 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
16980 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
16981 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
16982 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
16983 (OMP_CLAUSE_SET_MAP_KIND): New macro.
16984 * varpool.c (varpool_node::get_create): Consider flag_openacc next
16985 to flag_openmp.
16986 * config/i386/intelmic-offload.h: New file.
16987 * config/nvptx/offload.h: Likewise.
16988
16989 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16990
16991 * explow.h: Remove duplicate contents.
16992 * dojump.h: Likewise.
16993
16994 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
16995
16996 * arm.c (arm_xgene_tune): Add default initializer for instruction
16997 fusion.
16998
16999 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
17000
17001 PR ipa/64068
17002 PR ipa/64559
17003 * ipa.c (symbol_table::remove_unreachable_nodes):
17004 Do not put abstract origins into boundary.
17005
17006 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
17007
17008 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
17009 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
17010
17011 2015-01-15 Steve Ellcey <sellcey@mips.com>
17012
17013 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
17014 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
17015 builtins.def, and chkp-builtins.def.
17016
17017 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
17018
17019 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
17020 ISA 2.7 (POWER8).
17021
17022 2015-01-15 Richard Biener <rguenther@suse.de>
17023
17024 PR tree-optimization/61743
17025 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
17026 information on PHIs for some simple cases.
17027
17028 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
17029
17030 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
17031 Include xgene1.md.
17032 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
17033 * config/arm/arm-cores.def (xgene1): New entry.
17034 * config/arm/arm-tables.opt: Regenerate.
17035 * config/arm/arm-tune.md: Regenerate.
17036 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
17037
17038 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
17039
17040 * tree-if-conv.c: Include hash-map.h.
17041 (aggressive_if_conv): New variable.
17042 (fold_build_cond_expr): Add simplification of non-zero condition.
17043 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
17044 destination block is not always executed.
17045 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
17046 than two predecessors if AGGRESSIVE_IF_CONV is true.
17047 (if_convertible_stmt_p): Fix commentary.
17048 (all_preds_critical_p): New function.
17049 (has_pred_critical_p): New function.
17050 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
17051 BB can have more than two predecessors and all incoming edges can be
17052 critical.
17053 (predicate_bbs): Skip predication for loop exit block, use build2_loc
17054 to compute predicate for true edge.
17055 (find_phi_replacement_condition): Delete this function.
17056 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
17057 Allow interchange PHI arguments if EXTENDED is false.
17058 Change check that block containing reduction statement candidate
17059 is predecessor of phi-block since phi may have more than two arguments.
17060 (phi_args_hash_traits): New helper structure.
17061 (struct phi_args_hash_traits): New type.
17062 (phi_args_hash_traits::hash): New function.
17063 (phi_args_hash_traits::equal_keys): New function.
17064 (gen_phi_arg_condition): New function.
17065 (predicate_scalar_phi): Add handling of phi nodes with more than two
17066 arguments, delete COND and TRUE_BB arguments, insert body of
17067 find_phi_replacement_condition to predicate ordinary phi nodes.
17068 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
17069 delete call of find_phi_replacement_condition and invoke
17070 predicate_scalar_phi with two arguments.
17071 (insert_gimplified_predicates): Add assert that non-predicated block
17072 don't have statements to insert.
17073 (ifcvt_split_critical_edges): New function.
17074 (ifcvt_split_def_stmt): Likewise.
17075 (ifcvt_walk_pattern_tree): Likewise.
17076 (stmt_is_root_of_bool_pattern): Likewise.
17077 (ifcvt_repair_bool_pattern): Likewise.
17078 (ifcvt_local_dce): Likewise.
17079 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
17080 is copy of inner or outer loop force_vectorize field, invoke
17081 ifcvt_split_critical_edges, ifcvt_local_dce and
17082 ifcvt_repair_bool_pattern for aggressive if-conversion.
17083
17084 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
17085
17086 * config/aarch64/aarch64.md: Include xgene1.md.
17087 * config/aarch64/xgene1.md: New file.
17088
17089 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
17090
17091 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
17092 xgene1 (APM XGene-1) core definition.
17093 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
17094 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
17095 * doc/invoke.texi: Document -mcpu=xgene1.
17096
17097 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
17098
17099 * dojump.h: New header file.
17100 * explow.h: Likewise.
17101 * expr.h: Remove includes.
17102 Move expmed.c prototypes to expmed.h.
17103 Move dojump.c prototypes to dojump.h.
17104 Move alias.c prototypes to alias.h.
17105 Move explow.c prototypes to explow.h.
17106 Move calls.c prototypes to calls.h.
17107 Move emit-rtl.c prototypes to emit-rtl.h.
17108 Move varasm.c prototypes to varasm.h.
17109 Move stmt.c prototypes to stmt.h.
17110 (saved_pending_stack_adjust): Move to dojump.h.
17111 (adjust_address): Move to explow.h.
17112 (adjust_address_nv): Move to emit-rtl.h.
17113 (adjust_bitfield_address): Likewise.
17114 (adjust_bitfield_address_size): Likewise.
17115 (adjust_bitfield_address_nv): Likewise.
17116 (adjust_automodify_address_nv): Likewise.
17117 * explow.c (expr_size): Move to expr.c.
17118 (int_expr_size): Likewise.
17119 (tree_expr_size): Likewise.
17120 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17121 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
17122 * genemit.c (main): Generate includes statistics.h, real.h,
17123 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
17124 stmt.h.
17125 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
17126 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
17127 explow.h, emit-rtl.h, stmt.h.
17128 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
17129 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
17130 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
17131 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
17132 emit-rtl.h, varasm.h, stmt.h.
17133 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
17134 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
17135 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
17136 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
17137 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
17138 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
17139 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
17140 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
17141 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
17142 tm.h tree.h varasm.h vec.h wide-int.h.
17143 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
17144 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
17145 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
17146 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
17147 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
17148 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
17149 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
17150 * loop-iv.c: Likewise.
17151 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
17152 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
17153 statistics.h stmt.h tree.h varasm.h wide-int.h.
17154 * lra-constraints.c: Likewise.
17155 * lra-eliminations.c: Likewise.
17156 * lra-lives.c: Likewise.
17157 * lra-remat.c: Likewise.
17158 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
17159 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
17160 statistics.h stmt.h tree.h varasm.h wide-int.h.
17161 * hw-doloop.c: Likewise.
17162 * ira-color.c: Likewise.
17163 * ira-emit.c: Likewise.
17164 * loop-doloop.c: Likewise.
17165 * loop-invariant.c: Likewise.
17166 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
17167 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
17168 statistics.h stmt.h tree.h varasm.h wide-int.h.
17169 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
17170 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
17171 statistics.h stmt.h tree.h varasm.h wide-int.h.
17172 * combine-stack-adj.c: Likewise.
17173 * cse.c: Likewise.
17174 * ddg.c: Likewise.
17175 * ifcvt.c: Likewise.
17176 * ira-costs.c: Likewise.
17177 * jump.c: Likewise.
17178 * lra-coalesce.c: Likewise.
17179 * lra-spills.c: Likewise.
17180 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
17181 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
17182 stmt.h varasm.h wide-int.h.
17183 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
17184 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
17185 varasm.h.
17186 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
17187 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
17188 statistics.h stmt.h varasm.h wide-int.h.
17189 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
17190 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
17191 varasm.h wide-int.h.
17192 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
17193 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
17194 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
17195 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
17196 statistics.h stmt.h.
17197 * config/tilepro/tilepro.c: Likewise.
17198 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
17199 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
17200 * config/pdp11/pdp11.c: Likewise.
17201 * config/xtensa/xtensa.c: Likewise.
17202 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
17203 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
17204 varasm.h.
17205 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17206 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
17207 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
17208 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17209 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
17210 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
17211 * rtl-chkp.c: Likewise.
17212 * tree-chkp-opt.c: Likewise.
17213 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
17214 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
17215 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
17216 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17217 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
17218 statistics.h stmt.h.
17219 * tree-vect-data-refs.c: Likewise.
17220 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
17221 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
17222 rtl.h statistics.h stmt.h varasm.h.
17223 * internal-fn.c: Likewise.
17224 * ipa-icf-gimple.c: Likewise.
17225 * lto-section-out.c: Likewise.
17226 * tree-data-ref.c: Likewise.
17227 * tree-nested.c: Likewise.
17228 * tree-outof-ssa.c: Likewise.
17229 * tree-predcom.c: Likewise.
17230 * tree-pretty-print.c: Likewise.
17231 * tree-scalar-evolution.c: Likewise.
17232 * tree-ssa-strlen.c: Likewise.
17233 * tree-vect-loop.c: Likewise.
17234 * tree-vect-patterns.c: Likewise.
17235 * tree-vect-slp.c: Likewise.
17236 * tree-vect-stmts.c: Likewise.
17237 * tsan.c: Likewise.
17238 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17239 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
17240 stmt.h.
17241 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
17242 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
17243 statistics.h stmt.h varasm.h.
17244 * loop-unroll.c: Likewise.
17245 * ubsan.c: Likewise.
17246 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
17247 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
17248 stmt.h varasm.h.
17249 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17250 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
17251 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
17252 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
17253 statistics.h stmt.h.
17254 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
17255 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
17256 statistics.h stmt.h varasm.h.
17257 * gimple-match-head.c: Likewise.
17258 * lto-cgraph.c: Likewise.
17259 * lto-section-in.c: Likewise.
17260 * lto-streamer-in.c: Likewise.
17261 * lto-streamer-out.c: Likewise.
17262 * tree-affine.c: Likewise.
17263 * tree-cfg.c: Likewise.
17264 * tree-cfgcleanup.c: Likewise.
17265 * tree-if-conv.c: Likewise.
17266 * tree-into-ssa.c: Likewise.
17267 * tree-ssa-alias.c: Likewise.
17268 * tree-ssa-copyrename.c: Likewise.
17269 * tree-ssa-dse.c: Likewise.
17270 * tree-ssa-forwprop.c: Likewise.
17271 * tree-ssa-live.c: Likewise.
17272 * tree-ssa-math-opts.c: Likewise.
17273 * tree-ssa-pre.c: Likewise.
17274 * tree-ssa-sccvn.c: Likewise.
17275 * tree-tailcall.c: Likewise.
17276 * tree-vect-generic.c: Likewise.
17277 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17278 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
17279 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17280 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
17281 * varasm.c: Likewise.
17282 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17283 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
17284 varasm.h.
17285 * init-regs.c: Likewise.
17286 * ira.c: Likewise.
17287 * omp-low.c: Likewise.
17288 * stack-ptr-mod.c: Likewise.
17289 * tree-ssa-reassoc.c: Likewise.
17290 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17291 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
17292 varasm.h.
17293 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17294 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
17295 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17296 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
17297 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17298 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
17299 * tree-ssa-phiopt.c: Likewise.
17300 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17301 fixed-value.h hashtab.h real.h statistics.h stmt.h.
17302 * config/fr30/fr30.c: Likewise.
17303 * config/frv/frv.c: Likewise.
17304 * expr.c: Likewise.
17305 * final.c: Likewise.
17306 * optabs.c: Likewise.
17307 * passes.c: Likewise.
17308 * simplify-rtx.c: Likewise.
17309 * stmt.c: Likewise.
17310 * toplev.c: Likewise.
17311 * var-tracking.c: Likewise.
17312 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17313 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
17314 * lower-subreg.c: Likewise.
17315 * postreload-gcse.c: Likewise.
17316 * ree.c: Likewise.
17317 * reginfo.c: Likewise.
17318 * store-motion.c: Likewise.
17319 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17320 fixed-value.h hashtab.h real.h stmt.h varasm.h.
17321 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17322 fixed-value.h hashtab.h statistics.h stmt.h.
17323 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17324 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
17325 * except.c: Likewise.
17326 * explow.c: Likewise.
17327 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17328 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
17329 varasm.h.
17330 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17331 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
17332 * tree-ssa-structalias.c: Likewise.
17333 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17334 fixed-value.h insn-config.h real.h statistics.h.
17335 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17336 fixed-value.h insn-config.h real.h statistics.h stmt.h.
17337 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17338 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
17339 * cfgbuild.c: Likewise.
17340 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17341 fixed-value.h real.h rtl.h statistics.h stmt.h.
17342 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17343 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
17344 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17345 fixed-value.h real.h statistics.h stmt.h.
17346 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
17347 fixed-value.h real.h statistics.h stmt.h varasm.h.
17348 * cprop.c: Likewise.
17349 * modulo-sched.c: Likewise.
17350 * postreload.c: Likewise.
17351 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
17352 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
17353 statistics.h stmt.h varasm.h.
17354 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
17355 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
17356 rtl.h statistics.h stmt.h varasm.h.
17357 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
17358 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
17359 varasm.h.
17360 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
17361 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
17362 varasm.h.
17363 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
17364 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
17365 varasm.h.
17366 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
17367 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
17368 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
17369 function.h real.h statistics.h stmt.h varasm.h.
17370 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
17371 insn-config.h real.h statistics.h stmt.h.
17372 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
17373 statistics.h stmt.h.
17374 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
17375 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
17376 statistics.h stmt.h varasm.h.
17377 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
17378 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
17379 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
17380 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
17381 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
17382 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
17383 statistics.h stmt.h varasm.h.
17384 * ipa-polymorphic-call.c: Likewise.
17385 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
17386 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
17387 statistics.h stmt.h.
17388 * config/c6x/c6x.c: Likewise.
17389 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
17390 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
17391 statistics.h stmt.h varasm.h.
17392 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
17393 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
17394 stmt.h varasm.h.
17395 * ipa-split.c: Likewise.
17396 * tree-eh.c: Likewise.
17397 * tree-ssa-dce.c: Likewise.
17398 * tree-ssa-loop-niter.c: Likewise.
17399 * tree-vrp.c: Likewise.
17400 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
17401 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
17402 stmt.h.
17403 * config/nds32/nds32-fp-as-gp.c: Likewise.
17404 * config/nds32/nds32-intrinsic.c: Likewise.
17405 * config/nds32/nds32-isr.c: Likewise.
17406 * config/nds32/nds32-md-auxiliary.c: Likewise.
17407 * config/nds32/nds32-memory-manipulation.c: Likewise.
17408 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
17409 * config/nds32/nds32-predicates.c: Likewise.
17410 * config/nds32/nds32.c: Likewise.
17411 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
17412 fixed-value.h hashtab.h real.h statistics.h.
17413 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
17414 fixed-value.h hashtab.h real.h statistics.h stmt.h.
17415 * config/arm/arm.c: Likewise.
17416 * config/avr/avr.c: Likewise.
17417 * config/bfin/bfin.c: Likewise.
17418 * config/h8300/h8300.c: Likewise.
17419 * config/i386/i386.c: Likewise.
17420 * config/ia64/ia64.c: Likewise.
17421 * config/iq2000/iq2000.c: Likewise.
17422 * config/m32c/m32c.c: Likewise.
17423 * config/m32r/m32r.c: Likewise.
17424 * config/m68k/m68k.c: Likewise.
17425 * config/mcore/mcore.c: Likewise.
17426 * config/mep/mep.c: Likewise.
17427 * config/mips/mips.c: Likewise.
17428 * config/mn10300/mn10300.c: Likewise.
17429 * config/moxie/moxie.c: Likewise.
17430 * config/pa/pa.c: Likewise.
17431 * config/rl78/rl78.c: Likewise.
17432 * config/rx/rx.c: Likewise.
17433 * config/s390/s390.c: Likewise.
17434 * config/sh/sh.c: Likewise.
17435 * config/sparc/sparc.c: Likewise.
17436 * config/spu/spu.c: Likewise.
17437 * config/stormy16/stormy16.c: Likewise.
17438 * config/v850/v850.c: Likewise.
17439 * config/vax/vax.c: Likewise.
17440 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
17441 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
17442 * config/msp430/msp430.c: Likewise.
17443 * predict.c: Likewise.
17444 * value-prof.c: Likewise.
17445 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
17446 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
17447 * config/microblaze/microblaze.c: Likewise.
17448 * config/nios2/nios2.c: Likewise.
17449 * config/rs6000/rs6000.c: Likewise.
17450 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
17451 insn-config.h real.h rtl.h statistics.h stmt.h.
17452 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
17453 insn-config.h real.h statistics.h stmt.h.
17454 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
17455 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
17456 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
17457 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
17458 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
17459 fixed-value.h real.h statistics.h stmt.h.
17460 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
17461 fixed-value.h statistics.h stmt.h.
17462 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
17463 stmt.h.
17464
17465 2015-01-15 Jakub Jelinek <jakub@redhat.com>
17466
17467 * gengtype.c (create_user_defined_type): Workaround
17468 -Wmaybe-uninitialized false positives.
17469 * cse.c (fold_rtx): Likewise.
17470 * loop-invariant.c (gain_for_invariant): Likewise.
17471
17472 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
17473
17474 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
17475 set the memory attributes in all cases but clear MEM_EXPR if need be.
17476
17477 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
17478
17479 PR tree-optimization/64434
17480 * cfgexpand.c (reorder_operands): New function.
17481 (expand_gimple_basic_block): Insert call of reorder_operands if
17482 optimized is true.
17483
17484 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
17485
17486 * config/mips/micromips.md (*swp): Remove explicit parallel.
17487 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
17488 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
17489 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
17490 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
17491 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
17492 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
17493 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
17494 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
17495 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
17496 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
17497 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
17498 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
17499 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
17500 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
17501 (mips_wrdsp): Likewise.
17502 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
17503 parallel.
17504 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
17505 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
17506 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
17507 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
17508 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
17509 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
17510 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
17511 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
17512 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
17513
17514 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
17515
17516 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
17517 (mips_print_operand): Support 'y' to print exact log2 in decimal
17518 of a const_int.
17519 * config/mips/mips.h (ISA_HAS_LSA): New define.
17520 (ISA_HAS_DLSA): Likewise.
17521 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
17522 * config/mips/predicates.md (const_immlsa_operand): New predicate.
17523
17524 2015-01-15 Martin Liska <mliska@suse.cz>
17525
17526 PR target/64377
17527 * optc-save-gen.awk: Add support for array types.
17528
17529 2015-01-15 Richard Biener <rguenther@suse.de>
17530
17531 PR middle-end/64365
17532 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
17533 for MEM_REF access functions with the same base can never partially
17534 overlap.
17535
17536 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
17537
17538 * common.opt: New option -fstack-protector-explicit.
17539 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
17540 (stack_protect_decl_phase): Handle stack_protect attribute for
17541 explicit stack protection requests.
17542 (expand_used_vars): Similarly.
17543 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
17544 * doc/extend.texi: Add documentation for "stack_protect" attribute.
17545 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
17546
17547 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
17548
17549 PR target/53988
17550 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
17551 reg-reg copies.
17552 (sh_extending_set_of_reg): New struct.
17553 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
17554 sh_remove_reg_dead_or_unused_notes): New Declarations.
17555 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
17556 sh_find_extending_set_of_reg, sh_split_tst_subregs,
17557 sh_extending_set_of_reg::use_as_extended_reg): New functions.
17558 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
17559 convert to insn_and_split and use new function sh_split_tst_subregs.
17560
17561 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
17562
17563 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
17564 option.
17565 (Optimization Options): Move -fuse-ld documentation to...
17566 (Link Options): ...here.
17567
17568 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
17569
17570 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
17571 offsets.
17572 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
17573 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
17574 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
17575 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
17576 instead of ZR for the memory operand of LL/SC.
17577 (compare_and_swap_12, sync_add<mode>): Likewise.
17578 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
17579 (sync_new_<optab>_12, sync_nand_12): Likewise.
17580 (sync_old_nand_12, sync_new_nand_12): Likewise.
17581 (sync_sub<mode>, sync_old_add<mode>): Likewise.
17582 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
17583 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
17584 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
17585 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
17586 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
17587 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
17588 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
17589 * doc/md.texi (ZC): Update description.
17590
17591 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
17592
17593 * builtins.c (expand_builtin_atomic_exchange): Remove error when
17594 memory model is CONSUME.
17595 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
17596 expand_builtin_atomic_store): Change invalid memory model errors to
17597 warnings.
17598 (expand_builtin_atomic_clear): Change invalid model errors to warnings
17599 and issue warning for CONSUME.
17600
17601 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
17602
17603 * lto-cgraph: Update function comments for
17604 lto_symtab_encoder_encode_*.
17605
17606 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
17607
17608 * Makefile.in (site.exp): Do not set ENABLE_LTO.
17609
17610 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
17611
17612 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
17613 * lto-cgraph.c (select_what_to_stream): Remove argument, use
17614 lto_stream_offload_p instead.
17615 * lto-streamer.h (select_what_to_stream): Remove argument.
17616 * passes.c (ipa_write_summaries): Likewise.
17617 * tree-pass.h (ipa_write_summaries): Likewise.
17618
17619 2015-01-14 Richard Biener <rguenther@suse.de>
17620
17621 PR tree-optimization/59354
17622 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
17623 groups larger than the slp group size as having gaps.
17624
17625 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
17626
17627 PR middle-end/59448
17628 * builtins.c (get_memmodel): Promote consume to acquire always.
17629
17630 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
17631
17632 PR target/64386
17633 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
17634 V32HImode.
17635
17636 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
17637
17638 PR target/64393
17639 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
17640 Enable AVX512BW.
17641 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
17642 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
17643 AVX512VBMI, as it implies AVX512BW.
17644
17645 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
17646
17647 PR target/64387
17648 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
17649 (vec_unpacks_hi_v16sf): Ditto.
17650
17651 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17652
17653 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
17654 is not available.
17655
17656 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17657
17658 * doc/invoke.texi (mapcs): Mention deprecation.
17659 (mapcs-frame): Likewise.
17660
17661 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
17662
17663 PR target/64453
17664 * config/arm/arm.c (callee_saved_reg_p): Define.
17665 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
17666 register is callee saved instead of !call_used_regs[reg].
17667 (thumb1_compute_save_reg_mask): Likewise.
17668
17669 2015-01-14 Hale Wang <hale.wang@arm.com>
17670
17671 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
17672 Cortex-M7.
17673
17674 2015-01-14 Richard Biener <rguenther@suse.de>
17675
17676 PR lto/64415
17677 * tree-inline.c (insert_debug_decl_map): Check destination
17678 function MAY_HAVE_DEBUG_STMTS.
17679 (insert_init_debug_bind): Likewise.
17680 (insert_init_stmt): Remove redundant check.
17681 (remap_gimple_stmt): Drop debug stmts if the destination
17682 function has var-tracking assignments disabled.
17683
17684 2015-01-14 Martin Liska <mliska@suse.cz>
17685
17686 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
17687 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
17688
17689 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17690
17691 PR target/64460
17692 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
17693 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
17694
17695 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
17696
17697 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
17698 level from an ARCH; do not inject the default.
17699 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
17700 MIPS_ISA_LEVEL_SPEC.
17701 (MIPS_ISA_NAN2008_SPEC): Update comment.
17702 (BASE_DRIVER_SELF_SPECS): Likewise.
17703 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
17704 MIPS_DEFAULT_ISA_LEVEL_SPEC.
17705 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
17706 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
17707 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
17708
17709 2015-01-14 Richard Biener <rguenther@suse.de>
17710
17711 PR tree-optimization/64493
17712 PR tree-optimization/64495
17713 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
17714 assign the proper vectorized PHI to the inner loop exit PHIs.
17715
17716 2015-01-14 Joey Ye <joey.ye@arm.com>
17717
17718 * config/arm/arm.c (arm_compute_save_reg_mask):
17719 Do not save lr in case of tail call.
17720 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
17721
17722 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
17723
17724 * tree-vrp.c (check_array_ref): Emit more warnings
17725 for warn_array_bounds >= 2.
17726 * common.opt: New option -Warray-bounds=.
17727 * doc/invoke.texi: Document -Warray-bounds=.
17728
17729 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
17730
17731 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
17732 (mforbid-fp-as-gp): Remove.
17733 (mex9): Remove.
17734 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
17735 (nds32_symbol_load_store_p): Remove.
17736 (nds32_fp_as_gp_check_available): Clean up implementation.
17737 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
17738 cases.
17739 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
17740 fp-as-gp and ex9 cases.
17741
17742 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
17743
17744 * tree-profile.c (init_ic_make_global_vars): Drop workaround
17745 for bintuils bug 14342.
17746 (init_ic_make_global_vars): Likewise.
17747 (gimple_init_edge_profiler): Likewise.
17748 (gimple_gen_ic_func_profiler): Likewise.
17749
17750 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
17751
17752 * ipa-inline.c (inline_small_functions): Swap the operands in
17753 enum.
17754
17755 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
17756
17757 PR ipa/64481
17758 * ipa-inline-analysis.c (node_growth_cache): Remove.
17759 (initialize_growth_caches): Do not initialize it.
17760 (free_growth_caches): Do not free it.
17761 (do_estimate_growth): Rename to ...
17762 (estimate_growth): ... this one; drop growth cache code.
17763 (growth_likely_positive): Always go the heuristics way.
17764 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
17765 (reset_edge_caches): Do not reset node growth.
17766 (heap_edge_removal_hook): Do not maintain cache.
17767 (inline_small_functions): Likewise; strenghten sanity check.
17768 (ipa_inline): Do not maintain caches.
17769 * ipa-inline.h (node_growth_cache): Remove.
17770 (do_estimate_growth): Remove to ...
17771 (estimate_growth): this one; remove inline version.
17772 (reset_node_growth_cache): Remove.
17773
17774 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
17775
17776 PR ipa/64565
17777 * ipa-inline.c (inline_small_functions): Update callee keys after
17778 resolving speculation
17779 (inline_small_functions): Always check monotonicity of the queue.
17780
17781 2015-01-13 Marek Polacek <polacek@redhat.com>
17782
17783 PR middle-end/64391
17784 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
17785
17786 2015-01-13 Jakub Jelinek <jakub@redhat.com>
17787
17788 PR rtl-optimization/64286
17789 * ree.c (combine_reaching_defs): Move part of comment earlier,
17790 remove !SCALAR_INT_MODE_P check.
17791 (add_removable_extension): Don't add vector mode
17792 extensions if all uses of the source register aren't the same
17793 vector extensions.
17794
17795 2015-01-13 Renlin Li <renlin.li@arm.com>
17796
17797 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
17798 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
17799
17800 2015-01-13 Martin Liska <mliska@suse.cz>
17801
17802 * ipa-icf.c (sem_function::equals_private): Call new functions
17803 cl_target_option_print_diff and cl_optimization_print_diff.
17804 * optc-save-gen.awk (cl_target_option_print_diff): New function.
17805 (cl_optimization_print_diff): Likewise.
17806 * opth-gen.awk: Likewise.
17807
17808 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
17809
17810 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
17811 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
17812 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
17813 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
17814 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
17815 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
17816
17817 2015-01-13 Andrew Pinski <apinski@cavium.com>
17818
17819 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
17820 instead of src mode.
17821
17822 2015-01-13 Richard Biener <rguenther@suse.de>
17823
17824 PR lto/64373
17825 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
17826 DECL_CONTEXT.
17827
17828 2015-01-13 Andrew Pinski <apinski@cavium.com>
17829
17830 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
17831 volatile mems.
17832 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
17833
17834 2015-01-13 Jakub Jelinek <jakub@redhat.com>
17835
17836 PR middle-end/63974
17837 * cfgexpand.c (expand_computed_goto): Don't call
17838 convert_memory_address here.
17839
17840 2015-01-13 Richard Biener <rguenther@suse.de>
17841
17842 PR tree-optimization/64406
17843 * tree-loop-distibution.c (pass_loop_distribution::execute):
17844 Reset the SCEV hashtable if we distributed anything.
17845
17846 2015-01-13 Richard Biener <rguenther@suse.de>
17847
17848 PR tree-optimization/64404
17849 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
17850 SLP types for CSEd loads.
17851
17852 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
17853
17854 PR tree-optimization/64436
17855 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
17856 merge of two symbolic numbers for a bitwise OR to ...
17857 (perform_symbolic_merge): This. Also fix computation of the range and
17858 end of the symbolic number corresponding to the result of a bitwise OR.
17859
17860 2015-01-13 Richard Biener <rguenther@suse.de>
17861
17862 PR tree-optimization/64568
17863 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
17864 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
17865
17866 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
17867
17868 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
17869 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
17870
17871 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
17872
17873 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
17874 target-specific symbol_ref flag.
17875 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
17876 resides in rodata section.
17877 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
17878 (nds32_encode_section_info): New function.
17879
17880 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
17881
17882 * config/nds32/nds32.md (call): Use pseudo instruction bal which
17883 clobbers TA_REGNUM if large code model is specified.
17884 (call_register): Likewise.
17885 (call_immediate): Likewise.
17886 (call_value): Likewise.
17887 (call_value_register): Likewise.
17888 (call_value_immediate): Likewise.
17889
17890 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
17891
17892 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
17893 (TARGET_CMODEL_MEDIUM): New macro.
17894 (TARGET_CMODEL_LARGE): New macro.
17895 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
17896 code model setting in assembly code.
17897
17898 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
17899
17900 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
17901 Remove MASK_GP_DIRECT flag.
17902 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
17903 one of the multilib default options.
17904 * config/nds32/nds32.opt (mgp-direct): Remove.
17905 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
17906 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
17907
17908 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
17909
17910 * config/nds32/nds32.opt (mcmodel): Add new option.
17911 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
17912 to describe code model.
17913
17914 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
17915
17916 PR target/64479
17917 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
17918
17919 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
17920
17921 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
17922 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
17923 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
17924 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
17925 __builtin_sh_set_fpscr.
17926
17927 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
17928
17929 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
17930 after a funtion name just to indicate it is a function.
17931 ([-fsanitize-undefined-trap-on-error]): Likewise.
17932 ([-fdbg-cnt=]): Likewise.
17933 ([-mmemcpy]): Likewise.
17934 ([-mflush-func]): Likewise.
17935 ([-msynci]): Likewise.
17936
17937 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
17938
17939 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
17940 example.
17941
17942 2015-01-12 Jakub Jelinek <jakub@redhat.com>
17943
17944 PR tree-optimization/64563
17945 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
17946 instead of != VR_VARYING.
17947
17948 PR target/64513
17949 * config/i386/i386.c (ix86_expand_prologue): Add
17950 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
17951
17952 PR tree-optimization/64454
17953 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
17954 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
17955 for signed or [0, op1 - 1] for unsigned modulo.
17956 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
17957 even if op1 does not satisfy integer_pow2p.
17958
17959 PR other/64370
17960 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
17961
17962 2015-01-12 Jeff Law <law@redhat.com>
17963
17964 PR target/64461
17965 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
17966 (trunchiqi2, truncsihi2): Similarly.
17967
17968 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
17969 rather than calling F.
17970
17971 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
17972
17973 * tsan.c (instrument_expr): Use force_gimple_operand.
17974 Use may_be_nonaddressable_p instead of is_gimple_addressable.
17975
17976 2015-01-12 Richard Biener <rguenther@suse.de>
17977
17978 PR tree-optimization/64530
17979 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
17980 back dr1.
17981
17982 2015-01-12 Richard Biener <rguenther@suse.de>
17983
17984 PR middle-end/64357
17985 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
17986 latches properly.
17987
17988 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17989
17990 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
17991 Cortex-A17 tuning parameters.
17992 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
17993
17994 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17995
17996 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
17997 * config/arm/arm.c (arm_macro_fusion_p): New function.
17998 (arm_macro_fusion_pair_p): Likewise.
17999 (TARGET_SCHED_MACRO_FUSION_P): Define.
18000 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
18001 (ARM_FUSE_NOTHING): Likewise.
18002 (ARM_FUSE_MOVW_MOVT): Likewise.
18003 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
18004 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
18005 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
18006 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
18007 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
18008 arm_cortex_a5_tune): Specify fuseable_ops value.
18009
18010 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
18011
18012 PR bootstrap/64561
18013 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
18014 test for PIE with copy reloc.
18015 * configure: Regenerated.
18016
18017 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18018
18019 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
18020 in gen_rtx_REG.
18021 (arm_tls_descseq_addr): Likewise.
18022 (arm_gen_movmemqi): Likewise.
18023 (arm_expand_epilogue_apcs_frame): Likewise.
18024 (arm_expand_epilogue): Likewise.
18025 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
18026 in gen_rtx_REG.
18027
18028 2015-01-12 Martin Liska <mliska@suse.cz>
18029
18030 PR ipa/64550
18031 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
18032 volatility for correct operands.
18033
18034 2015-01-12 Martin Liska <mliska@suse.cz>
18035
18036 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as
18037 indication that a function is not leaf.
18038 (sem_function::compare_polymorphic_p): Likewise.
18039
18040 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
18041
18042 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
18043 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
18044 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
18045 fold-const.h, tree-check.h.
18046
18047 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
18048
18049 PR ipa/63967
18050 PR ipa/64425
18051 * ipa-inline.c (compute_uninlined_call_time,
18052 compute_inlined_call_time): Use counts for extra precision when
18053 needed possible.
18054 (big_speedup_p): Fix formating.
18055 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
18056 (relative_time_benefit): Remove.
18057 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
18058 merge guessed and read profile paths.
18059 (inline_small_functions): Count only !optimize_size functions into
18060 initial size; be more lax about sanity check when profile is used;
18061 be sure to update inlined function profile when profile is read.
18062
18063 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
18064
18065 PR ipa/63470
18066 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
18067 cost when edge becomes direct.
18068 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
18069 is resolved or when introducing new speculation.
18070
18071 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
18072
18073 PR ipa/64551
18074 PR ipa/64552
18075 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
18076 '||' to fix typo issue.
18077
18078 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
18079 accept and return NULL.
18080
18081 2015-01-12 Martin Liska <mliska@suse.cz>
18082
18083 * cgraph.c (cgraph_edge::remove_callee): Move function to header
18084 file for being inlined.
18085 (cgraph_set_edge_callee): Delete.
18086 (cgraph_edge::redirect_callee): Move function to header file
18087 for being inlined.
18088 (cgraph_edge::make_direct): Use new function.
18089 (cgraph_edge::dump_edge_flags): New function created from
18090 static dump_edge_flags function.
18091 (cgraph_node::dump): Use new function.
18092 (cgraph_edge::verify_count_and_frequency): New function created
18093 from verify_edge_count_and_frequency.
18094 (cgraph_edge::verify_corresponds_to_fndecl): New function created
18095 from verify_edge_corresponds_to_fndecl.
18096 (verify_edge_corresponds_to_fndecl): Delete.
18097 (cgraph_node::verify_node): Use new function.
18098 * cgraph.h (cgraph_edge::set_callee): New function.
18099 (cgraph_edge::dump_edge_flags): Likewise.
18100 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
18101
18102 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
18103
18104 * ipa-utils.c (estimate_function_body_sizes): Do not
18105 free node params when called late with early=true.
18106
18107 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
18108
18109 * doc/md.texi (Instruction Patterns): Rewrite text for
18110 clarity.
18111 (Example): Likewise.
18112
18113 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
18114
18115 * doc/invoke.texi (Option Summary): Break long lines.
18116 [(-fdiagnostics-color)]: Put long literal in @smallexample
18117 instead of inline.
18118 [(-fsanitize-recover)]: Likewise.
18119 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
18120 [(-ffast-math)]: Likewise.
18121 [(--param max-inline-insns-recursive)]: Likewise.
18122 [(--param max-inline-recursive-depth)]: Likewise.
18123 [(-mno-text-section-literals)]: Likewise.
18124
18125 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
18126
18127 * doc/install.texi: Update for libgomp being renamed from "GNU
18128 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
18129 Runtime Library".
18130 * doc/sourcebuild.texi: Likewise.
18131
18132 2015-01-10 Anthony Green <green@moxielogic.com>
18133
18134 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
18135 mul.x availability for moxiebox configuration.
18136
18137 2015-01-09 Anthony Green <green@moxielogic.com>
18138
18139 * config/moxie/moxie.md: Tabify assembly output.
18140
18141 2015-01-09 Anthony Green <green@moxielogic.com>
18142
18143 * config/moxie/moxie.md (CC_REG): Correct register definition.
18144
18145 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
18146
18147 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
18148 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
18149 of log files.
18150
18151 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
18152
18153 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
18154
18155 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
18156 Jakub Jelinek <jakub@redhat.com>
18157
18158 PR middle-end/64412
18159 * lto-streamer.h (lto_stream_offload_p): New declaration.
18160 * lto-streamer.c (lto_stream_offload_p): New variable.
18161 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
18162 at the same time as section_name_prefix.
18163 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
18164 if lto_stream_offload_p.
18165 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
18166 stream TREE_TARGET_OPTION if lto_stream_offload_p.
18167 (write_ts_function_decl_tree_pointers): Don't
18168 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
18169 * tree-streamer-in.c (unpack_value_fields): Don't stream
18170 TREE_TARGET_OPTION in if ACCEL_COMPILER.
18171 (lto_input_ts_function_decl_tree_pointers): Don't stream
18172 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
18173 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
18174 instead of section_name_prefix string comparisons.
18175
18176 2015-01-09 Jakub Jelinek <jakub@redhat.com>
18177
18178 PR rtl-optimization/64536
18179 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
18180 tablejumps.
18181
18182 2015-01-09 Michael Collison <michael.collison@linaro.org>
18183
18184 PR tree-optimization/64322
18185 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
18186 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
18187
18188 2015-01-09 Tom de Vries <tom@codesourcery.com>
18189
18190 PR rtl-optimization/64539
18191 * regcprop.c (kill_clobbered_values): Factor out of ...
18192 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
18193 instead of note_stores with kill_clobbered_value.
18194
18195 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
18196
18197 * ginclude/unwind-arm-common.h: Revert previous commit.
18198
18199 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
18200
18201 * config.gcc (arm*-*-freebsd*): New configuration.
18202 * config/arm/freebsd.h: New file.
18203 * config.host: Add extra components for arm*-*-freebsd*.
18204 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
18205 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
18206
18207 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
18208
18209 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
18210 for -mcpu=e6500.
18211 * config/rs6000/t-rtems: Add e6500 multilibs.
18212
18213 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
18214
18215 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
18216 MPC8540.
18217
18218 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
18219
18220 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
18221 MULTILIB_EXCEPTIONS.
18222
18223 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
18224
18225 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
18226 MULTILIB_EXCEPTIONS.
18227
18228 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
18229
18230 * config/arm/t-rtems-eabi: Rename to...
18231 * config/arm/t-rtems: ...this.
18232 * config/arm/rtems-eabi.h: Rename to...
18233 * config/arm/rtems.h: ...this.
18234 * config.gcc (arm*-*-rtems*): Reflect changes above.
18235
18236 2015-01-09 Richard Biener <rguenther@suse.de>
18237
18238 PR tree-optimization/64410
18239 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
18240 on the LHS.
18241 (execute_update_addresses_taken): Deal with that.
18242 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
18243 loads/stores for complex variables.
18244
18245 2015-01-09 Martin Liska <mliska@suse.cz>
18246
18247 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
18248 name comparison.
18249 (func_checker::compare_memory_operand): New function.
18250 (func_checker::compare_operand): Split case to newly
18251 added functions.
18252 (func_checker::compare_cst_or_decl): New function.
18253 (func_checker::compare_gimple_call): Identify
18254 memory operands.
18255 (func_checker::compare_gimple_assign): Likewise.
18256 * ipa-icf-gimple.h: New function.
18257
18258 2015-01-09 Martin Liska <mliska@suse.cz>
18259
18260 PR ipa/64503
18261 * sreal.c (sreal::dump): Change unsigned format to signed for
18262 m_exp value.
18263 (sreal::to_double): Replace exp2 with scalbln.
18264
18265 2015-01-09 Martin Liska <mliska@suse.cz>
18266
18267 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
18268 * ipa-icf.c (sem_function::equals_private): Add support for target and
18269 (sem_item_optimizer::merge_classes): Remove redundant function
18270 optimization flags comparison.
18271 * tree.h (target_opts_for_fn): New function.
18272
18273 2015-01-09 Tom de Vries <tom@codesourcery.com>
18274
18275 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
18276
18277 2015-01-09 Kito Cheng <kito@0xlab.org>
18278
18279 PR rtl-optimization/64348
18280 * lra-constraints.c (split_reg): Fix caller-save store/restore
18281 instruction generation.
18282
18283 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
18284
18285 PR gcov-profile/61790
18286 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
18287 long long. Fallback to int64_t if host doesn't have long long and
18288 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
18289
18290 2015-01-08 Jakub Jelinek <jakub@redhat.com>
18291
18292 PR tree-optimization/63989
18293 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
18294 from 1000 to 10000.
18295 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
18296 (get_stridx): If we don't have a record for certain SSA_NAME,
18297 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
18298 constant offset, call get_stridx_plus_constant.
18299 (get_stridx_plus_constant): New function.
18300 (zero_length_string): Don't use get_stridx here.
18301
18302 PR target/55023
18303 PR middle-end/64388
18304 * dse.c (struct insn_info): Mention frame_read set also
18305 before reload for tail calls on some targets.
18306 (scan_insn): Revert 2014-12-22 change. Set frame_read
18307 also before reload for tail calls if
18308 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
18309 instead of add_non_frame_wild_read for non-const/memset
18310 tail calls after reload.
18311
18312 2015-01-08 Jason Merrill <jason@redhat.com>
18313
18314 * ubsan.c (do_ubsan_in_current_function): New.
18315 (pass_ubsan::gate): Use it.
18316 * ubsan.h: Declare it.
18317 * convert.c (convert_to_integer): Use it.
18318
18319 2015-01-08 Jakub Jelinek <jakub@redhat.com>
18320
18321 PR target/64338
18322 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
18323 compare_code when it is unconditionally overwritten afterwards.
18324 Use ix86_reverse_condition instead of reverse_condition. Don't
18325 change code if *reverse_condition* returned UNKNOWN and don't
18326 swap ct/cf and negate diff in that case.
18327
18328 2015-01-08 Mike Stump <mikestump@comcast.net>
18329
18330 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
18331 (pass_tsan_O0::gate): Likewise.
18332 * extend.texi (Function Attributes): Add no_sanitize_thread
18333 documentation.
18334
18335 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
18336
18337 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
18338 for registering builtins.
18339 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
18340 add -fopenmp to the argv_obstack used when invoking
18341 compile_for_target.
18342
18343 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
18344 add "-m32" or "-m64" to argv_obstack.
18345 (generate_host_descr_file): Likewise, when invoking host_compiler.
18346 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
18347 ld.
18348
18349 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
18350
18351 * config/sh/sh-mem.cc: Use constant as second operand when emitting
18352 tstsi_t insns.
18353
18354 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
18355
18356 PR target/55212
18357 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
18358 constant load if constant operand fits into I08.
18359
18360 2015-01-08 Jakub Jelinek <jakub@redhat.com>
18361
18362 PR sanitizer/64336
18363 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
18364 and TREE_THIS_VOLATILE for MEM_REFs.
18365 (build5_stat): Fix up initialization of TREE_READONLY and
18366 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
18367
18368 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
18369
18370 PR target/64533
18371 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
18372 of r for the second alternative of the destination operand.
18373
18374 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
18375
18376 PR target/36557
18377 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
18378
18379 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
18380
18381 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
18382 keywords.
18383 ([-fivar-visibility], [-fvisibility]): Likewise.
18384
18385 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
18386
18387 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
18388 the file where @code, @command, etc is more appropriate.
18389
18390 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
18391
18392 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
18393 of -mrecip= documentation.
18394
18395 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
18396
18397 PR target/64505
18398 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
18399 correct reload handler if -m32 -mpowerpc64 is used.
18400
18401 2015-01-06 Tom de Vries <tom@codesourcery.com>
18402
18403 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
18404
18405 2015-01-08 Christian Bruel <christian.bruel@st.com>
18406
18407 PR target/64507
18408 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
18409
18410 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
18411
18412 PR tree-optimization/63259
18413 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
18414 if optab exists for 16bit byteswap.
18415
18416 2015-01-06 Jakub Jelinek <jakub@redhat.com>
18417
18418 * opts.c (common_handle_option): Add support for
18419 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
18420 * doc/invoke.texi: Document -fno-sanitize=all,
18421 -f{,no-}sanitize-recover=all. Document that
18422 -fsanitize=float-cast-overflow is not enabled
18423 by -fsanitize=undefined. Fix up documentation
18424 of -f{,no-}sanitize-recover.
18425
18426 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
18427
18428 * config.gcc: Add Visium support.
18429 * configure.ac: Likewise.
18430 * configure: Regenerate.
18431 * doc/extend.texi (interrupt attribute): Add Visium.
18432 * doc/invoke.texi: Document Visium options.
18433 * doc/install.texi: Document Visium target.
18434 * doc/md.texi: Document Visium constraints.
18435 * common/config/visium: New directory.
18436 * config/visium: Likewise.
18437
18438 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
18439
18440 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
18441 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
18442
18443 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
18444
18445 * combine.c (combine_validate_cost): Do not count the cost of a
18446 split I2 twice. Do not display it twice in the dump, either.
18447
18448 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
18449
18450 Revert parts of r219199.
18451 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
18452 <inttypes.h>.
18453 ([-Wtraditional]): Restore markup on <limits.h>.
18454
18455 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
18456
18457 PR c++/31397
18458 * doc/invoke.texi: Document -Wsuggest-override.
18459
18460 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
18461
18462 PR rtl-optimization/64287
18463 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
18464 (process_options): Disable flag_ipa_ra if profiling.
18465
18466 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
18467
18468 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
18469
18470 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
18471
18472 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
18473 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
18474 put under #if TARGET_LOOPS guard.
18475
18476 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
18477
18478 * config/i386/i386.c (output_387_binary_op): Use std::swap.
18479
18480 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
18481
18482 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
18483 * rtl.h (refers_to_regno_p): Add overload.
18484 * cse.c: Use it.
18485 * bt-load.c: Likewise.
18486 * combine.c: Likewise.
18487 * df-scan.c: Likewise.
18488 * sched-deps.c: Likewise.
18489 * config/s390/s390.c: Likewise.
18490 * config/m32r/m32r.c: Likewise.
18491 * config/rs6000/spe.md: Likewise.
18492 * config/rs6000/rs6000.c: Likewise.
18493 * config/pa/pa.c: Likewise.
18494 * config/stormy16/stormy16.c: Likewise.
18495 * config/cris/cris.c: Likewise.
18496 * config/arc/arc.md: Likewise.
18497 * config/arc/arc.c: Likewise.
18498 * config/sh/sh.md: Likewise.
18499 * config/sh/sh.c: Likewise.
18500 * config/frv/frv.c: Likewise.
18501
18502 2015-01-05 Jakub Jelinek <jakub@redhat.com>
18503
18504 PR sanitizer/64265
18505 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
18506 call as cleanup of the whole body.
18507 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
18508 * tsan.c (replace_func_exit): New function.
18509 (instrument_func_exit): Moved earlier.
18510 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
18511 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
18512 been found.
18513 (tsan_pass): Don't call instrument_func_exit.
18514 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
18515 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
18516 inlining.
18517
18518 PR sanitizer/64344
18519 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
18520 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
18521 it to libubsan handler instead of EXPR. Fold comparisons earlier,
18522 if the result is integer_zerop, return NULL_TREE.
18523 * convert.c (convert_to_integer): Pass expr as ARG.
18524
18525 PR tree-optimization/64465
18526 * tree-inline.c (redirect_all_calls): During inlining
18527 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
18528 changed the stmt to a non-throwing call.
18529
18530 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
18531
18532 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
18533 etc markup throughout the file.
18534
18535 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
18536
18537 Enable experimental TSAN support for Ada.
18538 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
18539
18540 2015-01-05 Jakub Jelinek <jakub@redhat.com>
18541
18542 PR tree-optimization/64494
18543 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
18544 clear SSA_NAME_ANTI_RANGE_P flag.
18545
18546 2015-01-05 Marek Polacek <polacek@redhat.com>
18547
18548 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
18549
18550 2015-01-05 Jakub Jelinek <jakub@redhat.com>
18551
18552 Update copyright years.
18553
18554 * gcc.c (process_command): Update copyright notice dates.
18555 * gcov-dump.c: Ditto.
18556 * gcov.c: Ditto.
18557 * doc/cpp.texi: Bump @copying's copyright year.
18558 * doc/cppinternals.texi: Ditto.
18559 * doc/gcc.texi: Ditto.
18560 * doc/gccint.texi: Ditto.
18561 * doc/gcov.texi: Ditto.
18562 * doc/install.texi: Ditto.
18563 * doc/invoke.texi: Ditto.
18564
18565 * auto-profile.c, auto-profile.h: Fix up Copyright line.
18566
18567 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
18568
18569 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
18570 verb tense, etc.
18571 ([-fvtable-verify], [-fvtv-debug]): Likewise.
18572 ([-Wabi]): Likewise.
18573 ([-fmessage-length]): Likewise.
18574 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
18575 ([-Wno-discarded-qualifiers]): Likewise.
18576 ([-Wnodiscarded-array-qualifiers]): Likewise.
18577 ([-Wno-virtual-move-assign]): Likewise.
18578 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
18579 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
18580 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
18581 ([-fsanitize-undefined-trap-on-error]): Likewise.
18582 ([-floop-interchange]): Likewise.
18583 ([-ftree-coalesce-inlined-vars]): Likewise.
18584 ([-fvect-cost-model]): Likewise.
18585 ([-flto]): Likewise.
18586 ([--param]): Likewise.
18587 (Spec Files): Likewise.
18588 ([-mstrict-align]): Likewise.
18589 ([-mfix-cortex-a53-835769]): Likewise.
18590 ([-march], [-mtune]): Likewise.
18591 ([-mpic-register]): Likewise.
18592 ([-munaligned-access]): Likewise.
18593 ([-msp8]): Likewise.
18594 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
18595 (AVR Built-in Macros): Likewise.
18596 ([-mpreferred-stack-boundary]): Likewise.
18597 ([-mtune-crtl]): Likewise.
18598 ([-mashf]): Likewise.
18599 ([-mmcu=]): Likewise.
18600 ([-minrt]): Likewise.
18601 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
18602 ([-mupper-regs]): Likewise.
18603 ([-matomic-model]): Likewise.
18604 ([-mdiv]): Likewise.
18605 ([-mzdcbranch]): Likewise.
18606 ([-mdisable-callt]): Likewise.
18607 ([-msoft-float]): Likewise.
18608 ([-m8byte-align]): Likewise.
18609 ([-fstack-reuse]): Likewise.
18610
18611 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
18612
18613 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
18614 Fix markup, light copy-editing.
18615 ([-fauto-profile]): Rewrite to fix formatting and content
18616 problems.
18617
18618 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
18619
18620 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
18621 Copy-edit description.
18622 ([-fisolate-erroneous-paths-attribute]): Likewise.
18623 * common.opt (fisolate-erroneous-paths-dereference):
18624 Copy-edit description.
18625 (fisolate-erroneous-paths-attribute): Likewise.
18626
18627 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
18628
18629 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
18630 tidy grammar.
18631
18632 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
18633
18634 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
18635 ([-fvtv-debug]): Likewise.
18636 ([-Wc++-compat]): Likewise.
18637 ([-Wc++11-compat]): Likewise.
18638 ([-Wc++14-compat]): Likewise.
18639 ([-Wno-sized-deallocation]): Likewise.
18640 ([-femit-class-debug-always]): Likewise.
18641 ([-femit-struct-debug-detailed]): Likewise.
18642 ([-fno-keep-inline-dllexport]): Likewise.
18643 ([-fira-algorithm]): Likewise.
18644 ([-fira-region]): Likewise.
18645 ([-flra-remat]): Likewise.
18646 ([-fipa-ra]): Likewise.
18647 ([-fhoist-adjacent-loads]): Likewise.
18648 ([-fisolate-erroneous-paths-dereference]): Likewise.
18649 ([-fisolate-erroneous-paths-attribute]): Likewise.
18650 ([-ftree-switch-conversion]): Likewise.
18651 ([-ftree-tail-merge]): Likewise.
18652 ([-ftree-loop-if-convert]): Likewise.
18653 ([-ftree-loop-if-convert-stores]): Likewise.
18654 ([-ftree-loop-distribution]): Likewise.
18655 ([-ftree-loop-distribute-patterns]): Likewise.
18656 ([-flto-compression-level]): Likewise.
18657 ([-flto-report]): Likewise.
18658 ([-flto-report-wpa]): Likewise.
18659 ([-fuse-linker-plugin]): Likewise.
18660 ([-mfix-cortex-a53-835769]): Likewise.
18661 ([-mno-fix-cortex-a53-835769]): Likewise.
18662 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
18663 explicit listing; add a note to the discussion indicating they
18664 exist. Reorder table to group similar options. Add missing
18665 @opindex entries. Add @need commands throughout the table to
18666 allow it to be split across multiple pages.
18667 ([-m8bit-idiv]): Fix @opindex.
18668 ([-mavx256-split-unaligned-load]): Likewise.
18669 ([-mavx256-split-unaligned-store]): Likewise.
18670 ([-mstack-protector-guard]): Likewise.
18671 ([-mcpu=]): Likewise.
18672 ([-mcpu]): Likewise.
18673 ([-mpointer-size=]): Likewise.
18674
18675 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
18676
18677 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
18678 instead of `m' constraint. Likewise for unnamed movb comparison
18679 patterns using reg_before_reload_operand predicate.
18680 * config/pa/predicates.md (reg_before_reload_operand): Tighten
18681 predicate to reject register index and LO_SUM DLT memory forms
18682 after reload.
18683
18684 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
18685
18686 * doc/invoke.texi (Option Summary): Fix spelling of
18687 -fdevirtualize-at-ltrans.
18688 ([-fdevirtualize]): Fix markup.
18689 ([-fdevirtualize-speculatively]): Fix typo.
18690 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
18691 implementor-speaky.
18692 * common.opt (fdevirtualize-at-ltrans): Likewise.
18693 * ipa-devirt.c: Fix typos in comments throughout the file.
18694 (ipa_devirt): Fix typos in format strings for dump output.
18695
18696 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
18697
18698 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
18699 discussion of defaults, light copy-editing.
18700
18701 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
18702
18703 * tsan.c (instrument_expr): corrected previous checkin.
18704
18705 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
18706
18707 Instrument bit field and unaligned accesses for TSAN.
18708 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
18709 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
18710 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
18711 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
18712 unaligned memory regions.
18713
18714 2015-01-01 Anthony Green <green@moxielogic.com>
18715
18716 * config/moxie/predicates.md (moxie_general_movsrc_operand):
18717 Restrict move source register offsets to 16 bits.
18718 \f
18719 Copyright (C) 2015 Free Software Foundation, Inc.
18720
18721 Copying and distribution of this file, with or without modification,
18722 are permitted in any medium without royalty provided the copyright
18723 notice and this notice are preserved.