]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
4d7cf10d
JH
12014-08-15 Jan Hubicka <hubicka@ucw.cz>
2
3 * ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
4 (possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets,
5 possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify.
6 (get_dynamic_type): Remove.
7 * ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove.
8 (clear_speculation): Bring to ipa-deivrt.h
9 (get_class_context): Rename to ...
10 (ipa_polymorphic_call_context::restrict_to_inner_class): ... this one.
11 (contains_type_p): Update.
12 (get_dynamic_type): Rename to ...
13 ipa_polymorphic_call_context::get_dynamic_type(): ... this one.
14 (possible_polymorphic_call_targets): UPdate.
15 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update.
16 * ipa-prop.c (ipa_analyze_call_uses): Update.
17
a03b75b1
OE
182014-08-15 Oleg Endo <olegendo@gcc.gnu.org>
19
20 * doc/invoke.texi (SH options): Document missing processor variant
21 options. Remove references to Hitachi. Undocument deprecated mspace
22 option.
23
33cb682b
JM
242014-08-15 Jason Merrill <jason@redhat.com>
25
26 * tree.c (type_hash_canon): Uncomment assert.
27
86d2cad9
MLI
282014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
29
30 * input.h (in_system_header_at): Add comment.
31
8e54f6d3
MLI
322014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
33
34 PR fortran/44054
35 * diagnostic.c (build_message_string): Make it extern.
36 * diagnostic.h (build_message_string): Make it extern.
37
363785f6
VM
382014-08-15 Vladimir Makarov <vmakarov@redhat.com>
39
40 * config/rs6000/rs6000.c (rs6000_emit_move): Use SDmode for
41 load/store from/to non-floating class pseudo.
42
592f32fa
MLI
432014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
44
45 * input.c (diagnostic_file_cache_fini): Fix typo in comment.
46
ebd7d910
RB
472014-08-15 Richard Biener <rguenther@suse.de>
48
49 * tree-ssa-structalias.c (readonly_id): Rename to string_id.
50 (get_constraint_for_ssa_var): Remove dead code.
51 (get_constraint_for_1): Adjust.
52 (find_what_var_points_to): Likewise.
53 (init_base_vars): Likewise. STRING_CSTs do not contain pointers.
54
275be1da
IT
552014-08-15 Ilya Tocar <tocarip@gmail.com>
56
57 PR target/61878
58 * config/i386/avx512fintrin.h (_mm512_mask_cmpge_epi32_mask): New.
59 (_mm512_mask_cmpge_epu32_mask): Ditto.
60 (_mm512_cmpge_epu32_mask): Ditto.
61 (_mm512_mask_cmpge_epi64_mask): Ditto.
62 (_mm512_cmpge_epi64_mask): Ditto.
63 (_mm512_mask_cmpge_epu64_mask): Ditto.
64 (_mm512_cmpge_epu64_mask): Ditto.
65 (_mm512_mask_cmple_epi32_mask): Ditto.
66 (_mm512_cmple_epi32_mask): Ditto.
67 (_mm512_mask_cmple_epu32_mask): Ditto.
68 (_mm512_cmple_epu32_mask): Ditto.
69 (_mm512_mask_cmple_epi64_mask): Ditto.
70 (_mm512_cmple_epi64_mask): Ditto.
71 (_mm512_mask_cmple_epu64_mask): Ditto.
72 (_mm512_cmple_epu64_mask): Ditto.
73 (_mm512_mask_cmplt_epi32_mask): Ditto.
74 (_mm512_cmplt_epi32_mask): Ditto.
75 (_mm512_mask_cmplt_epu32_mask): Ditto.
76 (_mm512_cmplt_epu32_mask): Ditto.
77 (_mm512_mask_cmplt_epi64_mask): Ditto.
78 (_mm512_cmplt_epi64_mask): Ditto.
79 (_mm512_mask_cmplt_epu64_mask): Ditto.
80 (_mm512_cmplt_epu64_mask): Ditto.
81 (_mm512_mask_cmpneq_epi32_mask): Ditto.
82 (_mm512_mask_cmpneq_epu32_mask): Ditto.
83 (_mm512_cmpneq_epu32_mask): Ditto.
84 (_mm512_mask_cmpneq_epi64_mask): Ditto.
85 (_mm512_cmpneq_epi64_mask): Ditto.
86 (_mm512_mask_cmpneq_epu64_mask): Ditto.
87 (_mm512_cmpneq_epu64_mask): Ditto.
88 (_mm512_castpd_ps): Ditto.
89 (_mm512_castpd_si512): Ditto.
90 (_mm512_castps_pd): Ditto.
91 (_mm512_castps_si512): Ditto.
92 (_mm512_castsi512_ps): Ditto.
93 (_mm512_castsi512_pd): Ditto.
94 (_mm512_castpd512_pd128): Ditto.
95 (_mm512_castps512_ps128): Ditto.
96 (_mm512_castsi512_si128): Ditto.
97 (_mm512_castpd512_pd256): Ditto.
98 (_mm512_castps512_ps256): Ditto.
99 (_mm512_castsi512_si256): Ditto.
100 (_mm512_castpd128_pd512): Ditto.
101 (_mm512_castps128_ps512): Ditto.
102 (_mm512_castsi128_si512): Ditto.
103 (_mm512_castpd256_pd512): Ditto.
104 (_mm512_castps256_ps512): Ditto.
105 (_mm512_castsi256_si512): Ditto.
106 (_mm512_cmpeq_epu32_mask): Ditto.
107 (_mm512_mask_cmpeq_epu32_mask): Ditto.
108 (_mm512_mask_cmpeq_epu64_mask): Ditto.
109 (_mm512_cmpeq_epu64_mask): Ditto.
110 (_mm512_cmpgt_epu32_mask): Ditto.
111 (_mm512_mask_cmpgt_epu32_mask): Ditto.
112 (_mm512_mask_cmpgt_epu64_mask): Ditto.
113 (_mm512_cmpgt_epu64_mask): Ditto.
114 * config/i386/i386-builtin-types.def: Add V16SF_FTYPE_V8SF,
115 V16SI_FTYPE_V8SI, V16SI_FTYPE_V4SI, V8DF_FTYPE_V2DF.
116 * config/i386/i386.c (enum ix86_builtins): Add
117 IX86_BUILTIN_SI512_SI256, IX86_BUILTIN_PD512_PD256,
118 IX86_BUILTIN_PS512_PS256, IX86_BUILTIN_SI512_SI,
119 IX86_BUILTIN_PD512_PD, IX86_BUILTIN_PS512_PS.
120 (bdesc_args): Add __builtin_ia32_si512_256si,
121 __builtin_ia32_ps512_256ps, __builtin_ia32_pd512_256pd,
122 __builtin_ia32_si512_si, __builtin_ia32_ps512_ps,
123 __builtin_ia32_pd512_pd.
124 (ix86_expand_args_builtin): Handle new FTYPEs.
125 * config/i386/sse.md (castmode): Add 512-bit modes.
126 (AVX512MODE2P): New.
127 (avx512f_<castmode><avxsizesuffix>_<castmode): New.
128 (avx512f_<castmode><avxsizesuffix>_256<castmode): Ditto.
129
09ad9c71
RB
1302014-08-15 Richard Biener <rguenther@suse.de>
131
132 * fold-const.c (tree_swap_operands_p): Put all constants
133 last, also strip sign-changing NOPs when considering further
134 canonicalization. Canonicalize also when optimizing for size.
135
2c274197
KT
1362014-08-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
137
138 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Move
139 one_match > zero_match case to just before simple_sequence.
140
4b5337e6
RB
1412014-08-15 Richard Biener <rguenther@suse.de>
142
143 * data-streamer.h (streamer_string_index, string_for_index):
144 Remove.
145 * data-streamer-out.c (streamer_string_index): Make static.
146 * data-streamer-in.c (string_for_index): Likewise.
147 * lto-streamer-out.c (lto_output_location): Use bp_pack_string.
148 * lto-streamer-in.c (lto_input_location): Use bp_unpack_string.
149
6e2028ff
RB
1502014-08-15 Richard Biener <rguenther@suse.de>
151
152 PR tree-optimization/62031
153 * tree-data-ref.c (dr_analyze_indices): Do not set
154 DR_UNCONSTRAINED_BASE.
155 (dr_may_alias_p): All indirect accesses have to go the
156 formerly DR_UNCONSTRAINED_BASE path.
157 * tree-data-ref.h (struct indices): Remove
158 unconstrained_base member.
159 (DR_UNCONSTRAINED_BASE): Remove.
160
7de20fbd
JJ
1612014-08-15 Jakub Jelinek <jakub@redhat.com>
162
163 PR middle-end/62092
164 * gimplify.c (gimplify_adjust_omp_clauses_1): Don't remove
165 OMP_CLAUSE_SHARED for global vars if the global var is mentioned
166 in OMP_CLAUSE_MAP in some outer target region.
167
3230c614
BC
1682014-08-15 Bin Cheng <bin.cheng@arm.com>
169
170 * tree-ssa-loop-ivopts.c (ivopts_data): New field
171 name_expansion_cache.
172 (tree_ssa_iv_optimize_init): Initialize name_expansion_cache.
173 (tree_ssa_iv_optimize_finalize): Free name_expansion_cache.
174 (strip_wrap_conserving_type_conversions, expr_equal_p): Delete.
175 (difference_cannot_overflow_p): New parameter. Use affine
176 expansion for equality check.
177 (iv_elimination_compare_lt): Pass new argument.
178
54bfc99b
DD
1792014-08-14 DJ Delorie <dj@redhat.com>
180
d50b463e
DD
181 * config/rl78/rl78-real.md (addqi3_real): Allow adding global
182 variables to the accumulator.
183
7d73b2cb
DD
184 * config/rl78/predicates.md (rl78_near_mem_operand): New.
185 * config/rl78/rl78-virt.md (movqi_virt_mm, movqi_virt)
186 (movhi_virt_mm): Split out near mem-mem moves to avoid problems
187 with far-far moves.
188
e33a3cf3
DD
189 * config/rl78/rl78-expand.md (umulqihi3): Disable for G10.
190 * config/rl78/rl78-virt.md (umulhi3_shift_virt): Likewise.
191 (umulqihi3_virt): Likewise.
192 * config/rl78/rl78-real.md (umulhi3_shift_real): Likewise.
193 (umulqihi3_real): Likewise.
194
54bfc99b
DD
195 * config/rl78/rl78-virt.md (movhi_virt): Allow const->far moves.
196
80b6ba28
JH
1972014-08-14 Jan Hubicka <hubicka@ucw.cz>
198
199 PR tree-optimization/62091
200 * tree-ssa-alias.c (walk_aliased_vdefs_1): Do not clear
201 function_entry_reached.
202 (walk_aliased_vdefs): Clear it here.
203 * ipa-devirt.c (check_stmt_for_type_change): Handle static storage.
204
56b1f114
JH
2052014-08-14 Jan Hubicka <hubicka@ucw.cz>
206
207 * ipa-utils.h (compare_virtual_tables): Declare.
208 * ipa-devirt.c (odr_subtypes_equivalent_p): New function
209
0ee9c843
MP
2102014-08-14 Marek Polacek <polacek@redhat.com>
211
212 DR 458
213 * ginclude/stdatomic.h (__atomic_type_lock_free): Remove.
214 (ATOMIC_*_LOCK_FREE): Map to __GCC_ATOMIC_*_LOCK_FREE.
215
451d542e
TV
2162014-08-14 Tom de Vries <tom@codesourcery.com>
217
218 * emit-rtl.h (mem_attrs_eq_p): Remove duplicate declaration.
219
df5d402a
TV
2202014-08-14 Tom de Vries <tom@codesourcery.com>
221
222 PR rtl-optimization/62004
223 PR rtl-optimization/62030
224 * ifcvt.c (rtx_interchangeable_p): New function.
225 (noce_try_move, noce_process_if_block): Use rtx_interchangeable_p.
df5d402a
TV
226 * emit-rtl.h (mem_attrs_eq_p): Declare.
227
821fce24
RG
2282014-08-14 Roman Gareev <gareevroman@gmail.com>
229
230 * graphite-scop-detection.c:
231 Add inclusion of cp-tree.h.
232 (graphite_can_represent_scev): Disables the handling of SSA_NAME nodes
233 in case they are pointers to object types
234
2813008e
RB
2352014-08-14 Richard Biener <rguenther@suse.de>
236
237 * BASE-VER: Change to 5.0.0
238
8b994297
AI
2392014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
240 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
241 Anna Tikhonova <anna.tikhonova@intel.com>
242 Ilya Tocar <ilya.tocar@intel.com>
243 Andrey Turetskiy <andrey.turetskiy@intel.com>
244 Ilya Verbin <ilya.verbin@intel.com>
245 Kirill Yukhin <kirill.yukhin@intel.com>
246 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
247
248 * config/i386/sse.md (define_mode_attr avx512): New.
249 (define_mode_attr sse2_avx_avx512f): Allow V8HI, V16HI, V32HI, V2DI,
250 V4DI modes.
251 (define_mode_attr sse2_avx2): Allow V64QI, V32HI, V4TI modes.
252 (define_mode_attr ssse3_avx2): Ditto.
253 (define_mode_attr sse4_1_avx2): Allow V64QI, V32HI, V8DI modes.
254 (define_mode_attr avx2_avx512bw): New.
255 (define_mode_attr ssedoublemodelower): New.
256 (define_mode_attr ssedoublemode): Allow V8SF, V8SI, V4DI, V4DF, V4SI,
257 V32HI, V64QI modes.
258 (define_mode_attr ssebytemode): Allow V8DI modes.
259 (define_mode_attr sseinsnmode): Allow V4TI, V32HI, V64QI modes.
260 (define_mode_attr sseintvecmodelower): Allow V8DF, V4TI modes.
261 (define_mode_attr ssePSmode2): New.
262 (define_mode_attr ssescalarsize): Allow V64QI, V32QI, V16QI, V8HI,
263 V16HI, V32HI modes.
264 (define_mode_attr dbpsadbwmode): New.
265 (define_mode_attr bcstscalarsuff): Allow V64QI, V32QI, V16QI, V32HI,
266 V16HI, V8HI, V8SI, V4SI, V4DI, V2DI, V8SF, V4SF, V4DF, V2DF modes.
267 (vi8_sse4_1_avx2_avx512): New.
268 (define_insn <sse4_1_avx2>_movntdqa): Use <vi8_sse4_1_avx2_avx512>
269 mode attribute.
270 (define_mode_attr blendbits): Move before its immediate use.
271
2534573e
AI
2722014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
273 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
274 Anna Tikhonova <anna.tikhonova@intel.com>
275 Ilya Tocar <ilya.tocar@intel.com>
276 Andrey Turetskiy <andrey.turetskiy@intel.com>
277 Ilya Verbin <ilya.verbin@intel.com>
278 Kirill Yukhin <kirill.yukhin@intel.com>
279 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
280
281 * config/i386/sse.md: Allow V64QI, V32QI, V32HI, V4HI modes.
282 * config/i386/subst.md
283 (define_mode_iterator SUBST_V): Update.
284 (define_mode_iterator SUBST_A): Ditto.
285 (define_subst_attr "mask_operand7"): New.
286 (define_subst_attr "mask_operand10"): New.
287 (define_subst_attr "mask_operand_arg34") : New.
288 (define_subst_attr "mask_expand_op3"): New.
289 (define_subst_attr "mask_mode512bit_condition"): Handle TARGET_AVX512VL.
290 (define_subst_attr "sd_mask_mode512bit_condition"): Ditto.
291 (define_subst_attr "mask_avx512vl_condition"): New.
292 (define_subst_attr "round_mask_operand4"): Ditto.
293 (define_subst_attr "round_mask_scalar_op3"): Delete.
294 (define_subst_attr "round_mask_op4"): New.
295 (define_subst_attr "round_mode512bit_condition"): Allow V8DImode,
296 V16SImode.
297 (define_subst_attr "round_modev8sf_condition"): New.
298 (define_subst_attr "round_modev4sf_condition"): GET_MODE instead of
299 <MODE>mode.
300 (define_subst_attr "round_saeonly_mask_operand4"): New.
301 (define_subst_attr "round_saeonly_mask_op4"): New.
302 (define_subst_attr "round_saeonly_mode512bit_condition"): Allow
303 V8DImode, V16SImode.
304 (define_subst_attr "round_saeonly_modev8sf_condition"): New.
305 (define_subst_attr "mask_expand4_name" "mask_expand4"): New.
306 (define_subst_attr "mask_expand4_args"): New.
307 (define_subst "mask_expand4"): New.
308
e2131cc7
AI
3092014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
310 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
311 Anna Tikhonova <anna.tikhonova@intel.com>
312 Ilya Tocar <ilya.tocar@intel.com>
313 Andrey Turetskiy <andrey.turetskiy@intel.com>
314 Ilya Verbin <ilya.verbin@intel.com>
315 Kirill Yukhin <kirill.yukhin@intel.com>
316 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
317
318 * config/i386/i386.md
319 (define_attr "isa"): Add avx512bw,noavx512bw.
320 (define_attr "enabled"): Ditto.
321 (define_split): Add 32/64-bit mask logic.
322 (define_insn "*k<logic>qi"): New.
323 (define_insn "*k<logic>hi"): New.
324 (define_insn "*anddi_1"): Add mask version.
325 (define_insn "*andsi_1"): Ditto.
326 (define_insn "*<code><mode>_1"): Ditto.
327 (define_insn "*<code>hi_1"): Ditto.
328 (define_insn "kxnor<mode>"): New.
329 (define_insn "kunpcksi"): New.
330 (define_insn "kunpckdi"): New.
331 (define_insn "*one_cmpl<mode>2_1"): Add mask version.
332 (define_insn "*one_cmplhi2_1"): Ditto.
333
1d944b8a
AI
3342014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
335 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
336 Anna Tikhonova <anna.tikhonova@intel.com>
337 Ilya Tocar <ilya.tocar@intel.com>
338 Andrey Turetskiy <andrey.turetskiy@intel.com>
339 Ilya Verbin <ilya.verbin@intel.com>
340 Kirill Yukhin <kirill.yukhin@intel.com>
341 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
342
343 * config/i386/i386.c (ix86_preferred_simd_mode): Allow V64QImode and
344 V32HImode.
345
9e4a4dd6
AI
3462014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
347 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
348 Anna Tikhonova <anna.tikhonova@intel.com>
349 Ilya Tocar <ilya.tocar@intel.com>
350 Andrey Turetskiy <andrey.turetskiy@intel.com>
351 Ilya Verbin <ilya.verbin@intel.com>
352 Kirill Yukhin <kirill.yukhin@intel.com>
353 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
354
355 * config/i386/i386.c (print_reg): Сorrectly print 64-bit mask
356 registers.
357 (inline_secondary_memory_needed): Allow 64 bit wide mask registers.
358 (ix86_hard_regno_mode_ok): Allow 32/64-bit mask registers and
359 xmm/ymm16+ when availble.
360 * config/i386/i386.h
361 (HARD_REGNO_NREGS): Add mask regs.
362 (VALID_AVX512F_REG_MODE): Ditto.
363 (VALID_AVX512F_REG_MODE) : Define.
364 (VALID_MASK_AVX512BW_MODE): Ditto.
365 (reg_class) (MASK_REG_P(X)): Define.
366 * config/i386/i386.md: Do not split long moves with mask register,
367 use kmovb if avx512bw is availible.
368 (movdi_internal): Handle mask registers.
369
7d39012c
RB
3702014-08-14 Richard Biener <rguenther@suse.de>
371
372 PR tree-optimization/62081
373 * tree-ssa-loop.c (pass_fix_loops): New pass.
374 (pass_tree_loop::gate): Do not fixup loops here.
375 * tree-pass.h (make_pass_fix_loops): Declare.
376 * passes.def: Schedule pass_fix_loops before GIMPLE loop passes.
377
0cff9154
RB
3782014-08-14 Richard Biener <rguenther@suse.de>
379
380 * tree.c (type_hash_lookup, type_hash_add): Merge into ...
381 (type_hash_canon): ... this and avoid 2nd lookup for the add.
382
35770bb2
RB
3832014-08-14 Richard Biener <rguenther@suse.de>
384
385 PR tree-optimization/62090
386 * builtins.c (fold_builtin_sprintf): Move to gimple-fold.c.
387 (fold_builtin_2): Do not fold sprintf.
388 (fold_builtin_3): Likewise.
389 * gimple-fold.c (gimple_fold_builtin_sprintf): New function
390 moved from builtins.c.
391 (gimple_fold_builtin): Fold sprintf.
392
121bc7dc
RB
3932014-08-14 Richard Biener <rguenther@suse.de>
394
395 PR rtl-optimization/62079
396 * recog.c (peephole2_optimize): If peep2_do_cleanup_cfg
397 run cleanup_cfg.
398
8e857bbf
IE
3992014-08-14 Ilya Enkovich <ilya.enkovich@intel.com>
400
401 * ipa-devirt.c (get_polymorphic_call_info): Use fndecl instead of
402 current_function_decl.
403
1113596f
IE
4042014-08-14 Ilya Enkovich <ilya.enkovich@intel.com>
405
406 * cgraph.c (cgraph_node::function_symbol): Fix wrong
407 cgraph_function_node to cgraph_node::function_symbol
408 refactoring.
409
4d2df0f4
ZC
4102014-08-14 Zhenqiang Chen <zhenqiang.chen@arm.com>
411
412 * config/arm/arm.c (arm_option_override): Set max_insns_skipped
413 to MAX_INSN_PER_IT_BLOCK when optimize_size for THUMB2.
414
7bf72189
CG
4152014-08-13 Chen Gang gang.chen.5i5j@gmail.com
416
417 * microblaze/microblaze.md: Remove redundant '@' to avoid compiling
418 warning.
419
0bcb976e
RG
4202014-08-13 Roman Gareev <gareevroman@gmail.com>
421
422 * gcc.dg/graphite/pr35356-2.c: Update according to the ISL code
423 generator.
424
c7cf969c
JJ
4252014-08-12 Jakub Jelinek <jakub@redhat.com>
426
427 PR target/62025
428 * sched-deps.c (find_inc): Check if inc_insn doesn't clobber
429 any registers that are used in mem_insn.
430
2e45addf
SE
4312014-08-12 Steve Ellcey <sellcey@mips.com>
432
433 * config/mips/mips.h (ASM_SPEC): Pass float options to assembler.
434
909310bc
SE
4352014-08-12 Steve Ellcey <sellcey@mips.com>
436
437 * config/mips/t-mti-elf (MULTILIB_OPTIONS): Remove fp64 multilib.
438 (MULTILIB_DIRNAMES): Ditto.
439 * config/mips/t-mti-elf (MULTILIB_OPTIONS): Ditto.
440 * config/mips/t-mti-elf (MULTILIB_EXCEPTIONS): Ditto.
441 * config/mips/t-mti-linux (MULTILIB_OPTIONS): Ditto.
442 * config/mips/t-mti-linux (MULTILIB_DIRNAMES): Ditto.
443 * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Ditto.
444 * config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Ditto.
445
e19707f5
RR
4462014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
447
448 PR target/61413
449 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix definition
450 of __ARM_SIZEOF_WCHAR_T.
451
d31e00d4
RR
4522014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
453
454 PR target/62098
455 * config/arm/vfp.md (*combine_vcvtf2i): Fix constraint.
456 Remove unnecessary attributes.
457
63a4184f
YG
4582014-08-12 Yury Gribov <y.gribov@samsung.com>
459
460 * internal-fn.c (init_internal_fns): Fix off-by-one.
461
537ddba3
AI
4622014-08-12 Alexander Ivchenko <alexander.ivchenko@intel.com>
463 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
464 Anna Tikhonova <anna.tikhonova@intel.com>
465 Ilya Tocar <ilya.tocar@intel.com>
466 Andrey Turetskiy <andrey.turetskiy@intel.com>
467 Ilya Verbin <ilya.verbin@intel.com>
468 Kirill Yukhin <kirill.yukhin@intel.com>
469 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
470
471 * config/i386/i386.c (standard_sse_constant_opcode): Use
472 vpxord/vpternlog if avx512 is availible.
473
3d8208ce
TP
4742014-08-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
475
476 PR middle-end/62103
477 * gimple-fold.c (fold_ctor_reference): Don't fold in presence of
478 bitfields, that is when size doesn't match the size of type or the
479 size of the constructor.
480
59f5868d
MM
4812014-08-11 Michael Meissner <meissner@linux.vnet.ibm.com>
482
483 * config/rs6000/constraints.md (wh constraint): New constraint,
484 for FP registers if direct move is available.
485 (wi constraint): New constraint, for VSX/FP registers that can
486 handle 64-bit integers.
487 (wj constraint): New constraint for VSX/FP registers that can
488 handle 64-bit integers for direct moves.
489 (wk constraint): New constraint for VSX/FP registers that can
490 handle 64-bit doubles for direct moves.
491 (wy constraint): Make documentation match implementation.
492
493 * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add
494 scalar_in_vmx_p field to simplify tests of whether SFmode or
495 DFmode can go in the Altivec registers.
496 (rs6000_hard_regno_mode_ok): Use scalar_in_vmx_p field.
497 (rs6000_setup_reg_addr_masks): Likewise.
498 (rs6000_debug_print_mode): Add debug support for scalar_in_vmx_p
499 field, and wh/wi/wj/wk constraints.
500 (rs6000_init_hard_regno_mode_ok): Setup scalar_in_vmx_p field, and
501 the wh/wi/wj/wk constraints.
502 (rs6000_preferred_reload_class): If SFmode/DFmode can go in the
503 upper registers, prefer VSX registers unless the operation is a
504 memory operation with REG+OFFSET addressing.
505
506 * config/rs6000/vsx.md (VSr mode attribute): Add support for
507 DImode. Change SFmode to use ww constraint instead of d to allow
508 SF registers in the upper registers.
509 (VSr2): Likewise.
510 (VSr3): Likewise.
511 (VSr5): Fix thinko in comment.
512 (VSa): New mode attribute that is an alternative to wa, that
513 returns the VSX register class that a mode can go in, but may not
514 be the preferred register class.
515 (VS_64dm): New mode attribute for appropriate register classes for
516 referencing 64-bit elements of vectors for direct moves and normal
517 moves.
518 (VS_64reg): Likewise.
519 (vsx_mov<mode>): Change wa constraint to <VSa> to limit the
520 register allocator to only registers the data type can handle.
521 (vsx_le_perm_load_<mode>): Likewise.
522 (vsx_le_perm_store_<mode>): Likewise.
523 (vsx_xxpermdi2_le_<mode>): Likewise.
524 (vsx_xxpermdi4_le_<mode>): Likewise.
525 (vsx_lxvd2x2_le_<mode>): Likewise.
526 (vsx_lxvd2x4_le_<mode>): Likewise.
527 (vsx_stxvd2x2_le_<mode>): Likewise.
528 (vsx_add<mode>3): Likewise.
529 (vsx_sub<mode>3): Likewise.
530 (vsx_mul<mode>3): Likewise.
531 (vsx_div<mode>3): Likewise.
532 (vsx_tdiv<mode>3_internal): Likewise.
533 (vsx_fre<mode>2): Likewise.
534 (vsx_neg<mode>2): Likewise.
535 (vsx_abs<mode>2): Likewise.
536 (vsx_nabs<mode>2): Likewise.
537 (vsx_smax<mode>3): Likewise.
538 (vsx_smin<mode>3): Likewise.
539 (vsx_sqrt<mode>2): Likewise.
540 (vsx_rsqrte<mode>2): Likewise.
541 (vsx_tsqrt<mode>2_internal): Likewise.
542 (vsx_fms<mode>4): Likewise.
543 (vsx_nfma<mode>4): Likewise.
544 (vsx_eq<mode>): Likewise.
545 (vsx_gt<mode>): Likewise.
546 (vsx_ge<mode>): Likewise.
547 (vsx_eq<mode>_p): Likewise.
548 (vsx_gt<mode>_p): Likewise.
549 (vsx_ge<mode>_p): Likewise.
550 (vsx_xxsel<mode>): Likewise.
551 (vsx_xxsel<mode>_uns): Likewise.
552 (vsx_copysign<mode>3): Likewise.
553 (vsx_float<VSi><mode>2): Likewise.
554 (vsx_floatuns<VSi><mode>2): Likewise.
555 (vsx_fix_trunc<mode><VSi>2): Likewise.
556 (vsx_fixuns_trunc<mode><VSi>2): Likewise.
557 (vsx_x<VSv>r<VSs>i): Likewise.
558 (vsx_x<VSv>r<VSs>ic): Likewise.
559 (vsx_btrunc<mode>2): Likewise.
560 (vsx_b2trunc<mode>2): Likewise.
561 (vsx_floor<mode>2): Likewise.
562 (vsx_ceil<mode>2): Likewise.
563 (vsx_<VS_spdp_insn>): Likewise.
564 (vsx_xscvspdp): Likewise.
565 (vsx_xvcvspuxds): Likewise.
566 (vsx_float_fix_<mode>2): Likewise.
567 (vsx_set_<mode>): Likewise.
568 (vsx_extract_<mode>_internal1): Likewise.
569 (vsx_extract_<mode>_internal2): Likewise.
570 (vsx_extract_<mode>_load): Likewise.
571 (vsx_extract_<mode>_store): Likewise.
572 (vsx_splat_<mode>): Likewise.
573 (vsx_xxspltw_<mode>): Likewise.
574 (vsx_xxspltw_<mode>_direct): Likewise.
575 (vsx_xxmrghw_<mode>): Likewise.
576 (vsx_xxmrglw_<mode>): Likewise.
577 (vsx_xxsldwi_<mode>): Likewise.
578 (vsx_xscvdpspn): Tighten constraints to only use register classes
579 the types use.
580 (vsx_xscvspdpn): Likewise.
581 (vsx_xscvdpspn_scalar): Likewise.
582
583 * config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wh, wi,
584 wj, and wk constraints.
585 (GPR_REG_CLASS_P): New helper macro for register classes targeting
586 general purpose registers.
587
588 * config/rs6000/rs6000.md (f32_dm): Use wh constraint for SDmode
589 direct moves.
590 (zero_extendsidi2_lfiwz): Use wj constraint for direct move of
591 DImode instead of wm. Use wk constraint for direct move of DFmode
592 instead of wm.
593 (extendsidi2_lfiwax): Likewise.
594 (lfiwax): Likewise.
595 (lfiwzx): Likewise.
596 (movdi_internal64): Likewise.
597
598 * doc/md.texi (PowerPC and IBM RS6000): Document wh, wi, wj, and
599 wk constraints. Make the wy constraint documentation match them
600 implementation.
601
b47595f7
MN
6022014-08-11 Mircea Namolaru <mircea.namolaru@inria.fr>
603
604 Replacement of isl_int by isl_val
605 * graphite-clast-to-gimple.c: include isl/val.h, isl/val_gmp.h
606 (compute_bounds_for_param): use isl_val instead of isl_int
607 (compute_bounds_for_loop): likewise
608 * graphite-interchange.c: include isl/val.h, isl/val_gmp.h
609 (build_linearized_memory_access): use isl_val instead of isl_int
610 (pdr_stride_in_loop): likewise
611 * graphite-optimize-isl.c:
612 (getPrevectorMap): use isl_val instead of isl_int
613 * graphite-poly.c:
614 (pbb_number_of_iterations_at_time): use isl_val instead of isl_int
615 graphite-sese-to-poly.c: include isl/val.h, isl/val_gmp.h
616 (extern the_isl_ctx): declare
617 (build_pbb_scattering_polyhedrons): use isl_val instead of isl_int
618 (extract_affine_gmp): likewise
619 (wrap): likewise
620 (build_loop_iteration_domains): likewise
621 (add_param_constraints): likewise
622
7cadcdc1
RB
6232014-08-11 Richard Biener <rguenther@suse.de>
624
625 PR tree-optimization/62075
626 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
627 handle uses in patterns.
628
f4af595f
AI
6292014-08-11 Alexander Ivchenko <alexander.ivchenko@intel.com>
630 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
631 Anna Tikhonova <anna.tikhonova@intel.com>
632 Ilya Tocar <ilya.tocar@intel.com>
633 Andrey Turetskiy <andrey.turetskiy@intel.com>
634 Ilya Verbin <ilya.verbin@intel.com>
635 Kirill Yukhin <kirill.yukhin@intel.com>
636 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
637
638 * common/config/i386/i386-common.c
639 (OPTION_MASK_ISA_AVX512VL_SET): Define.
640 (OPTION_MASK_ISA_AVX512F_UNSET): Update.
641 (ix86_handle_option): Handle OPT_mavx512vl.
642 * config/i386/cpuid.h (bit_AVX512VL): Define.
643 * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512vl,
644 set -mavx512vl accordingly.
645 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
646 OPTION_MASK_ISA_AVX512VL.
647 * config/i386/i386.c (ix86_target_string): Handle -mavx512vl.
648 (ix86_option_override_internal): Define PTA_AVX512VL, handle
649 PTA_AVX512VL and OPTION_MASK_ISA_AVX512VL.
650 (ix86_valid_target_attribute_inner_p): Handle OPT_mavx512vl.
651 * config/i386/i386.h (TARGET_AVX512VL): Define.
652 (TARGET_AVX512VL_P(x)): Ditto.
653 * config/i386/i386.opt: Add mavx512vl.
654
d4759fc6
FY
6552014-08-11 Felix Yang <fei.yang0953@gmail.com>
656
657 PR tree-optimization/62073
658 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has
659 a basic block.
59f5868d 660
b525d943
AI
6612014-08-11 Alexander Ivchenko <alexander.ivchenko@intel.com>
662 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
663 Anna Tikhonova <anna.tikhonova@intel.com>
664 Ilya Tocar <ilya.tocar@intel.com>
665 Andrey Turetskiy <andrey.turetskiy@intel.com>
666 Ilya Verbin <ilya.verbin@intel.com>
667 Kirill Yukhin <kirill.yukhin@intel.com>
668 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
669
670 * common/config/i386/i386-common.c
671 (OPTION_MASK_ISA_AVX512BW_SET) : Define.
672 (OPTION_MASK_ISA_AVX512BW_UNSET): Ditto.
673 (OPTION_MASK_ISA_AVX512VL_UNSET) : Ditto.
674 (ix86_handle_option): Handle OPT_mavx512bw.
675 * config/i386/cpuid.h (bit_AVX512BW): Define.
676 * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512bw,
677 set -mavx512bw accordingly.
678 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
679 OPTION_MASK_ISA_AVX512BW.
680 * config/i386/i386.c (ix86_target_string): Handle -mavx512bw.
681 (ix86_option_override_internal): Define PTA_AVX512BW, handle
682 PTA_AVX512BW and OPTION_MASK_ISA_AVX512BW.
683 (ix86_valid_target_attribute_inner_p): Handle OPT_mavx512bw.
684 * config/i386/i386.h (TARGET_AVX512BW): Define.
685 (TARGET_AVX512BW_P(x)): Ditto.
686 * config/i386/i386.opt: Add mavx512bw.
687
5f732aeb
RB
6882014-08-11 Richard Biener <rguenther@suse.de>
689
690 PR tree-optimization/62070
691 * tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge):
692 Remove SSA checking.
693
c62ccb9a
YG
6942014-08-11 Yury Gribov <y.gribov@samsung.com>
695
696 * asan.c (asan_check_flags): New enum.
697 (build_check_stmt_with_calls): Removed function.
698 (build_check_stmt): Split inlining logic to
699 asan_expand_check_ifn.
700 (instrument_derefs): Rename parameter.
701 (instrument_mem_region_access): Rename parameter.
702 (instrument_strlen_call): Likewise.
703 (asan_expand_check_ifn): New function.
704 (asan_instrument): Remove old code.
705 (pass_sanopt::execute): Change handling of
706 asan-instrumentation-with-call-threshold.
707 (asan_clear_shadow): Fix formatting.
708 (asan_function_start): Likewise.
709 (asan_emit_stack_protection): Likewise.
710 * doc/invoke.texi (asan-instrumentation-with-call-threshold):
711 Update description.
712 * internal-fn.c (expand_ASAN_CHECK): New function.
713 * internal-fn.def (ASAN_CHECK): New internal function.
714 * params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD):
715 Update description.
716 (PARAM_ASAN_USE_AFTER_RETURN): Likewise.
717 * tree.c: Small comment fix.
718
b78475cf
YG
7192014-08-11 Yury Gribov <y.gribov@samsung.com>
720
721 * gimple.c (gimple_call_fnspec): Support internal functions.
722 (gimple_call_return_flags): Use const.
723 * Makefile.in (GTFILES): Add internal-fn.h to list of GC files.
724 * internal-fn.def: Add fnspec information.
725 * internal-fn.h (internal_fn_fnspec): New function.
726 (init_internal_fns): Declare new function.
727 * internal-fn.c (internal_fn_fnspec_array): New global variable.
728 (init_internal_fns): New function.
729 * tree-core.h: Update macro call.
730 * tree.c (build_common_builtin_nodes): Initialize internal fns.
731
f473c082
GP
7322014-08-10 Gerald Pfeifer <gerald@pfeifer.com>
733
734 * lto-streamer.h (struct output_block::symbol): Change from
735 struct symtab_node to plain symtab_node.
736 (referenced_from_this_partition_p): Change first parameter
737 from struct symtab_node to plain symtab_node.
738
f3bede71
MP
7392014-08-10 Marek Polacek <polacek@redhat.com>
740
741 PR c/51849
742 * gcc/doc/invoke.texi: Document -Wc90-c99-compat.
743
726540aa
JH
7442014-08-09 Jan Hubicka <hubicka@ucw.cz>
745
746 * ipa-devirt.c (get_dynamic_type): Handle case when instance is in
747 DECL correctly; do not give up on types in static storage.
748
6a6bdc3d
PC
7492014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
750
751 * doc/invoke.texi ([Wnarrowing]): Update for non-constants in C++11.
752
b5bdf598
RG
7532014-08-09 Roman Gareev <gareevroman@gmail.com>
754
755 * graphite-isl-ast-to-gimple.c:
756 (translate_isl_ast_node_user): Use nb_loops instead of loop->num + 1.
757
758 * gcc.dg/graphite/isl-ast-gen-user-1.c: New testcase.
759
b435752c
GW
7602014-08-08 Guozhi Wei <carrot@google.com>
761
762 * config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.
763
4dd7c3b2
CC
7642014-08-08 Cary Coutant <ccoutant@google.com>
765
766 * dwarf2out.c (get_skeleton_type_unit): Remove.
767 (output_skeleton_debug_sections): Remove skeleton type units.
768 (output_comdat_type_unit): Likewise.
769 (dwarf2out_finish): Likewise.
770
7ca26091
YY
7712014-08-07 Yi Yang <ahyangyi@google.com>
772
773 * predict.c (expr_expected_value_1): Remove the redundant assignment.
774
207c68cd
RB
7752014-08-08 Richard Biener <rguenther@suse.de>
776
777 * lto-streamer.h (struct lto_input_block): Make it a class
778 with a constructor.
779 (LTO_INIT_INPUT_BLOCK, LTO_INIT_INPUT_BLOCK_PTR): Remove.
780 (struct lto_function_header, struct lto_simple_header,
781 struct lto_simple_header_with_strings,
782 struct lto_decl_header, struct lto_function_header): Make
783 a simple inheritance hieararchy. Remove unused fields.
784 (struct lto_asm_header): Remove.
785 * lto-streamer-out.c (produce_asm): Adjust.
786 (lto_output_toplevel_asms): Likewise.
787 (produce_asm_for_decls): Likewise.
788 * lto-section-out.c (lto_destroy_simple_output_block): Likewise.
789 * data-streamer-in.c (string_for_index): Likewise.
790 * ipa-inline-analysis.c (inline_read_section): Likewise.
791 * ipa-prop.c (ipa_prop_read_section): Likewise.
792 (read_replacements_section): Likewise.
793 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
794 * lto-section-in.c (lto_create_simple_input_block): Likewise.
795 (lto_destroy_simple_input_block): Likewise.
796 * lto-streamer-in.c (lto_read_body_or_constructor): Likewise.
797 (lto_input_toplevel_asms): Likewise.
798
07165dd7
AI
7992014-08-08 Alexander Ivchenko <alexander.ivchenko@intel.com>
800 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
801 Anna Tikhonova <anna.tikhonova@intel.com>
802 Ilya Tocar <ilya.tocar@intel.com>
803 Andrey Turetskiy <andrey.turetskiy@intel.com>
804 Ilya Verbin <ilya.verbin@intel.com>
805 Kirill Yukhin <kirill.yukhin@intel.com>
806 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
807
808 * common/config/i386/i386-common.c
809 (OPTION_MASK_ISA_AVX512DQ_SET): Define.
810 (OPTION_MASK_ISA_AVX512DQ_UNSET): Ditto.
811 (ix86_handle_option): Handle OPT_mavx512dq.
812 * config/i386/cpuid.h (bit_AVX512DQ): Define.
813 * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512dq,
814 set -mavx512dq accordingly.
815 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
816 OPTION_MASK_ISA_AVX512DQ.
817 * config/i386/i386.c (ix86_target_string): Handle -mavx512dq.
818 (ix86_option_override_internal): Define PTA_AVX512DQ, handle
819 PTA_AVX512DQ and OPTION_MASK_ISA_AVX512DQ.
820 (ix86_valid_target_attribute_inner_p): Handle OPT_mavx512dq.
821 * config/i386/i386.h (TARGET_AVX512DQ): Define.
822 (TARGET_AVX512DQ_P(x)): Ditto.
823 * config/i386/i386.opt: Add mavx512dq.
824
fef5a0d9
RB
8252014-08-08 Richard Biener <rguenther@suse.de>
826
827 * builtins.c (c_getstr, readonly_data_expr, init_target_chars,
828 target_percent, target_percent_s): Export.
829 (var_decl_component_p, fold_builtin_memory_op, fold_builtin_memset,
830 fold_builtin_bzero, fold_builtin_strcpy, fold_builtin_strncpy,
831 fold_builtin_strcat, fold_builtin_fputs, fold_builtin_memory_chk,
832 fold_builtin_stxcpy_chk, fold_builtin_stxncpy_chk,
833 fold_builtin_sprintf_chk_1, fold_builtin_snprintf_chk_1):
834 Move to gimple-fold.c.
835 (fold_builtin_2): Remove handling of bzero, fputs, fputs_unlocked,
836 strcat and strcpy.
837 (fold_builtin_3): Remove handling of memset, bcopy, memcpy,
838 mempcpy, memmove, strncpy, strcpy_chk and stpcpy_chk.
839 (fold_builtin_4): Remove handling of memcpy_chk, mempcpy_chk,
840 memmove_chk, memset_chk, strncpy_chk and stpncpy_chk.
841 (rewrite_call_expr_array): Remove.
842 (fold_builtin_sprintf_chk): Likewise.
843 (fold_builtin_snprintf_chk): Likewise.
844 (fold_builtin_varargs): Remove handling of sprintf_chk,
845 vsprintf_chk, snprintf_chk and vsnprintf_chk.
846 (gimple_fold_builtin_sprintf_chk): Remove.
847 (gimple_fold_builtin_snprintf_chk): Likewise.
848 (gimple_fold_builtin_varargs): Likewise.
849 (fold_call_stmt): Do not call gimple_fold_builtin_varargs.
850 * predict.c (optimize_bb_for_size_p): Handle NULL bb.
851 * gimple.c (gimple_seq_add_seq_without_update): New function.
852 * gimple.h (gimple_seq_add_seq_without_update): Declare.
853 * gimple-fold.c: Include output.h.
854 (gsi_replace_with_seq_vops): New function, split out from ...
855 (gimplify_and_update_call_from_tree): ... here.
856 (replace_call_with_value): New function.
857 (replace_call_with_call_and_fold): Likewise.
858 (var_decl_component_p): Moved from builtins.c.
859 (gimple_fold_builtin_memory_op): Moved from builtins.c
860 fold_builtin_memory_op and rewritten to GIMPLE.
861 (gimple_fold_builtin_memset): Likewise.
862 (gimple_fold_builtin_strcpy): Likewise.
863 (gimple_fold_builtin_strncpy): Likewise.
864 (gimple_fold_builtin_strcat): Likewise.
865 (gimple_fold_builtin_fputs): Likewise.
866 (gimple_fold_builtin_memory_chk): Likewise.
867 (gimple_fold_builtin_stxcpy_chk): Likewise.
868 (gimple_fold_builtin_stxncpy_chk): Likewise.
869 (gimple_fold_builtin_snprintf_chk): Likewise.
870 (gimple_fold_builtin_sprintf_chk): Likewise.
871 (gimple_fold_builtin_strlen): New function.
872 (gimple_fold_builtin_with_strlen): New function split out from
873 gimple_fold_builtin.
874 (gimple_fold_builtin): Change signature and handle
875 bzero, memset, bcopy, memcpy, mempcpy and memmove folding
876 here. Call gimple_fold_builtin_with_strlen.
877 (gimple_fold_call): Adjust.
878
8c9a36b7
KV
8792014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
880
881 * calls.c (precompute_arguments): Check
882 promoted_for_signed_and_unsigned_p and set the promoted mode.
883 (promoted_for_signed_and_unsigned_p): New function.
884 (expand_expr_real_1): Check promoted_for_signed_and_unsigned_p
885 and set the promoted mode.
886 * expr.h (promoted_for_signed_and_unsigned_p): New function definition.
887 * cfgexpand.c (expand_gimple_stmt_1): Call emit_move_insn if
888 SUBREG is promoted with SRP_SIGNED_AND_UNSIGNED.
889
890
362d42dc
KV
8912014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
892
893 * calls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET
894 instead of SUBREG_PROMOTED_UNSIGNED_SET.
895 (expand_call): Likewise.
896 * cfgexpand.c (expand_gimple_stmt_1): Use SUBREG_PROMOTED_SIGN
897 to get promoted mode.
898 * combine.c (record_promoted_value): Skip > 0 comparison with
899 SUBREG_PROMOTED_UNSIGNED_P as it now returns only 0 or 1.
900 * expr.c (convert_move): Use SUBREG_CHECK_PROMOTED_SIGN instead
901 of SUBREG_PROMOTED_UNSIGNED_P.
902 (convert_modes): Likewise.
903 (store_expr): Use SUBREG_PROMOTED_SIGN to get promoted mode.
904 Use SUBREG_CHECK_PROMOTED_SIGN instead of SUBREG_PROMOTED_UNSIGNED_P.
905 (expand_expr_real_1): Use new SUBREG_PROMOTED_SET instead of
906 SUBREG_PROMOTED_UNSIGNED_SET.
907 * function.c (assign_parm_setup_reg): Use new SUBREG_PROMOTED_SET
908 instead of SUBREG_PROMOTED_UNSIGNED_SET.
909 * ifcvt.c (noce_emit_cmove): Updated to use SUBREG_PROMOTED_GET and
910 SUBREG_PROMOTED_SET.
911 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Use
912 SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET.
913 * optabs.c (widen_operand): Use SUBREG_CHECK_PROMOTED_SIGN instead
914 of SUBREG_PROMOTED_UNSIGNED_P.
915 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Remove.
916 (SUBREG_PROMOTED_SET): New define.
917 (SUBREG_PROMOTED_GET): Likewise.
918 (SUBREG_PROMOTED_SIGN): Likewise.
919 (SUBREG_PROMOTED_SIGNED_P): Likewise.
920 (SUBREG_CHECK_PROMOTED_SIGN): Likewise.
921 (SUBREG_PROMOTED_UNSIGNED_P): Updated.
922 * rtlanal.c (unsigned_reg_p): Use new SUBREG_PROMOTED_GET
923 instead of SUBREG_PROMOTED_UNSIGNED_GET.
924 (nonzero_bits1): Skip > 0 comparison with the results as
925 SUBREG_PROMOTED_UNSIGNED_P now returns only 0 or 1.
926 (num_sign_bit_copies1): Use SUBREG_PROMOTED_SIGNED_P instead
927 of !SUBREG_PROMOTED_UNSIGNED_P.
928 * simplify-rtx.c (simplify_unary_operation_1): Use new
929 SUBREG_PROMOTED_SIGNED_P instead of !SUBREG_PROMOTED_UNSIGNED_P.
930 (simplify_subreg): Use new SUBREG_PROMOTED_SIGNED_P,
931 SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_SET instead of
932 SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_UNSIGNED_SET.
933
7d0aa05b
JH
9342014-08-07 Jan Hubicka <hubicka@ucw.cz>
935
936 * ipa-devirt.c: Include gimple-pretty-print.h
937 (referenced_from_vtable_p): Exclude DECL_EXTERNAL from
938 further tests.
939 (decl_maybe_in_construction_p): Fix conditional on cdtor check
940 (get_polymorphic_call_info): Fix return value
941 (type_change_info): New sturcture based on ipa-prop
942 variant.
943 (noncall_stmt_may_be_vtbl_ptr_store): New predicate
944 based on ipa-prop variant.
945 (extr_type_from_vtbl_ptr_store): New function
946 based on ipa-prop variant.
947 (record_known_type): New function.
948 (check_stmt_for_type_change): New function.
949 (get_dynamic_type): New function.
950 * ipa-prop.c (ipa_analyze_call_uses): Use get_dynamic_type.
951 * tree-ssa-pre.c: ipa-utils.h
952 (eliminate_dom_walker::before_dom_children): Use ipa-devirt
953 machinery; sanity check with ipa-prop devirtualization.
954 * trans-mem.c (ipa_tm_insert_gettmclone_call): Clear
955 polymorphic flag.
956
9f25a338
TS
9572014-08-07 Trevor Saunders <tsaunders@mozilla.com>
958
959 * Makefile.in: Remove references to pointer-set.c and pointer-set.h.
960 * alias.c, cfgexpand.c, cgraphbuild.c,
961 config/aarch64/aarch64-builtins.c, config/aarch64/aarch64.c,
962 config/alpha/alpha.c, config/darwin.c, config/i386/i386.c,
963 config/i386/winnt.c, config/ia64/ia64.c, config/m32c/m32c.c,
964 config/mep/mep.c, config/mips/mips.c, config/rs6000/rs6000.c,
965 config/s390/s390.c, config/sh/sh.c, config/sparc/sparc.c,
966 config/spu/spu.c, config/stormy16/stormy16.c, config/tilegx/tilegx.c,
967 config/tilepro/tilepro.c, config/xtensa/xtensa.c, dominance.c,
968 dse.c, except.c, gengtype.c, gimple-expr.c,
969 gimple-ssa-strength-reduction.c, gimplify.c, ifcvt.c,
970 ipa-visibility.c, lto-streamer.h, omp-low.c, predict.c, stmt.c,
971 tree-affine.c, tree-cfg.c, tree-eh.c, tree-inline.c, tree-nested.c,
972 tree-scalar-evolution.c, tree-ssa-loop-im.c, tree-ssa-loop-niter.c,
973 tree-ssa-phiopt.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
974 tree-ssa.c, tree.c, var-tracking.c, varpool.c: Remove includes of
975 pointer-set.h.
976 * pointer-set.c: Remove file.
977 * pointer-set.h: Remove file.
978
16918afd
KT
9792014-08-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
980
981 * config/arm/arm.md (*cmov<mode>): Set type attribute to fcsel.
982 * config/arm/types.md (f_sels, f_seld): Delete.
983
a636bb40
KT
9842014-08-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
985
986 * config/aarch64/aarch64.md (absdi2): Set simd attribute.
987 (aarch64_reload_mov<mode>): Predicate on TARGET_FLOAT.
988 (aarch64_movdi_<mode>high): Likewise.
989 (aarch64_mov<mode>high_di): Likewise.
990 (aarch64_movdi_<mode>low): Likewise.
991 (aarch64_mov<mode>low_di): Likewise.
992 (aarch64_movtilow_tilow): Likewise.
993 Add comment explaining usage of fp,simd attributes and of
994 TARGET_FLOAT and TARGET_SIMD.
995
c747993a
IB
9962014-08-07 Ian Bolton <ian.bolton@arm.com>
997 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
998
999 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate):
1000 Use MOVN when one of the half-words is 0xffff.
1001
4da2eb98
MZ
10022014-08-07 Marat Zakirov <m.zakirov@samsung.com>
1003
1004 * config/arm/thumb1.md (*thumb1_movqi_insn): Copy of thumb1_movhi_insn.
1005
4bd12f3d
MK
10062014-08-07 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1007
1008 * haifa-sched.c (SCHED_SORT): Delete. Macro used exactly once.
1009 (enum rfs_decition:RFS_*): New constants wrapped in an enum.
1010 (rfs_str): String corresponding to RFS_* constants.
1011 (rank_for_schedule_stats_t): New typedef.
1012 (rank_for_schedule_stats): New static variable.
1013 (rfs_result): New static function.
1014 (rank_for_schedule): Track statistics for deciding heuristics.
1015 (rank_for_schedule_stats_diff, print_rank_for_schedule_stats): New
1016 static functions.
1017 (ready_sort): Use them for debug printouts.
1018 (schedule_block): Init statistics state. Print statistics on
1019 rank_for_schedule decisions.
1020
88366b18
MK
10212014-08-07 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1022
1023 * haifa-sched.c (rank_for_schedule): Fix INSN_TICK-based heuristics.
1024
9d04ba29
IT
10252014-08-07 Ilya Tocar <ilya.tocar@intel.com>
1026
1027 * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Fix
1028 constraint.
1029
39c8aaa4
TS
10302014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1031
1032 * hash-map.h (default_hashmap_traits): Adjust overloads of hash
1033 function to not conflict.
1034 * alias.c, cfgexpand.c, dse.c, except.h, gimple-expr.c,
1035 gimple-ssa-strength-reduction.c, gimple-ssa.h, ifcvt.c,
1036 lto-streamer-out.c, lto-streamer.h, tree-affine.c, tree-affine.h,
1037 tree-predcom.c, tree-scalar-evolution.c, tree-ssa-loop-im.c,
1038 tree-ssa-loop-niter.c, tree-ssa.c, value-prof.c: Use hash_map instead
1039 of pointer_map.
1040
044331a8
MP
10412014-08-07 Marek Polacek <polacek@redhat.com>
1042
6a6bdc3d 1043 * fold-const.c (fold_binary_loc): Add folding of
044331a8
MP
1044 (PTR0 - (PTR1 p+ A) -> (PTR0 - PTR1) - A.
1045
ce597aed
IE
10462013-08-07 Ilya Enkovich <ilya.enkovich@intel.com>
1047
1048 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use decl size
1049 instead of type size.
1050 (ASM_FINISH_DECLARE_OBJECT): Likewise.
1051
0a2938ae
MZ
10522014-08-07 Marat Zakirov <m.zakirov@samsung.com>
1053
1054 * config/arm/thumb1.md (*thumb1_movhi_insn): Handle stack pointer.
1055 (*thumb1_movqi_insn): Likewise.
1056 * config/arm/thumb2.md (*thumb2_movhi_insn): Likewise.
1057
87db77bb
TV
10582014-08-07 Tom de Vries <tom@codesourcery.com>
1059
1060 * doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
1061 (glibc_2_11_or_earlier): Remove effective-target keywords.
1062
8a17543b
KV
10632014-08-07 Kugan Vivekanandarajah <kuganv@linaro.org>
1064
1065 * config/arm/arm.c (bdesc_2arg): Fix typo.
1066 (arm_atomic_assign_expand_fenv): Remove The default implementation.
1067
b88fe5e9
ZC
10682014-08-07 Zhenqiang Chen <zhenqiang.chen@arm.com>
1069
1070 * tree-ssa-loop-ivopts.c (get_address_cost): Try aligned offset.
1071
f50d71ec
VM
10722014-08-06 Vladimir Makarov <vmakarov@redhat.com>
1073
1074 PR debug/61923
1075 * haifa-sched.c (advance_one_cycle): Fix dump.
1076 (schedule_block): Don't advance cycle if we are already at the
1077 beginning of the cycle.
1078
9d6171dc
MJ
10792014-08-06 Martin Jambor <mjambor@suse.cz>
1080
1081 PR ipa/61393
1082 * cgraphclones.c (cgraph_node::create_clone): Also copy tm_clone.
1083
b12c44e9
RB
10842014-08-06 Richard Biener <rguenther@suse.de>
1085
1086 PR lto/62034
1087 * lto-streamer-in.c (lto_input_tree_1): Assert we do not read
1088 SCCs here.
1089 (lto_input_tree): Pop SCCs here.
1090
abf30454
RB
10912014-08-06 Richard Biener <rguenther@suse.de>
1092
1093 PR tree-optimization/61320
1094 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Properly
1095 handle misaligned loads.
1096
f901401e
AL
10972014-08-06 Alan Lawrence <alan.lawrence@arm.com>
1098
1099 * config/aarch64/aarch64.c (aarch64_evpc_dup): Enable for bigendian.
1100 (aarch64_expand_vec_perm_const): Check for dup before zip.
1101
4aa81c2e
KT
11022014-08-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1103
1104 * config/aarch64/aarch64.c (aarch64_classify_address): Use REG_P and
1105 CONST_INT_P instead of GET_CODE and compare.
1106 (aarch64_select_cc_mode): Likewise.
1107 (aarch64_print_operand): Likewise.
1108 (aarch64_rtx_costs): Likewise.
1109 (aarch64_simd_valid_immediate): Likewise.
1110 (aarch64_simd_check_vect_par_cnst_half): Likewise.
1111 (aarch64_simd_emit_pair_result_insn): Likewise.
1112
17ef89b2
DM
11132014-08-05 David Malcolm <dmalcolm@redhat.com>
1114
1115 * gdbhooks.py (find_gcc_source_dir): New helper function.
1116 (class PassNames): New class, locating and parsing passes.def.
1117 (class BreakOnPass): New command "break-on-pass".
1118
6ef6945c
TS
11192014-08-05 Trevor Saunders <tsaunders@mozilla.com>
1120
1121 * tree-ssa.c (redirect_edge_var_map_dup): insert newe before
1122 getting olde.
1123
96b3c03f
RB
11242014-08-05 Richard Biener <rguenther@suse.de>
1125
1126 PR rtl-optimization/61672
1127 * emit-rtl.h (mem_attrs_eq_p): Declare.
1128 * emit-rtl.c (mem_attrs_eq_p): Export. Handle NULL mem-attrs.
1129 * cse.c (exp_equiv_p): Use mem_attrs_eq_p.
1130 * cfgcleanup.c (merge_memattrs): Likewise.
1131 Include emit-rtl.h.
1132
b8a5fbd2
KT
11332014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1134
1135 * config/aarch64/arm_neon.h (vqdmlals_lane_s32): Use scalar types
1136 rather than singleton vectors.
1137 (vqdmlsls_lane_s32): Likewise.
1138
d2937a2e
KT
11392014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1140
1141 * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_laneq<mode>):
1142 Use VSDQ_HSI mode iterator.
1143 (aarch64_sqrdmulh_laneq<mode>): Likewise.
1144 (aarch64_sq<r>dmulh_laneq<mode>_internal): New define_insn.
1145 * config/aarch64/aarch64-simd-builtins.def (sqdmulh_laneq):
1146 Use BUILTIN_VDQHS macro.
1147 (sqrdmulh_laneq): Likewise.
1148 * config/aarch64/arm_neon.h (vqdmlalh_laneq_s16): New intrinsic.
1149 (vqdmlals_laneq_s32): Likewise.
1150 (vqdmlslh_laneq_s16): Likewise.
1151 (vqdmlsls_laneq_s32): Likewise.
1152 (vqdmulhh_laneq_s16): Likewise.
1153 (vqdmulhs_laneq_s32): Likewise.
1154 (vqrdmulhh_laneq_s16): Likewise.
1155 (vqrdmulhs_laneq_s32): Likewise.
1156
ada5287e
KT
11572014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1158
1159 * config/aarch64/arm_neon.h (vmul_f64): New intrinsic.
1160 (vmuld_laneq_f64): Likewise.
1161 (vmuls_laneq_f32): Likewise.
1162 (vmul_n_f64): Likewise.
1163 (vmuld_lane_f64): Reimplement in C.
1164 (vmuls_lane_f32): Likewise.
1165
ad784b91
KT
11662014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1167
1168 * config/arm/cortex-a15.md (cortex_a15_alu_shift): Add crc type
1169 to reservation.
1170 * config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise.
1171
66224c7d
KT
11722014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1173
1174 * config/arm/arm.md (clzsi2): Set predicable_short_it attr to no.
1175 (rbitsi2): Likewise.
1176 (*arm_rev): Set predicable and predicable_short_it attributes.
1177
371e764d
KT
11782014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1179
1180 * convert.c (convert_to_integer): Guard transformation to lrint by
1181 -fno-math-errno.
1182
bc5e395d
JG
11832014-08-05 James Greenhalgh <james.greenhalgh@arm.com>
1184
1185 * config/aarch64/aarch64-builtins.c
1186 (aarch64_simd_builtin_type_mode): Delete.
1187 (v8qi_UP): Remap to V8QImode.
1188 (v4hi_UP): Remap to V4HImode.
1189 (v2si_UP): Remap to V2SImode.
1190 (v2sf_UP): Remap to V2SFmode.
1191 (v1df_UP): Remap to V1DFmode.
1192 (di_UP): Remap to DImode.
1193 (df_UP): Remap to DFmode.
1194 (v16qi_UP):V16QImode.
1195 (v8hi_UP): Remap to V8HImode.
1196 (v4si_UP): Remap to V4SImode.
1197 (v4sf_UP): Remap to V4SFmode.
1198 (v2di_UP): Remap to V2DImode.
1199 (v2df_UP): Remap to V2DFmode.
1200 (ti_UP): Remap to TImode.
1201 (ei_UP): Remap to EImode.
1202 (oi_UP): Remap to OImode.
1203 (ci_UP): Map to CImode.
1204 (xi_UP): Remap to XImode.
1205 (si_UP): Remap to SImode.
1206 (sf_UP): Remap to SFmode.
1207 (hi_UP): Remap to HImode.
1208 (qi_UP): Remap to QImode.
1209 (aarch64_simd_builtin_datum): Make mode a machine_mode.
1210 (VAR1): Build builtin name.
1211 (aarch64_init_simd_builtins): Remove dead code.
1212
6a12a004
RG
12132014-08-05 Roman Gareev <gareevroman@gmail.com>
1214
1215 * graphite-isl-ast-to-gimple.c:
1216 (set_options): New function.
1217 (scop_to_isl_ast): Add calling of set_options.
1218
8cab83f0
JJ
12192014-08-05 Jakub Jelinek <jakub@redhat.com>
1220
1221 * loop-unroll.c (struct iv_to_split): Remove n_loc and loc fields.
1222 (analyze_iv_to_split_insn): Don't initialize them.
1223 (get_ivts_expr): Removed.
1224 (allocate_basic_variable, insert_base_initialization): Use
1225 SET_SRC instead of *get_ivts_expr.
1226 (split_iv): Use &SET_SRC instead of get_ivts_expr.
1227
574921c2
RG
12282014-08-05 Roman Gareev <gareevroman@gmail.com>
1229
1230 * graphite-isl-ast-to-gimple.c: Add a new struct ast_build_info.
6a6bdc3d 1231 (translate_isl_ast_for_loop): Add checking of the
574921c2
RG
1232 flag_loop_parallelize_all.
1233 (ast_build_before_for): New function.
6a6bdc3d 1234 (scop_to_isl_ast): Add checking of the
574921c2
RG
1235 flag_loop_parallelize_all.
1236 * graphite-dependences.c: Move the defenition of the
1237 scop_get_dependences from graphite-optimize-isl.c to this file.
1238 (apply_schedule_on_deps): Add checking of the ux's emptiness.
1239 (carries_deps): Add checking of the x's value.
1240 * graphite-optimize-isl.c: Move the defenition of the
1241 scop_get_dependences to graphite-dependences.c.
1242 * graphite-poly.h: Add declarations of scop_get_dependences
1243 and carries_deps.
1244
23742a9e
RAR
12452014-08-04 Rohit <rohitarulraj@freescale.com>
1246
1247 PR target/60102
8cab83f0
JJ
1248 * config/rs6000/rs6000.c (rs6000_reg_names): Add SPE high register
1249 names.
1250 (alt_reg_names): Likewise.
1251 (rs6000_dwarf_register_span): For SPE high registers, replace
1252 dwarf register numbers with GCC hard register numbers.
1253 (rs6000_init_dwarf_reg_sizes_extra): Likewise.
1254 (rs6000_dbx_register_number): For SPE high registers, return dwarf
1255 register number for the corresponding GCC hard register number.
1256 * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Update based on 32
1257 newly added GCC hard register numbers for SPE high registers.
1258 (DWARF_FRAME_REGISTERS): Likewise.
1259 (DWARF_REG_TO_UNWIND_COLUMN): Likewise.
1260 (DWARF_FRAME_REGNUM): Likewise.
1261 (FIXED_REGISTERS): Likewise.
1262 (CALL_USED_REGISTERS): Likewise.
1263 (CALL_REALLY_USED_REGISTERS): Likewise.
1264 (REG_ALLOC_ORDER): Likewise.
1265 (enum reg_class): Likewise.
1266 (REG_CLASS_NAMES): Likewise.
1267 (REG_CLASS_CONTENTS): Likewise.
1268 (SPE_HIGH_REGNO_P): New macro to identify SPE high registers.
23742a9e 1269
3daa26d0
RB
12702014-08-04 Richard Biener <rguenther@suse.de>
1271
1272 * gimple-fold.h (gimple_fold_builtin): Remove.
1273 * gimple-fold.c (gimple_fold_builtin): Make static.
1274 * tree-ssa-ccp.c (pass_fold_builtins::execute): Use
1275 fold_stmt, not gimple_fold_builtin.
1276
31acf1bb
ML
12772014-08-04 Martin Liska <mliska@suse.cz>
1278
1279 * cgraph.h (csi_end_p): Removed.
1280 (csi_next): Likewise.
1281 (csi_node): Likewise.
1282 (csi_start): Likewise.
1283 (cgraph_node_in_set_p): Likewise.
1284 (cgraph_node_set_size): Likewise.
1285 (vsi_end_p): Likewise.
1286 (vsi_next): Likewise.
1287 (vsi_node): Likewise.
1288 (vsi_start): Likewise.
1289 (varpool_node_set_size): Likewise.
1290 (cgraph_node_set_nonempty_p): Likewise.
1291 (varpool_node_set_nonempty_p): Likewise.
1292 * cgraphunit.c (cgraph_process_new_functions): vec replaces
1293 cgraph_node_set.
1294 * ipa-inline-transform.c: Likewise.
1295 * ipa-utils.c (cgraph_node_set_new): Removed.
1296 (cgraph_node_set_add): Likewise.
1297 (cgraph_node_set_remove): Likewise.
1298 (cgraph_node_set_find): Likewise.
1299 (dump_cgraph_node_set): Likewise.
1300 (debug_cgraph_node_set): Likewise.
1301 (free_cgraph_node_set): Likewise.
1302 (varpool_node_set_new): Likewise.
1303 (varpool_node_set_add): Likewise.
1304 (varpool_node_set_remove): Likewise.
1305 (varpool_node_set_find): Likewise.
1306 (dump_varpool_node_set): Likewise.
1307 (free_varpool_node_set): Likewise.
1308 (debug_varpool_node_set): Likewise.
1309 * tree-emutls.c (struct tls_var_data):
1310 (emutls_index): Removed.
1311 (emutls_decl): Likewise.
1312 (gen_emutls_addr): Function implementation uses newly added
1313 hash_map<varpool_node *, tls_var_data>.
1314 (clear_access_vars): Likewise.
1315 (create_emultls_var): Likewise.
1316 (ipa_lower_emutls): Likewise.
1317 (reset_access): New function.
1318
890e5864
GG
13192014-08-04 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
1320
1321 * config/i386/i386.c (ix86_option_override_internal): Add
1322 PTA_RDRND and PTA_MOVBE for bdver4.
1323
e7a45277
KT
13242014-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1325 James Greenhalgh <james.greenhalgh@arm.com>
1326
1327 * doc/md.texi (clrsb): Document.
1328 (clz): Change reference to x into operand 1.
1329 (ctz): Likewise.
1330 (popcount): Likewise.
1331
0d03cda4
KT
13322014-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1333
1334 PR target/61713
1335 * gcc/optabs.c (expand_atomic_test_and_set): Do not try to emit
1336 move to subtarget in serial version if result is ignored.
1337
97334291 13382014-08-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
dc549f34
RR
1339 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1340
1341 * sched-deps.c (try_group_insn): Generalise macro fusion hook usage
1342 to any two insns. Update comment. Rename to sched_macro_fuse_insns.
1343 (sched_analyze_insn): Update use of try_group_insn to
1344 sched_macro_fuse_insns.
1345 * config/i386/i386.c (ix86_macro_fusion_pair_p): Reject 2nd
1346 arguments that are not conditional jumps.
1347
d478ac59
GG
13482014-08-04 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
1349
1350 * config/i386/driver-i386.c (host_detect_local_cpu): Handle AMD's extended
1351 family information. Handle BTVER2 cpu with cpuid family value.
1352
b085b0e9
TV
13532014-08-04 Tom de Vries <tom@codesourcery.com>
1354
1355 * doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
1356 (glibc_2_11_or_earlier): Document effective-target keywords.
1357
9716cc3e
JH
13582014-08-01 Jan Hubicka <hubicka@ucw.cz>
1359
1360 * ipa-devirt.c (odr_type_warn_count): Add type.
1361 (possible_polymorphic_call_targets): Set it.
1362 (ipa_devirt): Use it.
1363
91bc34a9
JH
13642014-08-01 Jan Hubicka <hubicka@ucw.cz>
1365
6a6bdc3d
PC
1366 * doc/invoke.texi (Wsuggest-final-types, Wsuggest-final-methods):
1367 Document.
91bc34a9
JH
1368 * ipa-devirt.c: Include hash-map.h
1369 (struct polymorphic_call_target_d): Add type_warning and decl_warning.
1370 (clear_speculation): Break out of ...
1371 (get_class_context): ... here; speed up handling obviously useless
1372 speculations.
1373 (odr_type_warn_count, decl_warn_count): New structures.
1374 (final_warning_record): New structure.
1375 (final_warning_records): New static variable.
6a6bdc3d
PC
1376 (possible_polymorphic_call_targets): Cleanup handling of
1377 speculative info; do not build speculation when user do not care;
1378 record info about warnings when asked for.
91bc34a9
JH
1379 (add_decl_warning): New function.
1380 (type_warning_cmp): New function.
1381 (decl_warning_cmp): New function.
1382 (ipa_devirt): Handle -Wsuggest-final-methods and -Wsuggest-final-types.
1383 (gate): Enable pass when warnings are requested.
6a6bdc3d
PC
1384 * common.opt (Wsuggest-final-types, Wsuggest-final-methods): New
1385 options.
91bc34a9 1386
b787e7a2
TS
13872014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1388
1389 * hash-map.h (default_hashmap_traits::mark_key_deleted):
1390 Fix cast.
1391 (hash_map::remove): New method.
9716cc3e 1392 (hash_map::traverse): New method.
b787e7a2
TS
1393 * cgraph.h, except.c, except.h, gimple-ssa-strength-reduction.c,
1394 ipa-utils.c, lto-cgraph.c, lto-streamer.h, omp-low.c, predict.c,
1395 tree-cfg.c, tree-cfgcleanup.c, tree-eh.c, tree-eh.h, tree-inline.c,
1396 tree-inline.h, tree-nested.c, tree-sra.c, tree-ssa-loop-im.c,
1397 tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-structalias.c,
1398 tree-ssa.c, tree-ssa.h, var-tracking.c: Use hash_map instead of
9716cc3e 1399 pointer_map.
b787e7a2 1400
6e2830c3
TS
14012014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1402
1403 * hash-set.h: new File.
1404 * cfgexpand.c, cfgloop.c, cgraph.c, cgraphbuild.c, cgraphunit.c,
1405 cprop.c, cse.c, gimple-walk.c, gimple-walk.h, gimplify.c, godump.c,
1406 ipa-devirt.c, ipa-pure-const.c, ipa-visibility.c, ipa.c, lto-cgraph.c,
1407 lto-streamer-out.c, stmt.c, tree-cfg.c, tree-core.h, tree-eh.c,
1408 tree-inline.c, tree-inline.h, tree-nested.c, tree-pretty-print.c,
1409 tree-ssa-loop-niter.c, tree-ssa-phiopt.c, tree-ssa-threadedge.c,
1410 tree-ssa-uninit.c, tree.c, tree.h, value-prof.c, varasm.c,
1411 varpool.c: Use hash_set instead of pointer_set.
1412
66368374
AL
14132014-08-01 Alan Lawrence <alan.lawrence@arm.com>
1414
1415 * config/aarch64/aarch64-simd-builtins.def (dup_lane, get_lane): Delete.
1416
15c0c5c9
JW
14172014-08-01 Jiong Wang <jiong.wang@arm.com>
1418
1419 * config/aarch64/aarch64.c (aarch64_classify_address): Accept all offset
1420 for frame access when strict_p is false.
1421
44707478
JW
14222014-08-01 Renlin Li <renlin.li@arm.com>
14232014-08-01 Jiong Wang <jiong.wang@arm.com>
1424
1425 * config/aarch64/aarch64.c (offset_7bit_signed_scaled_p): Rename to
1426 aarch64_offset_7bit_signed_scaled_p, remove static and use it.
1427 * config/aarch64/aarch64-protos.h (aarch64_offset_7bit_signed_scaled_p):
1428 Declaration.
1429 * config/aarch64/predicates.md (aarch64_mem_pair_offset): Define new
1430 predicate.
1431 * config/aarch64/aarch64.md (loadwb_pair, storewb_pair): Use
1432 aarch64_mem_pair_offset.
1433
e244d1e6
JW
14342014-08-01 Jiong Wang <jiong.wang@arm.com>
1435
1436 * config/aarch64/aarch64.md (loadwb_pair<GPI:mode>_<P:mode>): Fix
1437 offset.
1438 (loadwb_pair<GPI:mode>_<P:mode>): Likewise.
1439 * config/aarch64/aarch64.c (aarch64_gen_loadwb_pair): Likewise.
1440
fb01ed38
MF
14412014-08-01 Matthew Fortune <matthew.fortune@imgtec.com>
1442
1443 * config/mips/mips.h (REGISTER_PREFIX): Define macro.
1444
c84495c0
JG
14452014-08-01 James Greenhalgh <james.greenhalgh@arm.com>
1446
1447 PR regression/61510
1448 * cgraphunit.c (analyze_functions): Use get_create rather than get
1449 for decls which are clones of abstract functions.
1450
fd29c024
ML
14512014-08-01 Martin Liska <mliska@suse.cz>
1452
1453 * gimple-iterator.h (gsi_next_nonvirtual_phi): New function.
1454 * ipa-prop.h (count_formal_params): Global function created from static.
1455 * ipa-prop.c (count_formal_params): Likewise.
1456 * ipa-utils.c (ipa_merge_profiles): Be more tolerant if we merge
1457 profiles for semantically equivalent functions.
1458 * passes.c (do_per_function): If we load body of a function
1459 during WPA, this condition should behave same.
1460 * varpool.c (ctor_for_folding): More tolerant assert for variable
1461 aliases created during WPA.
1462
bab9b7cb
ML
14632014-08-01 Martin Liska <mliska@suse.cz>
1464
1465 * doc/invoke.texi (Options That Control Optimization): Documentation
1466 for -foptimize-strlen introduced. Optimization levels default options
1467 fixed.
1468
944fa280
JJ
14692014-08-01 Jakub Jelinek <jakub@redhat.com>
1470
1471 * opts.c (common_handle_option): Handle -fsanitize=alignment.
1472 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_CTOR_CALL.
1473 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn): Change return
1474 type to bool.
1475 * stor-layout.h (min_align_of_type): New prototype.
1476 * asan.c (pass_sanopt::execute): Don't perform gsi_next if
1477 ubsan_expand* told us not to do it. Remove the extra gsi_end_p
1478 check.
1479 * ubsan.c: Include builtins.h.
1480 (ubsan_expand_bounds_ifn): Change return type to bool,
1481 always return true.
1482 (ubsan_expand_null_ifn): Change return type to bool, change
1483 argument to gimple_stmt_iterator *. Handle both null and alignment
1484 sanitization, take type from ckind argument's type rather than
1485 first argument.
1486 (instrument_member_call): Removed.
1487 (instrument_mem_ref): Remove t argument, add mem and base arguments.
1488 Handle both null and alignment sanitization, don't say whole
1489 struct access is member access. Build 3 argument IFN_UBSAN_NULL
1490 call instead of 2 argument.
1491 (instrument_null): Adjust instrument_mem_ref caller. Don't
1492 instrument calls here.
1493 (pass_ubsan::gate, pass_ubsan::execute): Handle SANITIZE_ALIGNMENT
1494 like SANITIZE_NULL.
1495 * stor-layout.c (min_align_of_type): New function.
1496 * flag-types.h (enum sanitize_code): Add SANITIZE_ALIGNMENT.
1497 Or it into SANITIZE_UNDEFINED.
1498 * doc/invoke.texi (-fsanitize=alignment): Document.
1499
bb7e83fc
AK
15002014-07-31 Andi Kleen <ak@linux.intel.com>
1501
1502 * tree-ssa-tail-merge.c (same_succ_hash): Convert to inchash.
1503
4e44a6e8
AK
15042014-07-31 Andi Kleen <ak@linux.intel.com>
1505
1506 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Convert to
1507 inchash.
1508 (vn_reference_compute_hash): Dito.
1509 (vn_nary_op_compute_hash): Dito.
1510 (vn_phi_compute_hash): Dito.
1511 * tree-ssa-sccvn.h (vn_hash_constant_with_type): Dito.
1512
2bc10537
AK
15132014-07-31 Andi Kleen <ak@linux.intel.com>
1514
1515 * tree-ssa-dom.c (iterative_hash_exprs_commutative):
1516 Rename to inchash:add_expr_commutative. Convert to inchash.
1517 (iterative_hash_hashable_expr): Rename to
1518 inchash:add_hashable_expr. Convert to inchash.
1519 (avail_expr_hash): Dito.
1520
d313d45f
AK
15212014-07-31 Andi Kleen <ak@linux.intel.com>
1522
1523 * ipa-devirt.c (polymorphic_call_target_hasher::hash):
1524 Convert to inchash.
1525
1a4d8851
AK
15262014-07-31 Andi Kleen <ak@linux.intel.com>
1527
1528 * asan.c (asan_mem_ref_hasher::hash): Convert to inchash.
1529
f768061c
AK
15302014-07-31 Andi Kleen <ak@linux.intel.com>
1531
1532 * Makefile.in (OBJS): Add rtlhash.o
1533 * dwarf2out.c (addr_table_entry_do_hash): Convert to inchash.
1534 (loc_checksum): Dito.
1535 (loc_checksum_ordered): Dito.
1536 (hash_loc_operands): Dito.
1537 (hash_locs): Dito.
1538 (hash_loc_list): Dito.
1539 * rtl.c (iterative_hash_rtx): Moved to rtlhash.c
1540 * rtl.h (iterative_hash_rtx): Moved to rtlhash.h
1541 * rtlhash.c: New file.
1542 * rtlhash.h: New file.
1543
50de5793
AK
15442014-07-31 Andi Kleen <ak@linux.intel.com>
1545
1546 * inchash.h (inchash): Change inchash class to namespace.
1547 (class hash): ... Rename from inchash.
1548 (add_object): Move from macro to class template.
1549 * lto-streamer-out.c (hash_tree): Change inchash
1550 to inchash::hash.
1551 * tree.c (build_type_attribute_qual_variant): Dito.
1552 (type_hash_list): Dito.
1553 (attribute_hash_list): Dito.
1554 (iterative_hstate_expr): Rename to inchash::add_expr
1555 (build_range_type_1): Change inchash to inchash::hash
1556 and use hash::add_expr.
1557 (build_array_type_1): Dito.
1558 (build_function_type): Dito
1559 (build_method_type_directly): Dito.
1560 (build_offset_type): Dito.
1561 (build_complex_type): Dito.
1562 (make_vector_type): Dito.
1563 * tree.h (iterative_hash_expr): Dito.
1564
e3cb8f05
CG
15652014-07-31 Chen Gang <gang.chen.5i5j@gmail.com>
1566
1567 * gcc.c (do_spec_1): Allocate enough space for saved_suffix.
1568
9052a1e3
JG
15692014-07-31 James Greenhalgh <james.greenhalgh@arm.com>
1570
1571 * config/aarch64/arm_neon.h (vpadd_<suf><8,16,32,64>): Move to
1572 correct alphabetical position.
1573 (vpaddd_f64): Rewrite using builtins.
1574 (vpaddd_s64): Move to correct alphabetical position.
1575 (vpaddd_u64): New.
1576
79a1fe43
OE
15772014-07-31 Oleg Endo <olegendo@gcc.gnu.org>
1578
1579 PR target/61844
1580 * config/sh/sh.c (sh_legitimate_address_p,
1581 sh_legitimize_reload_address): Handle reg+reg address modes when
1582 ALLOW_INDEXED_ADDRESS is false.
1583 * config/sh/predicates.md (general_movsrc_operand,
1584 general_movdst_operand): Likewise.
1585
22756ccf
JG
15862014-07-31 James Greenhalgh <james.greenhalgh@arm.com>
1587
1588 * config/aarch64/aarch64-builtins.c
1589 (aarch64_gimple_fold_builtin): Don't fold reduction operations for
1590 BYTES_BIG_ENDIAN.
1591
988fa693
JG
15922014-07-31 James Greenhalgh <james.greenhalgh@arm.com>
1593
1594 * config/aarch64/aarch64.c (aarch64_simd_vect_par_cnst_half): Vary
1595 the generated mask based on BYTES_BIG_ENDIAN.
1596 (aarch64_simd_check_vect_par_cnst_half): New.
1597 * config/aarch64/aarch64-protos.h
1598 (aarch64_simd_check_vect_par_cnst_half): New.
1599 * config/aarch64/predicates.md (vect_par_cnst_hi_half): Refactor
1600 the check out to aarch64_simd_check_vect_par_cnst_half.
1601 (vect_par_cnst_lo_half): Likewise.
1602 * config/aarch64/aarch64-simd.md
1603 (aarch64_simd_move_hi_quad_<mode>): Always use vec_par_cnst_lo_half.
1604 (move_hi_quad_<mode>): Always generate a low mask.
1605
08938c89
SKS
16062014-07-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1607
1608 * doc/invoke.texi (AVR Options): Add documentation about
1609 __AVR_DEVICE_NAME__ built-in macro.
1610
3290f5e7
CB
16112014-07-31 Charles Baylis <charles.baylis@linaro.org>
1612
1613 PR target/61948
1614 * config/arm/neon.md (ashldi3_neon): Don't emit arm_ashldi3_1bit unless
1615 constraints are satisfied.
1616 (<shift>di3_neon): Likewise.
1617
030e321a
RB
16182014-07-31 Richard Biener <rguenther@suse.de>
1619
1620 PR tree-optimization/61964
1621 * tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely
1622 by structural equality.
1623
fec4842d
YG
16242014-07-31 Yury Gribov <y.gribov@samsung.com>
1625
1626 * doc/cpp.texi (__SANITIZE_ADDRESS__): Updated description.
1627 * doc/invoke.texi (-fsanitize=kernel-address): Describe new option.
1628 * flag-types.h (SANITIZE_USER_ADDRESS, SANITIZE_KERNEL_ADDRESS):
1629 New enums.
1630 * gcc.c (sanitize_spec_function): Support new option.
1631 (SANITIZER_SPEC): Remove now redundant check.
1632 * opts.c (common_handle_option): Support new option.
1633 (finish_options): Check for incompatibilities.
1634 * toplev.c (process_options): Split userspace-specific checks.
1635
936ddf92
RB
16362014-07-31 Richard Biener <rguenther@suse.de>
1637
1638 * lto-streamer.h (struct output_block): Remove global.
1639 (struct data_in): Remove labels, num_named_labels and
1640 num_unnamed_labels.
1641 * lto-streamer-in.c (lto_data_in_delete): Do not free labels.
1642 * lto-streamer-out.c (produce_asm_for_decls): Do not set global.
1643
b4dfdc11
MG
16442014-07-31 Marc Glisse <marc.glisse@inria.fr>
1645
1646 PR c++/60517
1647 * common.opt (-Wreturn-local-addr): Moved from c.opt.
1648 * gimple-ssa-isolate-paths.c: Include diagnostic-core.h and intl.h.
1649 (isolate_path): New argument to avoid inserting a trap.
1650 (find_implicit_erroneous_behaviour): Handle returning the address
1651 of a local variable.
1652 (find_explicit_erroneous_behaviour): Likewise.
1653
a7935284
BM
16542014-07-31 Bingfeng Mei <bmei@broadcom.com>
1655
1656 PR lto/61868
1657 * toplev.c (init_random_seed): Move piece of code never called to
1658 set_random_seed.
1659 (set_random_seed): see above.
1660
3e455386
TV
16612014-07-31 Tom de Vries <tom@codesourcery.com>
1662
1663 * tree-ssa-loop.c (pass_tree_loop_init::execute): Remove dead code.
1664
f33a8d10
RS
16652014-07-31 Richard Sandiford <rdsandiford@googlemail.com>
1666
1667 * ira.c (insn_contains_asm_1, insn_contains_asm): Delete.
1668 (compute_regs_asm_clobbered): Use extract_asm_operands instead.
1669
bfa2ebe3
RB
16702014-07-31 Richard Biener <rguenther@suse.de>
1671
1672 * data-streamer.h (streamer_write_data_stream): Declare here,
1673 renamed from ...
1674 * lto-streamer.h (lto_output_data_stream): ... this. Remove.
1675 * lto-cgraph.c (lto_output_node): Adjust.
1676 (lto_output_varpool_node): Likewise.
1677 * data-streamer-out.c (streamer_string_index): Likewise.
1678 (streamer_write_data_stream, lto_append_block): Move from ...
1679 * lto-section-out.c (lto_output_data_stream,
1680 lto_append_block): ... here.
1681
b6d94045
MS
16822014-07-30 Mike Stump <mikestump@comcast.net>
1683
1684 * configure.ac: Also check for popen.
1685 * tree-loop-distribution.c (dot_rdg): Autoconfize popen use.
1686 * configure: Regenerate.
1687 * config.in: Regenerate.
1688
ea3e455a
MJ
16892014-07-30 Martin Jambor <mjambor@suse.cz>
1690
1691 * tree-sra.c (sra_ipa_modify_assign): Change type of the first
1692 parameter to gimple.
1693
87cb0c0c
UW
16942014-07-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1695
1696 * config/s390/s390.c (s390_emit_tpf_eh_return): Pass original return
1697 address as second parameter to __tpf_eh_return routine.
1698
e58d3b41
JW
16992014-07-30 Jiong Wang <jiong.wang@arm.com>
1700
1701 * config/arm/arm.c (arm_get_frame_offsets): Adjust condition for
1702 Thumb2.
1703
976d5a22
TT
17042014-07-30 Tom Tromey <tromey@redhat.com>
1705
1706 PR c/59855
1707 * doc/invoke.texi (Warning Options): Document -Wdesignated-init.
1708 * doc/extend.texi (Type Attributes): Document designated_init
1709 attribute.
1710
6a7d8936
RG
17112014-07-30 Roman Gareev <gareevroman@gmail.com>
1712
1713 * graphite-isl-ast-to-gimple.c:
1714 (gcc_expression_from_isl_ast_expr_id): Add calling of fold_convert.
1715 (gcc_expression_from_isl_expression): Pass type to
1716 gcc_expression_from_isl_ast_expr_id.
1717
f6bcdb5e
RB
17182014-07-30 Richard Biener <rguenther@suse.de>
1719
1720 * lto-streamer.h (lto_write_data): New function.
1721 * langhooks.c (lhd_append_data): Do not free block.
1722 * lto-section-out.c (lto_write_data): New function writing
1723 raw data to the current section.
1724 (lto_write_stream): Adjust for langhook semantic change.
1725 (lto_destroy_simple_output_block): Write header directly.
1726 * lto-opts.c (lto_write_options): Write options directly.
1727 * lto-streamer-out.c (produce_asm): Write heaeder directly.
1728 (lto_output_toplevel_asms): Likewise.
1729 (copy_function_or_variable): Copy data directly.
1730 (write_global_references): Output index table directly.
1731 (lto_output_decl_state_refs): Likewise.
1732 (write_symbol): Write data directly.
1733 (produce_symtab): Adjust.
1734 (produce_asm_for_decls): Output header and refs directly.
1735
a0fd3373
JH
17362014-07-29 Jan Hubicka <hubicka@ucw.cz>
1737
a0fd3373
JH
1738 * ipa-devirt.c (polymorphic_call_target_d): Rename nonconstruction_targets
1739 to speculative_targets
1740 (get_class_context): Fix handling of contextes without outer type;
1741 avoid matching non-polymorphic types in LTO.
1742 (possible_polymorphic_call_targets): Trun nonconstruction_targetsp
1743 parameter to speculative_targetsp; handle speculation.
1744 (dump_possible_polymorphic_call_targets): Update dumping.
1745
17462014-07-29 Jan Hubicka <hubicka@ucw.cz>
1747
1748 * common.opt (Wodr): Enable by default.
1749
212c47b4
OH
17502014-07-29 Olivier Hainque <hainque@adacore.com>
1751
1752 * config/vxworksae.h (VXWORKS_OVERRIDE_OPTIONS): Define.
1753
20e3f942
L
17542014-07-29 H.J. Lu <hongjiu.lu@intel.com>
1755
1756 PR bootstrap/61914
1757 * gengtype.c (strtoken): New function.
1758 (create_user_defined_type): Replace strtok with strtoken.
1759
19926161
NS
17602014-07-29 Nathan Sidwell <nathan@acm.org>
1761
1762 * gcov-io.c (gcov_var): Make hidden.
1763 * gcov-tool.c (gcov_list, gcov_exit): Remove declarations.
1764 (gcov_do_dump): Declare.
1765 (gcov_output_files): Call gcov_do_dump, not gcov_exit).
1766
56386ab9
MJ
17672014-07-29 Martin Jambor <mjambor@suse.cz>
1768
1769 * tree-sra.c (sra_modify_constructor_assign): Change type of stmt
1770 parameter to gimple.
1771 (sra_modify_assign): Likewise.
1772
e05531ef
RB
17732014-07-29 Richard Biener <rguenther@suse.de>
1774
1775 PR middle-end/52478
1776 * expr.c (expand_expr_real_2): Revert last change.
1777
3339f0bc
JH
17782014-07-28 Jan Hubicka <hubicka@ucw.cz>
1779
1780 * cgraph.c (cgraph_node::create_indirect_edge): Copy speculative data.
1781 * cgraph.h (cgraph_indirect_call_info): Add speculative data.
1782 * gimple-fold.c (fold_gimple_assign): Fix check for virtual
1783 call.
1784 * ipa-devirt.c (ipa_dummy_polymorphic_call_context): Update
1785 (contains_type_p): Forward declare.
1786 (polymorphic_call_target_hasher::hash): Hash speculative info.
1787 (polymorphic_call_target_hasher::equal): Compare speculative info.
1788 (get_class_context): Handle speuclation.
1789 (contains_type_p): Update.
1790 (get_polymorphic_call_info_for_decl): Update.
1791 (walk_ssa_copies): Break out from ...
1792 (get_polymorphic_call_info): ... here; set speculative context
1793 before giving up.
19926161
NS
1794 * ipa-prop.c (ipa_write_indirect_edge_info,
1795 ipa_read_indirect_edge_info): Stream speculative context.
3339f0bc
JH
1796 * ipa-utils.h (ipa_polymorphic_call_context): Add speculative info
1797 (SPECULATIVE_OFFSET, SPECULATIVE_OUTER_TYPE,
1798 SPECULATIVE_MAYBE_DERIVED_TYPE).
1799 (possible_polymorphic_call_targets overriders): Update.
1800 (dump_possible_polymorphic_call_targets overriders): Update.
1801 (dump_possible_polymorphic_call_target_p overriders): Update.
1802
f8a39967
JH
18032014-07-28 Jan Hubicka <hubicka@ucw.cz>
1804
1805 * gimple-fold.c (fold_gimple_assign): Fix condition guarding
1806 ipa-devirt path; fix thinko there.
1807
7c0b8ccd
TS
18082014-07-28 Trevor Saunders <tsaunders@mozilla.com>
1809
19926161 1810 * config/i386/i386.c (ix86_return_in_memory): Replace one
7c0b8ccd
TS
1811 ATTRIBUTE_UNUSED where the attribute can actually sometimes be unused.
1812
5c31cbf0
MP
18132014-07-28 Marek Polacek <polacek@redhat.com>
1814
1815 * doc/invoke.texi (-Wno-odr): Fix @item entry. Tweak wording.
1816
f0c5fd44
PB
18172014-07-28 Peter Bergner <bergner@vnet.ibm.com>
1818
1819 * config.gcc (powerpc*-*-linux*): Include gnu-user.h in tm_file.
b424bcb1 1820 * config/rs6000/sysv4.h (CC1_SPEC): Undefine it before defining it.
f0c5fd44
PB
1821 * config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): Delete define.
1822 (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
1823 (USE_LD_AS_NEEDED): Likewise.
1824 (ASM_APP_ON): Likewise.
1825 (ASM_APP_OFF): Likewise.
1826 (TARGET_POSIX_IO): Likewise.
1827 * config/rs6000/linux64.h (CPLUSPLUS_CPP_SPEC): Likewise.
1828 (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
1829 (USE_LD_AS_NEEDED): Likewise.
1830 (ASM_APP_ON): Likewise.
1831 (ASM_APP_OFF): Likewise.
1832 (TARGET_POSIX_IO): Likewise.
1833
32b436c0
EB
18342014-07-28 Eric Botcazou <ebotcazou@adacore.com>
1835
1836 PR middle-end/61734
1837 * fold-const.c (fold_comparison): Disable X - Y CMP 0 to X CMP Y for
1838 operators other than the equality operators.
1839
2637bd27
RB
18402014-07-28 Richard Biener <rguenther@suse.de>
1841
1842 PR middle-end/52478
1843 * optabs.c (gen_int_libfunc): For -ftrapv libfuncs make
1844 sure to register SImode ones, not only >= word_mode ones.
1845 * expr.c (expand_expr_real_2): When expanding -ftrapv
1846 binops do not use OPTAB_LIB_WIDEN.
1847
02b278a8
RS
18482014-07-28 Richard Sandiford <rdsandiford@googlemail.com>
1849
1850 PR middle-end/61919
1851 * tree-outof-ssa.c (insert_partition_copy_on_edge)
1852 (insert_value_copy_on_edge, insert_rtx_to_part_on_edge)
1853 (insert_part_to_rtx_on_edge): Copy partition_to_pseudo rtxes before
1854 inserting them in the insn stream.
1855
55c0d5df
MP
18562014-07-28 Marek Polacek <polacek@redhat.com>
1857
1858 PR middle-end/61913
1859 * common.opt (Wodr): Add Var.
1860
cfe2053d
RB
18612014-07-28 Richard Biener <rguenther@suse.de>
1862
1863 PR tree-optimization/61921
1864 * tree-ssa-structalias.c (create_variable_info_for_1): Check
1865 if there is a varpool node before dereferencing it.
1866
d50cc61a
RG
18672014-07-28 Roman Gareev <gareevroman@gmail.com>
1868
1869 * graphite-sese-to-poly.c:
1870 (new_pbb_from_pbb): Set a new id of pbb1->domain (instead of using the
1871 id of the pbb), which contains pointer to the pbb1.
1872
1873 * gcc.dg/graphite/isl-ast-gen-if-2.c: New testcase.
1874
333cc518
RG
18752014-07-28 Roman Gareev <gareevroman@gmail.com>
1876
1877 * graphite-isl-ast-to-gimple.c:
1878 (graphite_create_new_guard): New function.
1879 (translate_isl_ast_node_if): New function.
1880 (translate_isl_ast): Add calling of translate_isl_ast_node_if.
1881
1882 * gcc.dg/graphite/isl-ast-gen-if-1.c: New testcase.
1883
17522262
AG
18842014-07-27 Anthony Green <green@moxielogic.com>
1885
1886 * config.gcc: Add moxie-*-moxiebox* configuration.
1887 * config/moxie/moxiebox.h: New file.
1888
98fa5ef3
AP
18892014-07-26 Andrew Pinski <apinski@cavium.com>
1890
1891 * config/aarch64/aarch64.md (*extr_insv_lower_reg<mode>): Remove +
1892 from the read only register.
1893
2da068d5
RS
18942014-07-26 Richard Sandiford <rdsandiford@googlemail.com>
1895
1896 * ira-costs.c (find_costs_and_classes): For -O0, use the best class
1897 as the allocation class if it isn't likely to be spilled.
1898
093a6c99
RS
18992014-07-26 Richard Sandiford <rdsandiford@googlemail.com>
1900
1901 * rtl.h (tls_referenced_p): Declare.
1902 * rtlanal.c (tls_referenced_p_1, tls_referenced_p): New functions.
1903 * config/mips/mips.c (mips_tls_symbol_ref_1): Delete.
1904 (mips_cannot_force_const_mem): Use tls_referenced_p.
1905 * config/pa/pa-protos.h (pa_tls_referenced_p): Delete.
1906 * config/pa/pa.h (CONSTANT_ADDRESS_P): Use tls_referenced_p
1907 instead of pa_tls_referenced_p.
1908 * config/pa/pa.c (hppa_legitimize_address, pa_cannot_force_const_mem)
1909 (pa_emit_move_sequence, pa_emit_move_sequence): Likewise.
1910 (pa_legitimate_constant_p): Likewise.
1911 (pa_tls_symbol_ref_1, pa_tls_referenced_p): Delete.
1912 * config/rs6000/rs6000.c (rs6000_tls_referenced_p): Delete.
1913 (rs6000_cannot_force_const_mem, rs6000_emit_move)
1914 (rs6000_address_for_altivec): Use tls_referenced_p instead of
1915 rs6000_tls_referenced_p.
1916 (rs6000_tls_symbol_ref_1): Delete.
1917
82e3a719
MG
19182014-07-26 Marc Glisse <marc.glisse@inria.fr>
1919
1920 PR target/44551
1921 * simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
1922 Optimize inverse of a VEC_CONCAT.
1923
2243ba51
XDL
19242014-07-25 Xinliang David Li <davidxl@google.com>
1925
1926 * params.def: New parameter.
1927 * coverage.c (get_coverage_counts): Check new flag.
1928 (coverage_compute_profile_id): Check new flag.
1929 (coverage_begin_function): Check new flag.
1930 (coverage_end_function): Check new flag.
1931 * value-prof.c (coverage_node_map_initialized_p): New function.
1932 (init_node_map): Populate map with all functions.
1933 * doc/invoke.texi: Document new parameter.
1934
a4b0388b
JH
19352014-07-25 Jan Hubicka <hubicka@ucw.cz>
1936 Richard Biener <rguenther@suse.de>
1937
1938 * lto-streamer-out.c (struct sccs): Turn to ...
1939 (class DFS): ... this one; refactor the DFS walk so it can
1940 be re-done on per-SCC basis.
1941 (DFS::DFS): New constructor.
1942 (DFS::~DFS): New destructor.
1943 (hash_tree): Add new MAP argument holding in-SCC hash values;
1944 remove POINTER_TYPE hashing hack.
1945 (scc_entry_compare): Rename to ...
1946 (DFS::scc_entry_compare): ... this one.
1947 (hash_scc): Rename to ...
1948 (DFS::hash_scc): ... this one; pass output_block instead
1949 of streamer_cache; work harder to get unique and stable SCC
1950 hashes.
1951 (DFS_write_tree): Rename to ...
1952 (DFS::DFS_write_tree): ... this one; add SINGLE_P parameter.
1953 (lto_output_tree): Update.
1954
e8326772
AK
19552014-07-25 Andi Kleen <ak@linux.intel.com>
1956
1957 * lto-streamer-out.c (hash_tree): Convert to inchash.
1958
56fdfd3e
AK
19592014-07-25 Andi Kleen <ak@linux.intel.com>
1960
1961 * tree.c (build_type_attribute_qual_variant): Use inchash.
1962 (type_hash_list): Dito.
1963 (attribute_hash_list): Dito
1964 (iterative_hstate_expr): Dito.
1965 (iterative_hash_expr): Dito.
1966 (build_range_type_1): Dito.
1967 (build_array_type_1): Dito.
1968 (build_function_type): Dito.
1969 (build_method_type_directly): Dito.
1970 (build_offset_type): Dito.
1971 (build_complex_type): Dito.
1972 (make_vector_type): Dito.
1973 * tree.h (iterative_hash_expr): Add compat wrapper.
1974 (iterative_hstate_expr): Add.
1975
6d8eb96b
AK
19762014-07-25 Andi Kleen <ak@linux.intel.com>
1977
1978 * Makefile.in (OBJS): Add inchash.o.
1979 (PLUGIN_HEADERS): Add inchash.h.
1980 * ipa-devirt.c: Include inchash.h.
1981 * lto-streamer-out.c: Dito.
1982 * tree-ssa-dom.c: Dito.
1983 * tree-ssa-pre.c: Dito.
1984 * tree-ssa-sccvn.c: Dito.
1985 * tree-ssa-tail-merge.c: Dito.
1986 * asan.c: Dito.
1987 * tree.c (iterative_hash_hashval_t): Move to ...
1988 (iterative_hash_host_wide_int): Move to ...
1989 * inchash.c: Here. New file.
1990 * tree.h (iterative_hash_hashval_t): Move to ...
1991 (iterative_hash_host_wide_int): Move to ...
1992 * inchash.h: Here. New file.
1993
b2505143
RB
19942014-07-25 Richard Biener <rguenther@suse.de>
1995
1996 PR middle-end/61762
1997 PR middle-end/61894
1998 * fold-const.c (native_encode_int): Add and handle offset
1999 parameter to do partial encodings of expr.
2000 (native_encode_fixed): Likewise.
2001 (native_encode_real): Likewise.
2002 (native_encode_complex): Likewise.
2003 (native_encode_vector): Likewise.
2004 (native_encode_string): Likewise.
2005 (native_encode_expr): Likewise.
2006 * fold-const.c (native_encode_expr): Add offset parameter
2007 defaulting to -1.
2008 * gimple-fold.c (fold_string_cst_ctor_reference): Remove.
2009 (fold_ctor_reference): Handle all reads from tcc_constant
2010 ctors.
2011
1ed85d52
RB
20122014-07-25 Richard Biener <rguenther@suse.de>
2013
2014 * tree-inline.c (estimate_move_cost): Mark speed_p argument
2015 as possibly unused.
2016
5a304089
SKS
20172014-07-23 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2018
2019 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Add __AVR_DEVICE_NAME__.
2020
6c43e15e
KM
20212014-07-24 Kyle McMartin <kyle@redhat.com>
2022
2023 * config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define.
2024
98326512
UW
20252014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2026
2027 * config/rs6000/rs6000-protos.h (rs6000_special_adjust_field_align_p):
2028 Add prototype.
2029 * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): New
2030 function.
2031 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Call it.
2032 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
2033 * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
2034
e1089c7a
UW
20352014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2036
2037 * config/rs6000/rs6000.c (rs6000_function_arg_boundary): In the AIX
2038 and ELFv2 ABI, do not use the "mode == BLKmode" check to test for
2039 aggregate types. Instead, *all* aggregate types, except for single-
2040 element or homogeneous float/vector aggregates, are quadword-aligned
2041 if required by their type alignment. Issue -Wpsabi note when a type
2042 is now treated differently than before.
2043
ff46d64d
UW
20442014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2045
2046 * config/rs6000/rs6000.c (rs6000_function_arg): If a float argument
2047 does not fit fully into floating-point registers, and there is still
2048 space in the register parameter area, use GPRs to pass those parts
2049 of the argument. Issue -Wpsabi note if any parameter is now treated
2050 differently than before.
2051 (rs6000_arg_partial_bytes): Update.
2052
288aa22f
UB
20532014-07-24 Uros Bizjak <ubizjak@gmail.com>
2054
2055 * config/alpha/elf.h: Define TARGET_UNWIND_TABLES_DEFAULT.
2056
d4cf9477
RS
20572014-07-24 Richard Sandiford <rdsandiford@googlemail.com>
2058
2059 * rtl.h (target_rtl): Remove lang_dependent_initialized.
2060 * toplev.c (initialize_rtl): Don't use it. Move previously
2061 "language-dependent" calls to...
2062 (backend_init): ...here.
2063 (lang_dependent_init_target): Don't set lang_dependent_initialized.
2064 Assert that RTL initialization hasn't happend yet.
2065
2175bf49
RS
20662014-07-24 Richard Sandiford <rdsandiford@googlemail.com>
2067
2068 PR rtl-optimization/61629
2069 * reginfo.c (reinit_regs): Only call ira_init and recog_init if
2070 they have already been initialized.
2071
1a8cb155
RS
20722014-07-24 Richard Sandiford <rdsandiford@googlemail.com>
2073
2074 PR middle-end/61268
2075 * function.c (assign_parm_setup_reg): Prevent invalid sharing of
2076 DECL_INCOMING_RTL and entry_parm.
2077 (get_arg_pointer_save_area): Likewise arg_pointer_save_area.
2078 * calls.c (load_register_parameters): Likewise argument values.
2079 (emit_library_call_value_1, store_one_arg): Likewise argument
2080 save areas.
2081 * config/i386/i386.c (assign_386_stack_local): Likewise the local
2082 stack slot.
2083 * explow.c (validize_mem): Modify the argument in-place.
2084
4b92caa1
JW
20852014-07-24 Jiong Wang <jiong.wang@arm.com>
2086
2087 * config/aarch64/aarch64.c (aarch64_popwb_single_reg): New function.
2088 (aarch64_expand_epilogue): Optimize epilogue when !frame_pointer_needed.
2089
c5e1f66e
JW
20902014-07-24 Jiong Wang <jiong.wang@arm.com>
2091
2092 * config/aarch64/aarch64.c (aarch64_pushwb_single_reg): New function.
2093 (aarch64_expand_prologue): Optimize prologue when !frame_pointer_needed.
2094
ae13fce3
JW
20952014-07-24 Jiong Wang <jiong.wang@arm.com>
2096
2097 * config/aarch64/aarch64.c (aarch64_restore_callee_saves)
2098 (aarch64_save_callee_saves): New parameter "skip_wb".
2099 (aarch64_expand_prologue, aarch64_expand_epilogue): Update call site.
2100
363ffa50
JW
21012014-07-24 Jiong Wang <jiong.wang@arm.com>
2102
2103 * config/aarch64/aarch64.h (frame): New fields "wb_candidate1" and
2104 "wb_candidate2".
2105 * config/aarch64/aarch64.c (aarch64_layout_frame): Initialize above.
2106
a6631027
RG
21072014-07-24 Roman Gareev <gareevroman@gmail.com>
2108
2109 * graphite-isl-ast-to-gimple.c:
2110 (graphite_create_new_loop): Add calling of isl_id_free to properly
2111 decrement reference counts.
2112
2113 * gcc.dg/graphite/isl-ast-gen-blocks-4.c: New testcase.
2114
4c1a59cc
ML
21152014-07-24 Martin Liska <mliska@suse.cz>
2116 * config/mips/mips.c (mips_start_unique_function): Correct cgraph_node
2117 function used.
2118 * config/rs6000/rs6000.c (call_ABI_of_interest): Likewise.
2119 (rs6000_code_end): Likewise.
2120
21212014-07-24 Martin Liska <mliska@suse.cz>
2122
2123 * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): Correct
2124 symtab_node funtion used.
2125 (rs6000_xcoff_declare_object_name): Likewise.
2126
dacd445e
ML
21272014-07-24 Martin Liska <mliska@suse.cz>
2128
2129 * cgraphunit.c (compile): Correct function used.
2130
52d8a590
JH
21312014-07-24 Jan Hubicka <hubicka@ucw.cz>
2132
2133 * lto-streamer-out.c (tree_is_indexable): Consider IMPORTED_DECL
2134 as non-indexable.
2135
10a3a880
JH
21362014-07-24 Jan Hubicka <hubicka@ucw.cz>
2137
2138 PR lto/61802
2139 * varasm.c (bss_initializer_p): Handle offlined ctors.
2140 (align_variable, get_variable_align): Likewise.
2141 (make_decl_one_only): Likewise.
2142 (default_binds_local_p_1): Likewise.
2143 (decl_binds_to_current_def_p): Likewise.
2144 (get_variable_section): Get constructor if it is offlined.
2145 (assemble_variable_contents): Sanity check that the caller
2146 streamed in the ctor in LTO.
2147
c4bc3399
RG
21482014-07-24 Roman Gareev <gareevroman@gmail.com>
2149
2150 * graphite-isl-ast-to-gimple.c:
2151 (binary_op_to_tree): Add calling of translate_isl_ast_node_block.
2152 (gcc_expression_from_isl_expr_op): Move isl_ast_op_pdiv_q,
2153 isl_ast_op_pdiv_r to the different case.
2154
2155 * gcc.dg/graphite/isl-ast-gen-blocks-3.c: New testcase.
2156
25be91ac
KT
21572014-07-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2158
2159 PR middle-end/61876
2160 * convert.c (convert_to_integer): Do not convert BUILT_IN_ROUND and cast
2161 when flag_errno_math is on.
2162
9041d2e6
ML
21632014-07-24 Martin Liska <mliska@suse.cz>
2164
fdbaf4ec
ML
2165 * cgraph.h (varpool_node):
2166 (availability get_availability (void)):
2167 created from cgraph_variable_initializer_availability
2168 (inline varpool_node *ultimate_alias_target (availability *availability = NULL)
2169 created from: cgraph_variable_initializer_availability
2170 (inline varpool_node *get_alias_target (void)): created from varpool_alias_target
2171 (void finalize_named_section_flags (void)):
2172 created from varpool_finalize_named_section_flags
2173 (bool assemble_decl (void)): created from varpool_assemble_decl
2174 (void analyze (void)): created from varpool_analyze_node
2175 (bool call_for_node_and_aliases (bool (*callback) (varpool_node *, void *),
2176 void *data, bool include_overwritable)): created fromvarpool_for_node_and_aliases
2177 (void remove_initializer (void)): created from varpool_remove_initializer
2178 (tree get_constructor (void)): created from varpool_get_constructor
2179 (bool externally_visible_p (void)): created from varpool_externally_visible_p
2180 (bool ctor_useable_for_folding_p (void)): created from varpool_ctor_useable_for_folding_p
2181 (inline bool all_refs_explicit_p ()): created from varpool_all_refs_explicit_p
2182 (inline bool can_remove_if_no_refs_p (void)): created from varpool_can_remove_if_no_refs
2183 (static inline varpool_node *get (const_tree decl)): created from varpool_get_node
2184 (static void finalize_decl (tree decl)): created from varpool_finalize_decl
2185 (static bool output_variables (void)): created from varpool_output_variables
2186 (static varpool_node * create_extra_name_alias (tree alias, tree decl)):
2187 created from varpool_extra_name_alias
2188 (static varpool_node * create_alias (tree, tree)): created from varpool_create_variable_alias
2189 (static void dump_varpool (FILE *f)): created from dump_varpool
2190 (static void DEBUG_FUNCTION debug_varpool (void)): created from debug_varpool
2191 (static varpool_node *create_empty (void)): created from varpool_create_empty_node
2192 (static varpool_node *get_create (tree decl)): created from varpool_node_for_decl
2193 (static varpool_node *get_for_asmname (tree asmname)): created from varpool_node_for_asm
2194 (void assemble_aliases (void)): created from assemble_aliases
9041d2e6 2195
d52f5295
ML
21962014-07-24 Martin Liska <mliska@suse.cz>
2197
fdbaf4ec
ML
2198 * cgraph.h (symtab_node):
2199 (void register_symbol (void)): created from symtab_register_node
2200 (void remove (void)): created from symtab_remove_node
2201 (void dump (FILE *f)): created from dump_symtab_node
2202 (void DEBUG_FUNCTION debug (void)): created from debug_symtab_node
2203 (void DEBUG_FUNCTION verify (void)): created from verify_symtab_node
2204 (struct ipa_ref *add_reference (symtab_node *referred_node,
2205 enum ipa_ref_use use_type)): created from add_reference
2206 (struct ipa_ref *add_reference (symtab_node *referred_node,
2207 enum ipa_ref_use use_type, gimple stmt)): created from add_reference
2208 (struct ipa_ref *maybe_add_reference (tree val, enum ipa_ref_use use_type,
2209 gimple stmt)): created from maybe_add_reference
2210 (bool semantically_equivalent_p (symtab_node *target)): created from
2211 symtab_semantically_equivalent_p
2212 (void remove_from_same_comdat_group (void)): created from
2213 remove_from_same_comdat_group
2214 (void add_to_same_comdat_group (symtab_node *old_node)): created from
2215 symtab_add_to_same_comdat_group
2216 (void dissolve_same_comdat_group_list (void)): created from
2217 symtab_dissolve_same_comdat_group_list
2218 (bool used_from_object_file_p (void)): created from symtab_used_from_object_file_p
2219 (symtab_node *ultimate_alias_target (enum availability *avail = NULL)):
2220 created from symtab_alias_ultimate_target
2221 (inline symtab_node *next_defined_symbol (void)): created from
2222 symtab_next_defined_symbol
2223 (bool resolve_alias (symtab_node *target)): created from
2224 symtab_resolve_alias
2225 (bool call_for_symbol_and_aliases (bool (*callback) (symtab_node *, void *),
2226 void *data, bool include_overwrite)): created from symtab_for_node_and_aliases
2227 (symtab_node *noninterposable_alias (void)): created from symtab_nonoverwritable_alias
2228 (inline symtab_node *get_alias_target (void)): created from symtab_alias_target
2229 (void set_section (const char *section)): created from set_section_1
2230 (enum availability get_availability (void)): created from symtab_node_availability
2231 (void make_decl_local (void)): created from symtab_make_decl_local
2232 (bool real_symbol_p (void)): created from symtab_read_node
2233 (can_be_discarded_p (void)): created from symtab_can_be_discarded
2234 (inline bool comdat_local_p (void)): created from symtab_comdat_local_p
2235 (inline bool in_same_comdat_group_p (symtab_node *target)): created from
2236 symtab_in_same_comdat_p;
2237 (bool address_taken_from_non_vtable_p (void)): created from
2238 address_taken_from_non_vtable_p
2239 (static inline symtab_node *get (const_tree decl)): created from symtab_get_node
2240 (static void dump_table (FILE *)): created from dump_symtab
2241 (static inline DEBUG_FUNCTION void debug_symtab (void)): created from debug_symtab
2242 (static DEBUG_FUNCTION void verify_symtab_nodes (void)): created from verify_symtab
2243 (static bool used_from_object_file_p_worker (symtab_node *node)): created from
2244 symtab_used_from_object_file_p
2245 (void dump_base (FILE *)): created from dump_symtab_base
2246 (bool DEBUG_FUNCTION verify_base (void)): created from verify_symtab_base
2247 (void unregister (void)): created from symtab_unregister_node
2248 (struct symbol_priority_map *priority_info (void)): created from symtab_priority_info
2249 (static bool set_implicit_section (symtab_node *n, void *)): created from set_implicit_section
2250 (static bool noninterposable_alias (symtab_node *node, void *data)): created from
2251 symtab_nonoverwritable_alias_1
2252 * cgraph.h (cgraph_node):
2253 (bool remove_symbol_and_inline_clones (cgraph_node *forbidden_node = NULL)):
2254 created from cgraph_remove_node_and_inline_clones
2255 (void record_stmt_references (gimple stmt)): created from ipa_record_stmt_references
2256 (void set_call_stmt_including_clones (gimple old_stmt, gimple new_stmt,
2257 bool update_speculative = true)): created from cgraph_set_call_stmt_including_clones
2258 (cgraph_node *function_symbol (enum availability *avail = NULL)):
2259 created from cgraph_function_node
2260 (cgraph_node *create_clone (tree decl, gcov_type count, int freq, bool update_original,
2261 vec<cgraph_edge *> redirect_callers, bool call_duplication_hook,
2262 struct cgraph_node *new_inlined_to, bitmap args_to_skip)):
2263 created from cgraph_create_clone
2264 (cgraph_node *create_virtual_clone (vec<cgraph_edge *> redirect_callers,
2265 vec<ipa_replace_map *, va_gc> *tree_map, bitmap args_to_skip, const char * suffix)):
2266 created from cgraph_create_virtual_clone
2267 (cgraph_node *find_replacement (void)): created from cgraph_find_replacement_node
2268 (cgraph_node *create_version_clone (tree new_decl, vec<cgraph_edge *> redirect_callers,
2269 bitmap bbs_to_copy)): created from cgraph_copy_node_for_versioning
2270 (cgraph_node *create_version_clone_with_body (vec<cgraph_edge *> redirect_callers,
2271 vec<ipa_replace_map *, va_gc> *tree_map, bitmap args_to_skip, bool skip_return,
2272 bitmap bbs_to_copy, basic_block new_entry_block, const char *clone_name)):
2273 created from cgraph_function_version_info
2274 (struct cgraph_function_version_info *insert_new_function_version (void)):
2275 created from insert_new_cgraph_node_version
2276 (struct cgraph_function_version_info *function_version (void)): created from
2277 get_cgraph_node_version
2278 (void analyze (void)): created from analyze_function
2279 (cgraph_node * create_thunk (tree alias, tree, bool this_adjusting,
2280 HOST_WIDE_INT fixed_offset, HOST_WIDE_INT virtual_value, tree virtual_offset,
2281 tree real_alias) cgraph_add_thunk
2282 (inline cgraph_node *get_alias_target (void)): created from cgraph_alias_target
2283 (cgraph_node *ultimate_alias_target (availability *availability = NULL)):
2284 created from cgraph_function_or_thunk_node
2285 (bool expand_thunk (bool output_asm_thunks, bool force_gimple_thunk)):
2286 created from expand_thunk
2287 (void reset (void)): created from cgraph_reset_node
2288 (void create_wrapper (cgraph_node *target)): created from cgraph_make_wrapper
2289 (void DEBUG_FUNCTION verify_node (void)): created from verify_cgraph_node
2290 (void remove (void)): created from cgraph_remove_node
2291 (void dump (FILE *f)): created from dump_cgraph_node
2292 (void DEBUG_FUNCTION debug (void)): created from debug_cgraph_node
2293 (bool get_body (void)): created from cgraph_get_body
2294 (void release_body (void)): created from cgraph_release_function_body
2295 (void unnest (void)): created from cgraph_unnest_node
2296 (void make_local (void)): created from cgraph_make_node_local
2297 (void mark_address_taken (void)): created from cgraph_mark_address_taken_node
2298 (struct cgraph_edge *create_edge (cgraph_node *callee, gimple call_stmt,
2299 gcov_type count, int freq)): created from cgraph_create_edge
2300 (struct cgraph_edge *create_indirect_edge (gimple call_stmt, int ecf_flags,
2301 gcov_type count, int freq)): created from cgraph_create_indirect_edge
2302 (void create_edge_including_clones (struct cgraph_node *callee, gimple old_stmt,
2303 gimple stmt, gcov_type count, int freq, cgraph_inline_failed_t reason)):
2304 created from cgraph_create_edge_including_clones
2305 (cgraph_edge *get_edge (gimple call_stmt)): created from cgraph_edge
2306 (vec<cgraph_edge *> collect_callers (void)): created from collect_callers_of_node
2307 (void remove_callers (void)): created from cgraph_node_remove_callers
2308 (void remove_callees (void)): created from cgraph_node_remove_callees
2309 (enum availability get_availability (void)): created from cgraph_function_body_availability
2310 (void set_nothrow_flag (bool nothrow)): created from cgraph_set_nothrow_flag
2311 (void set_const_flag (bool readonly, bool looping)): created from cgraph_set_const_flag
2312 (void set_pure_flag (bool pure, bool looping)): created from cgraph_set_pure_flag
2313 (void call_duplication_hooks (cgraph_node *node2)): created from
2314 cgraph_call_node_duplication_hooks
2315 (bool call_for_symbol_and_aliases (bool (*callback) (cgraph_node *, void *),
2316 void *data, bool include_overwritable)): created from cgraph_for_node_and_aliases
2317 (bool call_for_symbol_thunks_and_aliases (bool (*callback) (cgraph_node *node, void *data),
2318 void *data, bool include_overwritable)): created from cgraph_for_node_thunks_and_aliases
2319 (void call_function_insertion_hooks (void)):
2320 created from cgraph_call_function_insertion_hooks
2321 (inline void mark_force_output (void)): created from cgraph_mark_force_output_node
2322 (bool local_p (void)): created from cgraph_local_node
2323 (bool can_be_local_p (void)): created from cgraph_node_can_be_local_p
2324 (bool cannot_return_p (void)): created from cgraph_node_cannot_return
2325 (bool only_called_directly_p (void)): created from cgraph_only_called_directly_p
2326 (inline bool only_called_directly_or_aliased_p (void)):
2327 created from cgraph_only_called_directly_or_aliased_p
2328 (bool will_be_removed_from_program_if_no_direct_calls_p (void)):
2329 created from cgraph_will_be_removed_from_program_if_no_direct_calls
2330 (bool can_remove_if_no_direct_calls_and_refs_p (void)):
2331 created from cgraph_can_remove_if_no_direct_calls_and_refs_p
2332 (bool can_remove_if_no_direct_calls_p (void)):
2333 created from cgraph_can_remove_if_no_direct_calls_p
2334 (inline bool has_gimple_body_p (void)):
2335 created from cgraph_function_with_gimple_body_p
2336 (bool optimize_for_size_p (void)): created from cgraph_optimize_for_size_p
2337 (static void dump_cgraph (FILE *f)): created from dump_cgraph
2338 (static inline void debug_cgraph (void)): created from debug_cgraph
2339 (static void record_function_versions (tree decl1, tree decl2)):
2340 created from record_function_versions
2341 (static void delete_function_version (tree decl)):
2342 created from delete_function_version
2343 (static void add_new_function (tree fndecl, bool lowered)):
2344 created from cgraph_add_new_function
2345 (static inline cgraph_node *get (const_tree decl)): created from cgraph_get_node
2346 (static cgraph_node * create (tree decl)): created from cgraph_create_node
2347 (static cgraph_node * create_empty (void)): created from cgraph_create_empty_node
2348 (static cgraph_node * get_create (tree)): created from cgraph_get_create_node
2349 (static cgraph_node *get_for_asmname (tree asmname)):
2350 created from cgraph_node_for_asm
2351 (static cgraph_node * create_same_body_alias (tree alias, tree decl)):
2352 created from cgraph_same_body_alias
2353 (static bool used_from_object_file_p_worker (cgraph_node *node,
2354 void *): new function
2355 (static bool non_local_p (cgraph_node *node, void *)):
2356 created from cgraph_non_local_node_p_1
2357 (static void DEBUG_FUNCTION verify_cgraph_nodes (void)):
2358 created from verify_cgraph
2359 (static bool make_local (cgraph_node *node, void *)):
2360 created from cgraph_make_node_local
2361 (static cgraph_node *create_alias (tree alias, tree target)):
2362 created from cgraph_create_function_alias
2363 (static cgraph_edge * create_edge (cgraph_node *caller, cgraph_node *callee,
2364 gimple call_stmt, gcov_type count, int freq, bool indir_unknown_callee)):
2365 created from cgraph_create_edge_1
2366 * cgraph.h (varpool_node):
2367 (void remove (void)): created from varpool_remove_node
2368 (void dump (FILE *f)): created from dump_varpool_node
d52f5295 2369
785129aa
RB
23702014-07-24 Richard Biener <rguenther@suse.de>
2371
2372 PR ipa/61823
2373 * tree-ssa-structalias.c (create_variable_info_for_1):
2374 Use varpool_get_constructor.
2375 (create_variable_info_for): Likewise.
2376
8f454e9f
JW
23772014-07-24 Jiong Wang <jiong.wang@arm.com>
2378
2379 * config/aarch64/aarch64.c (aarch64_expand_epilogue): Don't
2380 subtract outgoing area size when restoring stack_pointer_rtx.
2381
8ae9698d
NC
23822014-07-24 Nick Clifton <nickc@redhat.com>
2383
2384 * config/rx/rx.md (stack_push): Adjust RTL to account for the fact
2385 that operations are taking place in parallel.
2386 * config/rx.h (FRAME_POINTER_CFA_OFFSET): Delete.
2387
34f2124e
TS
23882014-07-24 Thomas Schwinge <thomas@codesourcery.com>
2389
2390 * omp-low.c (extract_omp_for_data): Add missing break statement.
2391
b4c9af96
RB
23922014-07-24 Richard Biener <rguenther@suse.de>
2393
2394 * tree-inline.h (estimate_move_cost): Add speed_p parameter.
2395 * tree-inline.c (estimate_move_cost): Add speed_p parameter
2396 and adjust MOVE_RATIO query accordingly.
2397 (estimate_num_insns): Adjust callers.
2398 * ipa-prop.c (ipa_populate_param_decls): Likewise.
2399 * ipa-cp.c (gather_context_independent_values,
2400 estimate_local_effects): Likewise.
2401 * ipa-split.c (consider_split): Likewise.
2402
997ef9e7
TS
24032014-07-24 Trevor Saunders <tsaunders@mozilla.com>
2404
2405 * config/i386/driver-i386.c: Remove names of unused arguments and
2406 unnecessary unused attributes.
2407 * config/i386/host-mingw32.c: Likewise.
2408 * config/i386/i386.c: Likewise.
2409 * config/i386/winnt-stubs.c: Likewise.
2410 * config/i386/winnt.c: Likewise.
2411
159313d9
JW
24122014-07-23 Jiong Wang <jiong.wang@arm.com>
2413
2414 * config/aarch64/aarch64.c (aarch64_popwb_pair_reg)
2415 (aarch64_gen_loadwb_pair): New helper function.
2416 (aarch64_expand_epilogue): Simplify code using new helper functions.
2417 * config/aarch64/aarch64.md (loadwb_pair<GPF:mode>_<P:mode>): Define.
2418
80c11907
JW
24192014-07-23 Jiong Wang <jiong.wang@arm.com>
2420
2421 * config/aarch64/aarch64.c (aarch64_pushwb_pair_reg)
2422 (aarch64_gen_storewb_pair): New helper function.
2423 (aarch64_expand_prologue): Simplify code using new helper functions.
2424 * config/aarch64/aarch64.md (storewb_pair<GPF:mode>_<P:mode>): Define.
2425
8ed2fc62
JW
24262014-07-23 Jiong Wang <jiong.wang@arm.com>
2427
2428 * config/aarch64/aarch64.md: (aarch64_save_or_restore_callee_saves):
2429 Rename to aarch64_save_callee_saves, remove restore code.
2430 (aarch64_restore_callee_saves): New function.
2431
0ec74a1e
JW
24322014-07-23 Jiong Wang <jiong.wang@arm.com>
2433
2434 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Deleted.
2435 (aarch64_save_callee_saves): New function to handle reg save
2436 for both core and vectore regs.
2437
72df5c1f
JW
24382014-07-23 Jiong Wang <jiong.wang@arm.com>
2439
2440 * config/aarch64/aarch64.c (aarch64_gen_load_pair)
2441 (aarch64_gen_store_pair): New helper function.
2442 (aarch64_save_or_restore_callee_save_registers)
2443 (aarch64_save_or_restore_fprs): Use new helper functions.
2444
64dedd72
JW
24452014-07-23 Jiong Wang <jiong.wang@arm.com>
2446
2447 * config/aarch64/aarch64.c (aarch64_next_callee_save): New function.
2448 (aarch64_save_or_restore_callee_save_registers)
2449 (aarch64_save_or_restore_fprs): Use aarch64_next_callee_save.
2450
bc5f5f36
JW
24512014-07-23 Jiong Wang <jiong.wang@arm.com>
2452
2453 * config/aarch64/aarch64.c
2454 (aarch64_save_or_restore_callee_save_registers)
2455 (aarch64_save_or_restore_fprs): Hoist calculation of register rtx.
2456
55185278
JW
24572014-07-23 Jiong Wang <jiong.wang@arm.com>
2458
2459 * config/aarch64/aarch64.c
2460 (aarch64_save_or_restore_callee_save_registers)
2461 (aarch64_save_or_restore_fprs): Remove 'increment'.
2462
0b4a9743
JW
24632014-07-23 Jiong Wang <jiong.wang@arm.com>
2464
2465 * config/aarch64/aarch64.c
2466 (aarch64_save_or_restore_callee_save_registers)
2467 (aarch64_save_or_restore_fprs): Use register offset in
2468 cfun->machine->frame.reg_offset.
2469
7bf7a695
JW
24702014-07-23 Jiong Wang <jiong.wang@arm.com>
2471
2472 * config/aarch64/aarch64.c
2473 (aarch64_save_or_restore_callee_save_registers)
2474 (aarch64_save_or_restore_fprs): Remove base_rtx.
2475
ec01976b
JW
24762014-07-23 Jiong Wang <jiong.wang@arm.com>
2477
2478 * config/aarch64/aarch64.c
2479 (aarch64_save_or_restore_callee_save_registers): Rename 'offset'
2480 to 'start_offset'. Remove local variable 'start_offset'.
2481
b8a404dc
JW
24822014-07-23 Jiong Wang <jiong.wang@arm.com>
2483
2484 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Change
2485 type to HOST_WIDE_INT.
2486
a007a21c
JW
24872014-07-23 Jiong Wang <jiong.wang@arm.com>
2488
2489 * config/aarch64/aarch64.c (aarch64_expand_prologue)
2490 (aarch64_save_or_restore_fprs)
2491 (aarch64_save_or_restore_callee_save_registers): GNU-Stylize code.
2492
c9719148
SH
24932014-07-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
2494
2495 * config/arm/t-rtems-eabi: Add
2496 mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard,
2497 mthumb/march=armv7-m/mfpu=fpv4-sp-d16/mfloat-abi=hard,
2498 mbig-endian/mthumb/march=armv7-r, and
2499 mbig-endian/mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard
2500 multilibs.
2501
00020dda
SH
25022014-07-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
2503 Chris Johns <chrisj@rtems.org>
2504 Joel Sherrill <joel.sherrill@oarcorp.com>
2505
2506 * config.gcc: Add nios2-*-rtems*.
2507 * config/nios2/rtems.h: New file.
2508 * gcc/config/nios2/t-rtems: New file.
2509
b50a9d38
SB
25102014-07-23 Segher Boessenkool <segher@kernel.crashing.org>
2511
2512 PR target/61396
2513 * config/rs6000/rs6000.c (paired_expand_vector_init): Only allow
2514 constant numbers, not general constants.
2515 (rs6000_expand_vector_init): Ditto.
2516
d10ee722
NS
25172014-07-23 Nathan Sidwell <nathan@acm.org>
2518
2519 * gcov-tool.c (gcov_list): Declare here.
2520 (set_gcov_list): Remove.
2521 (gcov_output_files): Set gcov_list directly.
2522
861d14df
HS
25232014-07-23 Host Schirmeier <horst@schirmeier.com>
2524
2525 * doc/invoke.texi: -O3 enables -ftree-loop-distribute-patterns.
2526
47e1e86f
JW
25272014-07-23 Jiong Wang <jiong.wang@arm.com>
2528
2529 * config/arm/arm.c (arm_get_frame_offsets): If both r3 and other
2530 callee-saved registers are available for padding purpose
2531 and r3 is not mandatory, then prefer use those callee-saved
2532 instead of r3.
2533
e9a8fc23
RB
25342014-07-23 Richard Biener <rguenther@suse.de>
2535
2536 * params.def (PARAM_MAX_COMBINE_INSNS): New.
2537 * combine.c: Include statistics.h and params.h.
2538 (combine_instructions): Guard three and four insn combines
2539 with max-combine-insns value. Record statistics for combines
2540 performed.
2541 * doc/invoke.texi (max-combine-insns): Document new param.
2542
322a0b39
RG
25432014-07-23 Roman Gareev <gareevroman@gmail.com>
2544
2545 * graphite-isl-ast-to-gimple.c:
2546 (translate_isl_ast_node_block): New function.
2547 (translate_isl_ast): Add calling of translate_isl_ast_node_block.
2548
4a53d6a6
RG
2549 * gcc.dg/graphite/isl-ast-gen-blocks-1.c: New testcase.
2550 * gcc.dg/graphite/isl-ast-gen-blocks-2.c: New testcase.
322a0b39 2551
fb3764d1
RG
25522014-07-23 Roman Gareev <gareevroman@gmail.com>
2553
2554 * graphite-isl-ast-to-gimple.c:
2555 (get_max_schedule_dimensions): New function.
2556 (extend_schedule): Likewise.
2557 (generate_isl_schedule): Add calling of extend_schedule and
2558 get_max_schedule_dimensions.
2559
781aeb73
KT
25602014-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2561
2562 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle CLRSB, CLZ.
2563 (case UNSPEC): Handle UNSPEC_RBIT.
2564
dfc98d99
KT
25652014-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2566
2567 * config/aarch64/aarch64.md: Delete UNSPEC_CLS.
2568 (clrsb<mode>2): Use clrsb RTL code instead of UNSPEC_CLS.
2569
0ce0459e
KT
25702014-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2571
2572 * config/aarch64/arm_neon.h (vbsl_f64): New intrinsic.
2573
5493d313
RG
25742014-07-22 Roman Gareev <gareevroman@gmail.com>
2575
2576 * graphite-isl-ast-to-gimple.c:
2577 Add inclusion of gimple-ssa.h, tree-into-ssa.h.
2578 (ivs_params_clear):
2579 (build_iv_mapping): New function.
2580 (translate_isl_ast_node_user): Likewise.
2581 (translate_isl_ast): Add calling of translate_isl_ast_node_user.
2582
4a53d6a6
RG
2583 * gcc.dg/graphite/isl-ast-gen-single-loop-1.c: New testcase.
2584 * gcc.dg/graphite/isl-ast-gen-single-loop-2.c: New testcase.
2585 * gcc.dg/graphite/isl-ast-gen-single-loop-3.c: New testcase.
5493d313 2586
62e79a48
BC
25872014-07-21 Bin Cheng <bin.cheng@arm.com>
2588
2589 PR target/55701
2590 * config/arm/arm.md (setmem): New pattern.
2591 * config/arm/arm-protos.h (struct tune_params): New fields.
2592 (arm_gen_setmem): New prototype.
2593 * config/arm/arm.c (arm_slowmul_tune): Initialize new fields.
2594 (arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune): Ditto.
2595 (arm_9e_tune, arm_v6t2_tune, arm_cortex_tune): Ditto.
2596 (arm_cortex_a8_tune, arm_cortex_a7_tune): Ditto.
2597 (arm_cortex_a15_tune, arm_cortex_a53_tune): Ditto.
2598 (arm_cortex_a57_tune, arm_cortex_a5_tune): Ditto.
2599 (arm_cortex_a9_tune, arm_cortex_a12_tune): Ditto.
2600 (arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune): Ditto.
2601 (arm_const_inline_cost): New function.
2602 (arm_block_set_max_insns): New function.
2603 (arm_block_set_non_vect_profit_p): New function.
2604 (arm_block_set_vect_profit_p): New function.
2605 (arm_block_set_unaligned_vect): New function.
2606 (arm_block_set_aligned_vect): New function.
2607 (arm_block_set_unaligned_non_vect): New function.
2608 (arm_block_set_aligned_non_vect): New function.
2609 (arm_block_set_vect, arm_gen_setmem): New functions.
2610
8cde4e71
BC
26112014-07-21 Bin Cheng <bin.cheng@arm.com>
2612
2613 * config/arm/arm.c (output_move_neon): Handle REG explicitly.
2614
9c3c2608
UB
26152014-07-21 Uros Bizjak <ubizjak@gmail.com>
2616
87adf25a 2617 PR target/61855
9c3c2608
UB
2618 * config/i386/avx512fintrin.h: Move constants for mantissa extraction
2619 out of #ifdef __OPTIMIZE__.
2620
e304caa4
EB
26212014-07-20 Eric Botcazou <ebotcazou@adacore.com>
2622
2623 * cse.c (exp_equiv_p) <MEM>: For GCSE, return 0 for expressions with
2624 different trapping status if -fnon-call-exceptions is enabled.
2625
d6cd6e22
EB
26262014-07-20 Eric Botcazou <ebotcazou@adacore.com>
2627
2628 * expr.c (store_field): Handle VOIDmode for calls that return values
2629 in multiple locations.
2630
fbd86cc6
BS
26312014-07-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2632
9c3c2608 2633 * config/rs6000/altivec.md (unspec enum): Fix typo in UNSPEC_VSLDOI.
fbd86cc6
BS
2634 (altivec_vsldoi_<mode>): Likewise.
2635
2a466686
RG
26362014-07-20 Roman Gareev <gareevroman@gmail.com>
2637
9c3c2608
UB
2638 * graphite-isl-ast-to-gimple.c: Fixes a formatting issue related
2639 to the number of characters in the line.
2a466686 2640
55d1bd59
RG
26412014-07-20 Roman Gareev <gareevroman@gmail.com>
2642
9c3c2608
UB
2643 * graphite-isl-ast-to-gimple.c: Add using of
2644 build_nonstandard_integer_type instead of int128_integer_type_node.
55d1bd59 2645
0c92e488
EB
26462014-07-19 Eric Botcazou <ebotcazou@adacore.com>
2647
2648 * toplev.c (output_stack_usage): Adjust the location of the warning.
2649
49cc765d
DC
26502014-07-19 Daniel Cederman <cederman@gaisler.com>
2651
2652 * config/sparc/sync.md (*membar_storeload_leon3): New insn.
2653 (*membar_storeload): Disable for LEON3.
2654
6742052a
BE
26552014-07-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
2656
2657 PR rtl-optimization/61461
2658 * sched-vis.c (print_pattern) <ADDR_VEC, ADDR_DIFF_VEC>: Fixed.
2659
622cd23a
UB
26602014-07-18 Uros Bizjak <ubizjak@gmail.com>
2661
2662 PR target/61794
2663 * config/i386/sse.md (avx512f_vextract<shuffletype>32x4_1_maskm):
2664 Fix instruction constraint.
2665 (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Ditto.
2666
4ac2a3f0
JW
26672014-07-18 Jonathan Wakely <jwakely@redhat.com>
2668
2669 * doc/extend.texi (Template Instantiation): Remove stray parenthesis.
2670
19ac960a
CJW
26712014-07-18 Chung-Ju Wu <jasonwucj@gmail.com>
2672
2673 * config/nds32/nds32.c (nds32_can_eliminate): Follow the
2674 GNU coding standards.
2675 (nds32_register_move_cost): Likewise.
2676 (nds32_memory_move_cost): Likewise.
2677 (nds32_address_cost): Likewise.
2678
3caa5822
JBG
26792014-07-18 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2680
2681 * config/mmix/mmix.c (mmix_intval): Drop unused automatic variable.
2682
03cb4097
JDA
26832014-07-17 John David Anglin <danglin@gcc.gnu.org>
2684
2685 * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Remove defines for
2686 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
2687 and __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
2688 (HAVE_sync_compare_and_swapqi): Define.
2689 (HAVE_sync_compare_and_swaphi): Likewise.
2690 (HAVE_sync_compare_and_swapsi): Likewise.
2691
1435fa48
RS
26922014-07-17 Richard Sandiford <rdsandiford@googlemail.com>
2693
2694 * config/mips/p5600.md: Add missing cpu tests.
2695
1f960ced
KT
26962014-07-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2697
2698 * config/aarch64/arm_neon.h (vfma_f64): New intrinsic.
2699 (vmla_f64): Likewise.
2700 (vfms_f64): Likewise.
2701 (vmls_f64): Likewise.
2702
61263118
KT
27032014-07-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2704
2705 * config/aarch64/aarch64.c (aarch64_frint_unspec_p): New function.
2706 (aarch64_rtx_costs): Handle FIX, UNSIGNED_FIX, UNSPEC.
2707
ec454483
KT
27082014-07-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2709
2710 * config/aarch64/arm_neon.h (vmlal_high_lane_s16): Fix type.
2711 (vmlal_high_lane_s32): Likewise.
2712 (vmlal_high_lane_u16): Likewise.
2713 (vmlal_high_lane_u32): Likewise.
2714 (vmlsl_high_lane_s16): Likewise.
2715 (vmlsl_high_lane_s32): Likewise.
2716 (vmlsl_high_lane_u16): Likewise.
2717 (vmlsl_high_lane_u32): Likewise.
2718
1d61feeb
TG
27192014-07-17 Terry Guo <terry.guo@arm.com>
2720
2721 * config/arm/types.md (alu_reg): Replaced by alu_sreg and alu_dsp_reg.
2722 (alus_reg): Renamed to alus_sreg.
2723 * config/arm/arm-fixed.md: Change type of non-dsp instructions
2724 from alu_reg to alu_sreg. Change type of dsp instructions from
2725 alu_reg to alu_dsp_reg.
2726 * config/arm/thumb1.md: Likewise.
2727 * config/arm/thumb2.md: Likewise.
2728 * config/arm/arm.c (cortexa7_older_only): Use new ALU type names.
2729 * config/arm/arm1020e.md (1020alu_op): Replace alu_reg and alus_reg
2730 with alu_sreg and alus_sreg.
2731 * config/arm/arm1026ejs.md (alu_op): Likewise.
2732 * config/arm/arm1136jfs.md (11_alu_op): Likewise.
2733 * config/arm/arm926ejs.md (9_alu_op): Likewise.
2734 * config/arm/fa526.md (526_alu_op): Likewise.
2735 * config/arm/fa606te.md (606te_alu_op): Likewise.
2736 * config/arm/fa626te.md (626te_alu_op): Likewise.
2737 * config/arm/fa726te.md (726te_alu_op): Likewise.
2738 * config/arm/fmp626.md (mp626_alu_op): Likewise.
2739 * config/arm/arm.md (core_cycles): Replace alu_reg and alus_reg with
9c3c2608 2740 alu_sreg, alu_dsp_reg and alus_sreg.
1d61feeb
TG
2741 * config/arm/cortex-a15.md (cortex_a15_alu): Likewise.
2742 * config/arm/cortex-a5.md (cortex_a5_alu): Likewise.
2743 * config/arm/cortex-a53.md (cortex_a53_alu): Likewise.
2744 * config/arm/cortex-a7.md (cortex_a7_alu_sreg): Likewise.
2745 * config/arm/cortex-a8.md (cortex_a8_alu): Likewise.
2746 * config/arm/cortex-a9.md (cortex_a9_dp): Likewise.
2747 * config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
2748 * config/arm/cortex-r4.md (cortex_r4_alu): Likewise.
2749 * config/arm/marvell-pj4.md (pj4_alu, pj4_alu_conds): Likewise.
2750 * config/aarch64/aarch64.md (*addsi3_aarch64, *addsi3_aarch64_uxtw,
2751 subsi3, *adddi3_aarch64, *subsi3_uxtw, subdi3, absdi2, neg<mode>2,
9c3c2608 2752 *negsi2_uxtw, tlsle_small_<mode>): Rename type alu_reg to alu_sreg.
1d61feeb
TG
2753 (add<mode>3_compare0, *addsi3_compare0_uxtw, *add<mode>3nr_compare0,
2754 sub<mode>3_compare0, *compare_neg<mode>, *neg<mode>2_compare0,
9c3c2608 2755 subsi3_compare0_uxtw, *negsi2_compare0_uxtw, *cmp<mode>): Rename type
1d61feeb
TG
2756 alus_reg to alus_sreg.
2757
4b1d78b4
AS
27582014-07-17 Andreas Schwab <schwab@linux-m68k.org>
2759
2760 * real.c (encode_ieee_extended_motorola): Clear integer bit in the
2761 infinity format.
2762
bf95b629
RB
27632014-07-17 Richard Biener <rguenther@suse.de>
2764
2765 PR rtl-optimization/61801
9c3c2608
UB
2766 * sched-deps.c (sched_analyze_2): For ASM_OPERANDS and ASM_INPUT
2767 don't set reg_pending_barrier if it appears in a debug-insn.
bf95b629 2768
3fad4d00
DD
27692014-07-16 DJ Delorie <dj@redhat.com>
2770
2771 * config/rx/rx.c (rx_option_override): Fix alignment values.
2772 (rx_align_for_label): Likewise.
2773
e832590c 27742014-07-17 Hans-Peter Nilsson <hp@axis.com>
3a213afb 2775
ab4e53fe
HPN
2776 PR target/61737.
2777 * config/cris/cris.c (TARGET_LEGITIMATE_CONSTANT_P)
2778 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
2779 (cris_cannot_force_const_mem, cris_legitimate_constant_p): New
2780 functions.
2781 (cris_print_index, cris_print_operand, cris_constant_index_p)
2782 (cris_side_effect_mode_ok): Replace CONSTANT_P with CRIS_CONSTANT_P.
2783 (cris_address_cost): Ditto last CONSTANT_P.
2784 (cris_symbol_type_of): Rename from cris_pic_symbol_type_of. All
9c3c2608
UB
2785 callers changed. Yield cris_offsettable_symbol for non-PIC
2786 constant symbolic expressions including labels. Yield cris_unspec
ab4e53fe
HPN
2787 for all unspecs.
2788 (cris_expand_pic_call_address): New parameter MARKERP. Set its
9c3c2608
UB
2789 target to pic_offset_table_rtx for calls that will likely go
2790 through PLT, const0_rtx when they can't. All callers changed.
ab4e53fe
HPN
2791 Assert flag_pic. Use CONSTANT_P, not CONSTANT_ADDRESS_P, for
2792 symbolic expressions to be PICified. Remove second, redundant,
2793 assert on can_create_pseudo_p returning non-zero. Use
2794 replace_equiv_address_nv, not replace_equiv_address, for final
2795 operand update.
2796 * config/cris/cris.md ("movsi"): Move variable t to pattern
2797 toplevel. Adjust assert for new cris_symbol_type member. Use
2798 CONSTANT_P instead of CONSTANT_ADDRESS_P.
2799 ("*movsi_internal") <case 9>: Make check for valid unspec operands
2800 for lapc stricter.
9c3c2608 2801 <case CRIS_UNSPEC_PCREL, CRIS_UNSPEC_PLT_PCREL>: Clear condition codes.
ab4e53fe
HPN
2802 ("call", "call_value"): Use second incoming operand as a marker
2803 for pic-offset-table-register being used.
2804 ("*expanded_call_non_v32", "*expanded_call_v32")
9c3c2608 2805 ("*expanded_call_value_non_v32", "*expanded_call_value_v32"): For
ab4e53fe 2806 second incoming operand to CALL, match cris_call_type_marker.
9c3c2608 2807 ("*expanded_call_value_side"): Ditto. Disable before reload_completed.
ab4e53fe
HPN
2808 ("*expanded_call_side"): Ditto. Fix typo in comment.
2809 (moverside, movemside peepholes): Check for CRIS_CONSTANT_P, not
2810 CONSTANT_P.
2811 * config/cris/predicates.md ("cris_call_type_marker"): New predicate.
2812 * config/cris/cris.h (CRIS_CONSTANT_P): New macro.
2813 (enum cris_symbol_type): Rename from cris_pic_symbol_type. All
9c3c2608 2814 users changed. Add members cris_offsettable_symbol and cris_unspec.
ab4e53fe
HPN
2815 (cris_symbol_type): Rename from cris_pic_symbol_type.
2816 * config/cris/constraints.md ("T"): Use CRIS_CONSTANT_P, not
9c3c2608 2817 just CONSTANT_P.
ab4e53fe
HPN
2818 * config/cris/cris-protos.h (cris_symbol_type_of,
2819 cris_expand_pic_call_address): Adjust prototypes.
2820 (cris_legitimate_constant_p): New prototype.
2821
3a213afb
HPN
2822 * config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override
2823 an existing tmake_file. Don't add t-slibgcc and t-linux.
2824
c6f884c0
JM
28252014-07-17 Jason Merrill <jason@redhat.com>
2826
2827 PR c++/61623
2828 * symtab.c (symtab_remove_from_same_comdat_group): Also
2829 set_comdat_group to NULL_TREE.
2830 (verify_symtab): Fix diagnostic.
2831
9c3c2608 28322014-07-16 David Wohlferd <dw@LimeGreenSocks.com>
6ed6e4e1
DW
2833
2834 PR target/61662
2835 * config/i386/ia32intrin.h: Use __LP64__ to determine size of long.
2836
c468587a
DS
28372014-07-16 Dodji Seketeli <dodji@redhat.com>
2838
2839 Support location tracking for built-in macro tokens
9c3c2608
UB
2840 * input.h (is_location_from_builtin_token): New function declaration.
2841 * input.c (is_location_from_builtin_token): New function definition.
c468587a
DS
2842 * toplev.c (general_init): Tell libcpp what the pre-defined
2843 spelling location for built-in tokens is.
2844
f5989b06
JJ
28452014-07-16 Jakub Jelinek <jakub@redhat.com>
2846
2847 * omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS
2848 on the FUNCTION_DECL.
2849
3defdb14
RB
28502014-07-16 Richard Biener <rguenther@suse.de>
2851
2852 PR other/61782
2853 * doc/extend.texi (always_inline): Clarify.
2854
a6d0b750
EC
28552014-07-15 Eric Christopher <echristo@gmail.com>
2856
2857 * doc/invoke.texi (Link Options): Document -z option.
2858
286934b4
UB
28592014-07-15 Uros Bizjak <ubizjak@gmail.com>
2860
2861 * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): New.
2862 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
2863
28642014-07-15 Jan Hubicka <hubicka@ucw.cz>
6259a78a
JH
2865
2866 * fold-const.c (fold_checksum_tree): Fix typo in previous patch.
2867
c99c885e
BS
28682014-07-15 Bernd Schmidt <bernds@codesourcery.com>
2869
2870 * asan.c (asan_finish_file): Use varpool_finalize_decl instead of
2871 varpool_assemble_decl.
2872 * varpool.c (varpool_assemble_decl): Assert that node->definition is
2873 true.
2874
441f96ff
MM
28752014-07-15 Michael Matz <matz@suse.de>
2876
2877 PR rtl-optimization/61772
286934b4 2878 * ifcvt.c (dead_or_predicable): Check jump to be free of side effects.
441f96ff 2879
78d22941
RB
28802014-07-15 Richard Biener <rguenther@suse.de>
2881
2882 * opts.c (default_options_table): Disable bit-ccp at -Og.
2883
6ae50642
JH
28842014-07-14 Jan Hubicka <hubicka@ucw.cz>
2885
286934b4 2886 * fold-const.c (fold_checksum_tree): Move checking of DECL_RESULT.
6ae50642 2887
ad115a3c
JH
28882014-07-14 Jan Hubicka <hubicka@ucw.cz>
2889
2890 * tree.c (tree_code_size): Add TRANSLATION_UNIT_DECL,
2891 NAMESPACE_DECL, IMPORTED_DECL and NAMELIST_DECL;
2892 call langhook for unknown declaration.
2893 (find_decls_types_r): Do not walk DECL_ARGUMENT_FLD.
2894 * tree.h (DECL_ARGUMENTS): Update.
2895 * print-tree.c (print_node): Update.
2896 * tree-core.h (tree_decl_non_common): Remove arguments.
2897 (tree_function_decl): Add arguments.
2898
d8e11262
RE
28992014-07-14 Richard Earnshaw <rearnsha@arm.com>
2900
2901 * aarch64.md (add_losym_<mode>): Set type to alu_imm.
2902
236aff72
RB
29032014-07-14 Richard Biener <rguenther@suse.de>
2904
2905 PR tree-optimization/61779
2906 * tree-ssa-copy.c (copy_prop_visit_cond_stmt): Always try
2907 simplifying a condition.
2908
3b57ff81
RB
29092014-07-14 Richard Biener <rguenther@suse.de>
2910
2911 * builtins.c (c_strlen): Make only_value == 2 really only
2912 affect warning generation.
2913
406bfdd3
RB
29142014-07-14 Richard Biener <rguenther@suse.de>
2915
2916 PR tree-optimization/61757
2917 PR tree-optimization/61783
2918 PR tree-optimization/61787
2919 * tree-ssa-dom.c (record_equality): Revert canonicalization
2920 change and add comment.
2921 (propagate_rhs_into_lhs): Revert previous fix, removing
2922 loop depth restriction again.
2923
04ae06da
KT
29242014-07-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2925
2926 * config/arm/cortex-a15.md (cortex_a15_alu): Handle clz, rbit.
2927 * config/arm/cortex-a5.md (cortex_a5_alu): Likewise.
2928 * config/arm/cortex-a53.md (cortex_a53_alu): Likewise.
2929 * config/arm/cortex-a7.md (cortex_a7_alu_reg): Likewise.
2930 * config/arm/cortex-a9.md (cortex_a9_dp): Likewise.
2931 * config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
2932 * config/arm/cortex-r4.md (cortex_r4_alu): Likewise.
2933
0241e486
RB
29342014-07-14 Richard Biener <rguenther@suse.de>
2935
2936 * cgraph.h (decl_in_symtab_p): Make inline.
2937
03e0ad94
JJ
29382014-07-14 Jakub Jelinek <jakub@redhat.com>
2939
b108f48f
JJ
2940 PR middle-end/61294
2941 * doc/invoke.texi (-Wmemset-transposed-args): Document.
2942
03e0ad94
JJ
2943 PR target/61656
2944 * config/i386/i386.c (classify_argument): Don't merge classes above
2945 number of words.
2946
89330618
JH
29472014-07-13 Jan Hubicka <hubicka@ucw.cz>
2948
2949 * cgraph.h (symtab_node): Add nonzero_address.
2950 (decl_in_symtab_p): Break out from ...
2951 (symtab_get_node): ... here.
2952 * fold-const.c: Include cgraph.h
2953 (tree_single_nonzero_warnv_p): Use symtab to determine
2954 if symbol is non-zero.
2955 * symtab.c (symtab_node::nonzero_address): New method.
2956
69dc8208
JH
29572014-07-12 Jan Hubicka <hubicka@ucw.cz>
2958
2959 * ipa-devirt.c (odr_subtypes_equivalent_p): Disable temporary hack
2960 forgotten in previous commit.
2961
c59f7203
JH
29622014-07-12 Jan Hubicka <hubicka@ucw.cz>
2963
2964 * tree.c (type_in_anonymous_namespace_p): Ignore TREE_PUBLIC
2965 on builtin types.
2966 * ipa-devirt.c: Include stor-layout.h and intl.h
2967 (odr_subtypes_equivalent_p): New function.
2968 (warn_odr): New function.
2969 (warn_type_mismatch): New function.
2970 (odr_types_equivalent_p): New function.
2971 (add_type_duplicate): Use it.
2972 * common.opt (Wodr): New flag.
2973 * doc/invoke.texi (Wodr): Document new warning.
2974
917dd9bf
JH
29752014-07-12 Jan Hubicka <hubicka@ucw.cz>
2976
2977 * timevar.def (TV_IPA_LTO_DECL_INIT_IO): Remove.
2978 (TV_IPA_LTO_CTORS_IN, TV_IPA_LTO_CTORS_OUT): New timevar.
2979 * cgraph.c (cgraph_get_body): Push GIMPLE_IN timevar.
2980 (varpool_get_constructor): Push CTORS_IN timevar.
286934b4 2981 * lto-streamer-out.c (lto_output): Push TV_IPA_LTO_CTORS_OUT timevar.
917dd9bf 2982
e0770e2a
UB
29832014-07-12 Uros Bizjak <ubizjak@gmail.com>
2984
2985 * config/i386/i386-builtin-types.def: Add USHORT_FTYPE_VOID.
2986 Remove VOID_FTYPE_PUSHORT.
2987 * config/i386/i386.c (bdesc_special_args) <__builtin_ia32_fnstsw>:
2988 Change code to USHORT_FTYPE_VOID.
2989 (ix86_expand_special_args_builtin): Handle USHORT_FTYPE_VOID.
2990 (ix86_expand_builtin): Remove IX86_BUILTIN_FNSTSW handling.
2991 (ix86_atomic_assign_expand_fenv): Update for
2992 __builtin_ia32_fnstsw changes.
2993 * config/i386/i386.md (x86_fnstsw_1): Set length unconditionally to 2.
2994 (fnstsw): Change operand 0 to nonimmediate operand.
2995
0b83e688
JH
29962014-07-11 Jan Hubicka <hubicka@ucw.cz>
2997
2998 * vapool.c: Include tree-ssa-alias.h, gimple.h and lto-streamer.h
2999 (varpool_get_constructor): New function.
3000 (varpool_ctor_useable_for_folding_p): Break out from ...
3001 (ctor_for_folding): ... here; use varpool_get_constructor.
3002 (varpool_assemble_decl): Likewise.
3003 * lto-streamer.h (struct output_block): Turn cgraph_node
3004 to symbol filed.
3005 (lto_input_variable_constructor): Declare.
3006 * ipa-visibility.c (function_and_variable_visibility): Use
3007 varpool_get_constructor.
3008 * cgraph.h (varpool_get_constructor): Declare.
3009 (varpool_ctor_useable_for_folding_p): New function.
3010 * lto-streamer-out.c (get_symbol_initial_value): Take encoder
3011 parameter; return error_mark_node for non-trivial constructors.
e0770e2a 3012 (lto_write_tree_1, DFS_write_tree): Update use of
0b83e688
JH
3013 get_symbol_initial_value.
3014 (output_function): Update initialization of symbol.
3015 (output_constructor): New function.
3016 (copy_function): Rename to ..
3017 (copy_function_or_variable): ... this one; handle vars too.
3018 (lto_output): Output variable sections.
3019 * lto-streamer-in.c (input_constructor): New function.
3020 (lto_read_body): Rename from ...
e0770e2a 3021 (lto_read_body_or_constructor): ... this one; handle vars too.
0b83e688
JH
3022 (lto_input_variable_constructor): New function.
3023 * ipa-prop.c (ipa_prop_write_jump_functions,
3024 ipa_prop_write_all_agg_replacement): Update.
3025 * lto-cgraph.c (compute_ltrans_boundary): Use it.
3026 (output_cgraph_opt_summary): Set symbol to NULL.
3027
01a92e70
JH
30282014-07-11 Jan Hubicka <hubicka@ucw.cz>
3029
3030 * ipa-prop.c (ipa_binfo_from_known_type_jfunc): In LTO do not walk
3031 non-polymorphic types.
3032 * ipa-cp.c (ipa_get_jf_ancestor_result): Likewise.
3033 * ipa-devirt.c (types_same_for_odr): Do not explode when one
3034 of types is not polymorphic.
3035
12b308fa
VM
30362014-07-11 Vladimir Makarov <vmakarov@redhat.com>
3037
3038 * lra-constraints.c (remove_inheritance_pseudos): Process
3039 destination pseudo too.
3040
68f68004
RX
30412014-07-11 Rong Xu <xur@google.com>
3042
3043 * gcov-tool.c (gcov_output_files): Fix build error introduced in
3044 commit r212448.
3045
cba4ea9e
PS
30462014-07-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
3047
3048 * config/avr/avr-arch.h (avr_mcu_t): Add text section start attribute.
3049 * config/avr/avr-devices.c (AVR_MCU): Same.
3050 (avr_mcu_types): add text start value to end of device list.
3051 * config/avr/avr-mcus.def: Add text section start for all devices.
3052 (ata5782): Add new avr5 device.
3053 (ata5831): Same.
3054 * config/avr/avr-tables.opt: Regenerate.
3055 * config/avr/avr.h: Add declaration for text section start handler.
e0770e2a
UB
3056 (EXTRA_SPEC_FUNCTIONS): Add text section start handler to
3057 SPEC functions.
cba4ea9e
PS
3058 (LINK_SPEC): Include text section start handler to linker spec.
3059 * config/avr/driver-avr.c (avr_device_to_text_start): New function to
e0770e2a
UB
3060 pass -Ttext option to linker if the text section start for the device
3061 is not zero.
cba4ea9e
PS
3062 * config/avr/t-multilib: Regenerate.
3063 * doc/avr-mmcu.texi: Regenerate.
3064
8762d747
DE
30652014-07-11 David Edelsohn <dje.gcc@gmail.com>
3066
3067 * config/rs6000/aix51.h (LINK_SPEC): Remove -bnodelcsect.
3068 * config/rs6000/aix52.h (LINK_SPEC): Same.
3069 * config/rs6000/aix53.h (LINK_SPEC): Same.
3070 * config/rs6000/aix61.h (LINK_SPEC): Same.
3071 * config/rs6000/xcoff.h (MAKE_DECL_ONE_ONLY): Define.
3072
a78cfa7f
RG
30732014-07-11 Roman Gareev <gareevroman@gmail.com>
3074
e0770e2a 3075 * graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): New function.
a78cfa7f
RG
3076 (graphite_verify): New function.
3077 (ivs_params_clear): New function.
3078 (gcc_expression_from_isl_ast_expr_id): New function.
3079 (gcc_expression_from_isl_expr_int): New function.
3080 (binary_op_to_tree): New function.
3081 (ternary_op_to_tree): New function.
3082 (unary_op_to_tree): New function.
3083 (nary_op_to_tree): New function.
3084 (gcc_expression_from_isl_expr_op): New function.
3085 (gcc_expression_from_isl_expression): New function.
3086 (graphite_create_new_loop): New function.
3087 (translate_isl_ast_for_loop): New function.
3088 (get_upper_bound): New function.
3089 (graphite_create_new_loop_guard): New function.
3090 (translate_isl_ast_node_for): New function.
3091 (translate_isl_ast): New function.
3092 (add_parameters_to_ivs_params): New function.
3093 (scop_to_isl_ast): New parameter ip.
3094 (graphite_regenerate_ast_isl): Add generation of GIMPLE code.
3095
0218574f
JH
30962014-07-11 Jan Hubicka <hubicka@ucw.cz>
3097
3098 * config/xtensa/predicates.md (call expander): Update for
3099 DECL_SECTION_NAME being string.
3100
21e8fb22
RB
31012014-07-11 Richard Biener <rguenther@suse.de>
3102
3103 PR middle-end/61473
e0770e2a
UB
3104 * builtins.c (fold_builtin_memory_op): Inline memory moves that
3105 can be implemented with a single load followed by a single store.
21e8fb22
RB
3106 (c_strlen): Only warn when only_value is not 2.
3107
53f5803e
ES
31082014-07-11 Evgeny Stupachenko <evstupac@gmail.com>
3109
3110 * config/i386/i386.c (expand_vec_perm_pblendv): Disable for AVX.
3111
d1c1cbd5
MZ
31122014-07-11 Marat Zakirov <m.zakirov@samsung.com>
3113
3114 PR target/61561
3115 * config/arm/arm.md (*movhi_insn_arch4): Handle stack pointer.
3116 (*movhi_bytes): Likewise.
e0770e2a 3117 (*arm_movqi_insn): Likewise.
d1c1cbd5 3118
4bdf6418
UB
31192014-07-11 Uros Bizjak <ubizjak@gmail.com>
3120
3121 PR target/56858
3122 * config/alpha/alpha.c: Include tree-pass.h, context.h
3123 and pass_manager.h.
3124 (pass_data_handle_trap_shadows): New pass.
3125 (pass_handle_trap_shadows::gate): New pass gate function.
3126 (make_pass_handle_trap_shadows): New function.
3127 (rest_of_handle_trap_shadows): Ditto.
3128
3129 (alpha_align_insns_1): Rename from alpha_align_insns.
3130 (pass_data_align_insns): New pass.
3131 (pass_align_insns::gate): New pass gate function.
3132 (make_pass_aling_insns): New function.
3133 (rest_of_align_insns): Ditto.
3134 (alpha_align_insns): Ditto.
3135
3136 (alpha_option_override): Declare handle_trap_shadows info
3137 and align_insns_info. Register handle_trap_shadows and align_insns
3138 passes here.
3139 (alpha_reorg): Do not call alpha_trap_shadows and
3140 alpha_align_insn from here.
3141
3142 (alpha_pad_function_end): Do not skip BARRIERs.
3143
c77556a5
RX
31442014-07-10 Rong Xu <xur@google.com>
3145
4bdf6418 3146 Add gcov-tool: an offline gcda profile processing tool support.
c77556a5
RX
3147 * gcov-io.c (gcov_position): Make avaialble to gcov-tool.
3148 (gcov_is_error): Ditto.
3149 (gcov_read_string): Ditto.
3150 (gcov_read_sync): Ditto.
3151 * gcov-io.h: Move counter defines to gcov-counter.def.
3152 * gcov-dump.c (tag_counters): Use gcov-counter.def.
3153 * coverage.c: Ditto.
3154 * gcov-tool.c: Offline gcda profile processing tool.
3155 (unlink_gcda_file): Remove one gcda file.
3156 (unlink_profile_dir): Remove gcda files from the profile path.
3157 (gcov_output_files): Output gcda files to an output dir.
3158 (profile_merge): Merge two profiles in directory.
3159 (print_merge_usage_message): Print merge usage.
3160 (merge_usage): Print merge usage and exit.
3161 (do_merge): Driver for profile merge sub-command.
3162 (profile_rewrite): Rewrite profile.
3163 (print_rewrite_usage_message): Print rewrite usage.
3164 (rewrite_usage): Print rewrite usage and exit.
3165 (do_rewrite): Driver for profile rewrite sub-command.
3166 (print_usage): Print gcov-info usage and exit.
3167 (print_version): Print gcov-info version.
3168 (process_args): Process arguments.
3169 (main): Main routine for gcov-tool.
3170 * Makefile.in: Build and install gcov-tool.
3171 * gcov-counter.def: New file split from gcov-io.h.
3172 * doc/gcc.texi: Include gcov-tool.texi.
3173 * doc/gcov-tool.texi: Document for gcov-tool.
3174
218e53ea
RB
31752014-07-10 Richard Biener <rguenther@suse.de>
3176
3177 PR tree-optimization/61757
3178 * tree-ssa-dom.c (loop_depth_of_name): Restore.
3179 (propagate_rhs_into_lhs): Revert part of last change.
3180
f9abc06c
TS
31812014-07-10 Thomas Schwinge <thomas@codesourcery.com>
3182
3183 * fold-const.c (fold_checksum_tree): Look at DECL_VINDEX only for
3184 FUNCTION_DECLs.
3185
d764963b
EB
31862014-07-10 Eric Botcazou <ebotcazou@adacore.com>
3187
3188 PR middle-end/53590
3189 * function.c (allocate_struct_function): Revert r188667 change.
3190
3191 * gimple-low.c (lower_builtin_setjmp): Use properly-typed constant.
3192
64d57736
TC
31932014-07-10 Tom G. Christensen <tgc@jupiterrise.com>
3194
3195 * doc/install.texi: Remove links to defunct package providers for
3196 Solaris.
3197
e5718043
TV
31982014-07-09 Tom de Vries <tom@codesourcery.com>
3199
4bdf6418
UB
3200 * final.c (get_call_fndecl): Declare.
3201 (self_recursive_call_p): New function.
3202 (collect_fn_hard_reg_usage): Handle self-recursive function calls.
e5718043 3203
958c1d61
JH
32042014-07-08 Jan Hubicka <hubicka@ucw.cz>
3205
3206 * ipa-devirt.c (record_node): Walk through aliases.
3207
da22f505
JH
32082014-07-08 Jan Hubicka <hubicka@ucw.cz>
3209
3210 * lto-streamer-out.c (hash_scc): Avoid quadratic hashing loop.
3211
1469344a
JH
32122014-07-08 Jan Hubicka <hubicka@ucw.cz>
3213
3214 Revert:
3215 * stor-layout.c (finish_builtin_struct): Copy fields into the variants.
3216
ef68f4ab
JH
32172014-07-08 Jan Hubicka <hubicka@ucw.cz>
3218
3219 * ipa-visibility.c (function_and_variable_visibility): Remove
3220 temporary hack disabling local aliases on AIX.
3221
8ad274d2
JH
32222014-07-08 Jan Hubicka <hubicka@ucw.cz>
3223
3224 * ipa-cp.c (devirtualization_time_bonus): Walk through aliases.
3225 * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Likewise.
3226
9af46873
JH
32272014-07-08 Jan Hubicka <hubicka@ucw.cz>
3228
3229 * rs6000/rs6000-protos.h (rs6000_xcoff_declare_object_name): Declare.
3230 * rs6000/rs6000.c: Inline output of .set instruction.
3231 (declare_alias_data): New struct.
3232 (rs6000_declare_alias): New function.
3233 (rs6000_xcoff_declare_function_name): Use it.
3234 (rs6000_xcoff_declare_object_name): New function.
3235 * config/rs6000/xcoff.h: Define ASM_DECLARE_OBJECT_NAME.
3236 (ASM_OUTPUT_DEF): Turn to empty definition.
3237
e4e01495
TS
32382014-07-08 Trevor Saunders <tsaunders@mozilla.com>
3239
3240 PR bootstrap/61679
4bdf6418
UB
3241 * hash-table.h: use hash_table::value_type instead of
3242 Descriptor::value_type in the return types of several methods.
e4e01495 3243
558d2559
TS
32442014-07-08 Trevor Saunders <tsaunders@mozilla.com>
3245
3246 * tree-pass.h (pass_data): Remove has_execute member.
3247 * passes.c (execute_one_pass): Don't check pass->has_execute.
3248 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
3249 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
3250 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
3251 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
3252 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
3253 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
3254 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
3255 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
3256 gimple-low.c, gimple-ssa-isolate-paths.c,
3257 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
3258 ipa-comdats.c, ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c,
3259 ipa-inline.c, ipa-profile.c, ipa-pure-const.c, ipa-reference.c,
3260 ipa-split.c, ipa-visibility.c, ipa.c, ira.c, jump.c, loop-init.c,
3261 lower-subreg.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
3262 postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
3263 reg-stack.c, regcprop.c, reginfo.c, regrename.c, reorg.c, sched-rgn.c,
3264 stack-ptr-mod.c, store-motion.c, tracer.c, trans-mem.c,
3265 tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c, tree-complex.c,
3266 tree-eh.c, tree-emutls.c, tree-if-conv.c, tree-into-ssa.c,
3267 tree-loop-distribution.c, tree-nrv.c, tree-object-size.c,
3268 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
3269 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
3270 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
3271 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
3272 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
3273 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
3274 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
3275 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
3276 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
3277 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
3278 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
3279 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c,
3280 web.c: Remove initializer for pass_data::has_execute.
3281
f98df77c
TS
32822014-07-08 Trevor Saunders <tsaunders@mozilla.com>
3283
3284 * graphite-htab.h: Use hash_map instead of hash_table.
3285 * graphite-clast-to-gimple.c: Adjust.
3286 * passes.c: Use hash_map instead of hash_table.
3287 * sese.c: Likewise.
3288 * sese.h: Remove now unused code.
3289
dc58164b
ST
32902014-07-08 Sriraman Tallam <tmsriram@google.com>
3291
3292 PR target/61599
3293 * config/i386/i386.c (ix86_in_large_data_p): Check for size less
3294 than zero.
3295
7e6d8fd9
JJ
32962014-07-08 Jakub Jelinek <jakub@redhat.com>
3297
3298 PR rtl-optimization/61673
3299 * combine.c (simplify_comparison): Test just mode's sign bit
3300 in tmode rather than the sign bit and any bits above it.
3301
e4a452b2
RG
33022014-07-08 Roman Gareev <gareevroman@gmail.com>
3303
3304 * graphite-isl-ast-to-gimple.c (generate_isl_context):
3305 Add __isl_give to the declaration.
3306 (generate_isl_schedule): Likewise.
3307 (scop_to_isl_ast): Likewise.
3308
b2c06385
KT
33092014-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3310
3311 * config/arm/arm.c (cortexa5_extra_costs): New table.
3312 (arm_cortex_a5_tune): Use cortexa5_extra_costs.
3313
b48e3948
JJ
33142014-07-08 Jakub Jelinek <jakub@redhat.com>
3315
3316 PR tree-optimization/61725
3317 * tree-vrp.c (extract_range_basic): Don't assume vr0 is unsigned
3318 range, use range_includes_zerop_p instead of integer_zerop on
3319 vr0->min, only use log2 of max if min is not negative.
3320
a59d8e8e
RB
33212014-07-08 Richard Biener <rguenther@suse.de>
3322
3323 * tree-ssa-dom.h (loop_depth_of_name): Remove.
3324 * tree-ssa-dom.c (record_equivalences_from_phis): Remove
3325 restriction on loop depth difference.
3326 (record_equality): Likewise.
3327 (propagate_rhs_into_lhs): Likewise. Simplify condition.
3328 (loop_depth_of_name): Remove.
3329 * tree-ssa-copy.c (copy_prop_visit_phi_node): Remove
3330 restriction on loop depth difference.
3331 (init_copy_prop): Likewise.
3332
70f633c5
JH
33332014-07-08 Jan Hubicka <hubicka@ucw.cz>
3334
3335 * tree-ssa-alias.c (walk_aliased_vdefs_1): Add FUNCTION_ENTRY_REACHED
3336 parameter.
3337 (walk_aliased_vdefs): Likewise.
3338 * tree-ssa-alias.h (walk_aliased_vdefs): Likewise.
3339 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers
3340 (detect_type_change_from_memory_writes): Check if entry was reached.
3341
e8e938e0
RB
33422014-07-08 Richard Biener <rguenther@suse.de>
3343
3344 PR tree-optimization/61681
3345 * tree-ssa-structalias.c (find_what_var_points_to): Expand
3346 NONLOCAL inside ESCAPED.
3347
e33f43b9
RB
33482014-07-08 Richard Biener <rguenther@suse.de>
3349
3350 PR tree-optimization/61680
3351 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
3352 Handle properly all read-write dependences with group accesses.
3353
0f6284d2
YR
33542014-07-08 Yuri Rumyantsev <ysrumyan@gmail.com>
3355
3356 PR tree-optimization/61576
4bdf6418
UB
3357 * tree-if-conv.c (is_cond_scalar_reduction): Add check that basic
3358 block containing reduction statement is predecessor of phi basi block.
0f6284d2 3359
605f12f4
MP
33602014-07-08 Marek Polacek <polacek@redhat.com>
3361
3362 PR c/60226
3363 * fold-const.c (round_up_loc): Change the parameter type.
3364 Remove assert.
3365 * fold-const.h (round_up_loc): Adjust declaration.
3366 * stor-layout.c (finalize_record_size): Check for too large types.
3367
72732f3e
JH
33682014-07-07 Jan Hubicka <hubicka@ucw.cz>
3369
4bdf6418
UB
3370 * symtab.c: Include calls.h.
3371 (symtab_nonoverwritable_alias_1): Check sanity of the local alias.
72732f3e 3372
3ca588d3
MR
33732014-07-07 Maciej W. Rozycki <macro@codesourcery.com>
3374
3375 * config/rs6000/rs6000.c (output_vec_const_move): Handle
3376 little-endian code generation.
3377 * config/rs6000/spe.md (spe_evmergehi): Rename to...
4bdf6418 3378 (vec_perm00_v2si): ... this. Handle little-endian code generation.
3ca588d3 3379 (spe_evmergehilo): Rename to...
4bdf6418 3380 (vec_perm01_v2si): ... this. Handle little-endian code generation.
3ca588d3 3381 (spe_evmergelo): Rename to...
4bdf6418 3382 (vec_perm11_v2si): ... this. Handle little-endian code generation.
3ca588d3 3383 (spe_evmergelohi): Rename to...
4bdf6418 3384 (vec_perm10_v2si): ... this. Handle little-endian code generation.
3ca588d3
MR
3385 (spe_evmergehi, spe_evmergehilo): New expanders.
3386 (spe_evmergelo, spe_evmergelohi): Likewise.
4bdf6418 3387 (*frob_<SPE64:mode>_<DITI:mode>): Handle little-endian code generation.
3ca588d3
MR
3388 (*frob_tf_ti): Likewise.
3389 (*frob_<mode>_di_2): Likewise.
3390 (*frob_tf_di_8_2): Likewise.
3391 (*frob_di_<mode>): Likewise.
3392 (*frob_ti_tf): Likewise.
3393 (*frob_<DITI:mode>_<SPE64:mode>_2): Likewise.
3394 (*frob_ti_<mode>_8_2): Likewise.
3395 (*frob_ti_tf_2): Likewise.
3396 (mov_si<mode>_e500_subreg0): Rename to...
3397 (mov_si<mode>_e500_subreg0_be): ... this. Restrict to the big
3398 endianness only.
3399 (*mov_si<mode>_e500_subreg0_le): New instruction pattern.
3400 (*mov_si<mode>_e500_subreg0_elf_low): Rename to...
4bdf6418 3401 (*mov_si<mode>_e500_subreg0_elf_low_be): ... this. Restrict to
3ca588d3
MR
3402 the big endianness only.
3403 (*mov_si<mode>_e500_subreg0_elf_low_le): New instruction pattern.
3404 (*mov_si<mode>_e500_subreg0_2): Rename to...
3405 (*mov_si<mode>_e500_subreg0_2_be): ... this. Restrict to the
3406 big big endianness only.
3407 (*mov_si<mode>_e500_subreg0_2_le): New instruction pattern.
3408 (*mov_si<mode>_e500_subreg4): Rename to...
3409 (*mov_si<mode>_e500_subreg4_be): ... this. Restrict to the big
3410 endianness only.
3411 (mov_si<mode>_e500_subreg4_le): New instruction pattern.
3412 (*mov_si<mode>_e500_subreg4_elf_low): Rename to...
3413 (*mov_si<mode>_e500_subreg4_elf_low_be): ... this. Restrict to
3414 the big endianness only.
3415 (*mov_si<mode>_e500_subreg4_elf_low_le): New instruction/splitter
3416 pattern.
3417 (*mov_si<mode>_e500_subreg4_2): Rename to...
3418 (*mov_si<mode>_e500_subreg4_2_be): ... this. Restrict to the big
3419 endianness only.
3420 (*mov_si<mode>_e500_subreg4_2_le): New instruction pattern.
3421 (*mov_sitf_e500_subreg8): Rename to...
3422 (*mov_sitf_e500_subreg8_be): ... this. Restrict to the big
3423 endianness only.
3424 (*mov_sitf_e500_subreg8_le): New instruction pattern.
3425 (*mov_sitf_e500_subreg8_2): Rename to...
3426 (*mov_sitf_e500_subreg8_2_be): ... this. Restrict to the big
3427 endianness only.
3428 (*mov_sitf_e500_subreg8_2_le): New instruction pattern.
3429 (*mov_sitf_e500_subreg12): Rename to...
3430 (*mov_sitf_e500_subreg12_be): ... this. Restrict to the big
3431 endianness only.
3432 (*mov_sitf_e500_subreg12_le): New instruction pattern.
3433 (*mov_sitf_e500_subreg12_2): Rename to...
3434 (*mov_sitf_e500_subreg12_2_be): ... this. Restrict to the big
3435 endianness only.
3436 (*mov_sitf_e500_subreg12_2_le): New instruction pattern.
3437
e7623929 34382014-07-07 Max Ostapenko <m.ostapenko@partner.samsung.com>
0f05a199 3439
4bdf6418
UB
3440 * asan.c (instrument_strlen_call): Do not instrument first byte
3441 in strlen if already instrumented.
0f05a199 3442
8adb5dc7
KT
34432014-07-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3444
3445 * config/arm/arm.opt (mwords-little-endian): Delete.
3446 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Remove handling
3447 of TARGET_LITTLE_WORDS.
3448 (WORDS_BIG_ENDIAN): Define to BYTES_BIG_ENDIAN.
3449 * config/arm/arm.c (arm_option_override): Remove TARGET_LITTLE_WORDS
3450 warning.
3451 * doc/invoke.texi: Remove references to -mwords-little-endian.
3452
c83cf304
JJ
34532014-07-07 Jakub Jelinek <jakub@redhat.com>
3454
3455 * expmed.c (struct init_expmed_rtl): Change all fields but
3456 pow2 and cint from struct rtx_def to rtx.
3457 (init_expmed_one_conv, init_expmed_one_mode): Adjust for that change.
3458 (init_expmed): Likewise. Allocate all the 18 rtxes and ggc_free them
3459 at the end again.
3460
773ec47f
MP
34612014-07-06 Marek Polacek <polacek@redhat.com>
3462
3463 PR c/6940
3464 * doc/invoke.texi: Document -Wsizeof-array-argument.
3465
a4ff2ef3
GP
34662014-07-05 Gerald Pfeifer <gerald@pfeifer.com>
3467
88e03ffe 3468 * wide-int.h (wide_int_storage): Change declaration from struct
a4ff2ef3
GP
3469 to class.
3470
88e03ffe 34712014-07-05 Jan Hubicka <hubicka@ucw.cz>
058d0a90
JH
3472
3473 * cgraph.c (cgraph_create_indirect_edge): Update call of
3474 get_polymorphic_call_info.
3475 * ipa-utils.h (get_polymorphic_call_info): Add parameter CALL.
3476 (possible_polymorphic_call_targets): Add parameter call.
3477 (decl_maybe_in_construction_p): New predicate.
3478 (get_polymorphic_call_info): Add parameter call;
3479 use decl_maybe_in_construction_p.
3480 * gimple-fold.c (fold_gimple_assign): Update use of
3481 possible_polymorphic_call_targets.
3482 (gimple_fold_call): Likewise.
3483 * ipa-prop.c: Inlcude calls.h
3484 (ipa_binfo_from_known_type_jfunc): Check that known type is record.
3485 (param_type_may_change_p): New predicate.
3486 (detect_type_change_from_memory_writes): Break out from ...
88e03ffe 3487 (detect_type_change): ... this one; use param_type_may_change_p.
058d0a90
JH
3488 (detect_type_change_ssa): Use param_type_may_change_p.
3489 (compute_known_type_jump_func): Use decl_maybe_in_construction_p.
3490
aed773a2
CB
34912014-07-05 Charles Baylis <charles.baylis@linaro.org>
3492
3493 PR target/49423
3494 * config/arm/arm-protos.h (arm_legitimate_address_p,
3495 arm_is_constant_pool_ref): Add prototypes.
3496 * config/arm/arm.c (arm_legitimate_address_p): Remove static.
3497 (arm_is_constant_pool_ref) New function.
3498 * config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6,
3499 arm_zero_extendqisi2_v6): Use Uh constraint for memory operand.
3500 (arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory
3501 operand. Remove pool_range and neg_pool_range attributes.
3502 (arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove
3503 pool_range and neg_pool_range attributes.
3504 * config/arm/constraints.md (Uh): New constraint.
3505 (Uq): Don't allow constant pool references.
3506
5a908485
JG
35072014-07-04 James Greenhalgh <james.greenhalgh@arm.com>
3508
3509 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): New.
3510 (move_lo_quad_internal_be_<mode>): Likewise.
3511 (move_lo_quad_<mode>): Convert to define_expand.
3512 (aarch64_simd_move_hi_quad_<mode>): Gate on BYTES_BIG_ENDIAN.
3513 (aarch64_simd_move_hi_quad_be_<mode>): New.
3514 (move_hi_quad_<mode>): Use appropriate insn for BYTES_BIG_ENDIAN.
3515 (aarch64_combinez<mode>): Gate on BYTES_BIG_ENDIAN.
3516 (aarch64_combinez_be<mode>): New.
3517 (aarch64_combine<mode>): Convert to define_expand.
3518 (aarch64_combine_internal<mode>): New.
3519 (aarch64_simd_combine<mode>): Remove bogus RTL description.
3520
34386e79
TV
35212014-07-04 Tom de Vries <tom@codesourcery.com>
3522
3523 * doc/md.texi (@subsection Constraint Modifier Characters): Clarify
3524 combination of earlyclobber and read/write modifiers.
3525
7973ca62
TV
35262014-07-04 Tom de Vries <tom@codesourcery.com>
3527
3528 * config/aarch64/aarch64-simd.md
3529 (define_insn "vec_unpack_trunc_<mode>"): Fix constraint.
3530
9815fafa
RE
35312014-07-04 Richard Earnshaw <rearnsha@arm.com>
3532
3533 PR target/61714
88e03ffe 3534 * config/aarch64/aarch64.h (OPTION_DEFAULT_SPECS): Define.
9815fafa 3535
14e000de
JJ
35362014-07-04 Jakub Jelinek <jakub@redhat.com>
3537
253eab4f
JJ
3538 PR middle-end/61654
3539 * cgraphunit.c (expand_thunk): Call free_dominance_info.
3540
14e000de
JJ
3541 PR tree-optimization/61684
3542 * tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure
3543 rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it.
3544
17bf6d25
CJW
35452014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
3546 Kito Cheng <kito@0xlab.org>
3547 Monk Chiang <sh.chiang04@gmail.com>
3548
3549 * config/nds32/nds32.c (nds32_have_prologue_p): Move to ...
3550 (nds32_symbol_load_store_p): Move to ...
3551 (nds32_fp_as_gp_check_available): Move to ...
3552 * config/nds32/nds32-fp-as-gp.c: ... here.
3553 * config/nds32/nds32-protos.h (nds32_symbol_load_store_p): Remove
3554 extern declaration.
3555
f1fac1bc
CJW
35562014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
3557 Kito Cheng <kito@0xlab.org>
3558 Monk Chiang <sh.chiang04@gmail.com>
3559
3560 * config/nds32/nds32.c (nds32_expand_load_multiple): Move to ...
3561 (nds32_expand_store_multiple): Move to ...
3562 (nds32_expand_movmemqi): Move to ...
3563 * config/nds32/nds32-memory-manipulation.c: ... here.
3564
9e9dbc42
CJW
35652014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
3566 Kito Cheng <kito@0xlab.org>
3567 Monk Chiang <sh.chiang04@gmail.com>
3568
3569 * config/nds32/nds32.c (nds32_byte_to_size): Move to ...
3570 (nds32_output_casesi_pc_relative): Move to ...
3571 (nds32_output_casesi): Move to ...
3572 (nds32_mem_format): Move to ...
3573 (nds32_output_16bit_store): Move to ...
3574 (nds32_output_16bit_load): Move to ...
3575 (nds32_output_32bit_store): Move to ...
3576 (nds32_output_32bit_load): Move to ...
3577 (nds32_output_32bit_load_s): Move to ...
3578 (nds32_output_stack_push): Move to ...
3579 (nds32_output_stack_pop): Move to ...
3580 * config/nds32/nds32-md-auxiliary.c: ... here.
3581
c65cef10
CJW
35822014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
3583 Ling-Hua Tseng <uranus@tinlans.org>
3584
3585 * config/nds32/nds32-pipelines-auxiliary.c: Add comment to describe
3586 the purpose of this file.
3587
89a4b547
CJW
35882014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
3589 Kito Cheng <kito@0xlab.org>
3590 Monk Chiang <sh.chiang04@gmail.com>
3591
3592 * config/nds32/nds32.c (nds32_rtx_costs): Move implementation to ...
3593 (nds32_address_cost): Move implementation to ...
3594 * config/nds32/nds32-cost.c: ... here.
3595 * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Declare.
3596 (nds32_address_cost_impl): Declare.
3597
6a2a98b1
CJW
35982014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
3599 Kito Cheng <kito@0xlab.org>
3600 Monk Chiang <sh.chiang04@gmail.com>
3601
3602 * config/nds32/nds32.c
3603 (nds32_consecutive_registers_load_store_p): Move to ...
3604 (nds32_valid_multiple_load_store): Move to ...
3605 (nds32_valid_stack_push_pop): Move to ...
3606 (nds32_can_use_bclr_p): Move to ...
3607 (nds32_can_use_bset_p): Move to ...
3608 (nds32_can_use_btgl_p): Move to ...
3609 (nds32_can_use_bitci_p): Move to ...
3610 * config/nds32/nds32-predicates.c: ... here.
3611
aaa44d2d
CJW
36122014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
3613 Kito Cheng <kito@0xlab.org>
3614 Monk Chiang <sh.chiang04@gmail.com>
3615
3616 * config/nds32/nds32.c
3617 (nds32_expand_builtin_null_ftype_reg): Move to ...
3618 (nds32_expand_builtin_reg_ftype_imm): Move to ...
3619 (nds32_expand_builtin_null_ftype_reg_imm): Move to ...
3620 (nds32_init_builtins): Move implementation to ...
3621 (nds32_expand_builtin): Move implementation to ...
3622 * config/nds32/nds32-intrinsic.c: ... here.
3623 * config/nds32/nds32-protos.h (nds32_init_builtins_impl): Declare.
3624 (nds32_expand_builtin_impl): Declare.
3625
c23a919b
CJW
36262014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
3627 Kito Cheng <kito@0xlab.org>
3628 Monk Chiang <sh.chiang04@gmail.com>
3629
3630 * config/nds32/nds32.c (nds32_emit_section_head_template): Move to ...
3631 (nds32_emit_section_tail_template): Move to ...
3632 (nds32_emit_isr_jmptbl_section): Move to ...
3633 (nds32_emit_isr_vector_section): Move to ...
3634 (nds32_emit_isr_reset_conten): Move to ...
3635 (nds32_check_isr_attrs_conflict): Move to ...
3636 (nds32_construct_isr_vectors_information): Move to ...
3637 (nds32_asm_file_start): Move implementation to ...
3638 (nds32_asm_file_end): Move implementation to ...
3639 * config/nds32/nds32-isr.c: ... here.
3640 * config/nds32/nds32-protos.h
3641 (nds32_check_isr_attrs_conflict): Declare.
3642 (nds32_construct_isr_vectors_information): Declare.
3643 (nds32_asm_file_start_for_isr): Declare.
3644 (nds32_asm_file_end_for_isr): Declare.
3645
c0c935b5
CJW
36462014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
3647 Kito Cheng <kito@0xlab.org>
3648 Monk Chiang <sh.chiang04@gmail.com>
3649
3650 * config.gcc (nds32*): Add new modules to extra_objs.
3651 (nds32le-*-*): Use t-nds32 makefile fragment for new modules.
3652 (nds32be-*-*): Likewise.
3653 * config/nds32/nds32-cost.c: New file.
3654 * config/nds32/nds32-fp-as-gp.c: New file.
3655 * config/nds32/nds32-intrinsic.c: New file.
3656 * config/nds32/nds32-isr.c: New file.
3657 * config/nds32/nds32-md-auxiliary.c: New file.
3658 * config/nds32/nds32-memory-manipulation.c: New file.
3659 * config/nds32/nds32-pipelines-auxiliary.c: New file.
3660 * config/nds32/nds32-predicates.c: New file.
3661 * config/nds32/t-nds32: New file.
3662
c01d6ad9
JJ
36632014-07-03 Jakub Jelinek <jakub@redhat.com>
3664
3665 PR tree-optimization/61682
88e03ffe
UB
3666 * wide-int.cc (wi::mul_internal): Handle high correctly for umul_ppmm
3667 using cases and when one of the operands is equal to 1.
c01d6ad9 3668
9e5f78f1
SB
36692014-07-03 Segher Boessenkool <segher@kernel.crashing.org>
3670
3671 * config/rs6000/rs6000.md (rotl<mode>3, ashl<mode>3, lshr<mode>3,
3672 ashr<mode>3): Correct mode of operands[2].
3673 (rotl<mode>3_dot, rotl<mode>3_dot2, ashl<mode>3_dot, ashl<mode>3_dot2,
3674 lshr<mode>3_dot, lshr<mode>3_dot2, ashr<mode>3_dot, ashr<mode>3_dot2):
3675 Correct mode of operands[2]. Fix split condition.
3676
a89b02c0
RE
36772014-07-03 Richard Earnshaw <rearnsha@arm.com>
3678
3679 * arm.md (arch): Add armv6_or_vfpv3.
3680 (arch_enabled): Add test for the above.
3681 * vfp.md (divsf_vfp, divdf_vfp): Add earlyclobber when code can run
3682 on VFP9.
3683 (sqrtsf_vfp, sqrtdf_vfp): Likewise.
88e03ffe 3684
00a7ba58
JJ
36852014-07-03 Jakub Jelinek <jakub@redhat.com>
3686
3687 * gcov-io.c (gcov_read_words): Don't call memmove if excess is 0.
3688 * data-streamer-in.c (streamer_read_hwi): Shift UHWI 1 instead of
3689 HWI 1 and negate the unsigned value.
3690 * expmed.c (expand_sdiv_pow2): For modes wider than word always
3691 use AND instead of shift.
3692 * wide-int-print.cc (print_decs): Negate UHWI instead of HWI.
3693
e71d7987
MP
36942014-07-03 Marek Polacek <polacek@redhat.com>
3695
3696 * doc/invoke.texi (-fsanitize=bounds): Tweak wording.
3697 (-fsanitize=float-divide-by-zero): Move to the table with
3698 -fsanitize=undefined suboptions.
3699 (-fsanitize=float-cast-overflow): Likewise.
3700
283bbe35
MR
37012014-07-03 Maciej W. Rozycki <macro@codesourcery.com>
3702
3703 * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Use
3704 BYTES_BIG_ENDIAN rather than WORDS_BIG_ENDIAN to check for byte
3705 endianness.
3706
e42e3d15
ZC
37072014-07-03 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3708
3709 * loop-invariant.c (struct invariant): Add a new member: eqno;
3710 (find_identical_invariants): Update eqno;
3711 (create_new_invariant): Init eqno;
3712 (get_inv_cost): Compute comp_cost with eqno;
3713
4ed3092f
SB
37142014-07-02 Segher Boessenkool <segher@kernel.crashing.org>
3715
3716 * genconfig.c (have_rotate_flag, have_rotatert_flag): New variables.
3717 (walk_insn_part) <ROTATE, ROTATERT>: New cases.
3718 (main): Conditionally write HAVE_rotate resp. HAVE_rotatert.
3719 * simplify-rtx.c (simplify_binary_operation_1) <ROTATE, ROTATERT>:
3720 Only do the transformation if both HAVE_rotate and HAVE_rotatert.
3721
cbb1e3d9
CB
37222014-07-02 Christian Bruel <christian.bruel@st.com>
3723
513c5c74
CB
3724 PR target/29349
3725 PR target/53513
cbb1e3d9
CB
3726 * mode-switching.c (struct bb_info): Add mode_out, mode_in caches.
3727 (make_preds_opaque): Delete.
3728 (clear_mode_bit, mode_bit_p, set_mode_bit): New macros.
3729 (commit_mode_sets): New function.
3730 (optimize_mode_switching): Handle current_mode to mode_switching_emit.
3731 Process all modes at once.
3732 * basic-block.h (pre_edge_lcm_avs): Declare.
3733 * lcm.c (pre_edge_lcm_avs): Renamed from pre_edge_lcm.
3734 Call clear_aux_for_edges. Fix comments.
3735 (pre_edge_lcm): New wrapper function to call pre_edge_lcm_avs.
3736 (pre_edge_rev_lcm): Idem.
88e03ffe
UB
3737 * config/epiphany/epiphany.c (emit_set_fp_mode): Add prev_mode
3738 parameter.
cbb1e3d9 3739 * config/epiphany/epiphany-protos.h (emit_set_fp_mode): Idem.
88e03ffe
UB
3740 * config/epiphany/resolve-sw-modes.c (pass_resolve_sw_modes::execute):
3741 Idem.
cbb1e3d9
CB
3742 * config/i386/i386.c (x96_emit_mode_set): Idem.
3743 * config/sh/sh.c (sh_emit_mode_set): Likewise. Handle PR toggle.
3744 * config/sh/sh.md (toggle_pr): Defined if TARGET_FPU_SINGLE.
3745 (fpscr_toggle) Disallow from delay slot.
3746 * target.def (emit_mode_set): Add prev_mode parameter.
3747 * doc/tm.texi: Regenerate.
3748
c9d1a16a
KT
37492014-07-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3750
3751 * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Delete unused
3752 variable i.
3753
622cd23a 37542014-07-01 Jan Hubicka <hubicka@ucw.cz>
d570d364
JH
3755
3756 * ipa-utils.h (method_class_type, vtable_pointer_value_to_binfo,
3757 vtable_pointer_value_to_vtable): Constify.
3758 (contains_polymorphic_type_p): Declare.
3759 * ipa-devirt.c (method_class_type, vtable_pointer_value_to_binfo,
3760 vtable_pointer_value_to_vtable): Constify.
3761 (contains_polymorphic_type_p): New predicate.
3762 * ipa-prop.c (ipa_set_jf_known_type): Allow types containing
3763 polymorphic types.
3764 (ipa_set_ancestor_jf): Likewise.
3765 (detect_type_change): Return false in easy cases.
3766 (compute_complex_assign_jump_func): Require type to contain
3767 polymorphic type.
3768 (compute_known_type_jump_func): Likewise.
3769
622cd23a 37702014-07-01 Jan Hubicka <hubicka@ucw.cz>
549bcbd1 3771
88e03ffe
UB
3772 * tree.c (decls_same_for_odr, decls_same_for_odr, types_same_for_odr):
3773 Remove.
549bcbd1 3774 (type_in_anonymous_namespace_p): Constify argument.
88e03ffe 3775 * tree.h (types_same_for_odr, type_in_anonymous_namespace_p): Constify.
549bcbd1
JH
3776 * ipa-devirt.c (odr_type_d): Add ODR_VIOLATED field.
3777 (main_odr_variant): New function.
3778 (hash_type_name): Make static; update assert; do not ICE on
3779 non-records.
88e03ffe
UB
3780 (types_same_for_odr): Bring here from tree.c; simplify and remove
3781 old structural comparing code that doesn't work for templates.
549bcbd1
JH
3782 (odr_hasher::equal): Update assert.
3783 (add_type_duplicate): Return true when bases should be computed;
3784 replace incomplete loader by complete; do not output duplicated
3785 warnings; do not ICE on non-records; set odr_violated flag.
3786 (get_odr_type): Be ready to replace incomplete type by complete
3787 one; work on ODR variants instead of main variants; reorder item
3788 in array so bases have still smaller indexes.
88e03ffe 3789 (dump_type_inheritance_graph): Be ready for holdes in odr_types array.
549bcbd1
JH
3790 (possible_polymorphic_call_targets): Do not ICE when BINFO is NULL.
3791
25eff60d
CC
37922014-07-01 Cary Coutant <ccoutant@google.com>
3793
3794 * dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table
88e03ffe 3795 lookup.
25eff60d 3796 (resolve_addr_in_expr): When replacing the rtx in a location list
88e03ffe 3797 entry, get a new address table entry.
25eff60d 3798 (dwarf2out_finish): Call index_location_lists even if there are no
88e03ffe 3799 addr_index_table entries yet.
25eff60d 3800
6ab56804
TS
38012014-07-01 Trevor Saunders <tsaunders@mozilla.com>
3802
3803 * config/i386/winnt.c (i386_pe_section_type_flags): Revert previous
3804 change for not being obvious.
3805
5c9130b3
TS
38062014-07-01 Trevor Saunders <tsaunders@mozilla.com>
3807
3808 * config/i386/winnt.c (i386_pe_section_type_flags): Remove name of
3809 unused argument.
3810
39f90912
KT
38112014-07-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3812
3813 * config/aarch64/arm_neon.h (vcage_f64): New intrinsic.
3814 (vcagt_f64): Likewise.
3815 (vcale_f64): Likewise.
3816 (vcaled_f64): Likewise.
3817 (vcales_f32): Likewise.
3818 (vcalt_f64): Likewise.
3819 (vcaltd_f64): Likewise.
3820 (vcalts_f32): Likewise.
3821
52ec0ea3
MP
38222014-07-01 Marek Polacek <polacek@redhat.com>
3823
3824 * doc/invoke.texi: Document -Wint-conversion.
3825
d5c3d343
MP
38262014-07-01 Marek Polacek <polacek@redhat.com>
3827
3828 PR c/58286
3829 * doc/invoke.texi: Document -Wincompatible-pointer-types.
3830
e55637b7
ML
38312014-07-01 Martin Liska <mliska@suse.cz>
3832
3833 IPA REF alias refactoring
3834 * cgraph.h (iterate_direct_aliases): New function.
3835 (FOR_EACH_ALIAS): New macro iterates all direct aliases for a node.
3836 * cgraph.c (cgraph_for_node_thunks_and_aliases): Usage of
3837 FOR_EACH_ALIAS added.
3838 (cgraph_for_node_and_aliases): Likewise.
3839 * cgraphunit.c (assemble_thunks_and_aliases): Likewise.
3840 * ipa-inline.c (reset_edge_caches): Likewise.
3841 (update_caller_keys): Likewise.
3842 * trans-mem.c (ipa_tm_execute): Likewise.
3843 *varpool.c (varpool_analyze_node): Likewise.
3844 (varpool_for_node_and_aliases): Likewise.
3845 * ipa-ref.h (first_alias): New function.
3846 (last_alias): Likewise.
3847 (has_aliases_p): Likewise.
3848 * ipa-ref.c (ipa_ref::remove_reference): Removal function
3849 is sensitive to IPA_REF_ALIASes.
3850 * symtab.c (symtab_node::add_reference): Node of IPA_REF_ALIAS type
3851 are put at the beginning of the list.
3852 (symtab_node::iterate_direct_aliases): New function.
3853
010f4e27
JH
38542014-06-28 Jan Hubicka <hubicka@ucw.cz>
3855
3856 Revert:
88e03ffe 3857 * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if
010f4e27 3858 type is complete.
88e03ffe
UB
3859 (write_ts_type_common_tree_pointers): Do not stream fields not set
3860 for incomplete types; do not stream duplicated fields for variants;
3861 sanity check that variant and type match.
3862 (write_ts_type_non_common_tree_pointers): Likewise.
3863 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in
3864 TYPE_SIZE whether type is complete.
010f4e27
JH
3865 (lto_input_ts_type_common_tree_pointers): Do same changes as in
3866 write_ts_type_common_tree_pointers
3867 (lto_input_ts_type_non_common_tree_pointers): Likewise.
3868
0ca59830
JM
38692014-06-30 Joseph Myers <joseph@codesourcery.com>
3870
3871 * var-tracking.c (add_stores): Return instead of asserting if old
3872 and new values for conditional store are the same.
3873
fc56f9d2
RH
38742014-06-30 Richard Henderson <rth@redhat.com>
3875
3876 PR rtl-opt/61608
3877 PR target/39284
3878 * bb-reorder.c (pass_duplicate_computed_gotos::execute): Cleanup
3879 the cfg if there were any changes.
3880 * passes.def: Revert move of peephole2 after reorder_blocks;
3881 move duplicate_computed_gotos before peephole2.
3882
a4a51a52
UB
38832014-06-30 Uros Bizjak <ubizjak@gmail.com>
3884
3885 * except.c (emit_note_eh_region_end): New helper function.
3886 (convert_to_eh_region_ranges): Use emit_note_eh_region_end to
3887 emit EH_REGION_END note.
3888 * jump.c (cleanup_barriers): Do not split a call and its
3889 corresponding CALL_ARG_LOCATION note.
3890
4f82fed2
JL
38912014-06-30 Jeff Law <law@redhat.com>
3892
3893 PR tree-optimization/61607
3894 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Look
3895 deeper into the SSA_NAME_VALUE chain.
3896
6a7253a4
MP
38972014-06-30 Marek Polacek <polacek@redhat.com>
3898
3899 * convert.c (convert_to_integer): Don't instrument conversions if the
3900 function has no_sanitize_undefined attribute.
3901 * ubsan.c: Don't run the ubsan pass if the function has
3902 no_sanitize_undefined attribute.
3903
670d96d7
JJ
39042014-06-30 Jakub Jelinek <jakub@redhat.com>
3905
3906 * doc/invoke.texi (-fsanitize=bounds): Move to the table with
3907 -fsanitize=undefined suboptions.
3908
f7c4e5b8
AL
39092014-06-30 Alan Lawrence <alan.lawrence@arm.com>
3910
3911 * config/aarch64/aarch64-simd.md (vec_perm): Enable for bigendian.
3912 * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Remove assert
3913 against bigendian and adjust indices.
3914
10e4b632
GP
39152014-06-30 Gerald Pfeifer <gerald@pfeifer.com>
3916
3917 * doc/install.texi (Specific, aarch64*-*-*): Fix markup. Reword a bit.
3918
21a7b5e1
MS
39192014-06-30 Marcus Shawcroft <marcus.shawcroft@arm.com>
3920
3921 PR target/61633
3922 * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
3923 Add alternative; make early clobber. Adjust both split patterns
3924 to use operand 0 as the working register.
3925
85c00e0b
JJ
39262014-06-30 Jakub Jelinek <jakub@redhat.com>
3927
5acd5cf0
UB
3928 * ira-build.c (sort_conflict_id_map): Don't call qsort if num is 0,
3929 as ira_object_id_map might be NULL, or 1.
85c00e0b 3930
51a69168
ZC
39312014-06-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3932
3933 * loop-invariant.c (get_inv_cost): Handle register class.
3934 (gain_for_invariant): Check the register pressure of the inv
3935 and its overlapped register class, other than all.
3936
a938d018
GP
39372014-06-30 Gerald Pfeifer <gerald@pfeifer.com>
3938
3939 * doc/invoke.texi (Optimize Options): Fix descriptions of
3940 ipa-cp-loop-hint-bonus and ipa-cp-array-index-hint-bonus.
3941
3a96c7cc
DW
39422014-06-29 David Wohlferd <dw@LimeGreenSocks.com>
3943
3944 * doc/extend.texi (Function Attributes): Update 'naked' attribute
3945 documentation.
3946
7d1ceb93
TG
39472014-06-29 Tobias Grosser <tobias@grosser.es>
3948
dabb1a20 3949 PR bootstrap/61650
7d1ceb93
TG
3950 * graphite-isl-ast-to-gimple.c: Add missing guards.
3951
f6cc3103
RG
39522014-06-29 Roman Gareev <gareevroman@gmail.com>
3953
5acd5cf0
UB
3954 * Makefile.in: Add the compilation of graphite-isl-ast-to-gimple.o.
3955 * common.opt: Add new switch fgraphite-code-generator=[isl|cloog].
3956 * flag-types.h: Add new enum fgraphite_generator.
f6cc3103
RG
3957 * graphite-isl-ast-to-gimple.c: New.
3958 * graphite-isl-ast-to-gimple.h: New.
5acd5cf0
UB
3959 * graphite.c (graphite_transform_loops): Add choice of Graphite
3960 code generator, which depends on flag_graphite_code_gen.
f6cc3103 3961
516a84f7
RG
39622014-06-29 Roman Gareev <gareevroman@gmail.com>
3963
5acd5cf0
UB
3964 * graphite-dependences.c (subtract_commutative_associative_deps):
3965 Add NULL checking of the following variables: must_raw_no_source,
3966 may_raw_no_source, must_war_no_source, may_war_no_source,
3967 must_waw_no_source, may_waw_no_source, must_raw, may_raw,
3968 must_war, may_war, must_waw, may_waw.
516a84f7 3969
db72d606
RG
39702014-06-29 Roman Gareev <gareevroman@gmail.com>
3971
5acd5cf0
UB
3972 * graphite-clast-to-gimple.c: gloog is renamed to
3973 graphite_regenerate_ast_cloog. gloog_error is renamed to
3974 graphite_regenerate_error.
3975 * graphite-clast-to-gimple.h: The definition of the struct
3976 bb_pbb_def is moved to graphite-htab.h.
db72d606 3977 Add inclusion of the hash-table.h.
5acd5cf0 3978 * graphite-htab.h: The declaration of the function gloog is moved
db72d606
RG
3979 to graphite-clast-to-gimple.h and renamed to
3980 graphite_regenerate_ast_cloog.
5acd5cf0
UB
3981 * graphite.c (graphite_transform_loops): gloog is renamed
3982 to graphite_regenerate_ast_cloog.
db72d606 3983
288eeff7
JH
39842014-06-28 Jan Hubicka <hubicka@ucw.cz>
3985
5acd5cf0 3986 * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if
288eeff7 3987 type is complete.
5acd5cf0
UB
3988 (write_ts_type_common_tree_pointers): Do not stream fields not set
3989 for incomplete types; do not stream duplicated fields for variants;
3990 sanity check that variant and type match.
3991 (write_ts_type_non_common_tree_pointers): Likewise.
3992 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in
3993 TYPE_SIZE whether type is complete.
288eeff7
JH
3994 (lto_input_ts_type_common_tree_pointers): Do same changes as in
3995 write_ts_type_common_tree_pointers
3996 (lto_input_ts_type_non_common_tree_pointers): Likewise.
3997
d0bd8245
JH
39982014-06-28 Jan Hubicka <hubicka@ucw.cz>
3999
4000 * cgraph.c (dump_cgraph_node): Dump init&fini priorities.
4001
8910466a
JH
40022014-06-28 Jan Hubicka <hubicka@ucw.cz>
4003
4004 * tree-inline.c (remap_type_1): Do not duplicate fields
4005 that are shared in between type and its main variant.
4006
b49407f8
JH
40072014-06-28 Jan Hubicka <hubicka@ucw.cz>
4008
4009 * ipa-prop.c (ipa_set_jf_known_type): Record always the main variant
4010 of the type.
4011 (ipa_set_ancestor_jf) Likewise.
4012 (check_stmt_for_type_change): Check that we work on main variant.
4013 (detect_type_change): Look into main variant.
4014 (compute_known_type_jump_func): Check that main variant has BINFO.
4015
c7e1befa
JH
40162014-06-28 Jan Hubicka <hubicka@ucw.cz>
4017
4018 * ipa-devirt.c (set_type_binfo): New function.
4019 (add_type_duplicate): Use it.
4020 (get_odr_type): Sanity check that binfos points to main variants.
4021 (get_class_context): Be sure the context's outer_type is main variant.
4022 (contains_type_p): Walk main variant.
5acd5cf0
UB
4023 (get_polymorphic_call_info_for_decl): Set outer_type to be
4024 main variant.
c7e1befa 4025 (get_polymorphic_call_info): Likewise.
5acd5cf0
UB
4026 (possible_polymorphic_call_targets): Sanity check that we operate
4027 on main variant.
c7e1befa 4028
7ae2e72c
JH
40292014-06-28 Jan Hubicka <hubicka@ucw.cz>
4030
5acd5cf0 4031 * stor-layout.c (finish_builtin_struct): Copy fields into the variants.
7ae2e72c 4032
a8647163
UW
40332014-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4034
4035 * config/rs6000/rs6000.c (rs6000_aggregate_candidate): Revert
4036 accidental change due to wide-int branch merge.
4037
29d7cbd1
RO
40382014-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4039
4040 * configure.ac (gcc_cv_as_compress_debug): Check for assembler
4041 compressed debug support.
5acd5cf0 4042 (gcc_cv_ld_compress_debug): Check for linker compressed debug support.
29d7cbd1
RO
4043 * configure: Regenerate.
4044 * config.in: Regenerate.
4045 * common.opt (compressed_debug_sections): New enum.
4046 (gz, gz=): New options.
5acd5cf0 4047 * gcc.c (LINK_COMPRESS_DEBUG_SPEC, ASM_COMPRESS_DEBUG_SPEC): Define.
29d7cbd1
RO
4048 (LINK_COMMAND_SPEC): Invoke LINK_COMPRESS_DEBUG_SPEC.
4049 (asm_options): Invoke ASM_COMPRESS_DEBUG_SPEC.
4050 * config/darwin.h (LINK_COMMAND_SPEC_A): Invoke
4051 LINK_COMPRESS_DEBUG_SPEC.
4052 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
4053 * opts.c (common_handle_option): Handle OPT_gz, OPT_gz_.
5acd5cf0 4054 * doc/invoke.texi (Option Summary, Debugging Options): Add -gz[=type].
29d7cbd1
RO
4055 (Debugging Options): Document -gz[=type].
4056
d284e1b8
MJ
40572014-06-27 Martin Jambor <mjambor@suse.cz>
4058
4059 PR ipa/61160
4060 * cgraphclones.c (duplicate_thunk_for_node): Removed parameter
4061 args_to_skip, use those from node instead. Copy args_to_skip and
4062 combined_args_to_skip from node to the new thunk.
4063 (redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
4064 (cgraph_create_virtual_clone): Moved computation of
4065 combined_args_to_skip...
4066 (cgraph_clone_node): ...here, simplify it to bitmap_ior..
4067
f012c1ab
TS
40682014-06-27 trevor Saunders <tsaunders@mozilla.com>
4069
4070 * config/i386/winnt.c (i386_pe_section_type_flags): Remove
4071 redundant diagnostic machinary.
4072
3fd269db
RB
40732014-06-27 Richard Biener <rguenther@suse.de>
4074
4075 * tree-ssa-math-opts.c (bswap_replace): Fix
4076 SLOW_UNALIGNED_ACCESS test to only apply to unaligned object.
4077
807b7d62
ML
40782014-06-27 Martin Liska <mliska@suse.cz>
4079
4080 * gimple.h (gimple_location_safe): New function introduced.
4081 * cgraphunit.c (walk_polymorphic_call_targets): Usage
4082 of gimple_location_safe replaces gimple_location.
4083 (gimple_fold_call): Likewise.
4084 * ipa-devirt.c (ipa_devirt): Likewise.
4085 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
4086 * ipa.c (walk_polymorphic_call_targets): Likewise.
4087 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
4088
a4ee446d
JJ
40892014-06-27 Jakub Jelinek <jakub@redhat.com>
4090
4091 PR tree-optimization/57233
4092 PR tree-optimization/61299
4093 * tree-vect-generic.c (get_compute_type, count_type_subparts): New
4094 functions.
4095 (expand_vector_operations_1): Use them. If {L,R}ROTATE_EXPR
4096 would be lowered to scalar shifts, check if corresponding
4097 shifts and vector BIT_IOR_EXPR are supported and don't lower
4098 or lower just to narrower vector type in that case.
4099 * expmed.c (expand_shift_1): Fix up handling of vector
4100 shifts and rotates.
4101
dd5e7837
UB
41022014-06-26 Uros Bizjak <ubizjak@gmail.com>
4103
4104 PR target/61586
4105 * config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
4106
e288a46c
JH
41072014-06-26 Jan Hubicka <hubicka@ucw.cz>
4108
4109 * doc/invoke.texi (-fsemantic-interposition): Document.
4110 * common.opt (fsemantic-interposition): New flag.
4111 * varasm.c (decl_replaceable_p): Use it.
4112
6a742466
BS
41132014-06-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4114
4115 PR target/61542
4116 * config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element
4117 extraction other than index 3.
4118
f14726bd
TJ
41192014-06-26 Teresa Johnson <tejohnson@google.com>
4120
4121 * doc/invoke.texi: Fix typo.
4122 * dumpfile.c: Add support for documented -fdump-* options
4123 optimized/missed/note/optall.
4124
680a5a7c
MJ
41252014-06-26 Martin Jambor <mjambor@suse.cz>
4126
4127 * params.def (PARAM_ALLOW_LOAD_DATA_RACES)
4128 (PARAM_ALLOW_PACKED_LOAD_DATA_RACES)
4129 (PARAM_ALLOW_PACKED_STORE_DATA_RACES): Removed.
4130 (PARAM_ALLOW_STORE_DATA_RACES): Set default to zero.
4131 * opts.c (default_options_optimization): Set
4132 PARAM_ALLOW_STORE_DATA_RACES to one at -Ofast.
4133 * doc/invoke.texi (allow-load-data-races)
dd5e7837 4134 (allow-packed-load-data-races, allow-packed-store-data-races): Removed.
680a5a7c
MJ
4135 (allow-store-data-races): Document the new default.
4136
72972c22
MJ
41372014-06-26 Martin Jambor <mjambor@suse.cz>
4138
4139 * ipa-prop.c (ipa_impossible_devirt_target): No longer static,
4140 renamed to ipa_impossible_devirt_target. Fix typo.
4141 * ipa-prop.h (ipa_impossible_devirt_target): Declare.
4142 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use
4143 ipa_impossible_devirt_target.
4144
73c7d6bc
RB
41452014-06-26 Richard Biener <rguenther@suse.de>
4146
4147 PR tree-optimization/61607
4148 * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust comment
4149 explaining why we restrict copies on loop depth.
4150 * tree-ssa-dom.c (cprop_operand): Remove restriction on
4151 on loop depth.
4152 (record_equivalences_from_phis): Instead add it here.
4153
a185856a
BS
41542014-06-26 Bernd Schmidt <bernds@codesourcery.com>
4155
dd5e7837
UB
4156 * Makefile.in (COLLECT2_OBJS): Add collect-utils.o.
4157 (LTO_WRAPPER_OBJS): New variable.
4158 (lto-wrapper$(exeext)): Use it.
4159 * collect2.c: Include "collect-utils.h".
4160 (verbose, debug): Remove variables.
4161 (at_file_supplied): No longer static.
4162 (tool_name): New variable.
4163 (do_wait, fork_execute, maybe_unlink): Don't declare.
4164 (tool_cleanup): No longer static.
4165 (notice): Remove function.
4166 (maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to
4167 fork_execute calls.
4168 (collect_wait, do_wait, collect_execute): Remove functions.
4169 (maybe_unlink): No longer static.
4170 * collect2.h (verbose, debug): Don't declare.
4171 (at_file_supplied): Declare.
4172 * collect-utils.c (utils_cleanup): New arg from_signal. All callers
4173 changed.
4174 (collect_execute): Replace with implementation from collect2, plus a
4175 new arg use_atfile. All callers changed.
4176 (collect_wait): Replace with implementation from collect2.
4177 (maybe_unlink_file): Remove function.
4178 (fork_execute): Replace with implementation from collect2, plus a
4179 new arg use_atfile. All callers changed.
4180 (do_wait): Add call to utils_cleanup to the error path.
4181 * collect-utils.h (collect_execute, fork_execute, utils_cleanup)
4182 (tool_cleanup): Adjust declarations.
4183 * lto-wrapper.c (tool_cleanup): Add unused bool argument.
4184 * tlink.c: Include "collect-utils.h".
4185 (tlink_execute): New arg use_atfile. All callers changed.
4186 (tlink_init, tlink_execute): Remove declarations.
4187
4188 * collect-utils.c (save_temps): New variable.
4189 (do_wait): Use it instead of debug. Use fatal_error.
4190 * collect-utils.h (save_temps): Declare.
4191 * collect2.c (verbose): Rename from vflag. All uses changed.
4192 (tool_cleanup): New function, copied from collect_atexit.
4193 (collect_atexit, handler): Just call it.
4194 * collect2.h (verbose): Declaration renamed from vflag.
4195 * lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
4196 debug.
4197
4198 * Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o.
4199 (lto-wrapper$(exeext)): Link with collect-utils.o.
4200 * collect-utils.c: New file.
4201 * collect-utils.h: New file.
4202 * lto-wrapper.c: Include "collect-utils.h".
4203 (args_name): Delete variable.
4204 (tool_name): New variable.
4205 (tool_cleanup): New function.
4206 (maybe_unlink): Renamed from maybe_unlink_file. All callers changed.
4207 (lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait)
4208 (fork_execute): Remove functions.
a185856a 4209
5ed8a176
NC
42102014-06-26 Nick Clifton <nickc@redhat.com>
4211
53d51ddb
NC
4212 * config/frv/frv.c (frv_in_small_data_p): Remove redundant assert.
4213
5ed8a176
NC
4214 * doc/extend.texi (Function Attributes): Fix typo in description
4215 of RX vector attribute.
4216
0cdb761c
JG
42172014-06-26 James Greenhalgh <james.greenhalgh@arm.com>
4218
4219 * config.gcc (supported_defaults): Error when passing either
4220 --with-tune or --with-arch in conjunction with --with-cpu for ARM.
4221
cbe26b97
RB
42222014-06-26 Richard Biener <rguenther@suse.de>
4223
4224 * tree-ssa-dom.c (cprop_operand): Remove restriction on
4225 propagating volatile pointers.
4226
974bb959
RB
42272014-06-26 Richard Biener <rguenther@suse.de>
4228
4229 PR tree-optimization/61607
4230 * tree-ssa-threadupdate.c (ssa_redirect_edges): Cancel the
4231 loop if we redirected its latch edge.
4232 (thread_block_1): Do not cancel loops prematurely.
4233
b9b5f433
JH
42342014-06-25 Jan Hubicka <hubicka@ucw.cz>
4235
dd5e7837
UB
4236 * toplev.c (backend_init_target): Move init_emit_regs and
4237 init_regs to...
b9b5f433 4238 (backend_init) ... here; skip ira_init_once and backend_init_target.
dd5e7837
UB
4239 (target_reinit) ... and here; clear
4240 this_target_rtl->lang_dependent_initialized.
4241 (lang_dependent_init_target): Clear
4242 this_target_rtl->lang_dependent_initialized;
b9b5f433 4243 break out rtl initialization to ...
dd5e7837
UB
4244 (initialize_rtl): ... here; call also backend_init_target
4245 and ira_init_once.
b9b5f433
JH
4246 * toplev.h (initialize_rtl): New function.
4247 * function.c: Include toplev.h
4248 (init_function_start): Call initialize_rtl.
4249 * rtl.h (target_rtl): Add target_specific_initialized,
4250 lang_dependent_initialized.
4251
646d1bed
PG
42522014-06-25 Paul Gortmaker <paul.gortmaker@windriver.com>
4253 Jakub Jelinek <jakub@redhat.com>
4254
4255 * gcc.c (set_multilib_dir): Malloc "." pointer as well.
4256
db88b449
TV
42572014-06-25 Tom de Vries <tom@codesourcery.com>
4258
4259 * config/arm/arm.c (arm_emit_call_insn): Remove clobber of CC_REGNUM.
4260
f9bb13f3
BE
42612014-06-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
4262
4263 * tree-ssa-forwprop.c (associate_plusminus): For widening conversions
4264 check for undefined overflow in (T)(P + A) - (T)P -> (T)A.
4265 Issue a strict overflow warning if appropriate.
4266
d122681a
ML
42672014-06-25 Martin Liska <mliska@suse.cz>
4268
4269 IPA REF refactoring
4270 * Makefile.in: Removed header file (ipa-ref-inline.h).
4271 * cgraph.c (cgraph_turn_edge_to_speculative): New IPA REF function
4272 called.
4273 (cgraph_speculative_call_info): Likewise.
4274 (cgraph_for_node_thunks_and_aliases): Likewise.
4275 (cgraph_for_node_and_aliases): Likewise.
4276 (verify_cgraph_node): Likewise.
4277 * cgraph.h: Batch of IPA REF functions become member functions of
4278 symtab_node: add_reference, maybe_add_reference, clone_references,
4279 clone_referring, clone_reference, find_reference,
4280 remove_stmt_references, remove_all_references,
4281 remove_all_referring, dump_references, dump_referring,
4282 has_alias_p, iterate_reference, iterate_referring.
4283 * cgraphbuild.c (record_reference): New IPA REF function used.
4284 (record_type_list): Likewise.
4285 (record_eh_tables): Likewise.
4286 (mark_address): Likewise.
4287 (mark_load): Likewise.
4288 (mark_store): Likewise.
4289 (pass_build_cgraph_edges): Likewise.
4290 (rebuild_cgraph_edge): Likewise.
4291 (cgraph_rebuild_references): Likewise.
4292 (pass_remove_cgraph_callee_edges): Likewise.
4293 * cgraphclones.c (cgraph_clone_node): Likewise.
4294 (cgraph_create_virtual_clone): Likewise.
4295 (cgraph_materialize_clone): Likewise.
4296 (cgraph_materialize_all_clones): Likewise.
4297 * cgraphunit.c (cgraph_reset_node): Likewise.
4298 (cgraph_reset_node): Likewise.
4299 (analyze_function): Likewise.
4300 (assemble_thunks_and_aliases): Likewise.
4301 (expand_function): Likewise.
4302 * ipa-comdats.c (propagate_comdat_group): Likewise.
4303 (enqueue_references): Likewise.
4304 * ipa-cp.c (ipcp_discover_new_direct_edges): Likewise.
4305 (create_specialized_node): Likewise.
4306 * ipa-devirt.c (referenced_from_vtable_p): Likewise.
4307 * ipa-inline-transform.c (can_remove_node_now_p_1): Likewise.
4308 * ipa-inline.c (reset_edge_caches): Likewise.
4309 (update_caller_keys): Likewise.
4310 (execute): Likewise.
4311 * ipa-prop.c (remove_described_reference): Likewise.
4312 (propagate_controlled_uses): Likewise.
4313 (ipa_edge_duplication_hook): Likewise.
4314 (ipa_modify_call_arguments): Likewise.
4315 * ipa-pure-const.c (propagate_pure_const): Likewise.
4316 * ipa-ref-inline.h: Header file removed, functions moved
4317 to symtab_node class.
4318 * ipa-ref.c (remove_reference): New class member function.
4319 (cannot_lead_to_return): New class member function.
4320 (referring_ref_list): Likewise.
4321 (referred_ref_list): Likewise.
4322 Rest of functions moved to symtab_node class.
4323 * ipa-ref.h: New member functions remove_reference,
4324 cannot_lead_to_return, referring_ref_list, referred_ref_list added
4325 to ipa_ref class.
4326 ipa_ref_list class has new member functions: first_reference,
4327 first_referring, clear, nreferences.
4328 * ipa-reference.c (analyze_function): New IPA REF function used.
4329 (write_node_summary_p): Likewise.
4330 (ipa_reference_write_optimization_summary): Likewise.
4331 * ipa-split.c (split_function): Likewise.
4332 * ipa-utils.c (ipa_reverse_postorder): Likewise.
4333 * ipa-visibility.c (cgraph_non_local_node_p_1): Likewise.
4334 (function_and_variable_visibility): Likewise.
4335 * ipa.c (has_addr_references_p): Likewise.
4336 (process_references): Argument type changed.
4337 (symtab_remove_unreachable_nodes): New IPA REF function used.
4338 (process_references): Likewise.
4339 (set_writeonly_bit): Likewise.
4340 * lto-cgraph.c: Implementation of new symtab_node member functions
4341 that uses new IPA REF functions.
dd5e7837
UB
4342 * lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF
4343 function used.
d122681a
ML
4344 * lto-streamer-out.c (output_symbol_p): Likewise.
4345 * lto-streamer.h (referenced_from_this_partition_p): Argument type
4346 changed.
d122681a
ML
4347 * symtab.c: Implementation of new IPA REF API.
4348 * trans-mem.c (ipa_tm_create_version_alias): New IPA REF function used.
4349 (ipa_tm_create_version): Likewise.
4350 (ipa_tm_execute): Likewise.
4351 * tree-emutls.c (gen_emutls_addr): Likewise.
4352 * tree-inline.c (copy_bb): Likewise.
4353 (delete_unreachable_blocks_update_callgraph): Likewise.
4354 * varpool.c (varpool_remove_unreferenced_decls): Likewise.
4355 (varpool_for_node_and_aliases): Likewise.
4356
81d0a226
TS
43572014-06-25 Trevor Saunders <tsaunders@mozilla.com>
4358
4359 * config/i386/winnt.c (i386_find_on_wrapper_list): Fix typo.
4360
86fcf7ce
TS
43612014-06-25 Trevor Saunders <tsaunders@mozilla.com>
4362
4363 PR bootstrap/61598
4364 * fold-const.c (fold_checksum_tree): Use a hash_table of const
4365 tree_node * instead of tree_node *.
4366 (fold): Adjust.
4367 (print_fold_checksum): Likewise.
4368 (fold_check_failed): Likewise.
4369 (debug_fold_checksum): Likewise.
4370 (fold_build1_stat_loc): Likewise.
4371 (fold_build2_stat_loc): Likewise.
4372 (fold_build3_stat_loc): Likewise.
4373 (fold_build_call_array_loc): Likewise.
4374
b36e833f
DE
43752014-06-25 David Edelsohn <dje.gcc@gmail.com>
4376
4377 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace
4378 implementation with call to...
4379 * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): New
4380 function.
4381 * config/rs6000/rs6000-protos.h (rs6000_xcoff_declare_function_name):
4382 Declare.
4383
20cb2258
MG
43842014-06-25 Marc Glisse <marc.glisse@inria.fr>
4385
4386 PR tree-optimization/57742
4387 * tree-ssa-strlen.c (handle_builtin_memset): Update strinfo
4388 after replacing the statement.
4389
cd47dfd0
NC
43902014-06-25 Nick Clifton <nickc@redhat.com>
4391
4392 * config/v850/v850.c (GHS_default_section_names): Change to const
4393 char * type.
4394 (GHS_current_section_names): Likewise.
4395 (v850_insert_attributes): Do not build strings, just assign the
4396 names directly. Change the type of 'chosen_section' to const
4397 char*.
4398 * config/v850/v850-c.c (ghs_pragma_section): Assign the alias
4399 directly to the array entry.
4400 * config/v850/v850.h (GHS_default_section_names): Change to const
4401 char * type.
4402 (GHS_current_section_names): Likewise.
4403
da6f124d
JJ
44042014-06-25 Jakub Jelinek <jakub@redhat.com>
4405
4406 * langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
4407 (LANG_HOOKS_DECLS): Add it.
4408 * gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
4409 has correct type.
4410 * tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
4411 * langhooks.h (struct lang_hooks_for_decls): Add
4412 omp_clause_linear_ctor hook.
4413 * omp-low.c (lower_rec_input_clauses): Set max_vf even if
4414 OMP_CLAUSE_LINEAR_ARRAY is set. Don't fold_convert
4415 OMP_CLAUSE_LINEAR_STEP. For OMP_CLAUSE_LINEAR_ARRAY in
4416 combined simd loop use omp_clause_linear_ctor hook.
4417
79d652a5
CH
44182014-06-24 Cong Hou <congh@google.com>
4419
4420 * tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD
4421 pattern recognition.
4422 (type_conversion_p): PROMOTION is true if it's a type promotion
4423 conversion, and false otherwise. Return true if the given expression
4424 is a type conversion one.
4425 * tree-vectorizer.h: Adjust the number of patterns.
4426 * tree.def: Add SAD_EXPR.
4427 * optabs.def: Add sad_optab.
4428 * cfgexpand.c (expand_debug_expr): Add SAD_EXPR case.
4429 * expr.c (expand_expr_real_2): Likewise.
4430 * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
4431 * gimple.c (get_gimple_rhs_num_ops): Likewise.
4432 * optabs.c (optab_for_tree_code): Likewise.
4433 * tree-cfg.c (estimate_operator_cost): Likewise.
4434 * tree-ssa-operands.c (get_expr_operands): Likewise.
4435 * tree-vect-loop.c (get_initial_def_for_reduction): Likewise.
4436 * config/i386/sse.md: Add SSE2 and AVX2 expand for SAD.
4437 * doc/generic.texi: Add document for SAD_EXPR.
4438 * doc/md.texi: Add document for ssad and usad.
4439
3c032229
TS
44402014-06-24 Trevor Saunders <tsaunders@mozilla.com>
4441
4442 * config/i386/winnt.c (i386_pe_section_type_flags): Fix const
4443 qualification in cast.
4444
aaf8a23e
JH
44452014-06-24 Jan Hubicka <hubicka@ucw.cz>
4446
4447 * tree.c (find_decls_types_r): Do not check DECL_VINDEX for TYPE_DECL.
4448 * tree.h (DECL_VINDEX, DECL_SAVED_TREE): Restrict to DECL_FUNCTION.
4449 * tree-core.h (tree_decl_non_common): Move saved_tree and vindex...
4450 (tree_function_decl): ... here.
4451 * tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Move
4452 streaming of vindex to ...
4453 (write_ts_function_decl_tree_pointers): ... here.
4454 * tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
4455 Do not stream DECL_VINDEX.
4456 (lto_input_ts_function_decl_tree_pointers): Stream it here.
4457
ecc63043
CM
44582014-06-24 Catherine Moore <clm@codesourcery.com>
4459 Sandra Loosemore <sandra@codesourcery.com>
4460
4461 * config/mips/mips.c (mips_order_regs_for_local_alloc): Delete.
4462 * config/mips/mips.h (ADJUST_REG_ALLOC_ORDER): Delete.
4463 * config/mips/mips-protos.h (mips_order_regs_for_local_alloc): Delete.
4464
db8965fc
MG
44652014-06-24 Marc Glisse <marc.glisse@inria.fr>
4466
4467 * doc/invoke.texi (Warning Options): Remove duplicated
4468 -Wmaybe-uninitialized.
4469
24314386
MG
44702014-06-24 Marc Glisse <marc.glisse@inria.fr>
4471
4472 PR tree-optimization/57742
4473 * tree-ssa-strlen.c (get_string_length): Ignore malloc.
4474 (handle_builtin_malloc, handle_builtin_memset): New functions.
4475 (strlen_optimize_stmt): Call them.
4476 * passes.def: Move strlen after loop+dom but before vrp.
4477
8d37375b
JJ
44782014-06-24 Jakub Jelinek <jakub@redhat.com>
4479
4480 PR target/61570
4481 * config/i386/driver-i386.c (host_detect_local_cpu): For unknown
4482 model family 6 CPU with has_longmode never use a CPU without
4483 64-bit support.
4484
fb112177
L
44852014-06-24 H.J. Lu <hongjiu.lu@intel.com>
4486
4487 PR target/61570
4488 * config/i386/driver-i386.c (host_detect_local_cpu): Revert
4489 the last change.
4490
1eb68d2d
TS
44912014-06-24 Trevor Saunders <tsaunders@mozilla.com>
4492
4493 * alloc-pool.c (alloc_pool_hash): Use hash_map instead of hash_table.
4494 * dominance.c (iterate_fix_dominators): Use hash_map instead of
4495 pointer_map.
4496 * hash-map.h: New file.
4497 * ipa-comdats.c: Use hash_map instead of pointer_map.
4498 * ipa.c: Likewise.
4499 * lto-section-out.c: Adjust.
4500 * lto-streamer.h: Replace pointer_map with hash_map.
4501 * symtab.c (verify_symtab): Likewise.
4502 * tree-ssa-strlen.c (decl_to_stridxlist_htab): Likewise.
4503 * tree-ssa-uncprop.c (val_ssa_equiv): Likewise.
4504 * tree-streamer.h: Likewise.
4505 * tree-streamer.c: Adjust.
4506 * pointer-set.h: Remove pointer_map.
4507
84baa4b9
TS
45082014-06-24 Trevor Saunders <tsaunders@mozilla.com>
4509
4510 * hash-table.h: Add a template arg to choose between storing values
4511 and storing pointers to values, and then provide partial
4512 specializations for both.
4513 * tree-browser.c (tree_upper_hasher): Provide the type the hash table
4514 should store, not the type values should point to.
4515 * tree-into-ssa.c (var_info_hasher): Likewise.
4516 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
4517 * tree-complex.c: Adjust.
4518 * tree-hasher.h (int_tree_hasher): store int_tree_map in the hash
4519 table instead of int_tree_map *.
4520 * tree-parloops.c: Adjust.
4521 * tree-ssa-reassoc.c (ocount_hasher): Don't lie to hash_map about what
4522 type is being stored.
4523 * tree-vectorizer.c: Adjust.
4524
c203e8a7
TS
45252014-06-24 Trevor Saunders <tsaunders@mozilla.com>
4526
4527 * hash-table.h: Remove a layer of indirection from hash_table so that
4528 it contains the hash table's data instead of a pointer to the data.
4529 * alloc-pool.c, asan.c, attribs.c, bitmap.c, cfg.c,
4530 config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c,
4531 config/mips/mips.c, config/sol2.c, coverage.c, cselib.c,
4532 data-streamer-out.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c,
4533 fold-const.c, gcse.c, ggc-common.c,
4534 gimple-ssa-strength-reduction.c, gimplify.c,
4535 graphite-clast-to-gimple.c, graphite-dependences.c,
4536 graphite-htab.h, graphite.c, haifa-sched.c, ipa-devirt.c,
4537 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
4538 loop-iv.c, loop-unroll.c, lto-streamer-in.c, lto-streamer-out.c,
4539 lto-streamer.c, lto-streamer.h, passes.c, plugin.c,
4540 postreload-gcse.c, sese.c, statistics.c, store-motion.c,
4541 trans-mem.c, tree-browser.c, tree-cfg.c, tree-complex.c,
4542 tree-eh.c, tree-into-ssa.c, tree-parloops.c, tree-sra.c,
4543 tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-dom.c,
4544 tree-ssa-live.c, tree-ssa-loop-im.c,
4545 tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
4546 tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
4547 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
4548 tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
dd5e7837
UB
4549 tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
4550 tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
4551 vtable-verify.c, vtable-verify.h: Adjust.
c203e8a7 4552
99753277
RB
45532014-06-24 Richard Biener <rguenther@suse.de>
4554
4555 PR tree-optimization/61572
4556 * tree-ssa-sink.c (statement_sink_location): Do not sink
4557 loads from hard registers.
4558
b46ebd6c
JJ
45592014-06-24 Jakub Jelinek <jakub@redhat.com>
4560
56ad0e38
JJ
4561 * gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
4562 not mentioned in clauses use private clause if the iterator is
4563 declared in #pragma omp for simd, and when adding lastprivate
4564 instead, add it to the outer #pragma omp for too. Diagnose
4565 if the variable is private in outer context. For simd collapse > 1
4566 loops, replace all iterators with temporaries.
4567 * omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
4568 same even in collapse > 1 loops.
4569
b46ebd6c
JJ
4570 * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
4571 OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is
4572 non-NULL.
4573 <case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
4574 (gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is
4575 non-NULL.
4576 (gimplify_adjust_omp_clauses): Likewise.
4577 * omp-low.c (lower_rec_simd_input_clauses,
4578 lower_rec_input_clauses, expand_omp_simd): Handle non-constant
4579 safelen the same as safelen(1).
4580 * tree-nested.c (convert_nonlocal_omp_clauses,
4581 convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED. For
4582 OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
4583 (convert_nonlocal_reference_stmt, convert_local_reference_stmt):
4584 Fixup handling of GIMPLE_OMP_TARGET.
4585 (convert_tramp_reference_stmt, convert_gimple_call): Handle
4586 GIMPLE_OMP_TARGET.
4587
33512353
CLT
45882014-06-24 Chung-Lin Tang <cltang@codesourcery.com>
4589
4590 PR tree-optimization/61554
4591 * tree-ssa-propagate.c: Include "bitmap.h".
4592 (substitute_and_fold_dom_walker): Add 'bitmap need_eh_cleanup' member,
4593 properly update constructor/destructor.
4594 (substitute_and_fold_dom_walker::before_dom_children):
4595 Remove call to gimple_purge_dead_eh_edges, add bb->index to
4596 need_eh_cleaup instead.
4597 (substitute_and_fold): Call gimple_purge_all_dead_eh_edges on
4598 need_eh_cleanup.
4599
eb6a09a7
JH
46002014-06-23 Jan Hubicka <hubicka@ucw.cz>
4601
4602 * varpool.c (dump_varpool_node): Dump used_by_single_function.
4603 * tree-pass.h (make_pass_ipa_single_use): New pass.
4604 * cgraph.h (used_by_single_function): New flag.
dd5e7837
UB
4605 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node):
4606 Stream it.
eb6a09a7
JH
4607 * passes.def (pass_ipa_single_use): Scedule.
4608 * ipa.c (BOTTOM): New macro.
4609 (meet): New function
4610 (propagate_single_user): New function.
4611 (ipa_single_use): New function.
4612 (pass_data_ipa_single_use): New pass.
4613 (pass_ipa_single_use): New pass.
4614 (pass_ipa_single_use::gate): New gate.
4615 (make_pass_ipa_single_use): New function.
4616
47c80ef5
KT
46172014-06-23 Kai Tietz <ktietz@redhat.com>
4618
4619 PR target/39284
dd5e7837
UB
4620 * passes.def (peephole2): Move peephole2 pass before sched2 pass.
4621 * config/i386/i386.md (peehole2): Combine memories and indirect jumps.
47c80ef5 4622
e5d8bd8c
RB
46232014-06-23 Richard Biener <rguenther@suse.de>
4624
4625 * tree-ssa-loop.c (gate_loop): New function.
4626 (pass_tree_loop::gate): Call it.
4627 (pass_data_tree_no_loop, pass_tree_no_loop,
4628 make_pass_tree_no_loop): New.
4629 * tree-vectorizer.c: Include tree-scalar-evolution.c
4630 (pass_slp_vectorize::execute): Initialize loops and SCEV if
4631 required.
4632 (pass_slp_vectorize::clone): New method.
4633 * timevar.def (TV_TREE_NOLOOP): New.
4634 * tree-pass.h (make_pass_tree_no_loop): Declare.
4635 * passes.def (pass_tree_no_loop): New pass group with
4636 SLP vectorizer.
4637
228e5d2b
L
46382014-06-23 H.J. Lu <hongjiu.lu@intel.com>
4639
4640 PR target/61570
4641 * config/i386/driver-i386.c (host_detect_local_cpu): Set arch
4642 to x86-64 if a 32-bit processor supports SSE2 and 64-bit.
4643
0379033b
JG
46442014-06-23 James Greenhalgh <james.greenhalgh@arm.com>
4645
4646 * config/aarch64/aarch64.md (addsi3_aarch64): Set "simd" attr to
4647 "yes" where needed.
4648
82bb9245
AM
46492014-06-23 Alan Modra <amodra@gmail.com>
4650
4651 PR bootstrap/61583
4652 * tree-vrp.c (remove_range_assertions): Do not set is_unreachable
4653 to zero on debug statements.
4654
de6c4e1f 46552014-06-23 Alan Lawrence <alan.lawrence@arm.com>
096c59be
AL
4656
4657 PR target/60825
4658 * config/aarch64/aarch64-builtins.c (aarch64_types_unop_qualifiers):
4659 Ignore third operand if present by marking qualifier_internal.
4660
4661 * config/aarch64/aarch64-simd-builtins.def (abs): Comment.
4662
4663 * config/aarch64/arm_neon.h (int64x1_t, uint64x1_t): Typedef to GCC
4664 vector extension.
4665 (aarch64_vget_lane_s64, aarch64_vdup_lane_s64,
4666 arch64_vdupq_lane_s64, aarch64_vdupq_lane_u64): Remove macro.
4667 (vqadd_s64, vqadd_u64, vqsub_s64, vqsub_u64, vqneg_s64, vqabs_s64,
4668 vcreate_s64, vcreate_u64, vreinterpret_s64_f64, vreinterpret_u64_f64,
4669 vcombine_u64, vbsl_s64, vbsl_u64, vceq_s64, vceq_u64, vceqz_s64,
4670 vceqz_u64, vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64,
4671 vcgtz_s64, vcle_s64, vcle_u64, vclez_s64, vclt_s64, vclt_u64,
4672 vcltz_s64, vdup_n_s64, vdup_n_u64, vld1_s64, vld1_u64, vmov_n_s64,
4673 vmov_n_u64, vqdmlals_lane_s32, vqdmlsls_lane_s32,
4674 vqdmulls_lane_s32, vqrshl_s64, vqrshl_u64, vqrshl_u64, vqshl_s64,
4675 vqshl_u64, vqshl_n_s64, vqshl_n_u64, vqshl_n_s64, vqshl_n_u64,
4676 vqshlu_n_s64, vrshl_s64, vrshl_u64, vrshr_n_s64, vrshr_n_u64,
4677 vrsra_n_s64, vrsra_n_u64, vshl_n_s64, vshl_n_u64, vshl_s64,
4678 vshl_u64, vshr_n_s64, vshr_n_u64, vsli_n_s64, vsli_n_u64,
4679 vsqadd_u64, vsra_n_s64, vsra_n_u64, vsri_n_s64, vsri_n_u64,
4680 vst1_s64, vst1_u64, vtst_s64, vtst_u64, vuqadd_s64): Wrap existing
4681 logic in GCC vector extensions
82bb9245 4682
096c59be
AL
4683 (vpaddd_s64, vaddd_s64, vaddd_u64, vceqd_s64, vceqd_u64, vceqzd_s64
4684 vceqzd_u64, vcged_s64, vcged_u64, vcgezd_s64, vcgtd_s64, vcgtd_u64,
4685 vcgtzd_s64, vcled_s64, vcled_u64, vclezd_s64, vcltd_s64, vcltd_u64,
4686 vcltzd_s64, vqdmlals_s32, vqdmlsls_s32, vqmovnd_s64, vqmovnd_u64
4687 vqmovund_s64, vqrshld_s64, vqrshld_u64, vqrshrnd_n_s64,
4688 vqrshrnd_n_u64, vqrshrund_n_s64, vqshld_s64, vqshld_u64,
4689 vqshld_n_u64, vqshrnd_n_s64, vqshrnd_n_u64, vqshrund_n_s64,
4690 vrshld_u64, vrshrd_n_u64, vrsrad_n_u64, vshld_n_u64, vshld_s64,
4691 vshld_u64, vslid_n_u64, vsqaddd_u64, vsrad_n_u64, vsrid_n_u64,
4692 vsubd_s64, vsubd_u64, vtstd_s64, vtstd_u64): Fix type signature.
4693
4694 (vabs_s64): Use GCC vector extensions; call __builtin_aarch64_absdi.
4695
4696 (vget_high_s64, vget_high_u64): Reimplement with GCC vector
4697 extensions.
4698
4699 (__GET_LOW, vget_low_u64): Wrap result using vcreate_u64.
4700 (vget_low_s64): Use __GET_LOW macro.
4701 (vget_lane_s64, vget_lane_u64, vdupq_lane_s64, vdupq_lane_u64): Use
4702 gcc vector extensions, add call to __builtin_aarch64_lane_boundsi.
4703 (vdup_lane_s64, vdup_lane_u64,): Add __builtin_aarch64_lane_bound_si.
4704 (vdupd_lane_s64, vdupd_lane_u64): Fix type signature, add
4705 __builtin_aarch64_lane_boundsi, use GCC vector extensions.
4706
4707 (vcombine_s64): Use GCC vector extensions; remove cast.
4708 (vqaddd_s64, vqaddd_u64, vqdmulls_s32, vqshld_n_s64, vqshlud_n_s64,
4709 vqsubd_s64, vqsubd_u64, vrshld_s64, vrshrd_n_s64, vrsrad_n_s64,
4710 vshld_n_s64, vshrd_n_s64, vslid_n_s64, vsrad_n_s64, vsrid_n_s64):
4711 Fix type signature; remove cast.
4712
de6c4e1f 47132014-06-23 Alan Lawrence <alan.lawrence@arm.com>
c6a29a09
AL
4714
4715 PR target/60825
4716 * config/aarch64/aarch64.c (aarch64_simd_mangle_map): Add entry for
4717 V1DFmode.
4718 * config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_type_mode):
4719 add V1DFmode
4720 (BUILTIN_VD1): New.
4721 (BUILTIN_VD_RE): Remove.
4722 (aarch64_init_simd_builtins): Add V1DF to modes/modenames.
4723 (aarch64_fold_builtin): Update reinterpret patterns, df becomes v1df.
4724 * config/aarch64/aarch64-simd-builtins.def (create): Make a v1df
4725 variant but not df.
4726 (vreinterpretv1df*, vreinterpret*v1df): New.
4727 (vreinterpretdf*, vreinterpret*df): Remove.
dd5e7837
UB
4728 * config/aarch64/aarch64-simd.md (aarch64_create,
4729 aarch64_reinterpret*): Generate V1DFmode pattern not DFmode.
c6a29a09
AL
4730 * config/aarch64/iterators.md (VD_RE): Include V1DF, remove DF.
4731 (VD1): New.
4732 * config/aarch64/arm_neon.h (float64x1_t): typedef with gcc extensions.
4733 (vcreate_f64): Remove cast, use v1df builtin.
4734 (vcombine_f64): Remove cast, get elements with gcc vector extensions.
4735 (vget_low_f64, vabs_f64, vceq_f64, vceqz_f64, vcge_f64, vgfez_f64,
4736 vcgt_f64, vcgtz_f64, vcle_f64, vclez_f64, vclt_f64, vcltz_f64,
4737 vdup_n_f64, vdupq_lane_f64, vld1_f64, vld2_f64, vld3_f64, vld4_f64,
4738 vmov_n_f64, vst1_f64): Use gcc vector extensions.
4739 (vget_lane_f64, vdupd_lane_f64, vmulq_lane_f64, ): Use gcc extensions,
4740 add range check using __builtin_aarch64_im_lane_boundsi.
4741 (vfma_lane_f64, vfmad_lane_f64, vfma_laneq_f64, vfmaq_lane_f64,
4742 vfms_lane_f64, vfmsd_lane_f64, vfms_laneq_f64, vfmsq_lane_f64): Fix
4743 type signature, use gcc vector extensions.
4744 (vreinterpret_p8_f64, vreinterpret_p16_f64, vreinterpret_f32_f64,
4745 vreinterpret_f64_f32, vreinterpret_f64_p8, vreinterpret_f64_p16,
4746 vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32,
4747 vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16,
4748 vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpret_s8_f64,
4749 vreinterpret_s16_f64, vreinterpret_s32_f64, vreinterpret_s64_f64,
4750 vreinterpret_u8_f64, vreinterpret_u16_f64, vreinterpret_u32_f64,
4751 vreinterpret_u64_f64): Use v1df builtin not df.
4752
463036be
JG
47532014-06-23 James Greenhalgh <james.greenhalgh@arm.com>
4754
4755 * config/aarch64/aarch64.md (*addsi3_aarch64): Add alternative in
4756 vector registers.
4757
1cff83e2
JH
47582014-06-23 Jan Hubicka <hubicka@ucw.cz>
4759
dd5e7837
UB
4760 * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini
4761 priority directly.
1cff83e2 4762
2c97f472
ZC
47632014-06-23 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4764
4765 * loop-invariant.c (pre_check_invariant_p): New function.
4766 (find_invariant_insn): Call pre_check_invariant_p.
4767
08281ce0
RH
47682014-06-22 Richard Henderson <rth@redhat.com>
4769
4770 PR target/61565
4771 * compare-elim.c (struct comparison): Add eh_note.
4772 (find_comparison_dom_walker::before_dom_children): Don't eliminate
4773 a redundant comparison in a different EH region. Purge EH edges if
4774 necessary.
4775
37317a1f
SB
47762014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
4777
4778 * config/rs6000/rs6000.md (maybe_var_shift): New define_attr.
4779 (var_shift): Use it.
4780 (rotl<mode>3, *rotlsi3_64, *rotl<mode>3_dot, *rotl<mode>3_dot2,
4781 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
4782 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
4783 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
4784 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
4785 *rotlsi3_internal12be, ashl<mode>3, *ashlsi3_64, *ashl<mode>3_dot,
4786 *ashl<mode>3_dot2, lshr<mode>3, *lshrsi3_64, *lshr<mode>3_dot,
4787 *lshr<mode>3_dot2, *ashr<mode>3, *ashrsi3_64, *ashr<mode>3_dot,
4788 *ashr<mode>3_dot2, *rotldi3_internal4, *rotldi3_internal5,
4789 *rotldi3_internal6, *rotldi3_internal7le, *rotldi3_internal7be,
4790 *rotldi3_internal8le, *rotldi3_internal8be, *rotldi3_internal9le,
4791 *rotldi3_internal9be, *rotldi3_internal10le, *rotldi3_internal10be,
4792 *rotldi3_internal11le, *rotldi3_internal11be, *rotldi3_internal12le,
4793 *rotldi3_internal12be, *rotldi3_internal13le, *rotldi3_internal13be,
4794 *rotldi3_internal14le, *rotldi3_internal14be, *rotldi3_internal15le,
4795 *rotldi3_internal15be): Use the new attribute. Merge register and
4796 integer alternatives.
4797
85c1cb22
SB
47982014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
4799
4800 * config/rs6000/rs6000.md (ashrsi3, two anonymous define_insns and
4801 define_splits, ashrdi3, *ashrdi3_internal1, *ashrdi3_internal2 and
4802 split, *ashrdi3_internal3 and split): Delete, merge into...
4803 (ashr<mode>3): New expander.
4804 (*ashr<mode>3, ashr<mode>3_dot, ashr<mode>3_dot2): New.
4805 (*ashrsi3_64): Fix formatting. Replace "i" by "n".
4806
137b8eb2
SB
48072014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
4808
4809 * config/rs6000/rs6000.md (rotlsi3, *rotlsi3_internal2 and split,
4810 *rotlsi3_internal3 and split, rotldi3, *rotldi3_internal2 and split,
4811 *rotldi3_internal3 and split): Delete, merge into...
4812 (rotl<mode>3, rotl<mode>3_dot, rotl<mode>3_dot2): New.
4813 (*rotlsi3_64): Fix formatting. Fix condition. Replace "i" by "n".
4814 Use "rotlw" extended mnemonic.
4815
d70be98e
SB
48162014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
4817
4818 * config/rs6000/rs6000.md (ashlsi3, two anonymous define_insns
4819 and define_splits, ashldi3, *ashldi3_internal1, *ashldi3_internal2
4820 and split, *ashldi3_internal3 and split): Delete, merge into...
4821 (ashl<mode>3, ashl<mode>3_dot, ashl<mode>3_dot2): New.
4822 (*ashlsi3_64): Fix formatting. Replace "i" by "n".
4823
f39a447c
SB
48242014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
4825
4826 * config/rs6000/rs6000.md ("hH"): New define_mode_attr.
4827 (lshrsi3, two anonymous define_insns and define_splits,
4828 lshrdi3, *lshrdi3_internal1, *lshrdi3_internal2 and split,
4829 *lshrdi3_internal3 and split): Delete, merge into...
4830 (lshr<mode>3, lshr<mode>3_dot, lshr<mode>3_dot2): New.
4831 (*lshrsi3_64): Fix formatting. Replace "i" by "n".
4832
1a2443af
SB
48332014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
4834
4835 * config/rs6000/rs6000.md (lshrsi3, and its two dot patterns):
4836 Remove "O" alternative.
4837
82db17cb
RS
48382014-06-22 Richard Sandiford <rdsandiford@googlemail.com>
4839
4840 * config/mips/mips.c (mips_move_to_gpr_cost): Remove mode argument.
4841 (mips_move_from_gpr_cost): Likewise.
4842 (mips_register_move_cost): Update accordingly.
4843 (mips_secondary_reload_class): Remove name of in_p.
4844
43c5fcfc
MG
48452014-06-22 Marc Glisse <marc.glisse@inria.fr>
4846
4847 PR target/61503
4848 * config/i386/i386.md (x86_64_shrd, x86_shrd,
4849 ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.
4850
47657153
JBG
48512014-06-21 Jan-Benedict Glaw <jbglaw@lug-owl.de>
4852
4853 * config/nios2/nios2.c: Include "builtins.h".
4854
714c800f
JH
48552014-06-20 Jan Hubicka <hubicka@ucw.cz>
4856
4857 * cgraph.h (tls_model_names): New variable.
4858 * print-tree.c (print_node): Simplify.
4859 * varpool.c (tls_model_names): New variable.
4860 (dump_varpool_node): Output tls model.
4861
b4897212
JH
48622014-06-20 Jan Hubicka <hubicka@ucw.cz>
4863
4864 * ipa-visibility.c (function_and_variable_visibility): Disable
4865 temporarily local aliases for some targets.
4866
0e37a2f3
MP
48672014-06-20 Marek Polacek <polacek@redhat.com>
4868
4869 * asan.c (pass_sanopt::execute): Handle IFN_UBSAN_BOUNDS.
4870 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS and or it
4871 into SANITIZE_UNDEFINED.
4872 * doc/invoke.texi: Describe -fsanitize=bounds.
4873 * gimplify.c (gimplify_call_expr): Add gimplification of internal
4874 functions created in the FEs.
4875 * internal-fn.c: Move "internal-fn.h" after "tree.h".
4876 (expand_UBSAN_BOUNDS): New function.
4877 * internal-fn.def (UBSAN_BOUNDS): New internal function.
4878 * internal-fn.h: Don't define internal functions here.
4879 * opts.c (common_handle_option): Add -fsanitize=bounds.
4880 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS,
4881 BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS_ABORT): Add.
4882 * tree-core.h: Define internal functions here.
4883 (struct tree_base): Add ifn field.
4884 * tree-pretty-print.c: Include "internal-fn.h".
4885 (dump_generic_node): Handle functions without CALL_EXPR_FN.
4886 * tree.c (get_callee_fndecl): Likewise.
4887 (build_call_expr_internal_loc): New function.
4888 * tree.def (CALL_EXPR): Update description.
4889 * tree.h (CALL_EXPR_IFN): Define.
4890 (build_call_expr_internal_loc): Declare.
4891 * ubsan.c (get_ubsan_type_info_for_type): Return 0 for non-arithmetic
4892 types.
4893 (ubsan_type_descriptor): Change bool parameter to enum
4894 ubsan_print_style. Adjust the code. Add handling of
4895 UBSAN_PRINT_ARRAY.
4896 (ubsan_expand_bounds_ifn): New function.
4897 (ubsan_expand_null_ifn): Adjust ubsan_type_descriptor call.
4898 (ubsan_build_overflow_builtin): Likewise.
4899 (instrument_bool_enum_load): Likewise.
4900 (ubsan_instrument_float_cast): Likewise.
4901 * ubsan.h (enum ubsan_print_style): New enum.
4902 (ubsan_expand_bounds_ifn): Declare.
4903 (ubsan_type_descriptor): Adjust declaration. Use a default parameter.
4904
96740472
MR
49052014-06-20 Maciej W. Rozycki <macro@codesourcery.com>
4906
4907 * config/rs6000/rs6000.md: Append `DONE' to preparation
4908 statements of `bswap' pattern splitters.
4909
73b3e61b
TV
49102014-06-20 Tom de Vries <tom@codesourcery.com>
4911
4912 * target.def (call_fusage_contains_non_callee_clobbers): Update
4913 definition.
4914 * doc/tm.texi: Regenerate.
4915
0cbf438b
YG
49162014-06-20 Yury Gribov <y.gribov@samsung.com>
4917 Max Ostapenko <m.ostapenko@partner.samsung.com>
4918
4919 PR sanitizer/61547
4920 * asan.c (instrument_strlen_call): Fixed instrumentation of
4921 trailing byte.
4922
bec81025
MJ
49232014-06-20 Martin Jambor <mjambor@suse.cz>
4924
4925 PR ipa/61540
4926 * ipa-prop.c (impossible_devirt_target): New function.
4927 (try_make_edge_direct_virtual_call): Use it, also instead of
4928 asserting.
4929
bf613c02
YG
49302014-06-20 Yury Gribov <y.gribov@samsung.com>
4931 Max Ostapenko <m.ostapenko@partner.samsung.com>
4932
4933 PR sanitizer/61530
4934 * asan.c (build_check_stmt): Add condition.
4935
803d0ab0
MJ
49362014-06-20 Martin Jambor <mjambor@suse.cz>
4937
4938 PR ipa/61211
4939 * cgraph.c (clone_of_p): Allow skipped_branch to deal with
4940 expanded clones.
4941
278821f2
KT
49422014-06-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4943
4944 * config/aarch64/iterators.md (VCOND): Handle SI and HI modes.
4945 Update comments.
4946 (VCONQ): Make comment more helpful.
4947 (VCON): Delete.
4948 * config/aarch64/aarch64-simd.md
4949 (aarch64_sqdmulh_lane<mode>):
4950 Use VCOND for operands 2. Update lane checking and flipping logic.
4951 (aarch64_sqrdmulh_lane<mode>): Likewise.
4952 (aarch64_sq<r>dmulh_lane<mode>_internal): Likewise.
4953 (aarch64_sqdmull2<mode>): Remove VCON, use VQ_HSI mode iterator.
4954 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, VD_HSI): Change mode
4955 attribute of operand 3 to VCOND.
4956 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, SD_HSI): Likewise.
4957 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
4958 (aarch64_sqdmull_lane<mode>_internal, VD_HSI): Likewise.
4959 (aarch64_sqdmull_lane<mode>_internal, SD_HSI): Likewise.
4960 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
4961 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, VD_HSI: New
4962 define_insn.
4963 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, SD_HSI): Likewise.
4964 (aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
4965 (aarch64_sqdmull_laneq<mode>_internal, VD_HSI): Likewise.
4966 (aarch64_sqdmull_laneq<mode>_internal, SD_HSI): Likewise.
4967 (aarch64_sqdmull2_laneq<mode>_internal): Likewise.
4968 (aarch64_sqdmlal_lane<mode>): Change mode attribute of penultimate
4969 operand to VCOND. Update lane flipping and bounds checking logic.
4970 (aarch64_sqdmlal2_lane<mode>): Likewise.
4971 (aarch64_sqdmlsl_lane<mode>): Likewise.
4972 (aarch64_sqdmull_lane<mode>): Likewise.
4973 (aarch64_sqdmull2_lane<mode>): Likewise.
4974 (aarch64_sqdmlal_laneq<mode>):
4975 Replace VCON usage with VCONQ.
4976 Emit aarch64_sqdmlal_laneq<mode>_internal insn.
4977 (aarch64_sqdmlal2_laneq<mode>): Emit
4978 aarch64_sqdmlal2_laneq<mode>_internal insn.
4979 Replace VCON with VCONQ.
4980 (aarch64_sqdmlsl2_lane<mode>): Replace VCON with VCONQ.
4981 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
4982 (aarch64_sqdmull_laneq<mode>): Emit
4983 aarch64_sqdmull_laneq<mode>_internal insn.
4984 Replace VCON with VCONQ.
4985 (aarch64_sqdmull2_laneq<mode>): Emit
4986 aarch64_sqdmull2_laneq<mode>_internal insn.
4987 (aarch64_sqdmlsl_laneq<mode>): Replace VCON usage with VCONQ.
4988 * config/aarch64/arm_neon.h (vqdmlal_high_lane_s16): Change type
4989 of 3rd argument to int16x4_t.
4990 (vqdmlalh_lane_s16): Likewise.
4991 (vqdmlslh_lane_s16): Likewise.
4992 (vqdmull_high_lane_s16): Likewise.
4993 (vqdmullh_lane_s16): Change type of 2nd argument to int16x4_t.
4994 (vqdmlal_lane_s16): Don't create temporary int16x8_t value.
4995 (vqdmlsl_lane_s16): Likewise.
4996 (vqdmull_lane_s16): Don't create temporary int16x8_t value.
4997 (vqdmlal_high_lane_s32): Change type 3rd argument to int32x2_t.
4998 (vqdmlals_lane_s32): Likewise.
4999 (vqdmlsls_lane_s32): Likewise.
5000 (vqdmull_high_lane_s32): Change type 2nd argument to int32x2_t.
5001 (vqdmulls_lane_s32): Likewise.
5002 (vqdmlal_lane_s32): Don't create temporary int32x4_t value.
5003 (vqdmlsl_lane_s32): Likewise.
5004 (vqdmull_lane_s32): Don't create temporary int32x4_t value.
5005 (vqdmulhh_lane_s16): Change type of second argument to int16x4_t.
5006 (vqrdmulhh_lane_s16): Likewise.
5007 (vqdmlsl_high_lane_s16): Likewise.
5008 (vqdmulhs_lane_s32): Change type of second argument to int32x2_t.
5009 (vqdmlsl_high_lane_s32): Likewise.
5010 (vqrdmulhs_lane_s32): Likewise.
5011
6621ab68
TV
50122014-06-20 Tom de Vries <tom@codesourcery.com>
5013
5014 * final.c (collect_fn_hard_reg_usage): Add separate IOR_HARD_REG_SET for
5015 get_call_reg_set_usage.
5016
5fea8186
TV
50172014-06-20 Tom de Vries <tom@codesourcery.com>
5018
5019 * final.c (collect_fn_hard_reg_usage): Don't save function_used_regs if
5020 it contains all call_used_regs.
5021
53f2f6c1
TV
50222014-06-20 Tom de Vries <tom@codesourcery.com>
5023
5024 * final.c (collect_fn_hard_reg_usage): Add and use variable
5025 function_used_regs.
5026
569b1784
JH
50272014-06-20 Jan Hubicka <hubicka@ucw.cz>
5028
5029 * cgraph.h (struct symtab_node): Add field in_init_priority_hash
5030 (set_init_priority, get_init_priority, set_fini_priority,
5031 get_fini_priority): New methods.
5032 * tree.c (init_priority_for_decl): Remove.
5033 (init_ttree): Do not initialize init priority.
5034 (decl_init_priority_lookup, decl_fini_priority_lookup): Rewrite.
5035 (decl_priority_info): Remove.
5036 (decl_init_priority_insert): Rewrite.
5037 (decl_fini_priority_insert): Rewrite.
5038 * tree.h (tree_priority_map_eq, tree_priority_map_hash,
5039 tree_priority_map_marked_p): Remove.
5040 * lto-cgraph.c (lto_output_node, input_node): Stream init priorities.
5041 * lto-streamer-out.c (hash_tree): Do not hash priorities.
5042 * tree-streamer-out.c (pack_ts_decl_with_vis_value_fields): Do
5043 not output priorities.
5044 (pack_ts_function_decl_value_fields): Likewise.
5045 * tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
5046 not input priorities.
5047 (unpack_ts_function_decl_value_fields): Likewise.
5048 * symtab.c (symbol_priority_map): Declare.
5049 (init_priority_hash): Declare.
5050 (symtab_unregister_node): Unregister from priority hash, too.
5051 (symtab_node::get_init_priority, cgraph_node::get_fini_priority):
5052 New methods.
5053 (symbol_priority_map_eq, symbol_priority_map_hash): New functions.
5054 (symbol_priority_info): New function.
5055 (symtab_node::set_init_priority, cgraph_node::set_fini_priority):
5056 New methods.
5057 * tree-core.h (tree_priority_map): Remove.
5058
88f5cfcd
JJ
50592014-06-20 Jakub Jelinek <jakub@redhat.com>
5060
5061 * tree-ssa-math-opts.c (do_shift_rotate, find_bswap_or_nop_1): Cast
5062 0xff to uint64_t before shifting it up.
5063
6d45574a
JB
50642014-06-20 Julian Brown <julian@codesourcery.com>
5065 Chung-Lin Tang <cltang@codesourcery.com>
5066
5067 * config/arm/arm.c (arm_output_mi_thunk): Fix offset for
5068 TARGET_THUMB1_ONLY. Add comments.
5069
d07a3fed
TV
50702014-06-19 Tom de Vries <tom@codesourcery.com>
5071
5072 * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Change
5073 return type to void.
5074 * config/aarch64/aarch64.c (aarch64_emit_call_insn): Same.
5075
61fc05c7
ZC
50762014-06-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
5077
5078 * loop-invariant.c (get_inv_cost): Skip invariants, which are marked
5079 as "move", from depends_on.
5080
dbb73879
TG
50812014-06-19 Terry Guo <terry.guo@arm.com>
5082
5083 * config/arm/thumb1.md (define_split): Split 64bit constant in earlier
5084 stage.
5085
36bd0c3e
SB
50862014-06-18 Segher Boessenkool <segher@kernel.crashing.org>
5087
5088 * config/rs6000/rs6000.h (FIXED_REGISTERS): Update comment.
5089 Remove cr5.
5090 (REG_ALLOC_ORDER): Update comment. Move cr5 earlier.
5091
be6b0bec
KK
50922014-06-18 Kaz Kojima <kkojima@gcc.gnu.org>
5093
5094 PR target/61550
5095 * config/sh/sh.c (prepare_move_operands): Don't process TLS
5096 addresses here if reload in progress or completed.
5097
c31d2d11
RS
50982014-06-18 Robert Suchanek <robert.suchanek@imgtec.com>
5099
a78cc314
RS
5100 * config/mips/constraints.md ("d"): BASE_REG_CLASS replaced by
5101 "TARGET_MIPS16 ? M16_REGS : GR_REGS".
5102 * config/mips/mips.c (mips_regno_to_class): Update for M16_SP_REGS.
5103 (mips_regno_mode_ok_for_base_p): Remove use of !strict_p for MIPS16.
5104 (mips_register_priority): New function that implements the target
5105 hook TARGET_REGISTER_PRIORITY.
5106 (mips_spill_class): Likewise for TARGET_SPILL_CLASS.
5107 (mips_lra_p): Likewise for TARGET_LRA_P.
5108 (TARGET_REGISTER_PRIORITY): Define macro.
5109 (TARGET_SPILL_CLASS): Likewise.
5110 (TARGET_LRA_P): Likewise.
5111 * config/mips/mips.h (reg_class): Add M16_SP_REGS and SPILL_REGS
5112 classes.
5113 (REG_CLASS_NAMES): Likewise.
5114 (REG_CLASS_CONTENTS): Likewise.
5115 (BASE_REG_CLASS): Use M16_SP_REGS.
5116 * config/mips/mips.md (*mul_acc_si): Add alternative tuned for LRA.
5117 New set attribute to enable alternatives depending on the register
5118 allocator used.
5119 (*mul_acc_si_r3900, *mul_sub_si): Likewise.
5120 (*lea64): Disable pattern for MIPS16.
5121 * config/mips/mips.opt (mlra): New option.
5122
51232014-06-18 Robert Suchanek <robert.suchanek@imgtec.com>
5124
82bb9245
AM
5125 * lra-constraints.c (base_to_reg): New function.
5126 (process_address): Use new function.
c31d2d11 5127
78607708
TV
51282014-06-18 Tom de Vries <tom@codesourcery.com>
5129
5130 * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Declare.
5131 * config/aarch64/aarch64.c
5132 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine as true.
5133 (aarch64_emit_call_insn): New function.
5134 (aarch64_load_symref_appropriately): Use aarch64_emit_call_insn instead
5135 of emit_call_insn.
5136 * config/aarch64/aarch64.md (define_expand "call_internal")
5137 (define_expand "call_value_internal", define_expand "sibcall_internal")
5138 (define_expand "sibcall_value_internal"): New.
5139 (define_expand "call", define_expand "call_value")
5140 (define_expand "sibcall", define_expand "sibcall_value"): Use internal
5141 expand variant and aarch64_emit_call_insn.
5142
7a32d6c4 51432014-06-18 Radovan Obradovic <robradovic@mips.com>
dd5e7837 5144 Tom de Vries <tom@codesourcery.com>
7a32d6c4
RO
5145
5146 * config/arm/arm-protos.h (arm_emit_call_insn): Add bool parameter.
5147 * config/arm/arm.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
5148 Redefine to true.
5149 (arm_emit_call_insn): Add and use sibcall parameter. Add IP and CC
5150 clobbers to CALL_INSN_FUNCTION_USAGE.
5151 (define_expand "sibcall_internal")
5152 (define_expand "sibcall_value_internal"): New.
5153 (define_expand "call", define_expand "call_value"): Add argument to
5154 arm_emit_call_insn.
5155 (define_expand "sibcall"): Use sibcall_internal and arm_emit_call_insn.
5156 (define_expand "sibcall_value"): Use sibcall_value_internal and
5157 arm_emit_call_insn.
5158
4b9fcb37
CB
51592014-06-18 Charles Baylis <charles.baylis@linaro.org>
5160
5161 * config/arm/bpabi.c (__gnu_uldivmod_helper): Remove.
5162
a7a7d3c8
CB
51632014-06-18 Charles Baylis <charles.baylis@linaro.org>
5164
5165 * config/arm/bpabi-v6m.S (__aeabi_uldivmod): Perform division using
5166 __udivmoddi4.
5167
158ef346
CB
51682014-06-18 Charles Baylis <charles.baylis@linaro.org>
5169
5170 * config/arm/bpabi.S (__aeabi_ldivmod, __aeabi_uldivmod,
5171 push_for_divide, pop_for_divide): Use .cfi_* directives for DWARF
5172 annotations. Fix DWARF information.
5173
13381189
CB
51742014-06-18 Charles Baylis <charles.baylis@linaro.org>
5175
5176 * config/arm/bpabi.S (__aeabi_ldivmod): Perform division using
5177 __udivmoddi4, and fixups for negative operands.
5178
f493def1
CB
51792014-06-18 Charles Baylis <charles.baylis@linaro.org>
5180
5181 * config/arm/bpabi.S (__aeabi_ldivmod): Optimise stack manipulation.
5182
0b227df4
CB
51832014-06-18 Charles Baylis <charles.baylis@linaro.org>
5184
5185 * config/arm/bpabi.S (__aeabi_uldivmod): Perform division using call
5186 to __udivmoddi4.
5187
c9dae335
CB
51882014-06-18 Charles Baylis <charles.baylis@linaro.org>
5189
5190 * config/arm/bpabi.S (__aeabi_uldivmod): Optimise stack pointer
5191 manipulation.
5192
6857b807
CB
51932014-06-18 Charles Baylis <charles.baylis@linaro.org>
5194
5195 * config/arm/bpabi.S (__aeabi_uldivmod, __aeabi_ldivmod): Add comment
5196 describing register usage on function entry and exit.
5197
f21d8faa
CB
51982014-06-18 Charles Baylis <charles.baylis@linaro.org>
5199
5200 * config/arm/bpabi.S (__aeabi_uldivmod): Fix whitespace.
5201 (__aeabi_ldivmod): Fix whitespace.
5202
544aee0d
AS
52032014-06-18 Andreas Schwab <schwab@suse.de>
5204
5205 * doc/md.texi (Standard Names): Use @itemx for grouped items.
5206 Remove blank line after @item.
5207
0bc11714
RH
52082014-06-18 Richard Henderson <rth@redhat.com>
5209
5210 PR target/61545
5211 * config/aarch64/aarch64.md (tlsdesc_small_<PTR>): Clobber CC_REGNUM.
5212
7b5b78b1
CB
52132014-06-18 Charles Baylis <charles.baylis@linaro.org>
5214
5215 * config/arm/arm.c (neon_vector_mem_operand): Allow register
5216 POST_MODIFY for neon loads and stores.
5217 (arm_print_operand): Output post-index register for neon loads and
5218 stores.
5219
54ed41ea
RB
52202014-06-18 Richard Biener <rguenther@suse.de>
5221
5222 * tree-ssa-dce.c (perform_tree_ssa_dce): Fixup bogus commit.
5223
30866dc9
RB
52242014-06-18 Richard Biener <rguenther@suse.de>
5225
5226 * tree-pass.h (make_pass_dce_loop): Remove.
5227 * passes.def: Replace pass_dce_loop with pass_dce.
5228 * tree-ssa-dce.c (perform_tree_ssa_dce): If something
5229 changed free niter estimates and reset the scev cache.
5230 (tree_ssa_dce_loop, pass_data_dce_loop, pass_dce_loop,
5231 make_pass_dce_loop): Remove.
5232 * tree-ssa-copy.c: Include tree-ssa-loop-niter.h.
5233 (fini_copy_prop): Return whether something changed. Always
5234 let substitute_and_fold perform DCE and free niter estimates
5235 and reset the scev cache if so.
5236 (execute_copy_prop): If sth changed schedule cleanup-cfg.
5237 (pass_data_copy_prop): Do not unconditionally schedule
5238 cleanup-cfg or update-ssa.
5239
560c75e9
YR
52402014-06-18 Yuri Rumyantsev <ysrumyan@gmail.com>
5241
5242 PR tree-optimization/61518
5243 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
5244 reduction var is used in reduction stmt or phi-function only.
5245
751738cb
KT
52462014-06-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5247
5248 * config/arm/arm_neon.h (vadd_f32): Change #ifdef to __FAST_MATH.
5249
a31d2741
TP
52502014-06-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
5251
5252 PR tree-optimization/61517
5253 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Adapt to return a stmt
5254 whose rhs's first tree is the source expression instead of the
5255 expression itself.
5256 (find_bswap_or_nop): Likewise.
5257 (bsap_replace): Rename stmt in cur_stmt. Pass gsi by value and src as a
5258 gimple stmt whose rhs's first tree is the source. In the memory source
5259 case, move the stmt to be replaced close to one of the original load to
5260 avoid the problem of a store between the load and the stmt's original
5261 location.
5262 (pass_optimize_bswap::execute): Adapt to change in bswap_replace's
5263 signature.
5264
a0f37b26
AS
52652014-06-18 Andreas Schwab <schwab@suse.de>
5266
5267 PR rtl-optimization/54555
5268 * postreload.c (move2add_use_add2_insn): Substitute
5269 STRICT_LOW_PART only if it is cheaper.
5270
9fdb837f
UB
52712014-06-18 Uros Bizjak <ubizjak@gmail.com>
5272
5273 * config/i386/i386.md (*sibcall_memory): Rename from *sibcall_intern.
5274 Do not use unspec as call operand. Use memory_operand instead of
5275 memory_nox32_operand and add "m" operand constraint. Disable
5276 pattern for TARGET_X32.
5277 (*sibcall_pop_memory): Ditto.
5278 (*sibcall_value_memory): Ditto.
5279 (*sibcall_value_pop_memory): Ditto.
5280 (sibcall peepholes): Merge SImode and DImode patterns using
5281 W mode iterator. Use memory_operand instead of memory_nox32_operand.
5282 Disable pattern for TARGET_X32. Check if eliminated register is
5283 really dead after call insn. Generate call RTX without unspec operand.
5284 (sibcall_value peepholes): Ditto.
5285 (sibcall_pop peepholes): Fix call insn RTXes. Use memory_operand
5286 instead of memory_nox32_operand. Check if eliminated register is
5287 really dead after call insn. Generate call RTX without unspec operand.
5288 (sibcall_value_pop peepholes): Ditto.
5289 * config/i386/predicates.md (memory_nox32_operand): Remove predicate.
5290
35d147ef
TG
52912014-06-18 Terry Guo <terry.guo@arm.com>
5292
5293 PR target/61544
5294 * config/arm/arm.c (thumb1_reorg): Move to next basic block if we
5295 reach the head.
5296
c41f1c42
BE
52972014-06-18 Olivier Hainque <hainque@adacore.com>
5298
5299 * tree-core.h (tree_block): Add an "end_locus" field, allowing
5300 memorization of the end of block source location.
5301 * tree.h (BLOCK_SOURCE_END_LOCATION): New accessor.
5302 * gimplify.c (gimplify_bind_expr): Propagate the block start and
5303 end source location info we have on the block entry/exit code we
5304 generate.
5305
68f6df73
RB
53062014-06-18 Richard Biener <rguenther@suse.de>
5307
5308 * common.opt (fssa-phiopt): New option.
5309 * opts.c (default_options_table): Enable -fssa-phiopt with -O1+
5310 but not with -Og.
5311 * tree-ssa-phiopt.c (pass_phiopt): Add gate method.
5312 * doc/invoke.texi (-fssa-phiopt): Document.
5313
419d45db
KT
53142014-06-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5315
5316 * genattrtab.c (n_bypassed): New variable.
5317 (process_bypasses): Initialise n_bypassed.
5318 Count number of bypassed reservations.
5319 (make_automaton_attrs): Allocate space for bypassed reservations
5320 rather than number of bypasses.
5321
25b7069a
RB
53222014-06-18 Richard Biener <rguenther@suse.de>
5323
5324 * tree-ssa-propagate.c (replace_phi_args_in): Return whether
5325 we propagated anything.
5326 (substitute_and_fold_dom_walker::before_dom_children): Something
5327 changed if we propagated into PHI arguments.
5328 * tree-ssa-pre.c (eliminate): Always schedule cfg-cleanup if
5329 we removed a stmt.
5330
f7917029
ES
53312014-06-18 Evgeny Stupachenko <evstupac@gmail.com>
5332
5333 * config/i386/i386.c (ix86_reassociation_width): Add alternative for
5334 vector case.
5335 * config/i386/i386.h (TARGET_VECTOR_PARALLEL_EXECUTION): New.
5336 * config/i386/x86-tune.def (X86_TUNE_VECTOR_PARALLEL_EXECUTION): New.
5337 * tree-vect-data-refs.c (vect_shift_permute_load_chain): New.
5338 Introduces alternative way of loads group permutaions.
5339 (vect_transform_grouped_load): Try alternative way of permutations.
5340
f014c653
JJ
53412014-06-18 Jakub Jelinek <jakub@redhat.com>
5342
9fdb837f
UB
5343 * gimplify.c (omp_notice_variable): If n is non-NULL and no flags
5344 changed in ORT_TARGET region, don't jump to do_outer.
f014c653
JJ
5345 (struct gimplify_adjust_omp_clauses_data): New type.
5346 (gimplify_adjust_omp_clauses_1): Adjust for data being
5347 a struct gimplify_adjust_omp_clauses_data pointer instead
5348 of tree *. Pass pre_p as a new argument to
5349 lang_hooks.decls.omp_finish_clause hook.
5350 (gimplify_adjust_omp_clauses): Add pre_p argument, adjust
5351 splay_tree_foreach to pass both list_p and pre_p.
5352 (gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for,
5353 gimplify_omp_workshare, gimplify_omp_target_update): Adjust
5354 gimplify_adjust_omp_clauses callers.
5355 * langhooks.c (lhd_omp_finish_clause): New function.
5356 * langhooks-def.h (lhd_omp_finish_clause): New prototype.
5357 (LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause.
5358 * langhooks.h (struct lang_hooks_for_decls): Add a new
5359 gimple_seq * argument to omp_finish_clause hook.
5360 * omp-low.c (scan_sharing_clauses): Call scan_omp_op on
5361 non-DECL_P OMP_CLAUSE_DECL if ctx->outer.
5362 (scan_omp_parallel, lower_omp_for): When adding
9fdb837f 5363 _LOOPTEMP_ clause var, add it to outer ctx's decl_map as identity.
f014c653
JJ
5364 * tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind.
5365 * tree-nested.c (convert_nonlocal_omp_clauses,
5366 convert_local_omp_clauses): Handle various OpenMP 4.0 clauses.
9fdb837f 5367 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_MAP_TO_PSET.
f014c653 5368
f2918c18
AM
53692014-06-17 Andrew MacLeod <amacleod@redhat.com>
5370
5371 * tree-dfa.h (get_addr_base_and_unit_offset_1): Move from here.
5372 * tree-dfa.c (get_addr_base_and_unit_offset_1): To here.
5373
90d0d8d3
XDL
53742014-06-17 Xinliang David Li <davidxl@google.com>
5375
5376 * tree-pretty-print.c (dump_function_header): Print cgraph uid.
5377 * passes.c (pass_init_dump_file): Do not set initialize
5378 flag to false unconditionally.
5379
75509ba2
RB
53802014-06-17 Richard Biener <rguenther@suse.de>
5381
5382 * genopinit.c (main): Use vec<>::qsort method.
5383 * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
5384 Likewise.
5385 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Likewise.
5386
e58b74ea
MF
53872014-06-17 Matthew Fortune <matthew.fortune@imgtec.com>
5388
5389 * config/mips/mips-protos.h (mips_expand_fcc_reload): Remove.
5390 * config/mips/mips.c (mips_expand_fcc_reload): Remove.
5391 (mips_move_to_gpr_cost): Remove ST_REGS case.
5392 (mips_move_from_gpr_cost): Likewise.
5393 (mips_register_move_cost): Likewise.
5394 (mips_secondary_reload_class): Likewise.
5395
9e4f27ef
RB
53962014-06-17 Richard Biener <rguenther@suse.de>
5397
5398 * passes.def (pass_all_early_optimizations): Remove copy-prop pass.
5399 (pass_all_optimizations): Move 3rd copy-prop pass from after
5400 fre to before ifcombine/phiopt.
5401
866f20d6
RB
54022014-06-17 Richard Biener <rguenther@suse.de>
5403
5404 * tree-switch-conversion.c (collect_switch_conv_info): Simplify
5405 and allow all blocks to be forwarders.
5406
3abf17cf
YZ
54072014-06-17 Yufeng Zhang <yufeng.zhang@arm.com>
5408
5409 PR target/61483
5410 * config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
5411 variable 'size'; calculate 'size' right in the front; use
5412 'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
5413 pcum->aapcs_stack_words.
5414
ba3cf9f1
NC
54152014-06-17 Nick Clifton <nickc@redhat.com>
5416
5417 * config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
5418 (umulhi3, mulsidi3, umulsidi3): Likewise.
5419
7a75b6e2
TS
54202014-06-17 Thomas Schwinge <thomas@codesourcery.com>
5421
5422 PR middle-end/61508
5423 * fold-const.c (fold_checksum_tree) <TS_DECL_WITH_VIS>: Remove
5424 check for section name.
5425
ec18e2eb
RB
54262014-06-17 Richard Biener <rguenther@suse.de>
5427
5428 * tree-ssa-propagate.c: Include domwalk.h.
5429 (substitute_and_fold): Outline main worker into a domwalker ...
5430 (substitute_and_fold_dom_walker::before_dom_children): ... here.
5431 Schedule stmts we can fully propagate for removal. Remove
5432 poor-mans DCE.
5433 (substitute_and_fold): Apply a dominator walk to perform
5434 substitution. Process stmts scheduled for removal here.
5435
a4ab23b6
RB
54362014-06-17 Richard Biener <rguenther@suse.de>
5437
5438 * tree-ssa-loop-im.c (determine_max_movement): Adjust cost
5439 of PHI node moving.
5440
5db37871
KV
54412014-06-17 Kugan Vivekanandarajah <kuganv@linaro.org>
5442
5443 * config/arm/arm.c (arm_atomic_assign_expand_fenv): call
5444 default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
5445 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
5446 __builtins_arm_get_fpscr only when TARGET_HARD_FLOAT.
5447 * config/arm/vfp.md (set_fpscr): Make pattern conditional on
5448 TARGET_HARD_FLOAT.
5449 (get_fpscr) : Likewise.
5450
ba38538f
VM
54512014-06-16 Vladimir Makarov <vmakarov@redhat.com>
5452
5453 PR rtl-optimization/61325
5454 * lra-constraints.c (valid_address_p): Add forward declaration.
5455 (simplify_operand_subreg): Check address validity before and after
5456 alter_reg of memory subreg.
5457
7049aed6
UB
54582014-06-16 Uros Bizjak <ubizjak@gmail.com>
5459
5460 * config/i386/i386.c (decide_alg): Correctly handle
5461 maximum size of stringop algorithm.
5462
241e298a
YG
54632014-06-16 Yury Gribov <y.gribov@samsung.com>
5464
5465 * asan.c (build_check_stmt): Fix maybe-uninitialized warning.
5466
1df2287f
VM
54672014-06-16 Vladimir Makarov <vmakarov@redhat.com>
5468
5469 PR rtl-optimization/61522
7049aed6 5470 * lra-assigns.c (assign_by_spills): Check null targetm.spill_class.
1df2287f 5471
da66d596
JH
54722014-06-16 Jan Hubicka <hubicka@ucw.cz>
5473
5474 Revert:
5475 * symtab.c (symtab_node::reset_section): New method.
5476 * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
5477 for localization.
5478 * cgraph.h (reset_section): Declare.
5479 * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
5480 do not consider comdat locals.
5481 * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
5482 for new symbol.
5483 * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
5484 (update_visibility_by_resolution_info): Consider UNDEF; fix checking;
5485 reset sections of symbols dragged out of the comdats.
9fdb837f
UB
5486 (function_and_variable_visibility): Reset sections of
5487 localized symbols.
da66d596 5488
9e9f6bf0
RB
54892014-06-16 Richard Biener <rguenther@suse.de>
5490
5491 PR tree-optimization/61482
5492 * tree-vrp.c (adjust_range_with_scev): Avoid setting of
5493 [-INF(OVF), +INF(OVF)] range.
5494
2bd4bfee
GG
54952014-06-16 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
5496
7964957f
AS
5497 * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Issue
5498 instructions "vpmuludq" and "vpaddq" instead of "vpmacsdql" for
2bd4bfee
GG
5499 handling 32-bit multiplication.
5500
debd8f30
CLT
55012014-06-16 Chung-Lin Tang <cltang@codesourcery.com>
5502
5503 PR middle-end/61430
5504 * lra-lives.c (process_bb_lives): Skip creating copy during
5505 insn scan when src/dest has constrained to same regno.
5506
6192fa79
JH
55072014-06-15 Jan Hubicka <hubicka@ucw.cz>
5508
5509 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again
5510 DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN.
5511
8946c29e
YG
55122014-06-16 Yury Gribov <y.gribov@samsung.com>
5513
5514 * asan.c (check_func): New function.
5515 (maybe_create_ssa_name): Likewise.
5516 (build_check_stmt_with_calls): Likewise.
5517 (use_calls_p): Likewise.
5518 (report_error_func): Change interface.
5519 (build_check_stmt): Allow non-integer lengths; add support
5520 for new parameter.
5521 (asan_instrument): Likewise.
7049aed6 5522 (instrument_mem_region_access): Moved code to build_check_stmt.
8946c29e
YG
5523 (instrument_derefs): Likewise.
5524 (instrument_strlen_call): Likewise.
7049aed6 5525 * cfgcleanup.c (old_insns_match_p): Add support for new functions.
8946c29e
YG
5526 * doc/invoke.texi: Describe new parameter.
5527 * params.def: Define new parameter.
5528 * params.h: Likewise.
5529 * sanitizer.def: Describe new builtins.
5530
5d5cb4d4
RB
55312014-06-16 Richard Biener <rguenther@suse.de>
5532
5533 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
5534 Make all defs available at the end.
5535 (eliminate): If we remove a PHI node schedule cfg-cleanup.
5536
4e4fa3c5
JJ
55372014-06-18 Jakub Jelinek <jakub@redhat.com>
5538
5539 PR plugins/45078
5540 * config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file.
5541
737c262e
RS
55422014-06-16 Richard Sandiford <rdsandiford@googlemail.com>
5543
5544 PR bootstrap/61516
5545 * auto-inc-dec.c (merge_in_block): Fix location of insn_info
5546 initialization. Replace remaining use of uid.
5547
56363ffd
JH
55482014-06-15 Jan Hubicka <hubicka@ucw.cz>
5549
7049aed6
UB
5550 * c-family/c-common.c (handle_tls_model_attribute): Use
5551 set_decl_tls_model.
5d5cb4d4
RB
5552 * c-family/c-common.c (handle_tls_model_attribute): Use
5553 set_decl_tls_model.
56363ffd
JH
5554 * cgraph.h (struct varpool_node): Add tls_model.
5555 * tree.c (decl_tls_model, set_decl_tls_model): New functions.
5556 * tree.h (DECL_TLS_MODEL): Update.
5557 (DECL_THREAD_LOCAL_P): Check that variable is static.
5558 (decl_tls_model): Declare.
5559 (set_decl_tls_model): Declare.
5560 * tree-emutls.c (get_emutls_init_templ_addr): First build decl and then
5561 set symbol prorperties.
5562 (get_emutls_init_templ_addr): Cleanup.
5563 (new_emutls_decl): Update.
5564 * lto-cgraph.c (lto_output_varpool_node): Stream TLS model
5565 (lto_input_varpool_node): Likewise.
5566 * lto-streamer-out.c (hash_tree): Likewise.
5567 * tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
5568 not stream DECL_TLS_MODEL.
30256bef
UB
5569 * tree-profile.c (init_ic_make_global_vars): Use set_decl_tls_model.
5570 * tree-core.h (tree_decl_with_vis): Remove tls_model; update comments.
56363ffd 5571
3bb5c996
RS
55722014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
5573
5574 * df.h (DF_REF_REG_USE_P, DF_MWS_REG_USE_P): Remove null checks.
5575
b512946c
RS
55762014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
5577
5578 * df.h (df_mw_hardreg, df_base_ref): Add a link pointer.
5579 (df_insn_info): Turn defs, uses, eq_uses and mw_hardregs into linked
5580 lists.
5581 (df_scan_bb_info): Likewise artificial_defs and artificial_uses.
5582 (DF_REF_NEXT_LOC, DF_MWS_NEXT): New macros.
5583 (FOR_EACH_INSN_INFO_DEF, FOR_EACH_INSN_INFO_USE)
5584 (FOR_EACH_INSN_INFO_EQ_USE, FOR_EACH_INSN_INFO_MW)
5585 (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF)
5586 (df_get_artificial_defs, df_get_artificial_uses)
5587 (df_single_def, df_single_use): Update accordingly.
5588 (df_refs_chain_dump): Take the first element in a linked list as
5589 parameter, rather than a pointer to an array of pointers.
5590 * df-core.c (df_refs_chain_dump, df_mws_dump): Likewise.
5591 * df-problems.c (df_rd_bb_local_compute_process_def): Likewise.
5592 (df_chain_create_bb_process_use): Likewise.
5593 (df_md_bb_local_compute_process_def): Likewise.
5594 * fwprop.c (process_defs, process_uses): Likewise.
5595 (register_active_defs, update_uses): Likewise.
5596 (forward_propagate_asm): Update for new df_ref linking.
5597 * df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): Delete.
5598 (df_null_ref_rec, df_null_mw_rec): Likewise.
5599 (df_scan_free_internal): Don't free df_ref and df_mw_hardreg lists
5600 explicitly.
5601 (df_scan_free_bb_info): Remove check for null artificial_defs.
5602 (df_install_ref_incremental): Adjust for new df_ref linking.
5603 Use a single-element insertion rather than a full sort.
5604 (df_ref_chain_delete_du_chain): Take the first element
5605 in a linked list as parameter, rather than a pointer to an array of
5606 pointers.
5607 (df_ref_chain_delete, df_mw_hardreg_chain_delete): Likewise.
5608 (df_add_refs_to_table, df_refs_verify, df_mws_verify): Likewise.
5609 (df_insn_info_delete): Remove check for null defs and call to
5610 df_scan_free_mws_vec.
5611 (df_insn_rescan): Initialize df_ref and df_mw_hardreg lists to
5612 null rather than df_null_*_rec.
5613 (df_insn_rescan_debug_internal): Likewise, and update null
5614 checks in the same way. Remove check for null defs.
5615 (df_ref_change_reg_with_loc_1): Fix choice of list for defs.
5616 Move a single element rather doing a full sort.
5617 (df_mw_hardreg_chain_delete_eq_uses): Adjust for new df_mw_hardreg
5618 linking.
5619 (df_notes_rescan): Likewise. Use a merge rather than a full sort.
5620 Initialize df_ref and df_mw_hardreg lists to null rather than
5621 df_null_*_rec.
5622 (df_ref_compare): Take df_refs as parameter, transferring the
5623 old interface to...
5624 (df_ref_ptr_compare): ...this new function.
5625 (df_sort_and_compress_refs): Update accordingly.
5626 (df_mw_compare): Take df_mw_hardregs as parameter, transferring the
5627 old interface to...
5628 (df_mw_ptr_compare): ...this new function.
5629 (df_sort_and_compress_mws): Update accordingly.
5630 (df_install_refs, df_install_mws): Return a linked list rather than
5631 an array of pointers.
5632 (df_refs_add_to_chains): Assert that old lists are empty rather
5633 than freeing them.
5634 (df_insn_refs_verify): Don't handle null defs speciailly.
5635 * web.c (union_match_dups): Update for new df_ref linking.
5636
5a474220
RS
56372014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
5638
5639 * df.h (df_ref_create, df_ref_remove): Delete.
5640 * df-scan.c (df_ref_create, df_ref_compress_rec): Likewise.
5641 (df_ref_remove): Likewise.
5642
74e59b6c
RS
56432014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
5644
5645 * df.h (df_single_def, df_single_use): New functions.
5646 * ira.c (find_moveable_pseudos): Use them.
5647
fc8e9f58
RS
56482014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
5649
5650 * df.h (FOR_EACH_INSN_INFO_MW): New macro.
5651 * df-problems.c (df_note_bb_compute): Use it.
5652 * regstat.c (regstat_bb_compute_ri): Likewise.
5653
292321a5
RS
56542014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
5655
5656 * df.h (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF): New macros.
5657 * cse.c (cse_extended_basic_block): Use them.
5658 * dce.c (mark_artificial_use): Likewise.
5659 * df-problems.c (df_rd_simulate_artificial_defs_at_top): Likewise.
5660 (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
5661 (df_chain_remove_problem, df_chain_bb_dump): Likewise.
5662 (df_word_lr_bb_local_compute, df_note_bb_compute): Likewise.
5663 (df_simulate_initialize_backwards): Likewise.
5664 (df_simulate_finalize_backwards): Likewise.
5665 (df_simulate_initialize_forwards): Likewise.
5666 (df_md_simulate_artificial_defs_at_top): Likewise.
5667 * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
5668 * regrename.c (init_rename_info): Likewise.
5669 * regstat.c (regstat_bb_compute_ri): Likewise.
5670 (regstat_bb_compute_calls_crossed): Likewise.
5671
bfac633a
RS
56722014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
5673
5674 * df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros.
5675 (FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise.
5676 (FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise.
5677 * auto-inc-dec.c (find_inc, merge_in_block): Use them.
5678 * combine.c (create_log_links): Likewise.
5679 * compare-elim.c (find_flags_uses_in_insn): Likewise.
5680 (try_eliminate_compare): Likewise.
5681 * cprop.c (make_set_regs_unavailable, mark_oprs_set): Likewise.
5682 * dce.c (deletable_insn_p, find_call_stack_args): Likewise.
5683 (remove_reg_equal_equiv_notes_for_defs): Likewise.
5684 (reset_unmarked_insns_debug_uses, mark_reg_dependencies): Likewise.
5685 (word_dce_process_block, dce_process_block): Likewise.
5686 * ddg.c (def_has_ccmode_p): Likewise.
5687 * df-core.c (df_bb_regno_first_def_find): Likewise.
5688 (df_bb_regno_last_def_find, df_find_def, df_find_use): Likewise.
5689 * df-problems.c (df_rd_simulate_one_insn): Likewise.
5690 (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
5691 (df_chain_remove_problem, df_chain_insn_top_dump): Likewise.
5692 (df_chain_insn_bottom_dump, df_word_lr_bb_local_compute): Likewise.
5693 (df_word_lr_simulate_defs, df_word_lr_simulate_uses): Likewise.
5694 (df_remove_dead_eq_notes, df_note_bb_compute): Likewise.
5695 (df_simulate_find_defs, df_simulate_find_uses): Likewise.
5696 (df_simulate_find_noclobber_defs, df_simulate_defs): Likewise.
5697 (df_simulate_uses, df_md_simulate_one_insn): Likewise.
5698 * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
5699 * fwprop.c (local_ref_killed_between_p): Likewise.
5700 (all_uses_available_at, free_load_extend): Likewise.
5701 * gcse.c (update_bb_reg_pressure, calculate_bb_reg_pressure): Likewise.
5702 * hw-doloop.c (scan_loop): Likewise.
5703 * ifcvt.c (dead_or_predicable): Likewise.
5704 * init-regs.c (initialize_uninitialized_regs): Likewise.
5705 * ira-lives.c (mark_hard_reg_early_clobbers): Likewise.
5706 (process_bb_node_lives): Likewise.
5707 * ira.c (compute_regs_asm_clobbered, build_insn_chain): Likewise.
5708 (find_moveable_pseudos): Likewise.
5709 * loop-invariant.c (check_dependencies, record_uses): Likewise.
5710 * recog.c (peep2_find_free_register): Likewise.
5711 * ree.c (get_defs): Likewise.
5712 * regstat.c (regstat_bb_compute_ri): Likewise.
5713 (regstat_bb_compute_calls_crossed): Likewise.
5714 * sched-deps.c (find_inc, find_mem): Likewise.
5715 * sel-sched-ir.c (maybe_downgrade_id_to_use): Likewise.
5716 (maybe_downgrade_id_to_use, setup_id_reg_sets): Likewise.
5717 * shrink-wrap.c (requires_stack_frame_p): Likewise.
5718 (prepare_shrink_wrap): Likewise.
5719 * store-motion.c (compute_store_table, build_store_vectors): Likewise.
5720 * web.c (union_defs, pass_web::execute): Likewise.
5721 * config/i386/i386.c (increase_distance, insn_defines_reg): Likewise.
5722 (insn_uses_reg_mem, ix86_ok_to_clobber_flags): Likewise.
5723
9afb455c
VM
57242014-06-13 Vladimir Makarov <vmakarov@redhat.com>
5725
5726 * lra-assign.c (assign_by_spills): Add code to assign vector regs
5727 to inheritance pseudos.
5728 * config/i386/i386.c (ix86_spill_class): Add check on NO_REGS.
5729
8241efd1
PB
57302014-06-13 Peter Bergner <bergner@vnet.ibm.com>
5731
5732 PR target/61415
5733 * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete.
5734 (BU_MISC_2): Rename to ...
5735 (BU_LDBL128_2): ... this.
5736 * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define.
5737 (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128.
5738 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
5739 RS6000_BTM_LDBL128.
5740 (rs6000_invalid_builtin): Add long double 128-bit builtin support.
5741 (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128.
5742 * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand.
5743 (unpacktf_1): Likewise.
5744 * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation.
5745 (__builtin_longdouble_dw1): Likewise.
5746 * doc/sourcebuild.texi (longdouble128): Document.
5747
c7ece684
JL
57482014-06-13 Jeff Law <law@redhat.com>
5749
5750 PR rtl-optimization/61094
5751 PR rtl-optimization/61446
5752 * ree.c (combine_reaching_defs): Get the mode for the copy from
5753 the extension insn rather than the defining insn.
5754
8e96d784
DC
57552014-06-13 Dehao Chen <dehao@google.com>
5756
5757 * dwarf2out.c (add_linkage_name): Emit more linkage name.
5758
45b3824d
TS
57592014-06-13 Thomas Schwinge <thomas@codesourcery.com>
5760
5761 * doc/install.texi (--enable-linker-plugin-configure-flags)
5762 (--enable-linker-plugin-flags): Document new flags.
5763
beb683ab
MJ
57642014-06-13 Martin Jambor <mjambor@suse.cz>
5765
5766 PR ipa/61186
5767 * ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to
5768 cache_token if returning early.
5769
f6c43824
NC
57702014-06-13 Nick Clifton <nickc@redhat.com>
5771
5772 * config/rx/rx.h (JUMP_ALIGN): Return the log value if user
5773 requested alignment is active.
5774 (LABEL_ALIGN): Likewise.
5775 (LOOP_ALIGN): Likewise.
5776
6aa4c5b6
RB
57772014-06-13 Richard Biener <rguenther@suse.de>
5778
5779 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
5780 Rewrite to propagate the VN result into all uses where
5781 possible and to remove stmts becoming dead because of that.
5782 (eliminate): Generalize stmt removal handling, remove in
5783 reverse dominator order to support proper debug stmt
5784 generation. Update stmts before removing stmts.
7049aed6 5785 * tree-ssa-propagate.c (propagate_tree_value): Remove bogus assert.
6aa4c5b6 5786
ca6cbdca
TP
57872014-06-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
5788
5789 PR tree-optimization/61375
5790 * tree-ssa-math-opts.c (init_symbolic_number): Cancel optimization if
5791 symbolic number cannot be represented in an uint64_t.
5792 (find_bswap_or_nop_1): Likewise.
5793
24e49ea0
JH
57942014-06-12 Jan Hubicka <hubicka@ucw.cz>
5795
5796 * symtab.c (symtab_node::reset_section): New method.
5797 * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
5798 for localization.
5799 * cgraph.h (reset_section): Declare.
5800 * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
5801 do not consider comdat locals.
5802 * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
5803 for new symbol.
5804 * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
5805 (update_visibility_by_resolution_info): Consider UNDEF; fix checking;
5806 reset sections of symbols dragged out of the comdats.
7049aed6
UB
5807 (function_and_variable_visibility): Reset sections of
5808 localized symbols.
24e49ea0 5809
6ad386b7
JH
58102014-06-12 Jan Hubicka <hubicka@ucw.cz>
5811
5812 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg
5813 to use symtab and decl_binds_to_current_def_p
5814 * tree-vectorizer.c (increase_alignment): Increase alignment
5815 of alias target, too.
5816
9cf32741
JJ
58172014-06-12 Jakub Jelinek <jakub@redhat.com>
5818
5819 PR middle-end/61486
5820 * gimplify.c (struct gimplify_omp_ctx): Add distribute field.
5821 (gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE
5822 if outer combined construct is distribute.
5823 (gimplify_omp_for): For OMP_DISTRIBUTE set
5824 gimplify_omp_ctxp->distribute.
5825 * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For
5826 GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record
5827 mapping into decl map.
5828
ca0e51a0
JM
58292014-06-12 Jason Merrill <jason@redhat.com>
5830
5831 * common.opt (fabi-version): Change default to 0.
5832
90d84934
JM
58332014-06-12 Jason Merrill <jason@redhat.com>
5834
5835 * toplev.c (process_options): Reject -fabi-version=1.
5836
551a6341
JL
58372014-06-12 Jeff Law <law@redhat.com>
5838
7964957f 5839 PR tree-optimization/61009
551a6341
JL
5840 * tree-ssa-threadedge.c (thread_through_normal_block): Correct return
5841 value when we stop processing a block due to problematic PHIs.
5842
5eba0999
AL
58432014-06-12 Alan Lawrence <alan.lawrence@arm.com>
5844
5845 * config/aarch64/arm_neon.h (vmlaq_n_f64, vmlsq_n_f64, vrsrtsq_f64,
5846 vcge_p8, vcgeq_p8, vcgez_p8, vcgez_u8, vcgez_u16, vcgez_u32, vcgez_u64,
5847 vcgezq_p8, vcgezq_u8, vcgezq_u16, vcgezq_u32, vcgezq_u64, vcgezd_u64,
5848 vcgt_p8, vcgtq_p8, vcgtz_p8, vcgtz_u8, vcgtz_u16, vcgtz_u32, vcgtz_u64,
5849 vcgtzq_p8, vcgtzq_u8, vcgtzq_u16, vcgtzq_u32, vcgtzq_u64, vcgtzd_u64,
5850 vcle_p8, vcleq_p8, vclez_p8, vclez_u64, vclezq_p8, vclezd_u64, vclt_p8,
7049aed6
UB
5851 vcltq_p8, vcltz_p8, vcltzq_p8, vcltzd_u64): Remove functions as they
5852 are not in the spec.
5eba0999 5853
ad7d90cc
AL
58542014-06-10 Alan Lawrence <alan.lawrence@arm.com>
5855
5856 PR target/59843
5857 * config/aarch64/aarch64-modes.def: Add V1DFmode.
5858 * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p):
5859 Support V1DFmode.
5860
9c85aeb6
EB
58612014-06-12 Eric Botcazou <ebotcazou@adacore.com>
5862
5863 * tree-core.h (DECL_NONALIASED): Use proper spelling in comment.
5864
c407027e
GJL
58652014-06-12 Georg-Johann Lay <avr@gjlay.de>
5866
5867 PR target/61443
5868 * config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when
5869 loading from address spaces.
5870
3c9e6fca
ML
58712014-06-12 Martin Liska <mliska@suse.cz>
5872
5873 PR ipa/61462
5874 * ipa-prop.c (ipa_make_edge_direct_to_target): Check that gimple call
7964957f 5875 statement is reachable.
3c9e6fca 5876
f961457f
JH
58772014-06-11 Jan Hubicka <hubicka@ucw.cz>
5878
5879 * symtab.c (section_hash): New hash.
5880 (symtab_unregister_node): Clear section before freeing.
5881 (hash_section_hash_entry): New haser.
5882 (eq_sections): New function.
5883 (symtab_node::set_section_for_node): New method.
5884 (set_section_1): Update.
5885 (symtab_node::set_section): Take string instead of tree as parameter.
5886 (symtab_resolve_alias): Update.
5887 * cgraph.h (section_hash_entry_d): New structure.
5888 (section_hash_entry): New typedef.
5889 (cgraph_node): Change comdat_group_ to x_comdat_group,
5890 change section_ to x_section and turn into section_hash_entry;
5891 update accestors; put set_section_for_node offline.
5892 * tree.c (decl_section_name): Turn into string.
5893 (set_decl_section_name): Change parameter to be string.
5894 * tree.h (decl_section_name, set_decl_section_name): Update prototypes.
5895 * sdbout.c (sdbout_one_type): Update.
5896 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Update.
9fdb837f
UB
5897 * varasm.c (IN_NAMED_SECTION, get_named_section,
5898 resolve_unique_section, hot_function_section, get_named_text_section,
7049aed6
UB
5899 USE_SELECT_SECTION_FOR_FUNCTIONS, default_function_rodata_section,
5900 make_decl_rtl, default_unique_section): Update.
f961457f
JH
5901 * config/c6x/c6x.c (c6x_in_small_data_p): Update.
5902 (c6x_elf_unique_section): Update.
5903 * config/nios2/nios2.c (nios2_in_small_data_p): Update.
5904 * config/pa/pa.c (pa_function_section): Update.
5905 * config/pa/pa.h (IN_NAMED_SECTION_P): Update.
5906 * config/ia64/ia64.c (ia64_in_small_data_p): Update.
5907 * config/arc/arc.c (arc_in_small_data_p): Update.
5908 * config/arm/unknown-elf.h (IN_NAMED_SECTION_P): Update.
5909 * config/mcore/mcore.c (mcore_unique_section): Update.
5910 * config/mips/mips.c (mips16_build_function_stub): Update.
5911 (mips16_build_call_stub): Update.
5912 (mips_function_rodata_section): Update.
5913 (mips_in_small_data_p): Update.
5914 * config/score/score.c (score_in_small_data_p): Update.
5915 * config/rx/rx.c (rx_in_small_data): Update.
5916 * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Update.
5917 (rs6000_xcoff_asm_named_section): Update.
5918 (rs6000_xcoff_unique_section): Update.
5919 * config/frv/frv.c (frv_string_begins_with): Update.
5920 (frv_in_small_data_p): Update.
5921 * config/v850/v850.c (v850_encode_data_area): Update.
5922 * config/bfin/bfin.c (DECL_SECTION_NAME): Update.
5923 (bfin_handle_l1_data_attribute): Update.
5924 (bfin_handle_l2_attribute): Update.
5925 * config/mep/mep.c (mep_unique_section): Update.
7049aed6
UB
5926 * config/microblaze/microblaze.c (microblaze_elf_in_small_data_p):
5927 Update.
f961457f
JH
5928 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute): Update.
5929 (h8300_handle_tiny_data_attribute): Update.
5930 * config/m32r/m32r.c (m32r_in_small_data_p): Update.
5931 (m32r_in_small_data_p): Update.
5932 * config/alpha/alpha.c (alpha_in_small_data_p): Update.
5933 * config/i386/i386.c (ix86_in_large_data_p): Update.
5934 * config/i386/winnt.c (i386_pe_unique_section): Update.
5935 * config/darwin.c (darwin_function_section): Update.
5936 * config/lm32/lm32.c (lm32_in_small_data_p): Update.
5937 * tree-emutls.c (get_emutls_init_templ_addr): Update.
5938 (new_emutls_decl): Update.
5939 * lto-cgraph.c (lto_output_node, input_node, input_varpool_node,
5940 input_varpool_node): Update.
5941 (ead_string_cst): Turn to ...
5942 (read_string): ... this one.
5943 * dwarf2out.c (secname_for_decl): Update.
5944 * asan.c (asan_protect_global): Update.
5945
1704a72b
DD
59462014-06-11 DJ Delorie <dj@redhat.com>
5947
1cf1574d
DD
5948 * config/rx/rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte
5949 cache lines.
5950 * config/rx/rx.c (rx_option_override): Likewise.
5951 (rx_align_for_label): Likewise.
5952
1704a72b
DD
5953 * config/rx/rx.c (rx_max_skip_for_label): Don't skip anything if -Os.
5954
37251385
MR
59552014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
5956
5957 * config/mmix/mmix-protos.h (mmix_asm_output_source_line): Remove
5958 prototype.
5959
8677664e
RS
59602014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
5961
5962 * common.md: New file.
5963 * doc/md.texi: Update description of generic, machine-independent
5964 constraints.
5965 * config/s390/constraints.md (e): Delete.
5966 * Makefile.in (md_file): Include common.md.
5967 * config/m32c/t-m32c (md_file): Likewise.
5968 * genpreds.c (general_mem): New array.
5969 (generic_constraint_letters): Remove constraints now defined by
5970 common.md.
5971 (add_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
5972 Allow the first character to be '<' or '>' as well.
5973 * genoutput.c (general_mem): New array.
5974 (indep_constraints): Remove constraints now defined by common.md.
5975 (note_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
5976 Remove special handling of 'm'.
5977 * ira-costs.c (record_reg_classes): Remove special handling of
5978 constraints now defined by common.md.
5979 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
5980 * ira-lives.c (single_reg_class): Likewise.
5981 (ira_implicitly_set_insn_hard_regs): Likewise.
5982 * lra-constraints.c (reg_class_from_constraints): Likewise.
5983 (process_alt_operands, process_address, curr_insn_transform): Likewise.
5984 * postreload.c (reload_cse_simplify_operands): Likewise.
5985 * reload.c (push_secondary_reload, scratch_reload_class)
5986 (find_reloads, alternative_allows_const_pool_ref): Likewise.
5987 * reload1.c (maybe_fix_stack_asms): Likewise.
5988 * targhooks.c (default_secondary_reload): Likewise.
5989 * stmt.c (parse_output_constraint): Likewise.
5990 * recog.c (preprocess_constraints): Likewise.
5991 (constrain_operands, peep2_find_free_register): Likewise.
5992 (asm_operand_ok): Likewise, but add a comment saying why 'o'
5993 must be handled specially.
5994
7fd308cf
RS
59952014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
5996
5997 * system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.
5998 * genpreds.c (have_const_dbl_constraints): Delete.
5999 (add_constraint): Don't set it.
6000 (write_tm_preds_h): Don't call CONST_DOUBLE_OK_FOR_CONSTRAINT_P.
6001 * ira-costs.c (record_reg_classes): Handle CONST_INT and CONST_DOUBLE
6002 constraints using the lookup_constraint logic.
6003 * ira-lives.c (single_reg_class): Likewise.
6004 * ira.c (ira_setup_alts): Likewise.
6005 * lra-constraints.c (process_alt_operands): Likewise.
6006 * recog.c (asm_operand_ok, constrain_operands): Likewise.
6007 * reload.c (find_reloads): Likewise.
6008
d9c35eee
RS
60092014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
6010
6011 * genpreds.c (const_int_start, const_int_end): New variables.
6012 (choose_enum_order): Output CONST_INT constraints before memory
6013 constraints.
6014 (write_tm_preds_h): Always define insn_const_int_ok_for_constraint.
6015 Add CT_CONST_INT.
6016 * ira-costs.c (record_reg_classes): Handle CT_CONST_INT.
6017 * ira.c (ira_setup_alts): Likewise.
6018 * lra-constraints.c (process_alt_operands): Likewise.
6019 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
6020 * reload.c (find_reloads): Likewise.
6021
3c4c42e8
RS
60222014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
6023
6024 * recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok,
6025 decmem_ok and incmem_ok. Reformat other bitfields for consistency.
6026 * recog.c (preprocess_constraints): Update accordingly.
6027
777e635f
RS
60282014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
6029
6030 * system.h (REG_CLASS_FROM_CONSTRAINT): Poison.
6031 (REG_CLASS_FOR_CONSTRAINT, EXTRA_CONSTRAINT_STR): Likewise.
6032 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Likewise.
6033 * genpreds.c (print_type_tree): New function.
6034 (write_tm_preds_h): Remove REG_CLASS_FROM_CONSTRAINT,
6035 REG_CLASS_FOR_CONSTRAINT, EXTRA_MEMORY_CONSTRAINT,
6036 EXTRA_ADDRESS_CONSTRAINT and EXTRA_CONSTRAINT_STR.
6037 Write out enum constraint_type and get_constraint_type.
6038 * lra-constraints.c (satisfies_memory_constraint_p): Take a
6039 constraint_num rather than a constraint string.
6040 (satisfies_address_constraint_p): Likewise.
6041 (reg_class_from_constraints): Avoid old constraint macros.
6042 (process_alt_operands, process_address_1): Likewise.
6043 (curr_insn_transform): Likewise.
6044 * ira-costs.c (record_reg_classes): Likewise.
6045 (record_operand_costs): Likewise.
6046 * ira-lives.c (single_reg_class): Likewise.
6047 (ira_implicitly_set_insn_hard_regs): Likewise.
6048 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
6049 * postreload.c (reload_cse_simplify_operands): Likewise.
6050 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
6051 (constrain_operands, peep2_find_free_register): Likewise.
6052 * reload.c (push_secondary_reload, scratch_reload_class): Likewise.
6053 (find_reloads, alternative_allows_const_pool_ref): Likewise.
6054 * reload1.c (maybe_fix_stack_asms): Likewise.
6055 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
6056 * targhooks.c (default_secondary_reload): Likewise.
6057 * config/m32c/m32c.c (m32c_matches_constraint_p): Avoid reference
6058 to EXTRA_CONSTRAINT_STR.
6059 * config/sparc/constraints.md (U): Likewise REG_CLASS_FROM_CONSTRAINT.
6060
9e6b7874
RS
60612014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
6062
6063 * genpreds.c (write_constraint_satisfied_p_1): Replace with...
6064 (write_constraint_satisfied_p_array): ...this new function.
6065 (write_tm_preds_h): Replace write_constraint_satisfied_p_1 with
6066 an array.
6067 (write_insn_preds_c): Update accordingly.
6068
16a26e42
RS
60692014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
6070
6071 * genpreds.c (write_lookup_constraint): Rename to...
6072 (write_lookup_constraint_1): ...this.
6073 (write_lookup_constraint_array): New function.
6074 (write_tm_preds_h): Define lookup_constraint as an inline function
6075 that uses write_lookup_constraint_array where possible.
6076 (write_insn_preds_c): Update for the changes above.
6077
2aeedf58
RS
60782014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
6079
6080 * doc/md.texi (regclass_for_constraint): Rename to...
6081 (reg_class_for_constraint): ...this.
6082 * genpreds.c (num_constraints, enum_order, register_start)
6083 (register_end, satisfied_start, memory_start, memory_end)
6084 (address_start, address_end): New variables.
6085 (add_constraint): Count the number of constraints.
6086 (choose_enum_order): New function.
6087 (write_enum_constraint_num): Iterate over enum_order.
6088 (write_regclass_for_constraint): Rename to...
6089 (write_reg_class_for_constraint_1): ...this and update output
6090 accordingly.
6091 (write_constraint_satisfied_p): Rename to...
6092 (write_constraint_satisfied_p_1): ...this and update output
6093 accordingly. Do nothing if all extra constraints are register
6094 constraints.
6095 (write_insn_extra_memory_constraint): Delete.
6096 (write_insn_extra_address_constraint): Delete.
6097 (write_range_function): New function.
6098 (write_tm_preds_h): Define constraint_satisfied_p and
6099 reg_class_for_constraint as inline functions that do a range check
6100 before calling the out-of-line function. Use write_range_function
6101 to implement insn_extra_{register,memory,address}_constraint,
6102 the first of which is new.
6103 (write_insn_preds_c): Update after above changes to write_* functions.
6104 (main): Call choose_enum_order.
6105
698ff107
TP
61062014-06-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
6107
6108 PR tree-optimization/61306
6109 * tree-ssa-math-opts.c (struct symbolic_number): Store type of
6110 expression instead of its size.
6111 (do_shift_rotate): Adapt to change in struct symbolic_number. Return
6112 false to prevent optimization when the result is unpredictable due to
6113 arithmetic right shift of signed type with highest byte is set.
6114 (verify_symbolic_number_p): Adapt to change in struct symbolic_number.
6115 (init_symbolic_number): Likewise.
6116 (find_bswap_or_nop_1): Likewise. Return NULL to prevent optimization
6117 when the result is unpredictable due to sign extension.
6118
1d02d8b8
TG
61192014-06-11 Terry Guo <terry.guo@arm.com>
6120
6121 * config/arm/arm.md (*thumb1_adddi3): Move into new file thumb1.md.
6122 (*thumb1_addsi3): Ditto.
6123 (*thumb_subdi3): Ditto.
6124 (thumb1_subsi3_insn): Ditto.
6125 (*thumb_mulsi3): Ditto.
6126 (*thumb_mulsi3_v6): Ditto.
6127 (*thumb1_andsi3_insn): Ditto.
6128 (thumb1_bicsi3): Ditto.
6129 (*thumb1_iorsi3_insn): Ditto.
6130 (*thumb1_xorsi3_insn): Ditto.
6131 (*thumb1_ashlsi3): Ditto.
6132 (*thumb1_ashrsi3): Ditto.
6133 (*thumb1_lshrsi3): Ditto.
6134 (*thumb1_rotrsi3): Ditto.
6135 (*thumb1_negdi2): Ditto.
6136 (*thumb1_negsi2): Ditto.
6137 (*thumb1_abssi2): Ditto.
6138 (*thumb1_neg_abssi2): Ditto.
6139 (*thumb1_one_cmplsi2): Ditto.
6140 (*thumb1_zero_extendhisi2): Ditto.
6141 (*thumb1_zero_extendqisi2): Ditto.
6142 (*thumb1_zero_extendqisi2_v6): Ditto.
6143 (thumb1_extendhisi2): Ditto.
6144 (thumb1_extendqisi2): Ditto.
6145 (*thumb1_movdi_insn): Ditto.
6146 (*thumb1_movsi_insn): Ditto.
6147 (*thumb1_movhi_insn): Ditto.
6148 (thumb_movhi_clobber): Ditto.
6149 (*thumb1_movqi_insn): Ditto.
6150 (*thumb1_movhf): Ditto.
6151 (*thumb1_movsf_insn): Ditto.
6152 (*thumb_movdf_insn): Ditto.
6153 (movmem12b): Ditto.
6154 (movmem8b): Ditto.
6155 (cbranchqi4): Ditto.
6156 (cbranchsi4_insn): Ditto.
6157 (cbranchsi4_scratch): Ditto.
6158 (*negated_cbranchsi4): Ditto.
6159 (*tbit_cbranch): Ditto.
6160 (*tlobits_cbranch): Ditto.
6161 (*tstsi3_cbranch): Ditto.
6162 (*cbranchne_decr1): Ditto.
6163 (*addsi3_cbranch): Ditto.
6164 (*addsi3_cbranch_scratch): Ditto.
6165 (*thumb_cmpdi_zero): Ditto.
6166 (cstoresi_eq0_thumb1): Ditto.
6167 (cstoresi_ne0_thumb1): Ditto.
6168 (*cstoresi_eq0_thumb1_insn): Ditto.
6169 (*cstoresi_ne0_thumb1_insn): Ditto.
6170 (cstoresi_nltu_thumb1): Ditto.
6171 (cstoresi_ltu_thumb1): Ditto.
6172 (thumb1_addsi3_addgeu): Ditto.
6173 (*thumb_jump): Ditto.
6174 (*call_reg_thumb1_v5): Ditto.
6175 (*call_reg_thumb1): Ditto.
6176 (*call_value_reg_thumb1_v5): Ditto.
6177 (*call_value_reg_thumb1): Ditto.
6178 (*call_insn): Ditto.
6179 (*call_value_insn): Ditto.
6180 (thumb1_casesi_internal_pic): Ditto.
6181 (thumb1_casesi_dispatch): Ditto.
6182 (*thumb1_indirect_jump): Ditto.
6183 (prologue_thumb1_interwork): Ditto.
6184 (*epilogue_insns): Ditto.
6185 (consttable_1): Ditto.
6186 (consttable_2): Ditto.
6187 (tablejump): Ditto.
6188 (*thumb1_tablejump): Ditto.
6189 (thumb_eh_return): Ditto.
6190 (define_peephole2): Two of them are thumb1 only and got moved into
6191 new file thumb1.md.
6192 (define_split): Six of them are thumb1 only and got moved into new
6193 file thumb1.md.
6194 * config/arm/thumb1.md: New file comprised of above thumb1 only
6195 patterns.
6196
5d357f26
KT
61972014-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6198
6199 * config.gcc (aarch64*-*-*): Add arm_acle.h to extra headers.
6200 * Makefile.in (TEXI_GCC_FILES): Add aarch64-acle-intrinsics.texi to
6201 dependencies.
6202 * config/aarch64/aarch64-builtins.c (AARCH64_CRC32_BUILTINS): Define.
6203 (aarch64_crc_builtin_datum): New struct.
6204 (aarch64_crc_builtin_data): New.
6205 (aarch64_init_crc32_builtins): New function.
6206 (aarch64_init_builtins): Initialise CRC32 builtins when appropriate.
6207 (aarch64_crc32_expand_builtin): New.
6208 (aarch64_expand_builtin): Add CRC32 builtin expansion case.
6209 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
6210 __ARM_FEATURE_CRC32 when appropriate.
6211 (TARGET_CRC32): Define.
6212 * config/aarch64/aarch64.md (UNSPEC_CRC32B, UNSPEC_CRC32H,
6213 UNSPEC_CRC32W, UNSPEC_CRC32X, UNSPEC_CRC32CB, UNSPEC_CRC32CH,
6214 UNSPEC_CRC32CW, UNSPEC_CRC32CX): New unspec values.
6215 (aarch64_<crc_variant>): New pattern.
6216 * config/aarch64/arm_acle.h: New file.
6217 * config/aarch64/iterators.md (CRC): New int iterator.
6218 (crc_variant, crc_mode): New int attributes.
6219 * doc/aarch64-acle-intrinsics.texi: New file.
6220 * doc/extend.texi (aarch64): Document aarch64 ACLE intrinsics.
6221 Include aarch64-acle-intrinsics.texi.
6222
e1377713
ES
62232014-06-11 Evgeny Stupachenko <evstupac@gmail.com>
6224
6225 * tree-vect-data-refs.c (vect_grouped_store_supported): New
6226 check for stores group of length 3.
6227 (vect_permute_store_chain): New permutations for stores group of
6228 length 3.
6229 * tree-vect-stmts.c (vect_model_store_cost): Change cost
6230 of vec_perm_shuffle for the new permutations.
6231
862b3da6
JH
62322014-06-11 Jan Hubicka <hubicka@ucw.cz>
6233
7049aed6
UB
6234 * ipa-visibility.c (function_and_variable_visibility): Disable virtual
6235 table rewriting temporarily on targets not supporting ONE_ONLY.
862b3da6 6236
96a3f4df
RB
62372014-06-11 Richard Biener <rguenther@suse.de>
6238
6239 PR middle-end/61437
6240 Revert
6241 2014-06-04 Richard Biener <rguenther@suse.de>
6242
6243 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
6244 TREE_PUBLIC and DECL_EXTERNAL decls.
6245
e257a17c
JH
62462014-06-10 Jan Hubicka <hubicka@ucw.cz>
6247
6248 * varasm.c (set_implicit_section): New function.
6249 (resolve_unique_section): Use it to set implicit section
6250 for aliases, too.
6251 (get_named_text_section): Use symtab_get_node (decl)->implicit_section
6252 (default_function_section): Likewise.
6253 (decl_binds_to_current_def_p): Constify argument.
6254 * varasm.h (decl_binds_to_current_def_p): Update prototype.
96a3f4df
RB
6255 * asan.c (asan_protect_global): Use
6256 symtab_get_node (decl)->implicit_section.
e257a17c
JH
6257 * symtab.c (dump_symtab_base): Dump implicit sections.
6258 (verify_symtab_base): Verify sanity of sectoins and comdats.
6259 (symtab_resolve_alias): Alias share the section of its target.
6260 (set_section_1): New function.
6261 (symtab_node::set_section): Move here, recurse to aliases.
6262 (verify_symtab): Check for duplicated symtab lists.
6263 * tree-core.h (implicit_section_name_p): Remove.
6264 * tree-vect-data-refs.c: Include varasm.h.
6265 (vect_can_force_dr_alignment_p): Fix conditional on when
6266 decl bints to current definition; use
6267 symtab_get_node (decl)->implicit_section.
6268 * cgraph.c (cgraph_make_node_local_1): Fix section set.
6269 * cgraph.h (struct symtab_node): Add implicit_section.
6270 (set_section): Rename to ...
6271 (set_section_for_node): ... this one.
6272 (set_section): Declare.
6273 * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): Remove.
6274 * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
6275 input_overwrite_node, input_varpool_node): Stream implicit_section.
6276 * ipa.c (symtab_remove_unreachable_nodes): Do not check symtab before
6277 removal; it will fail in LTO.
6278
d7256bb8
KT
62792014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6280
6281 * config/aarch64/aarch64-simd.md (move_lo_quad_<mode>):
6282 Change second alternative type to f_mcr.
6283 * config/aarch64/aarch64.md (*movsi_aarch64): Change 11th
6284 and 12th alternatives' types to f_mcr and f_mrc.
6285 (*movdi_aarch64): Same for 12th and 13th alternatives.
6286 (*movsf_aarch64): Change 9th alternatives' type to mov_reg.
6287 (aarch64_movtilow_tilow): Change type to fmov.
6288
dadf084c
JW
62892014-06-10 Jiong Wang <jiong.wang@arm.com>
6290
6291 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs)
6292 (aarch64_save_or_restore_callee_save_registers): Fix layout.
6293
2a74759f
KT
62942014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6295
6296 * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>):
6297 New expander.
6298 (aarch64_sqrdmulh_lane<mode>): Likewise.
6299 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
6300 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
6301 (aarch64_sqdmulh_laneq<mode>): New expander.
6302 (aarch64_sqrdmulh_laneq<mode>): Likewise.
6303 (aarch64_sq<r>dmulh_laneq<mode>): Rename to...
6304 (aarch64_sq<r>dmulh_laneq<mode>_internal): ...this.
6305 (aarch64_sqdmulh_lane<mode>): New expander.
6306 (aarch64_sqrdmulh_lane<mode>): Likewise.
6307 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
6308 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
6309 (aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian.
6310 (aarch64_sqdmlal_laneq<mode>): Likewise.
6311 (aarch64_sqdmlsl_lane<mode>): Likewise.
6312 (aarch64_sqdmlsl_laneq<mode>): Likewise.
6313 (aarch64_sqdmlal2_lane<mode>): Likewise.
6314 (aarch64_sqdmlal2_laneq<mode>): Likewise.
6315 (aarch64_sqdmlsl2_lane<mode>): Likewise.
6316 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
6317 (aarch64_sqdmull_lane<mode>): Likewise.
6318 (aarch64_sqdmull_laneq<mode>): Likewise.
6319 (aarch64_sqdmull2_lane<mode>): Likewise.
6320 (aarch64_sqdmull2_laneq<mode>): Likewise.
6321
b82ef848
RB
63222014-06-10 Richard Biener <rguenther@suse.de>
6323
6324 PR tree-optimization/61438
6325 * tree-ssa-pre.c (eliminate_dom_walker): Add do_pre member.
6326 (eliminate_dom_walker::before_dom_children): Only try to inhibit
6327 insertion of IVs if running PRE.
6328 (eliminate): Adjust.
6329 (pass_pre::execute): Likewise.
6330 (pass_fre::execute): Likewise.
6331
cdf0ab72
RB
63322014-06-10 Richard Biener <rguenther@suse.de>
6333
6334 PR middle-end/61456
6335 * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
6336 Do not use the main variant for the type comparison.
6337 (ncr_compar): Likewise.
6338 (nonoverlapping_component_refs_p): Likewise.
6339
e29b8d5b
MS
63402014-06-10 Marcus Shawcroft <marcus.shawcroft@arm.com>
6341
6342 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Fix
6343 REG_CFA_RESTORE mode.
6344
6ba197c1
ES
63452014-06-10 Evgeny Stupachenko <evstupac@gmail.com>
6346
6347 * config/i386/i386.c (expand_vec_perm_pblendv): New.
6348 * config/i386/i386.c (ix86_expand_vec_perm_const_1): Use
6349 expand_vec_perm_pblendv.
6350
87ee52ef
KT
63512014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6352
6353 * doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are
6354 available.
6355 Simplify description of __crc32d and __crc32cd intrinsics.
6356 * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32
6357 availability.
6358
35fa894a
TS
63592014-06-10 Thomas Schwinge <thomas@codesourcery.com>
6360
6361 PR lto/61334
9fdb837f 6362 * configure.ac: Use gcc_AC_CHECK_DECLS to check for strnlen prototype.
35fa894a
TS
6363 * config.in: Regenerate.
6364 * configure: Likewise.
6365
1685ecf3
JH
63662014-06-10 Jan Hubicka <hubicka@ucw.cz>
6367
7049aed6
UB
6368 * ipa-reference.c (is_proper_for_analysis): Exclude addressable
6369 and public vars.
1685ecf3
JH
6370 (intersect_static_var_sets): Remove.
6371 (propagate): Do not prune local statics.
6372
92d28cbb
JJ
63732014-06-10 Jakub Jelinek <jakub@redhat.com>
6374
6375 PR fortran/60928
6376 * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
6377 Set lastprivate_firstprivate even if omp_private_outer_ref
6378 langhook returns true.
6379 <case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
6380 langhook, call unshare_expr on new_var and call
6381 build_outer_var_ref to get the last argument.
6382
c9f2b7e9
MP
63832014-06-10 Marek Polacek <polacek@redhat.com>
6384
6385 PR c/60988
6386 * doc/extend.texi: Add cindex for transparent_union.
6387
2cfa504a
TP
63882014-06-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
6389
6390 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Check return value of
6391 init_symbolic_number ().
6392
748e88da
JDA
63932014-05-18 John David Anglin <danglin@gcc.gnu.org>
6394
6395 PR middle-end/61141
6396 * emit-rtl.c (reset_all_used_flags): In a sequence, check that
6397 XVECEXP (pat, 0, i) is an INSN before calling reset_insn_used_flags.
7964957f 6398 (verify_rtl_sharing): Likewise.
748e88da 6399
00f30445
MG
64002014-06-09 Marc Glisse <marc.glisse@inria.fr>
6401
6402 PR c++/54442
6403 * tree.c (build_qualified_type): Use a canonical type for
6404 TYPE_CANONICAL.
6405
545fb0e8
RR
64062014-06-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6407
6408 * config/arm/arm-modes.def: Remove XFmode.
6409
842cbb73
AL
64102014-06-09 Alan Lawrence <alan.lawrence@arm.com>
6411
6412 PR target/61062
6413 * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
6414 vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
7049aed6
UB
6415 vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16,
6416 vzip_s8, vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32,
6417 vzip_f32, vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32,
6418 vzipq_u8, vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16,
6419 vuzp_s32, vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16,
6420 vuzpq_s8, vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16,
6421 vuzpq_u32, vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
842cbb73 6422
8de98ad4
JH
64232014-06-09 Jan Hubicka <hubicka@ucw.cz>
6424
6425 * tree-core.h (tree_decl_with_vis): Remove section_name.
6426
001010df
KC
64272014-06-09 Kito Cheng <kito@0xlab.org>
6428
6429 * ira.c (ira): Don't call init_caller_save if LRA enabled
6430 since LRA use its own infrastructure to handle that.
6431
24d047a3
JH
64322014-06-07 Jan Hubicka <hubicka@ucw.cz>
6433
6434 * symtab.c (dump_symtab_base): Update dumping.
6435 (symtab_make_decl_local): Clear only DECL_COMDAT.
6436 * tree-vect-data-refs.c (Check that variable is static before
6437 tampering with sections.
6438 * cgraphclones.c (duplicate_thunk_for_node): Do not clear section name.
6439 (cgraph_create_virtual_clone): Likewise.
6440 * tree.c (decl_comdat_group, decl_comdat_group_id): Constify argument.
6441 (decl_section_name, set_decl_section_name): New accessors.
6442 (find_decls_types_r): Do not walk section name
7049aed6 6443 * tree.h (DECL_SECTION_NAME): Implement using decl_section_name.
24d047a3
JH
6444 (decl_comdat_group, decl_comdat_group_id): Constify.
6445 (decl_section_name, set_decl_section_name): Update.
7049aed6 6446 * varpool.c (varpool_finalize_named_section_flags): Use get_section.
24d047a3
JH
6447 * cgraph.c (cgraph_add_thunk): Reset node instead of rebuilding.
6448 (cgraph_make_node_local_1): Clear section and comdat group.
6449 * cgraph.h (set_comdat_group): Sanity check.
6450 (get_section, set_section): New.
6451 * ipa-comdats.c (ipa_comdats): Use get_section.
6452 * ipa.c (ipa_discover_readonly_nonaddressable_var): Likewise.
6453 * lto-streamer-out.c: Do not follow section names.
7049aed6 6454 * c-family/c-common.c (handle_section_attribute): Update.
24d047a3
JH
6455 * lto-cgraph.c (lto_output_node): Output section.
6456 (lto_output_varpool_node): Likewise.
6457 (read_comdat_group): Rename to ...
6458 (read_identifier): ... this one.
6459 (read_string_cst): New function.
6460 (input_node, input_varpool_node): Input section names.
6461 * tree-emutls.c (get_emutls_init_templ_addr): Update.
6462 (new_emutls_decl): Update.
7049aed6 6463 (secname_for_decl): Check section names only of static vars.
24d047a3
JH
6464 * config/mep/mep.c (mep_unique_section): Use set_decl_section_name.
6465 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
6466 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
6467 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
6468 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Likewise.
6469 * config/mcore/mcore.c (mcore_unique_section): Likewise.
6470 * config/mips/mips.c (mips16_build_function_stub): Likewise.
6471 * config/v850/v850.c (v850_insert_attributes): Likewise.
7049aed6 6472 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
24d047a3
JH
6473 Likewise.
6474 (h8300_handle_tiny_data_attribute): Likewise.
6475 * config/bfin/bfin.c (bfin_handle_l1_text_attribute): Likewise.
6476 (bfin_handle_l2_attribute): Likewise.
6477
80bc9b6e
JH
64782014-06-07 Jan Hubicka <hubicka@ucw.cz>
6479
6480 * symtab.c (symtab_nonoverwritable_alias): Copy VIRTUAL flag;
6481 remove static initializer.
6482
684a3aa7
JH
64832014-06-07 Jan Hubicka <hubicka@ucw.cz>
6484
7049aed6
UB
6485 * varasm.c (use_blocks_for_decl_p): Check symbol table
6486 instead of alias attribute.
684a3aa7
JH
6487 (place_block_symbol): Recurse on aliases.
6488
94c2e46c
JH
64892014-06-07 Jan Hubicka <hubicka@ucw.cz>
6490
6491 * ipa-visibility.c: Include varasm.h
6492 (can_replace_by_local_alias): Ceck decl_binds_to_current_def_p.
6493
136a5f45
JH
64942014-06-07 Jan Hubicka <hubicka@ucw.cz>
6495
6496 * cgraphunit.c (assemble_thunks_and_aliases): Expand thunks before
6497 outputting aliases.
6498
0dbaf51e
SB
64992014-06-07 Steven Bosscher <steven@gcc.gnu.org>
6500
7964957f 6501 * gcse.c (can_assign_to_reg_without_clobbers_p): Do not let pointers
0dbaf51e
SB
6502 from test_insn into GGC space escape via SET_SRC.
6503
51d2abeb
EB
65042014-06-07 Eric Botcazou <ebotcazou@adacore.com>
6505
6506 * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
6507 call statement, if any.
6508 (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
6509 statements, if any. Tidy up.
6510
b528fc5c
MM
65112014-06-06 Michael Meissner <meissner@linux.vnet.ibm.com>
6512
6513 PR target/61431
6514 * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
6515 iterators, VSX_D that handles 64-bit types, and VSX_LE that
6516 handles swapping the two 64-bit double words on little endian
6517 systems. Include V1TImode and optionally TImode in VSX_LE so that
6518 these types are properly swapped. Change all of the insns and
6519 splits that do the 64-bit swaps to use VSX_LE.
6520 (vsx_le_perm_load_<mode>): Likewise.
6521 (vsx_le_perm_store_<mode>): Likewise.
6522 (splitters for little endian memory operations): Likewise.
6523 (vsx_xxpermdi2_le_<mode>): Likewise.
6524 (vsx_lxvd2x2_le_<mode>): Likewise.
6525 (vsx_stxvd2x2_le_<mode>): Likewise.
6526
7b11cab7
UB
65272014-06-06 Uros Bizjak <ubizjak@gmail.com>
6528
6529 PR target/61423
6530 * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
6531 define_insn_and_split pattern, merged from *floatunssi<mode>2_1
6532 and corresponding splitters. Zero extend general register
6533 or memory input operand to XMM temporary. Enable for
6534 TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
6535 (floatunssi<mode>2): Update expander predicate.
6536
5a770e01
VM
65372014-06-06 Vladimir Makarov <vmakarov@redhat.com>
6538
6539 PR rtl-optimization/61325
6540 * lra-constraints.c (process_address_1): Check scale equal to one
6541 to prevent transformation: base + scale * index => base + new_reg.
6542
acce8ce3
RB
65432014-06-06 Richard Biener <rguenther@suse.de>
6544
6545 PR tree-optimization/59299
6546 * tree-ssa-sink.c (all_immediate_uses_same_place): Work on
6547 a def operand.
6548 (nearest_common_dominator_of_uses): Likewise.
6549 (statement_sink_location): Adjust. Support sinking loads.
6550
0d48ee34
MJ
65512014-06-06 Martin Jambor <mjambor@suse.cz>
6552
6553 * ipa-prop.c (get_place_in_agg_contents_list): New function.
6554 (build_agg_jump_func_from_list): Likewise.
6555 (determine_known_aggregate_parts): Renamed to
6556 determine_locally_known_aggregate_parts. Moved some functionality
6557 to the two functions above, removed bound checks.
6558
e2c75eea
JG
65592014-06-06 James Greenhalgh <james.greenhalgh@arm.com>
6560
6561 * config/aarch64/aarch64-protos.h (aarch64_expand_movmem): New.
6562 * config/aarch64/aarch64.c (aarch64_move_pointer): New.
6563 (aarch64_progress_pointer): Likewise.
6564 (aarch64_copy_one_part_and_move_pointers): Likewise.
6565 (aarch64_expand_movmen): Likewise.
6566 * config/aarch64/aarch64.h (MOVE_RATIO): Set low.
6567 * config/aarch64/aarch64.md (movmem<mode>): New.
6568
58e5400a
BM
65692014-06-06 Bingfeng Mei <bmei@broadcom.com>
6570
6571 * targhooks.c (default_add_stmt_cost): Call target specific
6572 hook instead of default one.
6573
58126368
TP
65742014-06-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
6575
6576 * ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target
6577 endianness instead of host endianness.
6578 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise in dumps and
6579 comments.
6580
3fd48b12
EB
65812014-06-06 Eric Botcazou <ebotcazou@adacore.com>
6582
6583 PR debug/53927
6584 * function.c (instantiate_decls): Process the saved static chain.
6585 (expand_function_start): If not optimizing, save the static chain
6586 onto the stack.
6587 * tree-nested.c (convert_all_function_calls): Always create the static
6588 chain for nested functions if not optimizing.
6589
9b7a11e1
EB
65902014-06-06 Eric Botcazou <ebotcazou@adacore.com>
6591
6592 * tree-cfg.c (make_edges) <GIMPLE_RETURN>: Put a location on the edge.
6593
726338f4
RB
65942014-06-06 Richard Biener <rguenther@suse.de>
6595
6596 * cfgexpand.c (expand_gimple_cond): Remove check for current_loops.
6597 (construct_init_block): Likewise.
6598 (construct_exit_block): Likewise.
6599 (pass_expand::execute): Likewise.
6600 * graphite.c (graphite_transforms): Replace check for current_loops
6601 with a check for > 1 loops.
6602 (pass_graphite_transforms::execute): Adjust.
6603 * ipa-split.c (split_function): Remove check for current_loops.
6604 * omp-low.c (expand_parallel_call): Likewise.
6605 (expand_omp_for_init_counts): Likewise.
6606 (extract_omp_for_update_vars): Likewise.
6607 (expand_omp_for_generic): Likewise.
6608 (expand_omp_sections): Likewise.
6609 (expand_omp_target): Likewise.
6610 * tracer.c (tail_duplicate): Likewise.
6611 (pass_tracer::execute): Likewise.
6612 * trans-mem.c (expand_transaction): Likewise.
6613 * tree-complex.c (expand_complex_div_wide): Likewise.
6614 * tree-eh.c (lower_resx): Likewise.
6615 (cleanup_empty_eh_merge_phis): Likewise.
6616 * tree-predcom.c (run_tree_predictive_commoning): Replace check for
6617 current_loops with a check for > 1 loops.
6618 (pass_predcom::execute): Adjust.
6619 * tree-scalar-evolution.c (scev_reset): Remove check for current_loops.
6620 * tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
6621 * tree-ssa-dom.c (pass_phi_only_cprop::execute): Likewise.
6622 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
6623 * tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
6624 * tree-switch-conversion.c (process_switch): Likewise.
6625 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
6626 * tree-vrp.c (vrp_visit_phi_node): Likewise.
6627 (execute_vrp): Likewise.
6628 * ubsan.c (ubsan_expand_null_ifn): Likewise.
6629
ffa4602f
EB
66302014-06-06 Eric Botcazou <ebotcazou@adacore.com>
6631
6632 * rtl.h (insn_location): Declare.
6633 * cfgcleanup.c (try_forward_edges): Compare the locus of locations
6634 with UNKNOWN_LOCATION.
6635 * emit-rtl.c (insn_location): New function.
6636 * final.c (notice_source_line): Check that the instruction has a
6637 location before retrieving it and use insn_location.
6638 * modulo-sched.c (loop_single_full_bb_p): Likewise.
6639 * print-rtl.c (print_rtx): Likewise.
6640
28a4a292
RB
66412014-06-06 Richard Biener <rguenther@suse.de>
6642
6643 * passes.def: Move 2nd VRP pass before phi-only-cprop.
6644
d969f3c1
CB
66452014-06-06 Christian Bruel <christian.bruel@st.com>
6646
6647 PR tree-optimization/43934
28a4a292
RB
6648 * tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant
6649 cost.
d969f3c1 6650
b58923e2
RS
66512014-06-06 Richard Sandiford <rdsandiford@googlemail.com>
6652
6653 * ira-lives.c (single_reg_class): Add missing break. Explicitly
6654 return NO_REGS for extra address and memory constraints. Handle
6655 operands that match (or are equivalent to something that matches)
6656 extra constant constraints. Ignore other non-register operands.
6657
ddbb449f
AM
66582014-06-06 Alan Modra <amodra@gmail.com>
6659
6660 PR target/61300
6661 * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
6662 * doc/tm.texi: Regenerate.
6663 * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
6664 Use throughout in place of REG_PARM_STACK_SPACE.
6665 * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
6666 "incoming" param. Pass to rs6000_function_parms_need_stack.
6667 (rs6000_function_parms_need_stack): Add "incoming" param, ignore
6668 prototype_p when incoming. Use function decl when incoming
6669 to handle K&R style functions.
6670 * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
6671 (INCOMING_REG_PARM_STACK_SPACE): Define.
6672
a148c4b2
SKS
66732014-06-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
6674
6675 PR target/52472
6676 * cfgexpand.c (expand_debug_expr): Use address space of nested
6677 TREE_TYPE for ADDR_EXPR and MEM_REF.
6678
64e13bcd
JL
66792014-06-05 Jeff Law <law@redhat.com>
6680
6681 PR tree-optimization/61289
6682 * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
6683 DST_MAP parameters. Invalidate by walking all the SSA_NAME_VALUES
6684 looking for those which match LHS. All callers changed.
6685 (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
6686 parameters and code which manipulated them. All callers changed.
6687 (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
6688 and DST_MAP parameters. Simplify invalidation code by just calling
6689 invalidate_equivalences. All callers changed.
6690 (thread_across_edge): Simplify now that we don't need to maintain
6691 the map of equivalences to invalidate.
6692
5853e181
KT
66932014-06-05 Kai Tietz <ktietz@redhat.com>
6694 Richard Henderson <rth@redhat.com>
6695
6696 PR target/46219
6697 * config/i386/predicates.md (memory_nox32_operand): Add memory_operand
6698 checking for !TARGET_X32.
6699 * config/i386/i386.md (UNSPEC_PEEPSIB): New unspec constant.
6700 (sibcall_intern): New define_insn, plus required peepholes.
6701 (sibcall_pop_intern): Likewise.
6702 (sibcall_value_intern): Likewise.
6703 (sibcall_value_pop_intern): Likewise.
6704
95cc0a1a
IE
67052014-06-05 Ilya Enkovich <ilya.enkovich@intel.com>
6706
6707 * tree-inline.c (tree_function_versioning): Check DF info existence
6708 before accessing it.
6709
1c960e02
MS
67102014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
6711
6712 * config/aarch64/aarch64.h (aarch64_frame): Add hard_fp_offset and
6713 frame_size.
6714 * config/aarch64/aarch64.c (aarch64_layout_frame): Initialize
6715 aarch64_frame hard_fp_offset and frame_size.
6716 (aarch64_expand_prologue): Use aarch64_frame hard_fp_offset and
6717 frame_size; remove original_frame_size.
6718 (aarch64_expand_epilogue, aarch64_final_eh_return_addr): Likewise.
6719 (aarch64_initial_elimination_offset): Remove frame_size and
6720 offset. Use aarch64_frame frame_size.
6721
2e1cdae5
MS
67222014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
6723 Jiong Wang <jiong.wang@arm.com>
4a450ea0 6724 Renlin <renlin.li@arm.com>
2e1cdae5
MS
6725
6726 * config/aarch64/aarch64.c (aarch64_layout_frame): Correct
6727 initialization of R30 offset. Update offset. Iterate core
6728 regisers upto X30. Remove X29, X30 specific code.
6729
97826595
MS
67302014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
6731 Jiong Wang <jiong.wang@arm.com>
6732
6733 * config/aarch64/aarch64.c (SLOT_NOT_REQUIRED, SLOT_REQUIRED): Define.
6734 (aarch64_layout_frame): Use SLOT_NOT_REQUIRED and SLOT_REQUIRED.
6735 (aarch64_register_saved_on_entry): Adjust test.
6736
8799637a
MS
67372014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
6738
6739 * config/aarch64/aarch64.h (machine_function): Move
6740 saved_varargs_size from here...
4a450ea0 6741 (aarch64_frame): ... to here.
8799637a
MS
6742
6743 * config/aarch64/aarch64.c (aarch64_expand_prologue)
6744 (aarch64_expand_epilogue, aarch64_final_eh_return_addr)
6745 (aarch64_initial_elimination_offset)
6746 (aarch64_setup_incoming_varargs): Adjust location of
6747 saved_varargs_size.
6748
34834420
MS
67492014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
6750
6751 * config/aarch64/aarch64.c (aarch64_expand_prologue): Update stack
6752 layout comment.
6753
aaaa9efc
JP
67542014-06-05 Jaydeep Patil <Jaydeep.Patil@imgtec.com>
6755 Prachi Godbole <Prachi.Godbole@imgtec.com>
6756
6757 * config/mips/mips-cpus.def: Add definition for p5600. Updated
6758 mips32r5 entry to use PROCESSOR_P5600.
6759 * config/mips/mips-tables.opt: Regenerate.
6760 * config/mips/mips-protos.h (mips_fmadd_bypass): Add prototype.
6761 * config/mips/mips.c (mips_fmadd_bypass): New function.
6762 (mips_rtx_cost_data): Add costs for p5600.
6763 (mips_issue_rate): Add support for p5600.
6764 (mips_multipass_dfa_lookahead): Likewise.
6765 * config/mips/mips.h (TUNE_P5600): New define.
6766 (TUNE_MACC_CHAINS): Add TUNE_P5600.
6767 (MIPS_ISA_LEVEL_SPEC): Map -march=p5600 to -mips32r5.
6768 * config/mips/mips.md: Include p5600.md.
6769 (processor): Add p5600.
6770 * config/mips/p5600.md: New file.
6771
edbb0749
ES
67722014-06-05 Evgeny Stupachenko <evstupac@gmail.com>
6773
6774 * config/i386/sse.md (*ssse3_palignr<mode>_perm): New.
6775 * config/i386/predicates.md (palignr_operand): New.
6776 Indicates if permutation is suitable for palignr instruction.
6777
e12355ef
YR
67782014-06-05 Yuri Rumyantsev <ysrumyan@gmail.com>
6779
6780 PR tree-optimization/61319
6781 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
6782 stmt belongs to loop.
6783
947ca6a0
RB
67842014-06-05 Richard Biener <rguenther@suse.de>
6785
6786 * gimplify.c (create_tmp_from_val): Remove is_formal parameter
6787 and set DECL_GIMPLE_REG_P unconditionally if appropriate.
6788 (lookup_tmp_var): Adjust.
6789 (prepare_gimple_addressable): Unset DECL_GIMPLE_REG_P here.
6790
63e70d3c
RR
67912014-06-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6792
6793 * config/arm/arm.md (enabled): Disable opt_enabled attribute.
6794
742938c9
MP
67952014-06-05 Marek Polacek <polacek@redhat.com>
6796
6797 PR c/49706
6798 * doc/invoke.texi: Document -Wlogical-not-parentheses.
6799
357ddc7d
TV
68002014-06-04 Tom de Vries <tom@codesourcery.com>
6801
6802 * config/s390/s390.md ("addptrdi3", "addptrsi3"): Use INTVAL only on
6803 CONST_INT.
6804
ca73a1f7
MG
68052014-06-04 Marc Glisse <marc.glisse@inria.fr>
6806
6807 PR tree-optimization/61385
6808 * tree-ssa-phiopt.c (value_replacement): Punt if there are PHI nodes.
6809
ffb1f5ef
BS
68102014-06-04 Bernd Schmidt <bernds@codesourcery.com>
6811
6812 * lto-wrapper.c (fatal, fatal_perror): Remove functions. All callers
6813 changed to use fatal_error.
6814 (main): Ensure lto_wrapper_cleanup is run atexit.
6815
a953491e
RS
68162014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
6817
6818 * lra-constraints.c (valid_address_p): Move earlier in file.
6819 (address_eliminator): New structure.
6820 (satisfies_memory_constraint_p): New function.
6821 (satisfies_address_constraint_p): Likewise.
6822 (process_alt_operands, process_address, curr_insn_transform): Use them.
6823
0c331756
RS
68242014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
6825
6826 * lra-int.h (lra_static_insn_data): Make operand_alternative a
6827 const pointer.
6828 (target_lra_int, default_target_lra_int, this_target_lra_int)
6829 (op_alt_data): Delete.
6830 * lra.h (lra_init): Delete.
6831 * lra.c (default_target_lra_int, this_target_lra_int): Delete.
6832 (init_insn_code_data_once): Remove op_alt_data handling.
6833 (finish_insn_code_data_once): Likewise.
6834 (init_op_alt_data): Delete.
6835 (get_static_insn_data): Initialize operand_alternative to null.
6836 (free_insn_recog_data): Cast operand_alternative before freeing it.
6837 (setup_operand_alternative): Take the operand_alternative as
6838 parameter and assume it isn't already cached in the static
6839 insn data.
6840 (lra_set_insn_recog_data): Update accordingly.
6841 (lra_init): Delete.
6842 * ira.c (ira_init): Don't call lra_init.
6843 * target-globals.h (this_target_lra_int): Declare.
6844 (target_globals): Remove lra_int.
6845 (restore_target_globals): Update accordingly.
6846 * target-globals.c: Don't include lra-int.h.
6847 (default_target_globals, save_target_globals): Remove lra_int.
6848
1145837d
RS
68492014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
6850
6851 * recog.h (operand_alternative): Convert reg_class, reject,
6852 matched and matches into bitfields.
6853 (preprocess_constraints): New overload.
6854 (preprocess_insn_constraints): New function.
6855 (preprocess_constraints): Take the insn as parameter.
6856 (recog_op_alt): Change into a pointer.
6857 (target_recog): Add x_op_alt.
6858 * recog.c (asm_op_alt): New variable.
6859 (recog_op_alt): Change into a pointer.
6860 (preprocess_constraints): New overload, replacing the old function
6861 definition with one that doesn't use global state.
6862 (preprocess_insn_constraints): New function.
6863 (preprocess_constraints): Use them. Take the insn as parameter.
6864 Use asm_op_alt for asms.
6865 (recog_init): Free existing x_op_alt entries.
6866 * ira-lives.c (check_and_make_def_conflict): Make operand_alternative
6867 pointer const.
6868 (make_early_clobber_and_input_conflicts): Likewise.
6869 (process_bb_node_lives): Pass the insn to process_constraints.
6870 * reg-stack.c (check_asm_stack_operands): Likewise.
6871 (subst_asm_stack_regs): Likewise.
6872 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
6873 * regrename.c (build_def_use): Likewise.
6874 * sched-deps.c (sched_analyze_insn): Likewise.
6875 * sel-sched.c (get_reg_class, implicit_clobber_conflict_p): Likewise.
6876 * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
6877 (note_invalid_constants): Likewise.
6878 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
6879 (ix86_legitimate_combined_insn): Make operand_alternative pointer
6880 const.
6881
5f2e0797
RS
68822014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
6883
6884 * recog.c (preprocess_constraints): Don't skip disabled alternatives.
6885 * ira-lives.c (check_and_make_def_conflict): Check for disabled
6886 alternatives.
6887 (make_early_clobber_and_input_conflicts): Likewise.
6888 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
6889
5efe5dec
RS
68902014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
6891
6892 * recog.h (alternative_class): New function.
6893 (which_op_alt): Return a const recog_op_alt.
6894 * reg-stack.c (check_asm_stack_operands): Update type accordingly.
6895 (subst_asm_stack_regs): Likewise.
6896 * config/arm/arm.c (note_invalid_constants): Likewise.
6897 * regcprop.c (copyprop_hardreg_forward_1): Likewise. Don't modify
6898 the operand_alternative; use alternative class instead.
6899 * sel-sched.c (get_reg_class): Likewise.
6900 * regrename.c (build_def_use): Likewise.
6901 (hide_operands, restore_operands, record_out_operands): Update type
6902 accordingly.
6903
29d70a0f
RS
69042014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
6905
6906 * recog.h (recog_op_alt): Convert to a flat array.
6907 (which_op_alt): New function.
6908 * recog.c (recog_op_alt): Convert to a flat array.
6909 (preprocess_constraints): Update accordingly, grouping all
6910 operands of the same alternative together, rather than the
6911 other way around.
6912 * ira-lives.c (check_and_make_def_conflict): Likewise.
6913 (make_early_clobber_and_input_conflicts): Likewise.
6914 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
6915 * reg-stack.c (check_asm_stack_operands): Use which_op_alt.
6916 (subst_asm_stack_regs): Likewise.
6917 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
6918 * regrename.c (hide_operands, record_out_operands): Likewise.
6919 (build_def_use): Likewise.
6920 * sel-sched.c (get_reg_class): Likewise.
6921 * config/arm/arm.c (note_invalid_constants): Likewise.
6922
fe6ebcf1
JM
69232014-06-04 Jason Merrill <jason@redhat.com>
6924
6925 PR c++/51253
6926 PR c++/61382
6927 * gimplify.c (gimplify_arg): Non-static.
6928 * gimplify.h: Declare it.
6929
38af3208
RB
69302014-06-04 Richard Biener <rguenther@suse.de>
6931
6932 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
6933 TREE_PUBLIC and DECL_EXTERNAL decls.
6934
9ccac701
MF
69352014-06-04 Matthew Fortune <matthew.fortune@imgtec.com>
6936
7964957f 6937 * regcprop.c (copyprop_hardreg_forward_1): Account for
9ccac701
MF
6938 HARD_REGNO_CALL_PART_CLOBBERED.
6939
35987ae9
RB
69402014-06-04 Richard Biener <rguenther@suse.de>
6941
6942 * configure.ac: Check whether the underlying type of int64_t
6943 is long or long long.
6944 * configure: Regenerate.
6945 * config.in: Likewise.
6946 * hwint.h (HOST_WIDE_INT): Match the underlying type of int64_t.
6947 (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
6948
0ea48022
RB
69492014-06-04 Richard Biener <rguenther@suse.de>
6950
6951 PR tree-optimization/60098
6952 * tree-ssa-dse.c (dse_possible_dead_store_p): Walk until
6953 we hit a kill.
6954 (dse_optimize_stmt): Simplify, now that we found a kill
6955 earlier.
6956
b1259d34
RB
69572014-06-04 Richard Biener <rguenther@suse.de>
6958
6959 * tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling
6960 of accesses with non-invariant address.
6961
8be2dc8c
ML
69622014-06-04 Martin Liska <mliska@suse.cz>
6963
6964 * cgraph.h (cgraph_make_wrapper): New function introduced.
6965 * cgraphunit.c (cgraph_make_wrapper): The function implementation.
6966 * ipa-inline.h (inline_analyze_function): The function is global.
6967 * ipa-inline-analysis.c (inline_analyze_function): Likewise.
6968
8a57e88d
ML
69692014-06-04 Martin Liska <mliska@suse.cz>
6970
6971 * tree.h (private_lookup_attribute_starting): New function.
6972 (lookup_attribute_starting): Likewise.
6973 * tree.c (private_lookup_attribute_starting): Likewise.
6974
d211e471
ML
69752014-06-04 Martin Liska <mliska@suse.cz>
6976
6977 * cgraph.h (expand_thunk): New argument added.
6978 (address_taken_from_non_vtable_p): New global function.
6979 * ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
6980 * cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
6981 * cgraphunit.c (analyze_function): Likewise.
6982 (assemble_thunks_and_aliases): Argument added to call.
6983 (expand_thunk): New argument forces to produce GIMPLE thunk.
6984
a96bf0d3
ML
69852014-06-04 Martin Liska <mliska@suse.cz>
6986
6987 * coverage.h (coverage_compute_cfg_checksum): Argument added.
6988 * coverage.c (coverage_compute_cfg_checksum): Likewise.
6989 * profile.c (branch_prob): Likewise.
6990
7d2268ea
MJ
69912014-06-04 Martin Jambor <mjambor@suse.cz>
6992
6993 PR ipa/61340
6994 * ipa-pure-const.c (propagate_pure_const): Add unreachable default
6995 handler for switch on an ipa_ref_use enum.
6996 * ipa-reference.c (analyze_function): Likewise.
6997
0dac3001
KT
69982014-06-04 Kai Tietz <ktietz@redhat.com>
6999
7000 * recog.c (peep2_attempt): Copy SIBLING_CALL_P flag
7001 from old call-instruction.
7002
348d4b0a
BC
70032014-06-04 Bin Cheng <bin.cheng@arm.com>
7004
7005 * config/aarch64/aarch64.c (aarch64_classify_address)
7006 (aarch64_legitimize_reload_address): Support full addressing modes
7007 for vector modes.
7008 * config/aarch64/aarch64.md (mov<mode>, movmisalign<mode>)
7009 (*aarch64_simd_mov<mode>, *aarch64_simd_mov<mode>): Relax predicates.
7010
b9e3afe9
AP
70112014-06-03 Andrew Pinski <apinski@cavium.com>
7012
7013 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non comparisons
7014 for OP0.
7015
70162014-06-03 Andrew Pinski <apinski@cavium.com>
2d5ffe46
AP
7017
7018 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
7019 (aarch64_rtx_costs): Use aarch64_if_then_else_costs.
7020
3ce7abdd
KT
70212014-06-03 Kai Tietz <ktietz@redhat.com>
7022
7023 * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
7024 for 64-bit ms-abi.
7025
47e78f98
DC
70262014-06-03 Dehao Chen <dehao@google.com>
7027
7028 * tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
7029 the same loop.
7030
fedfecef
MP
70312014-06-03 Marek Polacek <polacek@redhat.com>
7032
7033 PR c/60439
7034 * doc/invoke.texi: Document -Wswitch-bool.
7035 * function.c (stack_protect_epilogue): Cast controlling expression of
7036 the switch to int.
7037 * gengtype.c (walk_type): Generate switch expression with its
7038 controlling expression cast to int.
7039
70402014-06-03 Vishnu K S <Vishnu.k_s@atmel.com>
e4f36438
DC
7041
7042 * config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
7043 and attiny841.
7044 * config/avr/avr-tables.opt: Regenerate.
7045 * config/avr/t-multilib: Regenerate.
7046 * doc/avr-mmcu.texi: Regenerate.
7047
fedfecef
MP
70482014-06-03 Vishnu K S <vishnu.k_s@atmel.com>
7049 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
e4f36438
DC
7050
7051 * config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
7052 (ata6617c, ata664251): Add new avr35 devices.
7053 (ata6612c): Add new avr4 device.
7054 (ata6613c, ata6614q): Add new avr5 devices.
7055 * config/avr/avr-tables.opt: Regenerate.
7056 * config/avr/t-multilib: Regenerate.
7057 * doc/avr-mmcu.texi: Regenerate.
7058
918621d3
AL
70592014-06-03 Alan Lawrence <alan.lawrence@arm.com>
7060
7061 * gcc/config/aarch64/aarch64-builtins.c
7062 (aarch64_types_binop_ssu_qualifiers): New static data.
7063 (TYPES_BINOP_SSU): Define.
7064 * gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
7065 urshr_n, ushll_n): Use appropriate unsigned qualifiers.
7066 * gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
7067 vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
7068 vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
7069 vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
7070 vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
7071 vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
7072 vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
7073 suffix to builtin function name, remove cast.
7074 (vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
7075 vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
7076 vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.
7077
de10bcce
AL
70782014-06-03 Alan Lawrence <alan.lawrence@arm.com>
7079
7080 * gcc/config/aarch64/aarch64-builtins.c
7081 (aarch64_types_binop_uus_qualifiers,
7082 aarch64_types_shift_to_unsigned_qualifiers,
7083 aarch64_types_unsigned_shiftacc_qualifiers): Define.
7084 * gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
7085 uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
7086 sqshlu_n, uqshl_n): Update qualifiers.
7087 * gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
7088 vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
7089 vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
7090 vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
7091 vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
7092 vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
7093 vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
7094 vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
7095 vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
7096 vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
7097 vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
7098 vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
7099 vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
7100 vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
7101 vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
7102 vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
7103 vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
7104 vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
7105 vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
7106 vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
7107 vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
7108 vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
7109 vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
7110 vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
7111 vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
7112 vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
7113 vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.
7114
878d3618
TJ
71152014-06-03 Teresa Johnson <tejohnson@google.com>
7116
7117 * tree-sra.c (modify_function): Record caller nodes after rebuild.
7118
616abc64
JM
71192014-06-02 Jason Merrill <jason@redhat.com>
7120
7121 PR c++/61020
7122 * varpool.c (ctor_for_folding): Handle uninitialized vtables.
7123
b31e65bb
AL
71242014-06-03 Alan Lawrence <alan.lawrence@arm.com>
7125
7126 * config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
7127 location == 0.
7128
923fcec3
AL
71292014-06-03 Alan Lawrence <alan.lawrence@arm.com>
7130
7131 * config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
7132 New pattern.
7133 * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
7134 (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
7135 * config/aarch64/iterators.md (REVERSE): New iterator.
7136 (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
7137 (rev_op): New int_attribute.
7138 * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
7139 vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
7140 vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
7141 vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
7142 vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
7143 vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
7144 vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
7145 Replace temporary __asm__ with __builtin_shuffle.
7146
7b11cab7 71472014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
2b3bd040
AB
7148
7149 * config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
7150 mips64r5.
7151 * config/mips/mips-tables.opt: Regenerate.
7152 * config/mips/mips.c (mips_compute_frame_info): Changed if statement
7153 to use mips_isa_rev rather than ISA_MIPS32R2.
7154 * config/mips/mips.h (ISA_MIPS32R3): New define.
7155 (ISA_MIPS32R5): New define.
7156 (ISA_MIPS64R3): New define.
7157 (ISA_MIPS64R5): New define.
7b11cab7
UB
7158 (TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3,
7159 ISA_MIPS32R5, ISA_MIPS64R3 and ISA_MIPS64R5.
2b3bd040
AB
7160 (MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
7161 and mips64r5.
7162 (MIPS_ISA_SYNCI_SPEC): Likewise.
7163 (ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
7164 (LINK_SPEC): Added mips32r3 and mips32r5.
7165 * config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
7166 to mips32r2; and mips64r3 and mips64r5 to mips64r2.
7167 * config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
7168 * config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
7169 * config/mips/t-sde (MULTILIB_MATCHES): Likewise.
7170 * config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
7171 * doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.
7172
35773f53
AB
71732014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
7174
7175 * doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
7176 options.
7177 * config/mips/mips.opt (mxpa): New option.
7b11cab7 7178 * config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the
35773f53
AB
7179 assembler.
7180
d3fb5cf0
MJ
71812014-06-03 Martin Jambor <mjambor@suse.cz>
7182
7183 PR ipa/61160
7184 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
7185 thunks.
7186
3cc272c1
TP
71872014-06-03 Thomas Preud'homme <thomas.preudhomme@arm.com>
7188
7189 PR tree-optimization/61328
7190 * tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
7191 initialization from find_bswap_or_nop_1.
7192 (find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
7193 in source_expr2 before using the size value the function sets. Also
7194 make use of init_symbolic_number () in both the old place and
7195 find_bswap_or_nop_load () to avoid reading uninitialized memory when
7196 doing recursion in the GIMPLE_BINARY_RHS case.
7197
597c6315
RB
71982014-06-03 Richard Biener <rguenther@suse.de>
7199
7200 PR tree-optimization/61383
7201 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
7202 stmts can't trap.
7203
b48e9677
RS
72042014-06-03 Richard Sandiford <rdsandiford@googlemail.com>
7205
7206 * defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
7207 (EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
7208 (CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
7209 (REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
7210 in this file.
7211 (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
7212 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
7213 * system.h: ...here and make it unconditional.
7214 * target.def (conditional_register_usage): Mention
7215 define_register_constraint instead of old-style constraint macros.
7216 * doc/tm.texi.in: Remove documentation for old-style constraint macros.
7217 * doc/tm.texi: Regenerate.
7218 * genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
7219 protected by !USE_MD_CONSTRAINTS.
7220 * config/frv/frv.md: Remove quote from old version of documentation.
7221 * config/frv/frv.c (frv_conditional_register_usage): Likewise.
7222 * config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
7223 CONST_DOUBLE_OK_FOR_LETTER.
7224 * config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.
7225
b94f5533 72262014-06-02 Andrew Pinski <apinski@cavium.com>
7b11cab7 7227
3a87ac45
AP
7228 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
7229 /lib/ld-linux32-aarch64.so.1 is used for ILP32.
b94f5533
AP
7230 (LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
7231 file whose name depends on -mabi= and -mbig-endian.
3a87ac45
AP
7232 * config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
7233 Handle LP64 better and handle ilp32 too.
b94f5533
AP
7234 (MULTILIB_OPTIONS): Delete.
7235 (MULTILIB_DIRNAMES): Delete.
7236
9b2b7279
AM
72372014-06-02 Andrew MacLeod <amacleod@redhat.com>
7238
7239 * expr.h: Remove prototypes of functions defined in builtins.c.
7240 * tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
7241 Remove prototypes of functions defined in builtins.c.
7242 * builtins.h: Update prototype list to include all exported functions.
7243 * builtins.c: (default_libc_has_function, gnu_libc_has_function,
7244 no_c99_libc_has_function): Move to targhooks.c
7245 (build_string_literal, build_call_expr_loc_array,
7246 build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
7247 to tree.c.
7248 (expand_builtin_object_size, fold_builtin_object_size): Make static.
7249 * targhooks.c (default_libc_has_function, gnu_libc_has_function,
7250 no_c99_libc_has_function): Relocate from builtins.c.
7251 * tree.c: Include builtins.h.
7252 (build_call_expr_loc_array, build_call_expr_loc_vec,
7253 build_call_expr_loc, build_call_expr, build_string_literal): Relocate
7254 from builtins.c.
7255 * fold-const.h (fold_fma): Move prototype to builtins.h.
7256 * realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
7257 * asan.c: Include builtins.h.
7258 * cfgexpand.c: Likewise.
7259 * convert.c: Likewise.
7260 * emit-rtl.c: Likewise.
7261 * except.c: Likewise.
7262 * expr.c: Likewise.
7263 * fold-const.c: Likewise.
7264 * gimple-fold.c: Likewise.
7265 * gimple-ssa-strength-reduction.c: Likewise.
7266 * gimplify.c: Likewise.
7267 * ipa-inline.c: Likewise.
7268 * ipa-prop.c: Likewise.
7269 * lto-streamer-out.c: Likewise.
7270 * stmt.c: Likewise.
7271 * tree-inline.c: Likewise.
7272 * tree-object-size.c: Likewise.
7273 * tree-sra.c: Likewise.
7274 * tree-ssa-ccp.c: Likewise.
7275 * tree-ssa-forwprop.c: Likewise.
7276 * tree-ssa-loop-ivcanon.c: Likewise.
7277 * tree-ssa-loop-ivopts.c: Likewise.
7278 * tree-ssa-math-opts.c: Likewise.
7279 * tree-ssa-reassoc.c: Likewise.
7280 * tree-ssa-threadedge.c: Likewise.
7281 * tree-streamer-in.c: Likewise.
7282 * tree-vect-data-refs.c: Likewise.
7283 * tree-vect-patterns.c: Likewise.
7284 * tree-vect-stmts.c: Likewise.
7285 * config/aarch64/aarch64.c: Likewise.
7286 * config/alpha/alpha.c: Likewise.
7287 * config/arc/arc.c: Likewise.
7288 * config/arm/arm.c: Likewise.
7289 * config/avr/avr.c: Likewise.
7290 * config/bfin/bfin.c: Likewise.
7291 * config/c6x/c6x.c: Likewise.
7292 * config/cr16/cr16.c: Likewise.
7293 * config/cris/cris.c: Likewise.
7294 * config/epiphany/epiphany.c: Likewise.
7295 * config/fr30/fr30.c: Likewise.
7296 * config/frv/frv.c: Likewise.
7297 * config/h8300/h8300.c: Likewise.
7298 * config/i386/i386.c: Likewise.
7299 * config/i386/winnt.c: Likewise.
7300 * config/ia64/ia64.c: Likewise.
7301 * config/iq2000/iq2000.c: Likewise.
7302 * config/lm32/lm32.c: Likewise.
7303 * config/m32c/m32c.c: Likewise.
7304 * config/m32r/m32r.c: Likewise.
7305 * config/m68k/m68k.c: Likewise.
7306 * config/mcore/mcore.c: Likewise.
7307 * config/mep/mep.c: Likewise.
7308 * config/microblaze/microblaze.c: Likewise.
7309 * config/mips/mips.c: Likewise.
7310 * config/mmix/mmix.c: Likewise.
7311 * config/mn10300/mn10300.c: Likewise.
7312 * config/moxie/moxie.c: Likewise.
7313 * config/msp430/msp430.c: Likewise.
7314 * config/nds32/nds32.c: Likewise.
7315 * config/pa/pa.c: Likewise.
7316 * config/pdp11/pdp11.c: Likewise.
7317 * config/picochip/picochip.c: Likewise.
7318 * config/rl78/rl78.c: Likewise.
7319 * config/rs6000/rs6000.c: Likewise.
7320 * config/rx/rx.c: Likewise.
7321 * config/s390/s390.c: Likewise.
7322 * config/score/score.c: Likewise.
7323 * config/sh/sh.c: Likewise.
7324 * config/sparc/sparc.c: Likewise.
7325 * config/spu/spu.c: Likewise.
7326 * config/stormy16/stormy16.c: Likewise.
7327 * config/tilegx/tilegx.c: Likewise.
7328 * config/tilepro/tilepro.c: Likewise.
7329 * config/v850/v850.c: Likewise.
7330 * config/vax/vax.c: Likewise.
7331 * config/xtensa/xtensa.c: Likewise.
7332
0d732cca
JL
73332014-06-02 Jeff Law <law@redhat.com>
7334
7335 PR rtl-optimization/61094
7336 * ree.c (combine_reaching_defs): Do not reextend an insn if it
7337 was marked as do_no_reextend. If a copy is needed to eliminate
7338 an extension, then mark it as do_not_reextend.
7339
a2adad8b
MS
73402014-06-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
7341
7342 * config/aarch64/aarch64.md (set_fpcr): Drop ISB after FPCR write.
7343
20a951e6
RH
73442014-06-02 Richard Henderson <rth@redhat.com>
7345
7346 PR target/61336
7347 * config/alpha/alpha.c (print_operand_address): Allow symbolic
7348 addresses inside asms. Use output_operand_lossage instead of
7349 gcc_unreachable.
7350
40c0a159
UB
73512014-06-02 Uros Bizjak <ubizjak@gmail.com>
7352
7353 PR target/61239
7354 * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
7355 GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
7356
94bfa2da
TV
73572014-06-02 Tom de Vries <tom@codesourcery.com>
7358
7359 * config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
7360 case that x has VOIDmode.
7361
4a1f940f
BS
73622014-06-02 Bernd Schmidt <bernds@codesourcery.com>
7363
7364 * varasm.c (copy_constant): Delete function.
7365 (build_constant_desc): Don't call it.
7366
27e83a44
RR
73672014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7368
7369 PR target/61154
7370 * config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
7371 * config/arm/arm.md (mov64 splitter): Replace const_double_operand
7372 with immediate_operand.
7373
31815ed7
AS
73742014-06-02 Andreas Schwab <schwab@suse.de>
7375
7376 * config/ia64/ia64.c
7377 (ia64_first_cycle_multipass_dfa_lookahead_guard): Check
7378 pending_data_specs first.
7379
61dd7fbc
RB
73802014-06-02 Richard Biener <rguenther@suse.de>
7381
7382 PR tree-optimization/61378
7383 * tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
7384 valueized_anything.
7385
1828d3e6
UB
73862014-06-01 Uros Bizjak <ubizjak@gmail.com>
7387
7388 * config/i386/constraints.md (Bw): Rename from 'w'.
7389 (Bz): Rename from 'z'.
7390 * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
7391
6041d142
KT
73922014-06-01 Kai Tietz <ktietz@redhat.com>
7393
7394 PR target/61377
1828d3e6
UB
7395 * config/i386/constrains.md (define_constrain): New 'Bs' constraint.
7396 * config/i386/i386.md (sibcall_insn_operand): Use Bs
7397 instead of m constraint.
6041d142 7398
aef1bf3b
AS
73992014-05-31 Andreas Schwab <schwab@linux-m68k.org>
7400
7401 * config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
7402 a separate alternative where the scratch operand 2 is marked as
7403 early clobber.
7404
f10743d3
KV
74052014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
7406
7407 * config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
7408 (arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
7409 (bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
7410 and __builtins_arm_get_fpscr.
7411 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
7412 __builtins_arm_get_fpscr.
7413 (arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
7414 __builtins_arm_ldfpscr.
7415 (arm_atomic_assign_expand_fenv): New function.
7416 * config/arm/vfp.md (set_fpscr): New pattern.
7417 (get_fpscr) : Likewise.
7418 * config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
7419 VUNSPEC_SET_FPSCR.
7420 * doc/extend.texi (AARCH64 Built-in Functions) : Document
7421 __builtins_arm_set_fpscr, __builtins_arm_get_fpscr.
7422
40f9f6bb
JJ
74232014-05-30 Jakub Jelinek <jakub@redhat.com>
7424
b3f1051b
JJ
7425 * asan.c (report_error_func): Add SLOW_P argument, use
7426 BUILT_IN_ASAN_*_N if set.
7427 (build_check_stmt): Likewise.
7428 (instrument_derefs): If T has insufficient alignment,
7429 force same handling as for odd sizes.
7430
40f9f6bb
JJ
7431 * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
7432 BUILT_IN_ASAN_REPORT_STORE_N): New.
7433 * asan.c (struct asan_mem_ref): Change access_size type to
7434 HOST_WIDE_INT.
7435 (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
7436 update_mem_ref_hash_table): Likewise.
7437 (asan_mem_ref_hasher::hash): Hash in a HWI.
7438 (report_error_func): Change size_in_bytes argument to HWI.
7439 Use *_N builtins if size_in_bytes is larger than 16 or not power of
7440 two.
7441 (build_shadow_mem_access): New function.
7442 (build_check_stmt): Use it. Change size_in_bytes argument to HWI.
7443 Handle size_in_bytes not power of two or larger than 16.
7444 (instrument_derefs): Don't give up if size_in_bytes is not
7445 power of two or is larger than 16.
7446
cb105922
KT
74472014-05-30 Kai Tietz <ktietz@redhat.com>
7448
7449 PR target/60104
7450 * config/i386/i386.c (x86_output_mi_thunk): Add memory case
7451 for sibling-tail-calls.
7452 * config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
7453 to its use.
7454 * config/i386/predicates.md (sibcall_memory_operand): New predicate.
7455 (sibcall_insn_operand): Add check for sibcall_memory_operand.
7456
150e0639
PS
74572014-05-30 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
7458
7459 * config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
7460 * config/avr/avr-tables.opt: Regenerate.
7461 * config/avr/t-multilib: Regenerate.
7462 * doc/avr-mmcu.texi: Regenerate.
7463
f9a8f6d9
ILT
74642014-05-30 Ian Lance Taylor <iant@google.com>
7465
7466 * config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
7467 target("sse").
7468
5028356f
TV
74692014-05-30 Tom de Vries <tom@codesourcery.com>
7470
7471 * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
7472 Redefine as true.
7473
10e1bdb2
TV
74742014-05-30 Tom de Vries <tom@codesourcery.com>
7475
7476 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
7477 * lra.c (initialize_lra_reg_info_element): Add init of
7478 actual_call_used_reg_set field.
7479 (lra): Call lra_create_live_ranges before lra_inheritance for
7480 -fuse-caller-save.
7481 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
7482 -fuse-caller-save.
7483 * lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
7484 instead of call_used_reg_set for -fuse-caller-save.
7485 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
7486
56912037
KT
74872014-05-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7488
7489 * config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
7490 to mov_imm.
7491 * config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.
7492
98f2f031
RS
74932014-05-30 Richard Sandiford <rdsandiford@googlemail.com>
7494
7495 * ira.c (ira_get_dup_out_num): Check for output operands at
7496 the start of the loop. Handle cases where an included alternative
7497 follows an excluded one.
7498
79abf19f
MS
74992014-05-29 Mike Stump <mikestump@comcast.net>
7500
7501 PR debug/61352
7502 * collect2.c (maybe_run_lto_and_relink): Be sure to always run
7503 post ld passes when lto is used.
7504
cc8849a1
VM
75052014-05-29 Vladimir Makarov <vmakarov@redhat.com>
7506
7507 PR rtl-optimization/61325
40c0a159 7508 * lra-constraints.c (process_address): Rename to process_address_1.
cc8849a1
VM
7509 (process_address): New function.
7510
ae0533da
AL
75112014-05-29 Alan Lawrence <alan.lawrence@arm.com>
7512
7513 * config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
7514 TYPES_BINOPV): New static data.
40c0a159
UB
7515 * config/aarch64/aarch64-simd-builtins.def (im_lane_bound):
7516 New builtin.
7517 * config/aarch64/aarch64-simd.md (aarch64_ext,
7518 aarch64_im_lane_boundsi): New patterns.
ae0533da
AL
7519 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
7520 patterns for EXT.
7521 (aarch64_evpc_ext): New function.
7522
7523 * config/aarch64/iterators.md (UNSPEC_EXT): New enum element.
7524
7525 * config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
7526 vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
7527 vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
7528 vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
7529 vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.
7530
ed00b1fb
TV
75312014-05-29 Tom de Vries <tom@codesourcery.com>
7532
7533 * rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
7534
004d3809 75352014-05-29 Richard Earnshaw <rearnsha@arm.com>
40c0a159 7536 Richard Sandiford <rdsandiford@googlemail.com>
004d3809 7537
40c0a159
UB
7538 * arm/iterators.md (shiftable_ops): New code iterator.
7539 (t2_binop0, arith_shift_insn): New code attributes.
004d3809 7540 * arm/predicates.md (shift_nomul_operator): New predicate.
40c0a159
UB
7541 * arm/arm.md (insn_enabled): Delete.
7542 (enabled): Remove insn_enabled test.
7543 (*arith_shiftsi): Delete. Replace with ...
7544 (*<arith_shift_insn>_multsi): ... new pattern.
004d3809
RE
7545 (*<arith_shift_insn>_shiftsi): ... new pattern.
7546 * config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
7547
c2db3f3d 75482014-05-29 Radovan Obradovic <robradovic@mips.com>
40c0a159 7549 Tom de Vries <tom@codesourcery.com>
c2db3f3d
RO
7550
7551 * config/mips/mips.h (POST_CALL_TMP_REG): Define.
7552 * config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
7553 clobber.
7554 (mips_split_call): Use POST_CALL_TMP_REG.
7555 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
7556
4b29b965
TV
75572014-05-29 Tom de Vries <tom@codesourcery.com>
7558
7559 * final.c (collect_fn_hard_reg_usage): Guard variable declaration
7560 with #ifdef STACK_REGS.
7561
726f0774
JH
75622014-05-28 Jan Hubicka <hubicka@ucw.cz>
7563
7564 * varasm.c (get_variable_section): Walk aliases.
7565 (place_block_symbol): Walk aliases.
7566
ea0b381f
TV
75672014-05-28 Tom de Vries <tom@codesourcery.com>
7568
7569 Revert:
7570 2014-05-28 Tom de Vries <tom@codesourcery.com>
7571
7572 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
7573 * lra.c (initialize_lra_reg_info_element): Add init of
7574 actual_call_used_reg_set field.
7575 (lra): Call lra_create_live_ranges before lra_inheritance for
7576 -fuse-caller-save.
7577 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
7578 -fuse-caller-save.
40c0a159
UB
7579 * lra-constraints.c (need_for_call_save_p): Use
7580 actual_call_used_reg_set instead of call_used_reg_set for
7581 -fuse-caller-save.
ea0b381f
TV
7582 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
7583
73f793e3
RS
75842014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
7585
7586 * doc/md.texi: Document that the % constraint character must
7587 be at the beginning of the string.
7588 * genoutput.c (validate_insn_alternatives): Check that '=',
7589 '+' and '%' only appear at the beginning of a constraint.
7590 * ira.c (commutative_constraint_p): Delete.
7591 (ira_get_dup_out_num): Expect the '%' commutativity marker to be
7592 at the start of the string.
7593 * config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
7594 duplicate '='s.
7595 * config/arm/neon.md (bicdi3_neon): Likewise.
7596 * config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
7597 (slt_si, sltu_si): Likewise.
7598 * config/vax/vax.md (sbcdi3): Likewise.
7599 * config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
7600 * config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
7601 (mul64): Move '%' to beginning of constraint.
7602 * config/arm/arm.md (*xordi3_insn): Likewise.
7603 * config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
7604 (xorsi3): Likewise.
7605
5a7555ab
RS
76062014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
7607
7608 * doc/md.texi: Document the restrictions on the "enabled" attribute.
7609
d67ff7b7
JM
76102014-05-28 Jason Merrill <jason@redhat.com>
7611
7612 PR c++/47202
7613 * cgraph.h (symtab_node::get_comdat_group_id): New.
7614 * cgraphunit.c (analyze_functions): Call it.
7615 * symtab.c (dump_symtab_node): Likewise.
7616 * tree.c (decl_comdat_group_id): New.
7617 * tree.h: Declare it.
7618 * lto-streamer-out.c (write_symbol): Use it.
7619 * trans-mem.c (ipa_tm_create_version_alias): Likewise.
7620
ecc7533a
FXC
76212014-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7622
7623 PR bootstrap/PR61146
7624 * wide-int.cc: Do not include longlong.h when compiling with clang.
7625
6e5799b9
RB
76262014-05-28 Richard Biener <rguenther@suse.de>
7627
7628 * tree-ssa-propagate.c (add_control_edge): Print less vertical space.
7629 * tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
7630 (vrp_visit_assignment_or_call): Print less vertical space.
7631 (vrp_visit_stmt): Likewise.
7632 (vrp_visit_phi_node): Likewise. For a PHI argument with
7633 VR_VARYING range consider recording it as copy.
7634
47f9fca8
RB
76352014-05-28 Richard Biener <rguenther@suse.de>
7636
7637 Revert
7638 2014-05-28 Richard Biener <rguenther@suse.de>
7639
7640 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
7641
7fbf8a3e
BE
76422014-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
7643
7644 * expr.c (expand_assignment): Fold the bitpos in the to_rtx if
7645 sufficiently aligned and an offset is used at the same time.
7646 (expand_expr_real_1): Likewise.
7647
b017a174
RB
76482014-05-28 Richard Biener <rguenther@suse.de>
7649
7650 PR middle-end/61045
7651 * fold-const.c (fold_comparison): When folding
7652 X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
7653 the sign of the remaining constant operand stays the same.
7654
96360888
KP
76552014-05-28 Kaushik Phatak <kaushik.phatak@kpit.com>
7656
7657 * config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
7658 __RL78_64BIT_DOUBLES__ or __RL78_32BIT_DOUBLES__.
7659 (ASM_SPEC): Pass -m64bit-doubles or -m32bit-doubles on
7660 to the assembler.
40c0a159 7661 (DOUBLE_TYPE_SIZE): Use 64 bit if TARGET_64BIT_DOUBLES is true.
96360888
KP
7662 * gcc/config/rl78/rl78.opt (m64bit-doubles): New option.
7663 (m32bit-doubles) Likewise.
7664 * gcc/config/rl78/t-rl78: Add 64-bit-double multilib.
7665 * doc/invoke.texi: Document -m32bit-doubles and -m64bit-doubles
7666 option for RL78.
7667
3c698bf0
RO
76682014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7669
7670 * configure.ac ($gcc_cv_ld_clearcap): New test.
7671 * configure: Regenerate.
7672 * config.in: Regenerate.
7673 * config/sol2.opt (mclear-hwcap): New option.
7674 * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
7675 * config/sol2-clearcap.map: Moved here from
7676 testsuite/gcc.target/i386/clearcap.map.
7677 * config/sol2-clearcapv2.map: Move here from
7678 gcc.target/i386/clearcapv2.map.
7679 * config/t-sol2 (install): Depend on install-clearcap-map.
7680 (install-clearcap-map): New target.
7681 * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
7682 -mclear-hwcap.
7683
4c8bd90f
RB
76842014-05-28 Richard Biener <rguenther@suse.de>
7685
7686 * hwint.h (*_HALF_WIDE_INT*): Move to ...
7687 * wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
7688 ... here and remove the rest.
7689 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
7690
a896172d
RB
76912014-05-28 Richard Biener <rguenther@suse.de>
7692
7693 PR tree-optimization/61335
7694 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and
7695 new range fails, drop to varying.
7696
c41f1c42
BE
76972014-05-28 Olivier Hainque <hainque@adacore.com>
7698
7699 * config/rs6000/vxworks.h (VXCPU_FOR_8548): New. Default to PPC85XX.
7700 (CPP_SPEC): Add entry for -mcpu=8548.
7701 * config/rs6000/vxworksae.h: Reinstate. Override VXCPU_FOR_8548.
7702 * config.gcc (powerpc-wrs-vxworksae, tm_file): Add back vxworksae.h.
7703
b8c6a45a
TV
77042014-05-28 Tom de Vries <tom@codesourcery.com>
7705
7706 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
7707 * lra.c (initialize_lra_reg_info_element): Add init of
7708 actual_call_used_reg_set field.
7709 (lra): Call lra_create_live_ranges before lra_inheritance for
7710 -fuse-caller-save.
7711 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
7712 -fuse-caller-save.
40c0a159
UB
7713 * lra-constraints.c (need_for_call_save_p): Use
7714 actual_call_used_reg_set instead of call_used_reg_set for
7715 -fuse-caller-save.
b8c6a45a
TV
7716 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
7717
dbe7d9e3 77182014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 7719 Tom de Vries <tom@codesourcery.com>
dbe7d9e3 7720
40c0a159
UB
7721 * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save
7722 to gccoptlist.
dbe7d9e3
RO
7723 (@item -fuse-caller-save): New item.
7724
5c989bbf 77252014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 7726 Tom de Vries <tom@codesourcery.com>
5c989bbf
RO
7727
7728 * opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
7729 OPT_fuse_caller_save.
7730
c2ba7e7a 77312014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 7732 Tom de Vries <tom@codesourcery.com>
c2ba7e7a
RO
7733
7734 * df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
7735 * caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
7736 get_call_reg_set_usage.
7737 * resource.c (mark_set_resources, mark_target_live_regs): Use
7738 get_call_reg_set_usage.
7739 * ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
7740 field.
7741 (ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
7742 * ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
7743 Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
7744 * ira-build.c (ira_create_allocno): Init
7745 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
7746 (create_cap_allocno, propagate_allocno_info)
7747 (propagate_some_info_from_allocno)
7748 (copy_info_to_removed_store_destinations): Handle
7749 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
7750 * ira-costs.c (ira_tune_allocno_costs): Use
7751 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
7752
27c07cc5 77532014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 7754 Tom de Vries <tom@codesourcery.com>
27c07cc5
RO
7755
7756 * cgraph.h (struct cgraph_rtl_info): Add function_used_regs
7757 and function_used_regs_valid fields.
7758 * final.c: Move include of hard-reg-set.h to before rtl.h to declare
7759 find_all_hard_reg_sets.
7760 (collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
7761 (get_call_reg_set_usage): New function.
7762 (rest_of_handle_final): Use collect_fn_hard_reg_usage.
7763 * regs.h (get_call_reg_set_usage): Declare.
7764
ca48e5ef
GJL
77652014-05-28 Georg-Johann Lay <avr@gjlay.de>
7766
7767 PR libgcc/61152
7768 * config/dbx.h (License): Add Runtime Library Exception.
7769 * config/newlib-stdint.h (License): Same.
7770 * config/rtems.h (License): Same
7771 * config/initfini-array.h (License): Same
7772 * config/v850/v850.h (License): Same.
7773 * config/v850/v850-opts.h (License): Same
7774 * config/v850/rtems.h (License): Same.
7775
92747f7d
GJL
77762014-05-28 Georg-Johann Lay <avr@gjlay.de>
7777
7778 PR target/61044
7779 * doc/extend.texi (Local Labels): Note that label differences are
7780 not supported for AVR.
7781
c41f1c42
BE
77822014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
7783 Olivier Hainque <hainque@adacore.com>
7784
7785 * rtl.h (set_for_reg_notes): Declare.
7786 * emit-rtl.c (set_for_reg_notes): New function.
7787 (set_unique_reg_note): Use it.
7788 * optabs.c (add_equal_note): Likewise
7789
9c6ab05f
AP
77902014-05-27 Andrew Pinski <apinski@cavium.com>
7791
7792 * config/aarch64/aarch64.md (stack_protect_set_<mode>):
7793 Use <w> for the register in assembly template.
40c0a159 7794 (stack_protect_test): Use the mode of operands[0] for the result.
9c6ab05f
AP
7795 (stack_protect_test_<mode>): Use <w> for the register
7796 in assembly template.
7797
69c7a374
DD
77982014-05-27 DJ Delorie <dj@redhat.com>
7799
7800 * config/rx/rx.c (add_vector_labels): New.
7801 (rx_output_function_prologue): Call it.
7802 (rx_handle_func_attribute): Don't require empty arguments.
7803 (rx_handle_vector_attribute): New.
7804 (rx_attribute_table): Add "vector" attribute.
7805 * doc/extend.texi (interrupt, vector): Document new/changed
7806 RX-specific attributes.
7807
7808 * config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.
7809
5e67547d
EB
78102014-05-27 Eric Botcazou <ebotcazou@adacore.com>
7811
7812 * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
7813 predicate to detect a negative quotient.
7814
d378c07e
EB
78152014-05-27 Eric Botcazou <ebotcazou@adacore.com>
7816
7817 * fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
7818 to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
7819 Add X - Y CMP 0 to X CMP Y transformation.
7820 (fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.
7821
3ce6c715
SB
78222014-05-27 Segher Boessenkool <segher@kernel.crashing.org>
7823
7824 * stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
7825 before printing.
7826
11237229
SE
78272014-05-27 Steve Ellcey <sellcey@mips.com>
7828
7829 * config/mips/mips.c: Add include of cgraph.h.
7830
7ea7f668
RB
78312014-05-27 Richard Biener <rguenther@suse.de>
7832
7833 * system.h (__STDC_FORMAT_MACROS): Define as very first thing.
7834
c7eca9fe
GJL
78352014-05-27 Georg-Johann Lay <avr@gjlay.de>
7836
7837 PR libgcc/61152
7838 * config/arm/arm.h (License): Add note to COPYING.RUNTIME.
7839 * config/arm/arm-cores.def (License): Same.
7840 * config/arm/arm-opts.h (License): Same.
7841 * config/arm/aout.h (License): Same.
7842 * config/arm/bpabi.h (License): Same.
7843 * config/arm/elf.h (License): Same.
7844 * config/arm/linux-elf.h (License): Same.
7845 * config/arm/linux-gas.h (License): Same.
7846 * config/arm/netbsd-elf.h (License): Same.
7847 * config/arm/uclinux-eabi.h (License): Same.
7848 * config/arm/uclinux-elf.h (License): Same.
7849 * config/arm/vxworks.h (License): Same.
7850
7a10ea9f
KT
78512014-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7852
7853 * config/arm/neon.md (neon_bswap<mode>): New pattern.
7854 * config/arm/arm.c (neon_itype): Add NEON_BSWAP.
7855 (arm_init_neon_builtins): Handle NEON_BSWAP.
7856 Define required type nodes.
7857 (arm_expand_neon_builtin): Handle NEON_BSWAP.
7858 (arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
7859 * config/arm/arm_neon_builtins.def (bswap): Define builtins.
7860 * config/arm/iterators.md (VDQHSD): New mode iterator.
7861
597f5997
RB
78622014-05-27 Richard Biener <rguenther@suse.de>
7863
7864 * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
7865 Try using literal operands when comparing value-ranges failed.
7866
f571b63f
RS
78672014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
7868
7869 * ira.c (commutative_operand): Adjust for change to recog_data.
7870 [Missing from previous commit.]
7871
4cc8d9d2
RS
78722014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
7873
7874 * system.h (TEST_BIT): New macro.
7875 * recog.h (alternative_mask): New type.
7876 (ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
7877 (recog_data_d): Replace alternative_enabled_p array with
7878 enabled_alternatives.
7879 (target_recog): New structure.
7880 (default_target_recog, this_target_recog): Declare.
7881 (get_enabled_alternatives, recog_init): Likewise.
7882 * recog.c (default_target_recog, this_target_recog): New variables.
7883 (get_enabled_alternatives): New function.
7884 (extract_insn): Use it.
7885 (recog_init): New function.
7886 (preprocess_constraints, constrain_operands): Adjust for change to
7887 recog_data.
7888 * postreload.c (reload_cse_simplify_operands): Likewise.
7889 * reload.c (find_reloads): Likewise.
7890 * ira-costs.c (record_reg_classes): Likewise.
7891 * ira-lives.c (single_reg_class): Likewise. Fix bug in which
7892 all alternatives after a disabled one would be skipped.
7893 (ira_implicitly_set_insn_hard_regs): Likewise.
7894 * ira.c (ira_setup_alts): Adjust for change to recog_data.
7895 * lra-int.h (lra_insn_recog_data): Replace alternative_enabled_p
7896 with enabled_alternatives.
7897 * lra.c (free_insn_recog_data): Update accordingly.
7898 (lra_update_insn_recog_data): Likewise.
7899 (lra_set_insn_recog_data): Likewise. Use get_enabled_alternatives.
7900 * lra-constraints.c (process_alt_operands): Likewise. Handle
7901 only_alternative as part of the enabled mask.
7902 * target-globals.h (this_target_recog): Declare.
7903 (target_globals): Add a recog field.
7904 (restore_target_globals): Restore this_target_recog.
7905 * target-globals.c: Include recog.h.
7906 (default_target_globals): Initialize recog field.
7907 (save_target_globals): Likewise.
7908 * reginfo.c (reinit_regs): Call recog_init.
7909 * toplev.c (backend_init_target): Likewise.
7910
9921417d
RS
79112014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
7912
7913 * gencodes.c (main): Make LAST_INSN_CODE higher than any insn code,
7914 rather than any named insn's code.
7915
a5024e01
GJL
79162014-05-27 Georg-Johann Lay <avr@gjlay.de>
7917
7918 PR libgcc/61152
7919 * config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
7920 * config/arm/arm-cores.def (License): Same.
7921
50efcce1
JH
79222014-05-26 Jan Hubicka <hubicka@ucw.cz>
7923
7924 * tree.h (decl_comdat_group): Declare.
7925 * cgraph.h (symtab_in_same_comdat_p): Move offline to ...
7926 * tree.c (decl_comdat_group): Here.
7927
3e26c8f6
RS
79282014-05-26 Richard Sandiford <r.sandiford@uk.ibm.com>
7929
7930 PR rtl-optimization/61222
7931 * combine.c (simplify_shift_const_1): When moving a PLUS outside
7932 the shift, truncate the PLUS operand to the result mode.
7933
b8140cd6
UB
79342014-05-26 Uros Bizjak <ubizjak@gmail.com>
7935
7936 PR target/61271
7937 * config/i386/i386.c (ix86_rtx_costs)
7938 <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
7939 Fix condition.
7940
acea91c9
MJ
79412014-05-26 Martin Jambor <mjambor@suse.cz>
7942
7943 * ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
7944 subreg uses.
7945
d93461f7
RB
79462014-05-26 Richard Biener <rguenther@suse.de>
7947
7948 * wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
7949 wi::int_traits <long long>, wi::int_traits <unsigned long long>):
7950 Provide specializations.
7951 (wi::int_traits <HOST_WIDE_INT>,
7952 wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
7953
bfe51f42
AM
79542014-05-26 Alan Modra <amodra@gmail.com>
7955
7956 PR target/61098
7957 * config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
7958 params and return a bool. Remove dead code. Update comment.
7959 Assert we have a const_int source. Remove bogus code from
7960 32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
7961 handling of constants > 2G and reg_equal note, from..
7962 (rs6000_emit_set_long_const): ..here. Remove unneeded param and
7963 return value. Update comment. If we can, use a new pseudo
7964 for intermediate calculations.
7965 * config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
7966 prototype.
7967 * config/rs6000/rs6000.md (movsi_internal1_single+1): Update
7968 call to rs6000_emit_set_const in splitter.
7969 (movdi_internal64+2, +3): Likewise.
7970
a9243bfc
RB
79712014-05-26 Richard Biener <rguenther@suse.de>
7972
7973 * system.h: Define __STDC_FORMAT_MACROS before
7974 including inttypes.h.
7975 * hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
7976 HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
7977 HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
7978 HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
7979 HOST_WIDEST_INT_C): Remove.
7980 (PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
7981 if C99 inttypes.h is not available.
7982 * coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
7983 * gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
7984 * gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
7985 * cfgloop.h (struct niter_desc): Use uint64_t for niter field.
7986 * bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
7987 (struct output_info): Likewise.
7988 (print_statistics): Adjust.
7989 (dump_bitmap_statistics): Likewise.
7990 * bt-load.c (migrate_btr_defs): Print with PRId64.
7991 * cfg.c (dump_edge_info, dump_bb_info): Likewise.
7992 (MAX_SAFE_MULTIPLIER): Adjust.
7993 * cfghooks.c (dump_bb_for_graph): Print with PRId64.
7994 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
7995 dump_cgraph_node): Likewise.
7996 * final.c (dump_basic_block_info): Likewise.
7997 * gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
7998 * gcov.c (format_gcov): Likewise.
7999 * ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
8000 for calculation.
8001 (get_clone_agg_value): Use HOST_WIDE_INT for offset.
8002 * ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
8003 (inline_small_functions, dump_overall_stats, dump_inline_stats):
8004 Use PRId64 for dumping.
8005 * ipa-profile.c (dump_histogram, ipa_profile): Likewise.
8006 * ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
8007 (add_allocno_hard_regs): Adjust.
8008 * loop-doloop.c (doloop_modify): Print using PRId64.
8009 * loop-iv.c (inverse): Compute in uint64_t.
8010 (determine_max_iter, iv_number_of_iterations): Likewise.
8011 * loop-unroll.c (decide_peel_completely, decide_peel_simple):
8012 Print using PRId64.
8013 * lto-streamer-out.c (write_symbol): Use uint64_t.
8014 * mcf.c (CAP_INFINITY): Use int64_t maximum.
8015 (dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
8016 find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
8017 * modulo-sched.c (const_iteration_count): Use int64_t.
8018 (sms_schedule): Dump using PRId64.
8019 * predict.c (dump_prediction): Likewise.
8020 * pretty-print.h (pp_widest_integer): Remove.
8021 * profile.c (get_working_sets, is_edge_inconsistent,
8022 is_inconsistent, read_profile_edge_counts): Dump using PRId64.
8023 * tree-pretty-print.c (pp_double_int): Remove case handling
8024 HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
8025 * tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
8026 and adjust users.
8027 (pass_optimize_bswap::execute): Remove restriction on hosts.
8028 * tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
8029 * tree-streamer-out.c (streamer_write_tree_header): Likewise.
8030 * tree.c (widest_int_cst_value): Remove.
8031 * tree.h (widest_int_cst_value): Likewise.
8032 * value-prof.c (dump_histogram_value): Print using PRId64.
8033 * gengtype.c (main): Also inject int64_t.
8034 * ggc-page.c (struct max_alignment): Use int64_t.
8035 * alloc-pool.c (struct allocation_object_def): Likewise.
8036 * ira-conflicts.c (build_conflict_bit_table): Use uint64_t
8037 for computation.
8038 * doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
8039 * doc/tm.texi: Regenerated.
8040 * gengtype-lex.l (IWORD): Handle [u]int64_t.
8041 * config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
8042 * config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
8043 mmix_output_register_setting): Use [u]int64_t in prototypes.
8044 * config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
8045 mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
8046 mmix_output_octa, mmix_output_shifted_value): Adjust.
8047 (mmix_intval): Adjust. Remove unreachable case.
b8140cd6 8048 * config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use int64_t.
a9243bfc 8049
edf6ddf6
RB
80502014-05-26 Richard Biener <rguenther@suse.de>
8051
8052 * configure.ac: Drop __int64 type check. Insist that we
8053 found uint64_t and int64_t.
8054 * hwint.h (HOST_BITS_PER___INT64): Remove.
b8140cd6 8055 (HOST_BITS_PER_WIDE_INT): Define to 64 and remove __int64 case.
edf6ddf6
RB
8056 (HOST_WIDE_INT_PRINT_*): Remove 32bit case.
8057 (HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
8058 (HOST_WIDEST_FAST_INT): Remove __int64 case.
8059 * vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
8060 for dst_q_src_df_rms_cdt.
8061 * configure: Regenerate.
8062 * config.in: Likewise.
8063
d4082970
MT
80642014-05-26 Michael Tautschnig <mt@debian.org>
8065
8066 PR target/61249
49f002b6
UB
8067 * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
8068 __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
d4082970 8069
d29d688a
ZC
80702014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
8071
8072 PR rtl-optimization/61278
8073 * shrink-wrap.c (move_insn_for_shrink_wrap): Check df_live.
8074
88f32f0f
ZC
80752014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
8076
8077 PR rtl-optimization/61220
8078 Part of PR rtl-optimization/61225
8079 * shrink-wrap.c (move_insn_for_shrink_wrap): Skip SP and FP adjustment
8080 insn; skip split_edge for a block with only one successor.
8081
97ae6b64
JH
80822014-05-23 Jan Hubicka <hubicka@ucw.cz>
8083
d4082970
MT
8084 * symtab.c (symtab_nonoverwritable_alias): Copy READONLY flag
8085 for variables.
97ae6b64 8086
07990a5e
JH
80872014-05-23 Jan Hubicka <hubicka@ucw.cz>
8088
8089 * ipa-visibility.c (can_replace_by_local_alias_in_vtable): New function.
8090 (update_vtable_references): New function.
8091 (function_and_variable_visibility): Rewrite also vtable initializers.
8092 * varpool.c (cgraph_variable_initializer_availability): Remove assert.
8093
fd1e9302
JH
80942014-05-23 Jan Hubicka <hubicka@ucw.cz>
8095
8096 * ggc.h (ggc_grow): New function.
8097 * ggc-none.c (ggc_grow): New function.
8098 * ggc-page.c (ggc_grow): Likewise.
8099
7f7beb3f
JH
81002014-05-23 Jan Hubicka <hubicka@ucw.cz>
8101
d4082970
MT
8102 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
8103 address_taken_from_non_vtable_p, comdat_can_be_unshared_p_1,
8104 comdat_can_be_unshared_p, cgraph_externally_visible_p,
7f7beb3f
JH
8105 varpool_externally_visible_p, can_replace_by_local_alias,
8106 update_visibility_by_resolution_info, function_and_variable_visibility,
8107 pass_data_ipa_function_and_variable_visibility,
8108 make_pass_ipa_function_and_variable_visibility,
8109 whole_program_function_and_variable_visibility,
8110 pass_data_ipa_whole_program_visibility,
8111 make_pass_ipa_whole_program_visibility): Move to ipa-visibility.c
8112 * cgraph.h (cgraph_local_node_p): Declare.
8113 * ipa-visibility.c: New file.
8114 * Makefile.in (OBJS): Add ipa-visiblity.o
8115
6adda80b
JH
81162014-05-23 Jan Hubicka <hubicka@ucw.cz>
8117
8118 * gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
8119 that var decl is available.
8120
aede2c10
JH
81212014-05-23 Jan Hubicka <hubicka@ucw.cz>
8122
8123 * tree-core.h (tree_decl_with_vis): Replace comdat_group by
8124 symtab_node pointer.
d4082970 8125 * tree.c (copy_node_stat): Be sure to not copy symtab_node pointer.
aede2c10
JH
8126 (find_decls_types_r): Do not walk COMDAT_GROUP.
8127 * tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
8128 * varasm.c (make_decl_one_only): Use set_comdat_group;
8129 create node if needed.
8130 * ipa-inline-transform.c (save_inline_function_body): Update
8131 way we decl->symtab mapping.
8132 * symtab.c (symtab_hash, hash_node, eq_node
8133 symtab_insert_node_to_hashtable): Remove.
8134 (symtab_register_node): Update.
8135 (symtab_unregister_node): Update.
8136 (symtab_get_node): Reimplement as inline function.
8137 (symtab_add_to_same_comdat_group): Update.
8138 (symtab_dissolve_same_comdat_group_list): Update.
8139 (dump_symtab_base): Update.
8140 (verify_symtab_base): Update.
8141 (symtab_make_decl_local): Update.
8142 (fixup_same_cpp_alias_visibility): Update.
8143 (symtab_nonoverwritable_alias): Update.
8144 * cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
8145 * ipa.c (update_visibility_by_resolution_info): UPdate.
8146 * bb-reorder.c: Include cgraph.h
8147 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
8148 with comdat groups.
8149 * ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
8150 * cgraph.c (cgraph_get_create_node): Update.
8151 * cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
8152 and comdat_group_.
8153 (symtab_get_node): Make inline.
8154 (symtab_insert_node_to_hashtable): Remove.
8155 (symtab_can_be_discarded): Update.
8156 (decl_comdat_group): New function.
d4082970
MT
8157 * tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers):
8158 Update.
aede2c10
JH
8159 * lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
8160 comdat group name.
8161 (read_comdat_group): New function.
8162 (input_node, input_varpool_node): Use it.
8163 * trans-mem.c (ipa_tm_create_version_alias): Update code creating
8164 comdat groups.
8165 * mips.c (mips_start_unique_function): Likewise.
8166 (ix86_code_end): Likewise.
8167 (rs6000_code_end): Likweise.
d4082970 8168 * tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream comdat group.
aede2c10 8169
4df199d1
JH
81702014-05-23 Jan Hubicka <hubicka@ucw.cz>
8171
8172 * gengtype-state.c (fatal_reading_state): Bring offline.
8173 * optabs.c (widening_optab_handler): Bring offline.
8174 * optabs.h (widening_optab_handler): Likewise.
8175 * final.c (get_attr_length_1): Likewise.
8176
e0e349f3
JH
81772014-05-23 Jan Hubicka <hubicka@ucw.cz>
8178
8179 * sched-int.h (sd_iterator_cond): Manually tail recurse.
8180
a35dd1fa
SB
81812014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
8182
d4082970 8183 * config/rs6000/440.md (ppc440-integer): Include shift without dot.
a35dd1fa 8184 (ppc440-compare): Include shift with dot.
d4082970 8185 * config/rs6000/e300c2c3.md (ppce300c3_iu): Include shift without dot.
a35dd1fa
SB
8186 * config/rs6000/e5500.md (e5500_sfx2): Include constant shift
8187 without dot.
8188 * config/rs6000/e6500.md (e6500_sfx): Exclude constant shift
8189 without dot.
8190 (e6500_sfx2): Include it.
8191 * config/rs6000/rs6000.md ( *zero_extend<mode>di2_internal1,
8192 *zero_extend<mode>di2_internal2, *zero_extend<mode>di2_internal3,
8193 *zero_extendsidi2_lfiwzx, andsi3_mc, andsi3_nomc,
8194 andsi3_internal0_nomc, extzvsi_internal, extzvdi_internal,
8195 *extzvdi_internal1, *extzvdi_internal2, rotlsi3, *rotlsi3_64,
8196 *rotlsi3_internal4, *rotlsi3_internal7le, *rotlsi3_internal7be,
8197 *rotlsi3_internal10le, *rotlsi3_internal10be, rlwinm,
8198 *lshiftrt_internal1le, *lshiftrt_internal1be,
8199 *lshiftrt_internal4le, *lshiftrt_internal4be, rotldi3,
8200 *rotldi3_internal4, *rotldi3_internal7le, *rotldi3_internal7be,
8201 *rotldi3_internal10le, *rotldi3_internal10be,
8202 *rotldi3_internal13le, *rotldi3_internal13be, *ashldi3_internal4,
8203 ashldi3_internal5, *ashldi3_internal6, *ashldi3_internal7,
8204 ashldi3_internal8, *ashldi3_internal9, anddi3_mc, anddi3_nomc,
8205 *anddi3_internal2_mc, *anddi3_internal3_mc, and 4 anonymous
8206 define_insns): Use type "shift" in the appropriate alternatives.
8207
73c076c8
SB
82082014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
8209
8210 * config/rs6000/rs6000.md (type): Add "logical". Delete
8211 "fast_compare".
8212 (dot): Adjust comment.
8213 (andsi3_mc, *andsi3_internal2_mc, *andsi3_internal3_mc,
8214 *andsi3_internal4, *andsi3_internal5_mc, *boolsi3_internal2,
8215 *boolsi3_internal3, *boolccsi3_internal2, *boolccsi3_internal3,
8216 anddi3_mc, *anddi3_internal2_mc, *anddi3_internal3_mc,
8217 *booldi3_internal2, *booldi3_internal3, *boolcdi3_internal2,
8218 *boolcdi3_internal3, *boolccdi3_internal2, *boolccdi3_internal3,
d4082970 8219 *mov<mode>_internal2, and 10 anonymous define_insns): Use "logical".
73c076c8
SB
8220 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
8221
d4082970
MT
8222 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
8223 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
8224 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
8225 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
8226 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
8227 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
8228 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
8229 * config/rs6000/8540.md (ppc8540_su): Adjust.
8230 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
73c076c8 8231 cell-cmp-microcoded): Adjust.
d4082970
MT
8232 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
8233 * config/rs6000/e500mc.md (e500mc_su): Adjust.
8234 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
8235 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
8236 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
8237 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
8238 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
8239 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
8240 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
73c076c8 8241 Adjust.
d4082970
MT
8242 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
8243 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare):
73c076c8 8244 Adjust. Adjust comment.
d4082970
MT
8245 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
8246 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
73c076c8 8247
0cbb4f58
SB
82482014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
8249
8250 * config/rs6000/rs6000.md (type): Add "add".
8251 (*add<mode>3_internal1, addsi3_high, *add<mode>3_internal2,
8252 *add<mode>3_internal3, *neg<mode>2_internal, and 5 anonymous
8253 define_insns): Use it.
8254 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
8255
8256 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
8257 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
d4082970 8258 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
0cbb4f58
SB
8259 * config/rs6000/601.md (ppc601-integer): Adjust.
8260 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
8261 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
8262 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
8263 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
8264 * config/rs6000/8540.md (ppc8540_su): Adjust.
8265 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
8266 cell-cmp-microcoded): Adjust.
8267 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
8268 * config/rs6000/e500mc.md (e500mc_su): Adjust.
8269 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
8270 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
8271 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
8272 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
8273 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
8274 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
8275 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
8276 Adjust.
8277 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
d4082970 8278 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare): Adjust.
0cbb4f58
SB
8279 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
8280 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
8281
892e7fa6
SB
82822014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
8283
8284 * config/rs6000/rs6000.md (type): Delete "var_shift_rotate",
8285 "delayed_compare", "var_delayed_compare".
8286 (var_shift): New attribute.
8287 (cell_micro): Adjust.
8288 (*andsi3_internal2_mc, *andsi3_internal3_mc, *andsi3_internal4,
8289 *andsi3_internal5_mc, *extzvsi_internal1, *extzvsi_internal2,
8290 rotlsi3, *rotlsi3_64, *rotlsi3_internal2, *rotlsi3_internal3,
8291 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
8292 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
8293 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
8294 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
8295 *rotlsi3_internal12be, ashlsi3, *ashlsi3_64, lshrsi3, *lshrsi3_64,
8296 *lshiftrt_internal2le, *lshiftrt_internal2be, *lshiftrt_internal3le,
8297 *lshiftrt_internal3be, *lshiftrt_internal5le, *lshiftrt_internal5be,
8298 *lshiftrt_internal5le, *lshiftrt_internal5be, ashrsi3, *ashrsi3_64,
8299 rotldi3, *rotldi3_internal2, *rotldi3_internal3, *rotldi3_internal4,
8300 *rotldi3_internal5, *rotldi3_internal6, *rotldi3_internal7le,
8301 *rotldi3_internal7be, *rotldi3_internal8le, *rotldi3_internal8be,
8302 *rotldi3_internal9le, *rotldi3_internal9be, *rotldi3_internal10le,
8303 *rotldi3_internal10be, *rotldi3_internal11le, *rotldi3_internal11be,
8304 *rotldi3_internal12le, *rotldi3_internal12be, *rotldi3_internal13le,
8305 *rotldi3_internal13be, *rotldi3_internal14le, *rotldi3_internal14be,
8306 *rotldi3_internal15le, *rotldi3_internal15be, *ashldi3_internal1,
8307 *ashldi3_internal2, *ashldi3_internal3, *lshrdi3_internal1,
8308 *lshrdi3_internal2, *lshrdi3_internal3, *ashrdi3_internal1,
8309 *ashrdi3_internal2, *ashrdi3_internal3, *anddi3_internal2_mc,
8310 *anddi3_internal3_mc, as well as 11 anonymous define_insns): Adjust.
8311 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
8312 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
8313
8314 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
8315 * config/rs6000/440.md (ppc440-integer): Adjust.
d4082970 8316 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
892e7fa6
SB
8317 * config/rs6000/601.md (ppc601-integer, ppc601-compare): Adjust.
8318 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
8319 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
d4082970 8320 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
892e7fa6
SB
8321 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
8322 * config/rs6000/8540.md (ppc8540_su): Adjust.
8323 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
8324 cell-cmp-microcoded): Adjust.
8325 * config/rs6000/e300c2c3.md (ppce300c3_cmp): Adjust.
8326 * config/rs6000/e500mc.md (e500mc_su): Adjust.
8327 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2,
8328 e500mc64_delayed): Adjust.
8329 * config/rs6000/e5500.md (e5500_sfx, e5500_delayed): Adjust.
8330 * config/rs6000/e6500.md (e6500_sfx, e6500_delayed): Adjust.
8331 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
d4082970
MT
8332 * config/rs6000/power4.md (power4-integer, power4-compare): Adjust.
8333 * config/rs6000/power5.md (power5-integer, power5-compare): Adjust.
892e7fa6
SB
8334 * config/rs6000/power6.md (power6-shift, power6-var-rotate,
8335 power6-delayed-compare, power6-var-delayed-compare): Adjust.
d4082970 8336 * config/rs6000/power7.md (power7-integer, power7-compare): Adjust.
892e7fa6
SB
8337 * config/rs6000/power8.md (power8-1cyc, power8-compare): Adjust.
8338 Adjust comment.
8339 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
8340 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
8341
441e02a5
SB
83422014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
8343
d4082970 8344 * config/rs6000/rs6000.md (type): Delete "idiv", "ldiv". Add "div".
441e02a5
SB
8345 (bits): New mode_attr.
8346 (idiv_ldiv): Delete mode_attr.
8347 (udiv<mode>3, *div<mode>3, div<div_extend>_<mode>): Adjust.
8348 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
8349 rs6000_adjust_priority, is_nonpipeline_insn,
8350 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
8351
8352 * config/rs6000/40x.md (ppc403-idiv): Adjust.
8353 * config/rs6000/440.md (ppc440-idiv): Adjust.
8354 * config/rs6000/476.md (ppc476-idiv): Adjust.
8355 * config/rs6000/601.md (ppc601-idiv): Adjust.
8356 * config/rs6000/603.md (ppc603-idiv): Adjust.
8357 * config/rs6000/6xx.md (ppc604-idiv, ppc620-idiv, ppc630-idiv,
8358 ppc620-ldiv): Adjust.
8359 * config/rs6000/7450.md (ppc7450-idiv): Adjust.
8360 * config/rs6000/7xx.md (ppc750-idiv): Adjust.
8361 * config/rs6000/8540.md (ppc8540_divide): Adjust.
8362 * config/rs6000/a2.md (ppca2-idiv, ppca2-ldiv): Adjust.
8363 * config/rs6000/cell.md (cell-idiv, cell-ldiv): Adjust.
8364 * config/rs6000/e300c2c3.md (ppce300c3_divide): Adjust.
8365 * config/rs6000/e500mc.md (e500mc_divide): Adjust.
8366 * config/rs6000/e500mc64.md (e500mc64_divide): Adjust.
8367 * config/rs6000/e5500.md (e5500_divide, e5500_divide_d): Adjust.
8368 * config/rs6000/e6500.md (e6500_divide, e6500_divide_d): Adjust.
8369 * config/rs6000/mpc.md (mpccore-idiv): Adjust.
8370 * config/rs6000/power4.md (power4-idiv, power4-ldiv): Adjust.
8371 * config/rs6000/power5.md (power5-idiv, power5-ldiv): Adjust.
8372 * config/rs6000/power6.md (power6-idiv, power6-ldiv): Adjust.
8373 * config/rs6000/power7.md (power7-idiv, power7-ldiv): Adjust.
8374 * config/rs6000/power8.md (power8-idiv, power8-ldiv): Adjust.
8375 * config/rs6000/rs64.md (rs64a-idiv, rs64a-ldiv): Adjust.
8376 * config/rs6000/titan.md (titan_fxu_div): Adjust.
8377
58ee9e66
SB
83782014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
8379
8380 * config/rs6000/rs6000.md (type): Delete "insert_word",
8381 "insert_dword". Add "insert".
8382 (size): Update comment.
8383 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
8384 insn_must_be_first_in_group): Adjust.
8385 (insvsi_internal, *insvsi_internal1, *insvsi_internal2,
8386 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
8387 *insvsi_internal6, insvdi_internal): Adjust.
8388
8389 * config/rs6000/40x.md (ppc403-integer): Adjust.
8390 * config/rs6000/440.md (ppc440-integer): Adjust.
8391 * config/rs6000/476.md (ppc476-simple-integer): Adjust.
8392 * config/rs6000/601.md (ppc601-integer): Adjust.
8393 * config/rs6000/603.md (ppc603-integer): Adjust.
8394 * config/rs6000/6xx.md (ppc604-integer): Adjust.
8395 * config/rs6000/7450.md (ppc7450-integer): Adjust.
8396 * config/rs6000/7xx.md (ppc750-integer): Adjust.
8397 * config/rs6000/8540.md (ppc8540_su): Adjust.
8398 * config/rs6000/cell.md (cell-integer, cell-insert): Adjust.
8399 * config/rs6000/e300c2c3.md (ppce300c3_iu): Adjust.
8400 * config/rs6000/e500mc.md (e500mc_su): Adjust.
8401 * config/rs6000/e500mc64.md (e500mc64_su): Adjust.
8402 * config/rs6000/e5500.md (e5500_sfx): Adjust.
8403 * config/rs6000/e6500.md (e6500_sfx): Adjust.
8404 * config/rs6000/mpc.md (mpccore-integer): Adjust.
8405 * config/rs6000/power4.md (power4-integer, power4-insert): Adjust.
8406 * config/rs6000/power5.md (power5-integer, power5-insert): Adjust.
d4082970 8407 * config/rs6000/power6.md (power6-insert, power6-insert-dword): Adjust.
58ee9e66
SB
8408 * config/rs6000/power7.md (power7-integer): Adjust.
8409 * config/rs6000/power8.md (power8-1cyc): Adjust.
8410 * config/rs6000/rs64.md (rs64a-integer): Adjust.
8411 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
8412
e0528ed9
SB
84132014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
8414
8415 * config/rs6000/rs6000.md (type): Add "mul". Delete "imul",
8416 "imul2", "imul3", "lmul", "imul_compare", "lmul_compare".
8417 (size): New attribute.
8418 (dot): New attribute.
8419 (cell_micro): Adjust.
8420 (mulsi3, *mulsi3_internal1, *mulsi3_internal2, mulsidi3,
8421 umulsidi3, smulsi3_highpart, umulsi3_highpart, muldi3,
8422 *muldi3_internal1, *muldi3_internal2, smuldi3_highpart,
8423 umuldi3_highpart): Adjust.
8424 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
8425 rs6000_adjust_priority, is_nonpipeline_insn,
8426 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
8427
8428 * config/rs6000/40x.md (ppc403-imul, ppc405-imul, ppc405-imul2,
8429 ppc405-imul3): Adjust.
8430 * config/rs6000/440.md (ppc440-imul, ppc440-imul2): Adjust.
8431 * config/rs6000/476.md (ppc476-imul): Adjust.
8432 * config/rs6000/601.md (ppc601-imul): Adjust.
8433 * config/rs6000/603.md (ppc603-imul, ppc603-imul2): Adjust.
8434 * config/rs6000/6xx.md (ppc604-imul, ppc604e-imul, ppc620-imul,
8435 ppc620-imul2, ppc620-imul3, ppc620-lmul): Adjust.
8436 * config/rs6000/7450.md (ppc7450-imul, ppc7450-imul2): Adjust.
8437 * config/rs6000/7xx.md (ppc750-imul, ppc750-imul2, ppc750-imul3):
8438 Adjust.
8439 * config/rs6000/8540.md (ppc8540_multiply): Adjust.
8440 * config/rs6000/a2.md (ppca2-imul, ppca2-lmul): Adjust.
8441 * config/rs6000/cell.md (cell-lmul, cell-lmul-cmp, cell-imul23,
8442 cell-imul): Adjust.
8443 * config/rs6000/e300c2c3.md (ppce300c3_multiply): Adjust.
8444 * config/rs6000/e500mc.md (e500mc_multiply): Adjust.
8445 * config/rs6000/e500mc64.md (e500mc64_multiply): Adjust.
8446 * config/rs6000/e5500.md (e5500_multiply, e5500_multiply_i): Adjust.
8447 * config/rs6000/e6500.md (e6500_multiply, e6500_multiply_i): Adjust.
8448 * config/rs6000/mpc.md (mpccore-imul): Adjust.
8449 * config/rs6000/power4.md (power4-lmul-cmp, power4-imul-cmp,
8450 power4-lmul, power4-imul, power4-imul3): Adjust.
8451 * config/rs6000/power5.md (power5-lmul-cmp, power5-imul-cmp,
8452 power5-lmul, power5-imul, power5-imul3): Adjust.
8453 * config/rs6000/power6.md (power6-lmul-cmp, power6-imul-cmp,
8454 power6-lmul, power6-imul, power6-imul3): Adjust.
8455 * config/rs6000/power7.md (power7-mul, power7-mul-compare): Adjust.
8456 * config/rs6000/power8.md (power8-mul, power8-mul-compare): Adjust.
8457
8458 * config/rs6000/rs64.md (rs64a-imul, rs64a-imul2, rs64a-imul3,
8459 rs64a-lmul): Adjust.
8460 * config/rs6000/titan.md (titan_imul): Adjust.
8461
1263d642
SB
84622014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
8463
8464 * config/rs6000/rs6000.md (type): Add new value "halfmul".
8465 (*macchwc, *macchw, *macchwuc, *macchwu, *machhwc, *machhw,
8466 *machhwuc, *machhwu, *maclhwc, *maclhw, *maclhwuc, *maclhwu,
8467 *nmacchwc, *nmacchw, *nmachhwc, *nmachhw, *nmaclhwc, *nmaclhw,
8468 *mulchwc, *mulchw, *mulchwuc, *mulchwu, *mulhhwc, *mulhhw,
d4082970 8469 *mulhhwuc, *mulhhwu, *mullhwc, *mullhw, *mullhwuc, *mullhwu): Use it.
1263d642
SB
8470 * config/rs6000/40x.md (ppc405-imul3): Add type halfmul.
8471 * config/rs6000/440.md (ppc440-imul2): Add type halfmul.
8472 * config/rs6000/476.md (ppc476-imul): Add type halfmul.
8473 * config/rs6000/titan.md: Delete nonsensical comment.
8474 (titan_imul): Add type imul3.
8475 (titan_mulhw): Remove type imul3; add type halfmul.
8476
1be6301a
SB
84772014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
8478
8479 * config/rs6000/rs6000.md (type): Reorder, reformat.
8480
8aab5218
MJ
84812014-05-23 Martin Jambor <mjambor@suse.cz>
8482
8483 PR tree-optimization/53787
8484 * params.def (PARAM_IPA_MAX_AA_STEPS): New param.
8485 * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
8486 analysis_done, update all uses.
8487 * ipa-prop.c: Include domwalk.h
8488 (param_analysis_info): Removed.
8489 (param_aa_status): New type.
8490 (ipa_bb_info): Likewise.
8491 (func_body_info): Likewise.
8492 (ipa_get_bb_info): New function.
8493 (aa_overwalked): Likewise.
8494 (find_dominating_aa_status): Likewise.
8495 (parm_bb_aa_status_for_bb): Likewise.
8496 (parm_preserved_before_stmt_p): Changed to use new param AA info.
8497 (load_from_unmodified_param): Accept func_body_info as a parameter
8498 instead of parms_ainfo.
8499 (parm_ref_data_preserved_p): Changed to use new param AA info.
8500 (parm_ref_data_pass_through_p): Likewise.
8501 (ipa_load_from_parm_agg_1): Likewise. Update callers.
8502 (compute_complex_assign_jump_func): Changed to use new param AA info.
8503 (compute_complex_ancestor_jump_func): Likewise.
8504 (ipa_compute_jump_functions_for_edge): Likewise.
8505 (ipa_compute_jump_functions): Removed.
8506 (ipa_compute_jump_functions_for_bb): New function.
8507 (ipa_analyze_indirect_call_uses): Likewise, moved variable
8508 declarations down.
8509 (ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
8510 and info, moved variable declarations down.
8511 (ipa_analyze_call_uses): Accept and pass on func_body_info instead of
8512 node and info.
8513 (ipa_analyze_stmt_uses): Likewise.
8514 (ipa_analyze_params_uses): Removed.
8515 (ipa_analyze_params_uses_in_bb): New function.
8516 (ipa_analyze_controlled_uses): Likewise.
8517 (free_ipa_bb_info): Likewise.
8518 (analysis_dom_walker): New class.
8519 (ipa_analyze_node): Handle node-specific forbidden analysis,
8520 initialize and free func_body_info, use dominator walker.
8521 (ipcp_modif_dom_walker): New class.
8522 (ipcp_transform_function): Create and free func_body_info, use
8523 ipcp_modif_dom_walker, moved a lot of functionality there.
8524
85a16bf8
MP
85252014-05-23 Marek Polacek <polacek@redhat.com>
8526 Jakub Jelinek <jakub@redhat.com>
8527
8528 * builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
8529 * gcc.c (sanitize_spec_function): Likewise.
8530 * convert.c (convert_to_integer): Include "ubsan.h". Add
8531 floating-point to integer instrumentation.
8532 * doc/invoke.texi: Document -fsanitize=float-cast-overflow.
8533 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
8534 SANITIZE_NONDEFAULT.
8535 * opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
8536 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
8537 BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
8538 * ubsan.c: Include "realmpfr.h" and "dfp.h".
8539 (get_ubsan_type_info_for_type): Handle REAL_TYPEs.
8540 (ubsan_type_descriptor): Set tkind to 0xffff for types other than
8541 float/double/long double.
8542 (ubsan_instrument_float_cast): New function.
8543 * ubsan.h (ubsan_instrument_float_cast): Declare.
8544
40c0a159 85452014-05-23 Jiong Wang <jiong.wang@arm.com>
fee9ba42
JW
8546
8547 * config/aarch64/predicates.md (aarch64_call_insn_operand): New
8548 predicate.
8549 * config/aarch64/constraints.md ("Ucs", "Usf"): New constraints.
8550 * config/aarch64/aarch64.md (*sibcall_insn, *sibcall_value_insn):
8551 Adjust for tailcalling through registers.
8552 * config/aarch64/aarch64.h (enum reg_class): New caller save
8553 register class.
8554 (REG_CLASS_NAMES): Likewise.
8555 (REG_CLASS_CONTENTS): Likewise.
8556 * config/aarch64/aarch64.c (aarch64_function_ok_for_sibcall):
8557 Allow tailcalling without decls.
8558
ed20ae98
TS
85592014-05-23 Thomas Schwinge <thomas@codesourcery.com>
8560
09af4b4c
TS
8561 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
8562 Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.
8563
ed20ae98
TS
8564 * omp-low.c (expand_omp_for_static_chunk): Rename variable si to
8565 gsi, and variables v_* to v*.
8566
4adf63f9
EB
85672014-05-23 Eric Botcazou <ebotcazou@adacore.com>
8568
8569 * varasm.c (output_constructor_bitfield): Fix thinkos in latest change.
8570
a5a5434f
TS
85712014-05-23 Thomas Schwinge <thomas@codesourcery.com>
8572
0aadce73
TS
8573 * gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
8574 * omp-low.c: Update accordingly.
8575
eb63c927
TS
8576 * gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
8577 for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
8578 GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
8579 GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
8580 GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
8581 GF_OMP_TARGET_KIND_UPDATE.
8582
a5a5434f
TS
8583 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
8584 Explicitly enumerate the expected region types.
8585
ee526ea7
PE
85862014-05-23 Paul Eggert <eggert@cs.ucla.edu>
8587
8588 PR other/56955
8589 * doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc))
8590 documentation; the old documentation didn't clearly state the
8591 constraints on the contents of the pointed-to storage.
8592
676cad4d
MK
85932014-05-23 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
8594
8595 Fix bootstrap error on ia64
8596 * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
8597 Return default value.
8598
73984f84
TP
85992014-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
8600
8601 PR tree-optimization/54733
8602 * tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
8603 (CMPNOP): Define.
8604 (find_bswap_or_nop_load): New.
8605 (find_bswap_1): Renamed to ...
8606 (find_bswap_or_nop_1): This. Also add support for memory source.
8607 (find_bswap): Renamed to ...
8608 (find_bswap_or_nop): This. Also add support for memory source and
58126368
TP
8609 detection of bitwise operations equivalent to load in target
8610 endianness.
73984f84
TP
8611 (execute_optimize_bswap): Likewise. Also move its leading comment back
8612 in place and split statement transformation into ...
8613 (bswap_replace): This.
8614
b17ec42d
VM
86152014-05-22 Vladimir Makarov <vmakarov@redhat.com>
8616
8617 PR rtl-optimization/61215
8618 * lra-elelimination.c (lra_eliminate_regs_1): Don't use
8619 simplify_gen_subreg until final substitution.
8620
ea9364db
AM
86212014-05-23 Alan Modra <amodra@gmail.com>
8622
8623 PR target/61231
8624 * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
8625 * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
8626 Use "Y" constraint rather than "m".
8627
aa87aced
KV
86282014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org>
8629
8630 * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
8631 define.
8632 * config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
8633 New function declaration.
8634 * config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
8635 AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
8636 AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
8637 (aarch64_init_builtins) : Initialize builtins
8638 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
8639 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
8640 (aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
8641 __builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
8642 and __builtins_aarch64_set_fpsr.
8643 (aarch64_atomic_assign_expand_fenv): New function.
8644 * config/aarch64/aarch64.md (set_fpcr): New pattern.
8645 (get_fpcr) : Likewise.
8646 (set_fpsr) : Likewise.
8647 (get_fpsr) : Likewise.
8648 (unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
8649 and UNSPECV_SET_FPSR.
8650 * doc/extend.texi (AARCH64 Built-in Functions) : Document
8651 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
8652 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
8653
0a1eb350
VM
86542014-05-22 Vladimir Makarov <vmakarov@redhat.com>
8655
8656 PR rtl-optimization/60969
8657 * ira-costs.c (record_reg_classes): Process NO_REGS for matching
8658 constraints. Set up mem cost for NO_REGS case.
8659
f6a7cffc
TS
86602014-05-22 Thomas Schwinge <thomas@codesourcery.com>
8661
8662 * builtin-types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
8663
4000360e
BS
86642012-05-22 Bernd Schmidt <bernds@codesourcery.com>
8665
8666 * config/darwin.c: Include "lto-section-names.h".
8667 (LTO_SEGMENT_NAME): Don't define.
8668 * config/i386/winnt.c: Include "lto-section-names.h".
8669 * lto-streamer.c: Include "lto-section-names.h".
8670 * lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define.
8671 * lto-wrapper.c: Include "lto-section-names.h".
8672 (LTO_SECTION_NAME_PREFIX): Don't define.
8673 * lto-section-names.h: New file.
8674 * cgraphunit.c: Include "lto-section-names.h".
8675
c9aee450
PB
86762014-05-22 Peter Bergner <bergner@vnet.ibm.com>
8677
8678 * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
8679
37f2edf5
RE
86802014-05-22 Richard Earnshaw <rearnsha@arm.com>
8681
8682 PR target/61208
8683 * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
8684
1ad47ee5
NC
86852014-05-22 Nick Clifton <nickc@redhat.com>
8686
d4082970 8687 * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
1ad47ee5 8688
1f9c420b
EB
86892014-05-22 Eric Botcazou <ebotcazou@adacore.com>
8690
8691 * tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P
8692 -> (T)A transformation to integer types.
8693
e3f0315f
TJ
86942014-05-22 Teresa Johnson <tejohnson@google.com>
8695
8696 * gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
8697 (gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
8698 (gcov_rewrite): Use gcov_nonruntime_assert.
8699 (gcov_open): Ditto.
8700 (gcov_write_words): Ditto.
8701 (gcov_write_length): Ditto.
8702 (gcov_read_words): Use gcov_nonruntime_assert, and remove
8703 gcc_assert from IN_LIBGCOV code.
8704 (gcov_read_summary): Use gcov_error to flag profile corruption.
8705 (gcov_sync): Use gcov_nonruntime_assert.
8706 (gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
8707 (gcov_histo_index): Use gcov_nonruntime_assert.
8708 (static void gcov_histogram_merge): Ditto.
8709 (compute_working_sets): Ditto.
8710 * gcov-io.h (gcov_nonruntime_assert): Define.
8711 (gcov_error): Define for !IN_LIBGCOV
8712
c8f49949
RB
87132014-05-22 Richard Biener <rguenther@suse.de>
8714
8715 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
8716 BUILT_IN_REALLOC like BUILT_IN_STRDUP.
8717 (call_may_clobber_ref_p_1): Handle BUILT_IN_REALLOC as allocation
8718 and deallocation site.
8719 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
8720 Handle BUILT_IN_REALLOC similar to BUILT_IN_STRDUP with also
8721 passing through the incoming points-to set.
8722 (handle_lhs_call): Use flags argument instead of recomputing it.
8723 (find_func_aliases_for_call): Call handle_lhs_call with proper
8724 call return flags.
8725
a822564d
JJ
87262014-05-22 Jakub Jelinek <jakub@redhat.com>
8727
8728 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
8729 all padding bits in REAL_VALUE_TYPE are cleared.
8730
4960a0cb
MK
87312014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
8732
8733 Cleanup and improve multipass_dfa_lookahead_guard
d4082970
MT
8734 * config/i386/i386.c (core2i7_first_cycle_multipass_filter_ready_try,)
8735 (core2i7_first_cycle_multipass_begin,)
8736 (core2i7_first_cycle_multipass_issue,)
8737 (core2i7_first_cycle_multipass_backtrack): Update signature.
8738 * config/ia64/ia64.c
8739 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Remove.
8740 (ia64_first_cycle_multipass_dfa_lookahead_guard): Update signature.
8741 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove
8742 hook definition.
8743 (ia64_first_cycle_multipass_dfa_lookahead_guard): Merge logic from
8744 ia64_first_cycle_multipass_dfa_lookahead_guard_spec. Update return
8745 values.
8746 * config/rs6000/rs6000.c (rs6000_use_sched_lookahead_guard): Update
8747 return values.
8748 * doc/tm.texi: Regenerate.
8749 * doc/tm.texi.in
8750 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove.
8751 * haifa-sched.c (ready_try): Make signed to allow negative values.
8752 (rebug_ready_list_1): Update.
8753 (choose_ready): Simplify.
8754 (sched_extend_ready_list): Update.
4960a0cb 8755
16d83dd6
MK
87562014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
8757
8758 Remove IA64 speculation tweaking flags
d4082970
MT
8759 * config/ia64/ia64.c (ia64_set_sched_flags): Delete handling of
8760 speculation tuning flags.
8761 (msched-prefer-non-data-spec-insns,)
8762 (msched-prefer-non-control-spec-insns): Obsolete options.
8763 * haifa-sched.c (choose_ready): Remove handling of
8764 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
8765 * sched-int.h (enum SPEC_SCHED_FLAGS): Remove PREFER_NON_CONTROL_SPEC
8766 and PREFER_NON_DATA_SPEC.
8767 * sel-sched.c (process_spec_exprs): Remove handling of
8768 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
16d83dd6 8769
69da098b
MK
87702014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
8771
8772 Improve scheduling debug output
8773 * haifa-sched.c (debug_ready_list): Remove unnecessary prototype.
8774 (advance_one_cycle): Update.
8775 (schedule_insn, queue_to_ready): Add debug printouts.
8776 (debug_ready_list_1): New static function.
8777 (debug_ready_list): Update.
8778 (max_issue): Add debug printouts.
8779 (dump_insn_stream): New static function.
8780 (schedule_block): Use it. Also better indent printouts.
8781
87822014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
8783
8784 Fix sched_insn debug counter
8785 * haifa-sched.c (schedule_insn): Update.
8786 (struct haifa_saved_data): Add nonscheduled_insns_begin.
8787 (save_backtrack_point, restore_backtrack_point): Update.
8788 (first_nonscheduled_insn): New static function.
8789 (queue_to_ready, choose_ready): Use it.
8790 (schedule_block): Init nonscheduled_insns_begin.
8791 (sched_emit_insn): Update.
8792
8793
a4a182c6
KV
87942014-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
8795
8796 * config/aarch64/aarch64.c (aarch64_regno_regclass) : Change CORE_REGS
8797 to GENERAL_REGS.
8798 (aarch64_secondary_reload) : LikeWise.
8799 (aarch64_class_max_nregs) : Remove CORE_REGS.
8800 * config/aarch64/aarch64.h (enum reg_class) : Remove CORE_REGS.
8801 (REG_CLASS_NAMES) : Likewise.
8802 (REG_CLASS_CONTENTS) : LikeWise.
8803 (INDEX_REG_CLASS) : Change CORE_REGS to GENERAL_REGS.
8804
9652331a
GW
88052014-05-21 Guozhi Wei <carrot@google.com>
8806
8807 PR target/61202
8808 * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
8809 constraint.
8810 (vqdmulhq_n_s16): Likewise.
8811
0bfba043
SB
88122014-05-21 Segher Boessenkool <segher@kernel.crashing.org>
8813
8814 * config/rs6000/predicates.md (update_indexed_address_mem): Delete.
8815
1edb7356
MP
88162014-05-21 Marek Polacek <polacek@redhat.com>
8817
8818 PR sanitizer/61272
8819 * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
8820
2acb1027
MJ
88212014-05-21 Martin Jambor <mjambor@suse.cz>
8822
8823 * doc/invoke.texi (Optimize Options): Document parameters
8824 ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
8825 ipa-cp-array-index-hint-bonus.
8826
7315daa6
MW
88272014-05-21 Mark Wielaard <mjw@redhat.com>
8828
8829 PR debug/16063
8830 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_type if DWARF
8831 version >= 3 or not strict DWARF.
8832 * langhooks.h (struct lang_hooks_for_types): Add
8833 enum_underlying_base_type.
8834 * langhooks.c (lhd_enum_underlying_base_type): New function.
8835 * gcc/langhooks.h (struct lang_hooks_for_types): Add
8836 enum_underlying_base_type.
8837 * langhooks-def.h (lhd_enum_underlying_base_type): New declaration.
8838 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): New define.
8839 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add new lang hook.
8840
95989e5c
RB
88412014-05-21 Richard Biener <rguenther@suse.de>
8842
d4082970 8843 * doc/invoke.texi (-flto-partition=): Document one and none algorithms.
95989e5c 8844
dbed5a9b
JM
88452014-05-21 John Marino <gnugcc@marino.st>
8846
8847 * config.gcc (*-*-dragonfly*): New target.
8848 * configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
8849 * configure: Regenerate.
8850 * config/dragonfly-stdint.h: New.
8851 * config/dragonfly.h: New.
8852 * config/dragonfly.opt: New.
8853 * config/i386/dragonfly.h: New.
8854 * ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
8855
632f2871
RS
88562014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
8857
8858 * tree.def (VOID_CST): New.
8859 * tree-core.h (TI_VOID): New.
8860 * tree.h (void_node): New.
8861 * tree.c (tree_node_structure_for_code, tree_code_size)
8862 (iterative_hash_expr): Handle VOID_CST.
8863 (build_common_tree_nodes): Initialize void_node.
8864
8a9e6b45
BS
88652014-05-21 Bernd Schmidt <bernds@codesourcery.com>
8866
bffe67e7
BS
8867 * reload1.c (remove_init_insns, will_delete_init_insn_p): New static
8868 functions.
8869 (reload, calculate_needs_all_insns, reload_as_needed): Use them.
8870
0836b77f
BS
8871 * config/bfin/bfin.c (split_load_immediate): Use gen_int_mode in a few
8872 more places.
8873
8a9e6b45
BS
8874 * cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
8875 flag_reorder_blocks_and_partition.
8876 * hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.
8877
c4e5de1b
OE
88782014-05-21 Oleg Endo <olegendo@gcc.gnu.org>
8879
8880 PR target/54236
8881 * config/sh/sh.md (*addc_r_1): Rename to addc_t_r. Remove empty
8882 constraints.
8883 (*addc_r_t): Add new insn_and_split.
8884
decaaec8
JJ
88852014-05-21 Jakub Jelinek <jakub@redhat.com>
8886
8887 PR middle-end/61252
8888 * omp-low.c (handle_simd_reference): New function.
8889 (lower_rec_input_clauses): Use it. Defer adding reference
8890 initialization even for reduction without placeholder if in simd,
8891 handle it properly later on.
8892
3aaf0529
JH
88932014-05-20 Jan Hubicka <hubicka@ucw.cz>
8894
8895 PR tree-optimization/60899
8896 * gimple-fold.c (can_refer_decl_in_current_unit_p): Cleanup;
8897 assume all static symbols will have definition wile parsing and
8898 check the do have definition later in compilation; check that
8899 variable referring symbol will be output before concluding that
8900 reference is safe; be conservative for referring local statics;
8901 be more precise about when comdat is output in other partition.
8902
1bbb87c4
JH
89032014-05-20 Jan Hubicka <hubicka@ucw.cz>
8904
8905 PR bootstrap/60984
d4082970
MT
8906 * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
8907 parameter.
1bbb87c4 8908 * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
d4082970
MT
8909 (ipa_inline): Loop inline_to_all_callers until no more aliases
8910 are removed.
1bbb87c4 8911
d5ce4663
JH
89122014-05-20 Jan Hubicka <hubicka@ucw.cz>
8913
8914 * ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
8915 set writeonly flag only for vars actually written to.
8916
98339851
DC
89172014-05-20 Dehao Chen <dehao@google.com>
8918
8919 * ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count
8920 and callee count to get clone count.
8921 * tree-inline.c (expand_call_inline): Use callee count instead of bb
8922 count in copy_body.
8923
ec27069c
RS
89242014-05-20 Richard Sandiford <rdsandiford@googlemail.com>
8925
8926 PR rtl-optimization/61243
8927 * emit-rtl.c (emit_copy_of_insn_after): Copy CROSSING_JUMP_P.
8928
2b5f0895
XDL
89292014-05-20 Xinliang David Li <davidxl@google.com>
8930
8931 * cgraphunit.c (walk_polymorphic_call_targets): Add
8932 dbgcnt and fopt-info support.
8933 * ipa-prop.c (ipa_make_edge_direct_to_target): Ditto.
8934 * ipa-devirt.c (ipa_devirt): Ditto.
d4082970 8935 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Ditto.
2b5f0895
XDL
8936 * ipa.c (walk_polymorphic_call_targets): Ditto.
8937 * gimple-fold.c (fold_gimple_assign): Ditto.
8938 (gimple_fold_call): Ditto.
8939 * dbgcnt.def: New counter.
8940
9c5f6203
DD
89412014-05-20 DJ Delorie <dj@redhat.com>
8942
8943 * config/msp430/msp430.md (split): Don't allow subregs when
8944 splitting SImode adds.
8945 (andneghi): Fix subtraction logic.
8946 * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
8947
cf288ed3
JH
89482014-05-20 Jan Hubicka <hubicka@ucw.cz>
8949
8950 * tree.h (DECL_ONE_ONLY): Return true only for externally visible
8951 symbols.
8952 * except.c (switch_to_exception_section, resolve_unique_section,
d4082970 8953 get_named_text_section, default_function_rodata_section,
cf288ed3
JH
8954 align_variable, get_block_for_decl, default_section_type_flags):
8955 Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.
8956 * symtab.c (symtab_add_to_same_comdat_group,
8957 symtab_make_decl_local, fixup_same_cpp_alias_visibility,
8958 symtab_nonoverwritable_alias, symtab_get_symbol_partitioning_class):
8959 Likewise.
8960 * cgraphclones.c (cgraph_create_virtual_clone): Likewise.
8961 * bb-reorder.c (pass_partition_blocks::gate): Likewise.
8962 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
8963 (c6x_function_in_section_p): Likewise.
8964 * config/darwin.c (machopic_select_section): Likewise.
8965 * config/arm/arm.c (arm_function_in_section_p): Likewise.
8966 * config/mips/mips.c (mips_function_rodata_section): Likewise.
8967 * config/mep/mep.c (mep_select_section): LIkewise.
8968 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
8969
7eab31ed
EB
89702014-05-20 Eric Botcazou <ebotcazou@adacore.com>
8971
8972 * tree-ssa-dom.c (hashable_expr_equal_p) <EXPR_CALL>: Also compare the
8973 EH region of calls to pure functions that can throw an exception.
8974 * tree-ssa-sccvn.c (vn_reference_eq): Remove duplicated test.
8975 (copy_reference_ops_from_call): Also copy the EH region of the call if
8976 it can throw an exception.
8977
ec217bd8
BS
89782014-05-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8979
8980 * simplify-rtx.c (simplify_binary_operation_1): Optimize case of
8981 nested VEC_SELECTs that are inverses of each other.
8982
b2b222b3
RB
89832014-05-20 Richard Biener <rguenther@suse.de>
8984
d4082970 8985 * tree-ssa-sccvn.c (process_scc): Dump SCC here, when iterating,
b2b222b3
RB
8986 (extract_and_process_scc_for_name): not here.
8987 (cond_dom_walker::before_dom_children): Only process
8988 stmts that end the BB in interesting ways.
8989 (run_scc_vn): Mark param uses as visited.
8990
e9ea5185
KT
89912014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8992
8993 * config/arm/arm.md (arith_shiftsi): Do not predicate for
8994 arm_restrict_it.
8995
8f0e7f6f
NC
89962014-05-20 Nick Clifton <nickc@redhat.com>
8997
467fc67c
NC
8998 * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
8999 (msp430_gimplify_va_arg_expr): New function.
9000 (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
9001
8f0e7f6f
NC
9002 * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
9003 operand 0 in order to prevent confusion about the number of
9004 registers involved.
9005
d1c0308e
RB
90062014-05-20 Richard Biener <rguenther@suse.de>
9007
9008 PR tree-optimization/61221
9009 * tree-ssa-pre.c (el_to_update): Remove.
9010 (eliminate_dom_walker::before_dom_children): Handle released
9011 VDEFs by value-numbering them to the associated VUSE. Update
9012 stmt immediately for substituted call address.
9013 (eliminate): Remove delayed stmt updating code.
9014 * tree-ssa-sccvn.c (vuse_ssa_val): New function valueizing
9015 possibly late re-numbered vuses.
9016 (vn_reference_lookup_2): Adjust.
9017 (vn_reference_lookup_pieces): Likewise.
9018 (vn_reference_lookup): Likewise.
9019
54da09ee
RB
90202014-05-20 Richard Biener <rguenther@suse.de>
9021
9022 * config.gcc: Remove need_64bit_hwint.
9023 * configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
9024 * hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
9025 it to be true.
9026 * config.in: Regenerate.
9027 * configure: Likewise.
9028
883755a1
DW
90292014-05-19 David Wohlferd <dw@LimeGreenSocks.com>
9030
9031 * doc/extend.texi: Create Label Attributes section,
9032 move all label attributes into it and reference it.
9033
514b3156
RE
90342014-05-19 Richard Earnshaw <rearnsha@arm.com>
9035
9036 * arm.c (thumb1_reorg): When scanning backwards skip anything
9037 that's not a proper insn.
9038
1d44def2
RB
90392014-05-19 Richard Biener <rguenther@suse.de>
9040
9041 PR tree-optimization/61221
9042 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
9043 Do nothing for unreachable blocks.
9044 * tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
9045 Improve unreachability detection.
9046
05135136
RB
90472014-05-19 Richard Biener <rguenther@suse.de>
9048
9049 PR tree-optimization/61209
9050 * tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
9051
40ba8dfb
NC
90522014-05-19 Nick Clifton <nickc@redhat.com>
9053
9054 * except.c (init_eh): Fix computation of builtin setjmp buffer
9055 size to allow for targets where POINTER_SIZE > BITS_PER_WORD.
9056
cb460086
RB
90572014-05-19 Richard Biener <rguenther@suse.de>
9058
9059 PR tree-optimization/61184
9060 * tree-vrp.c (is_negative_overflow_infinity): Use
9061 TREE_OVERFLOW_P and do that check first.
9062 (is_positive_overflow_infinity): Likewise.
9063 (is_overflow_infinity): Likewise.
9064 (vrp_operand_equal_p): Properly treat operands with
9065 differing overflow as not equal.
9066
bddd3671
BS
90672014-05-19 Bernd Schmidt <bernds@codesourcery.com>
9068
9069 * simplify-rtx.c (simplify_unary_operation_1): Use CONST_INT_P in
9070 shift simplification where it was intended.
9071
72d82e7a
CB
90722014-05-19 Christian Bruel <christian.bruel@st.com>
9073
9074 PR target/61195
9075 * config/sh/sh.md (movsf_ie): Unset fp_mode for fmov.
9076
34dbb287
RS
90772014-05-19 Richard Sandiford <r.sandiford@uk.ibm.com>
9078
9079 PR target/61084
9080 * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
9081 than wide_int.
9082
339ba33b
RS
90832014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
9084
9085 * reg-notes.def (CROSSING_JUMP): Likewise.
9086 * rtl.h (rtx_def): Update comment for jump flag.
9087 (CROSSING_JUMP_P): Define.
9088 * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
9089 of a REG_CROSSING_JUMP note.
9090 * cfghooks.c (tidy_fallthru_edges): Likewise.
9091 * cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
9092 * emit-rtl.c (try_split): Likewise.
9093 * haifa-sched.c (sched_create_recovery_edges): Likewise.
9094 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
9095 * jump.c (redirect_jump_2): Likewise.
9096 * reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
9097 (relax_delay_slots): Likewise.
9098 * config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
9099 (bbit_di): Likewise.
9100 * config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
9101 * config/sh/sh.md (jump_compact): Likewise.
9102 * bb-reorder.c (rotate_loop): Likewise.
9103 (pass_duplicate_computed_gotos::execute): Likewise.
9104 (add_reg_crossing_jump_notes): Rename to...
9105 (update_crossing_jump_flags): ...this.
9106 (pass_partition_blocks::execute): Update accordingly.
9107
a65d5b87
RS
91082014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
9109
9110 * tree.h: Remove extraneous template <>.
9111
7b3376a0
JH
91122014-05-17 Jan Hubicka <hubicka@ucw.cz>
9113
9114 * ipa.c (symtab_remove_unreachable_nodes): Remove
9115 symbol from comdat group if its body was eliminated.
d4082970
MT
9116 (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
9117 * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
7b3376a0
JH
9118 (symtab_unregister_node): ... this one.
9119 (verify_symtab_base): More strict checking of comdats.
9120 * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
9121
a04d9035
JH
91222014-05-17 Jan Hubicka <hubicka@ucw.cz>
9123
9124 * tree-pass.h (make_pass_ipa_comdats): New pass.
9125 * timevar.def (TV_IPA_COMDATS): New timevar.
9126 * passes.def (pass_ipa_comdats): Add.
9127 * Makefile.in (OBJS): Add ipa-comdats.o
9128 * ipa-comdats.c: New file.
9129
24a71ba8
JH
91302014-05-17 Jan Hubicka <hubicka@ucw.cz>
9131
9132 * ipa.c (update_visibility_by_resolution_info): New function.
9133 (function_and_variable_visibility): Use it.
9134
d6d229c6
JH
91352014-05-17 Jan Hubicka <hubicka@ucw.cz>
9136
9137 * cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
9138 New functions.
9139 (FOR_EACH_DEFINED_SYMBOL): New macro.
9140 (varpool_first_static_initializer, varpool_next_static_initializer,
d4082970
MT
9141 varpool_first_defined_variable, varpool_next_defined_variable):
9142 Fix comments.
d6d229c6
JH
9143 (symtab_in_same_comdat_p): Correctly deal with inline functions.
9144
c3af645c
TS
91452014-05-17 Trevor Saunders <tsaunders@mozilla.com>
9146
9147 * ggc-page.c (ggc_handle_finalizers): Add comment.
9148
de49ce19
TS
91492014-05-17 Trevor Saunders <tsaunders@mozilla.com>
9150
9151 * ggc-common.c (ggc_internal_cleared_alloc): Adjust.
9152 * ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
9153 (ggc_internal_cleared_alloc): Likewise.
9154 * ggc-page.c (finalizer): New class.
16f8dfdb 9155 (vec_finalizer): Likewise.
de49ce19 9156 (globals::finalizers): New member.
16f8dfdb 9157 (globals::vec_finalizers): Likewise.
de49ce19
TS
9158 (ggc_internal_alloc): Record the finalizer if any for the block being
9159 allocated.
9160 (ggc_handle_finalizers): New function.
9161 (ggc_collect): Call ggc_handle_finalizers.
9162 * ggc.h (ggc_internal_alloc): Add arguments to allow installing a
9163 finalizer.
9164 (ggc_internal_cleared_alloc): Likewise.
9165 (finalize): New function.
9166 (need_finalization_p): Likewise.
9167 (ggc_alloc): Install the type's destructor as the finalizer if it
9168 might do something.
9169 (ggc_cleared_alloc): Likewise.
9170 (ggc_vec_alloc): Likewise.
9171 (ggc_cleared_vec_alloc): Likewise.
9172
04eec987
TS
91732014-05-17 Trevor Saunders <tsaunders@mozilla.com>
9174
9175 * ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.
9176
766090c2
TS
91772014-05-17 Trevor Saunders <tsaunders@mozilla.com>
9178
9179 * alias.c (record_alias_subset): Adjust.
9180 * bitmap.c (bitmap_element_allocate): Likewise.
9181 (bitmap_gc_alloc_stat): Likewise.
9182 * cfg.c (init_flow): Likewise.
9183 (alloc_block): Likewise.
9184 (unchecked_make_edge): Likewise.
9185 * cfgloop.c (alloc_loop): Likewise.
9186 (flow_loops_find): Likewise.
9187 (rescan_loop_exit): Likewise.
9188 * cfgrtl.c (init_rtl_bb_info): Likewise.
9189 * cgraph.c (insert_new_cgraph_node_version): Likewise.
9190 (cgraph_allocate_node): Likewise.
9191 (cgraph_create_edge_1): Likewise.
9192 (cgraph_allocate_init_indirect_info): Likewise.
9193 * cgraphclones.c (cgraph_clone_edge): Likewise.
9194 * cgraphunit.c (add_asm_node): Likewise.
9195 (init_lowered_empty_function): Likewise.
16f8dfdb 9196 * config/aarch64/aarch64.c (aarch64_init_machine_status): Likewise.
766090c2
TS
9197 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
9198 (alpha_use_linkage): Likewise.
9199 * config/arc/arc.c (arc_init_machine_status): Likewise.
9200 * config/arm/arm.c (arm_init_machine_status): Likewise.
9201 * config/avr/avr.c (avr_init_machine_status): Likewise.
9202 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
9203 * config/c6x/c6x.c (c6x_init_machine_status): Likewise.
9204 * config/cris/cris.c (cris_init_machine_status): Likewise.
9205 * config/darwin.c (machopic_indirection_name): Likewise.
9206 (darwin_build_constant_cfstring): Likewise.
9207 (darwin_enter_string_into_cfstring_table): Likewise.
16f8dfdb 9208 * config/epiphany/epiphany.c (epiphany_init_machine_status): Likewise.
766090c2
TS
9209 * config/frv/frv.c (frv_init_machine_status): Likewise.
9210 * config/i386/i386.c (get_dllimport_decl): Likewise.
9211 (ix86_init_machine_status): Likewise.
9212 (assign_386_stack_local): Likewise.
16f8dfdb 9213 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
766090c2
TS
9214 (i386_pe_maybe_record_exported_symbol): Likewise.
9215 (i386_pe_record_stub): Likewise.
9216 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
9217 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
9218 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
9219 (m32c_note_pragma_address): Likewise.
9220 * config/mep/mep.c (mep_init_machine_status): Likewise.
9221 (mep_note_pragma_flag): Likewise.
9222 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
9223 (mips16_local_alias): Likewise.
9224 (mips_init_machine_status): Likewise.
9225 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
9226 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
9227 * config/msp430/msp430.c (msp430_init_machine_status): Likewise.
9228 * config/nds32/nds32.c (nds32_init_machine_status): Likewise.
9229 * config/nios2/nios2.c (nios2_init_machine_status): Likewise.
9230 * config/pa/pa.c (pa_init_machine_status): Likewise.
9231 (pa_get_deferred_plabel): Likewise.
9232 * config/rl78/rl78.c (rl78_init_machine_status): Likewise.
9233 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
9234 (rs6000_init_machine_status): Likewise.
9235 (output_toc): Likewise.
9236 * config/s390/s390.c (s390_init_machine_status): Likewise.
9237 * config/score/score.c (score_output_external): Likewise.
9238 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
9239 * config/spu/spu.c (spu_init_machine_status): Likewise.
9240 * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
16f8dfdb 9241 * config/tilepro/tilepro.c (tilepro_init_machine_status): Likewise.
766090c2
TS
9242 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
9243 * coverage.c (coverage_end_function): Likewise.
9244 * dbxout.c (dbxout_init): Likewise.
9245 * doc/gty.texi: Don't mention variable_size attribute.
9246 * dwarf2cfi.c (new_cfi): Adjust.
9247 (new_cfi_row): Likewise.
9248 (copy_cfi_row): Likewise.
9249 (create_cie_data): Likewise.
9250 * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
9251 (new_loc_descr): Likewise.
9252 (find_AT_string_in_table): Likewise.
9253 (add_addr_table_entry): Likewise.
9254 (new_die): Likewise.
9255 (add_var_loc_to_decl): Likewise.
9256 (clone_die): Likewise.
9257 (clone_as_declaration): Likewise.
9258 (break_out_comdat_types): Likewise.
9259 (new_loc_list): Likewise.
9260 (add_loc_descr_to_each): Likewise.
9261 (add_location_or_const_value_attribute): Likewise.
9262 (add_linkage_name): Likewise.
9263 (lookup_filename): Likewise.
9264 (dwarf2out_var_location): Likewise.
9265 (new_line_info_table): Likewise.
9266 (dwarf2out_init): Likewise.
9267 (mem_loc_descriptor): Likewise.
9268 (loc_descriptor): Likewise.
9269 (add_const_value_attribute): Likewise.
9270 (tree_add_const_value_attribute): Likewise.
9271 (comp_dir_string): Likewise.
9272 (dwarf2out_vms_debug_main_pointer): Likewise.
9273 (string_cst_pool_decl): Likewise.
9274 * emit-rtl.c (set_mem_attrs): Likewise.
9275 (get_reg_attrs): Likewise.
9276 (start_sequence): Likewise.
9277 (init_emit): Likewise.
9278 (init_emit_regs): Likewise.
9279 * except.c (init_eh_for_function): Likewise.
9280 (gen_eh_region): Likewise.
9281 (gen_eh_region_catch): Likewise.
9282 (gen_eh_landing_pad): Likewise.
9283 (add_call_site): Likewise.
9284 * function.c (add_frame_space): Likewise.
9285 (insert_temp_slot_address): Likewise.
9286 (assign_stack_temp_for_type): Likewise.
9287 (get_hard_reg_initial_val): Likewise.
9288 (allocate_struct_function): Likewise.
9289 (prepare_function_start): Likewise.
9290 (types_used_by_var_decl_insert): Likewise.
9291 * gengtype.c (variable_size_p): Remove function.
9292 (enum alloc_quantity): Remove enum.
9293 (write_typed_alloc_def): Remove function.
9294 (write_typed_struct_alloc_def): Likewise.
9295 (write_typed_typedef_alloc_def): Likewise.
9296 (write_typed_alloc_defns): Likewise.
9297 (main): Adjust.
9298 * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
9299 (ggc_cleared_alloc_ptr_array_two_args): Likewise.
9300 * ggc.h (ggc_alloc): new function.
9301 (ggc_cleared_alloc): Likewise.
9302 (ggc_vec_alloc): Template on type of vector element, and remove
9303 element size argument.
9304 (ggc_cleared_vec_alloc): Likewise.
9305 * gimple.c (gimple_build_omp_for): Adjust.
9306 (gimple_copy): Likewise.
9307 * ipa-cp.c (get_replacement_map): Likewise.
9308 (find_aggregate_values_for_callers_subset): Likewise.
9309 (known_aggs_to_agg_replacement_list): Likewise.
9310 * ipa-devirt.c (get_odr_type): Likewise.
9311 * ipa-prop.c (ipa_node_duplication_hook): Likewise.
9312 (read_agg_replacement_chain): Likewise.
9313 * loop-iv.c (get_simple_loop_desc): Likewise.
9314 * lto-cgraph.c (input_node_opt_summary): Likewise.
9315 * lto-section-in.c (lto_new_in_decl_state): Likewise.
9316 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
9317 (input_eh_region): Likewise.
9318 (input_eh_lp): Likewise.
9319 (input_cfg): Likewise.
9320 * optabs.c (set_optab_libfunc): Likewise.
9321 (init_tree_optimization_optabs): Likewise.
9322 (set_conv_libfunc): Likewise.
9323 * passes.c (do_per_function_toporder): Likewise.
9324 * rtl.h: Don't use variable_size gty attribute.
9325 * sese.c (if_region_set_false_region): Adjust.
9326 * stringpool.c (gt_pch_save_stringpool): Likewise.
9327 * target-globals.c (save_target_globals): Likewise.
9328 * toplev.c (general_init): Likewise.
9329 * trans-mem.c (record_tm_replacement): Likewise.
9330 (split_bb_make_tm_edge): Likewise.
9331 * tree-cfg.c (move_sese_region_to_fn): Likewise.
9332 * tree-data-ref.h (lambda_vector_new): Likewise.
9333 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
9334 * tree-iterator.c (tsi_link_before): Likewise.
9335 (tsi_link_after): Likewise.
9336 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
9337 * tree-ssa-loop-niter.c (record_estimate): Likewise.
9338 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
9339 * tree-ssa-operands.h: Don't use variable_size gty attribute.
9340 * tree-ssa.c (init_tree_ssa): Adjust.
9341 * tree-ssanames.c (set_range_info): Likewise.
9342 (get_ptr_info): Likewise.
9343 (duplicate_ssa_name_ptr_info): Likewise.
9344 (duplicate_ssa_name_range_info): Likewise.
9345 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
9346 (unpack_ts_fixed_cst_value_fields): Likewise.
9347 * tree.c (build_fixed): Likewise.
9348 (build_real): Likewise.
9349 (build_string): Likewise.
9350 (decl_priority_info): Likewise.
9351 (decl_debug_expr_insert): Likewise.
9352 (decl_value_expr_insert): Likewise.
9353 (decl_debug_args_insert): Likewise.
9354 (type_hash_add): Likewise.
9355 (build_omp_clause): Likewise.
9356 * ubsan.c (decl_for_type_insert): Likewise.
9357 * varasm.c (get_unnamed_section): Likewise.
9358 (get_noswitch_section): Likewise.
9359 (get_section): Likewise.
9360 (get_block_for_section): Likewise.
9361 (create_block_symbol): Likewise.
9362 (build_constant_desc): Likewise.
9363 (create_constant_pool): Likewise.
9364 (force_const_mem): Likewise.
9365 (record_tm_clone_pair): Likewise.
9366 * varpool.c (varpool_create_empty_node): Likewise.
9367
231120e5
TS
93682014-05-17 Trevor Saunders <tsaunders@mozilla.com>
9369
9370 * dwarf2out.c (tree_add_const_value_attribute): Call
9371 ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
9372 * gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
9373 instead of ggc_internal_<x>alloc_stat.
9374 * ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
9375 (ggc_realloc): Likewise.
9376 * ggc-none.c (ggc_internal_alloc): Likewise.
9377 (ggc_internal_cleared_alloc): Likewise.
9378 * ggc-page.c: Likewise.
9379 * ggc.h (ggc_internal_alloc_stat): Likewise.
9380 (ggc_internal_alloc): Remove macro.
9381 (ggc_internal_cleared_alloc_stat): Drop _stat suffix.
9382 (ggc_internal_cleared_alloc): Remove macro.
9383 (GGC_RESIZEVEC): Adjust.
9384 (ggc_resizevar): Remove macro.
9385 (ggc_internal_vec_alloc_stat): Drop _stat suffix.
9386 (ggc_internal_cleared_vec_alloc_stat): Likewise.
9387 (ggc_internal_vec_cleared_alloc): Remove macro.
9388 (ggc_alloc_atomic_stat): Drop _stat suffix.
9389 (ggc_alloc_atomic): Remove macro.
9390 (ggc_alloc_cleared_atomic): Remove macro.
9391 (ggc_alloc_string_stat): Drop _stat suffix.
9392 (ggc_alloc_string): Remove macro.
9393 (ggc_alloc_rtx_def_stat): Adjust.
9394 (ggc_alloc_tree_node_stat): Likewise.
9395 (ggc_alloc_cleared_tree_node_stat): Likewise.
9396 (ggc_alloc_cleared_gimple_statement_stat): Likewise.
9397 (ggc_alloc_cleared_simd_clone_stat): Likewise.
9398 * gimple.c (gimple_build_omp_for): Likewise.
9399 (gimple_copy): Likewise.
9400 * stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
9401 * toplev.c (realloc_for_line_map): Adjust.
9402 * tree-data-ref.h (lambda_vector_new): Likewise.
9403 * tree-phinodes.c (allocate_phi_node): Likewise.
9404 * tree.c (grow_tree_vec_stat): Likewise.
9405 * vec.h (va_gc::reserve): Adjust.
9406
16f8dfdb 94072014-05-17 Ajit Agarwal <ajitkum@xilinx.com>
86498dba 9408
16f8dfdb
UB
9409 * config/microblaze/microblaze.c (break_handler): New Declaration.
9410 (microblaze_break_function_p,microblaze_is_break_handler): New.
9411 (compute_frame_size): Use microblaze_break_function_p.
9412 Add the test of break_handler.
9413 (microblaze_function_prologue) : Add the test of variable
9414 break_handler. Check the fnname by BREAK_HANDLER_NAME.
9415 (microblaze_function_epilogue) : Add the test of break_handler.
9416 (microblaze_globalize_label) : Add the test of break_handler.
9417 Check the name by BREAK_HANDLER_NAME.
86498dba 9418
16f8dfdb 9419 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME): New macro
86498dba 9420
16f8dfdb
UB
9421 * config/microblaze/microblaze.md (*<optab>,<optab>_internal): Add
9422 microblaze_is_break_handler test.
9423 (call_internal1,call_value_intern): Use microblaze_break_function_p.
9424 Use SYMBOL_REF_DECL.
86498dba
AA
9425
9426 * config/microblaze/microblaze-protos.h
16f8dfdb
UB
9427 (microblaze_break_function_p,microblaze_is_break_handler):
9428 New Declaration.
86498dba 9429
16f8dfdb
UB
9430 * doc/extend.texi (MicroBlaze break_handler Functions): Document
9431 new MicroBlaze break_handler functions.
86498dba 9432
71ca3028
UB
94332014-05-17 Uros Bizjak <ubizjak@gmail.com>
9434
9435 * doc/extend.texi (Size of an asm): Move node text according
9436 to its @menu entry position.
9437
87a34442
MG
94382014-05-17 Marc Glisse <marc.glisse@inria.fr>
9439
9440 PR tree-optimization/61140
9441 PR tree-optimization/61150
9442 PR tree-optimization/61197
9443 * tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
9444
6ca74b5c
UB
94452014-05-17 Uros Bizjak <ubizjak@gmail.com>
9446
9447 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
9448
60f82c42
RS
94492014-05-17 Richard Sandiford <r.sandiford@uk.ibm.com>
9450
9451 * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
9452 __SIZEOF_INT128__ is defined.
9453
a1242f17
RS
94542014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
9455
9456 * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
9457 (rs6000_delegitimize_address): Use it.
9458
23b33725
RS
94592014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
9460
9461 * emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
9462 inplace argument. Store the new address in the original MEM when true.
9463 * emit-rtl.c (change_address_1): Likewise.
9464 (adjust_address_1, adjust_automodify_address_1, offset_address):
9465 Update accordingly.
9466 * rtl.h (plus_constant): Add an inplace argument.
9467 * explow.c (plus_constant): Likewise. Try to reuse the original PLUS
9468 when true. Avoid generating (plus X (const_int 0)).
9469 * function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
9470 in-place. Pass true to plus_constant.
9471 (instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.
9472
2f6eed01
DC
94732014-05-16 Dehao Chen <dehao@google.com>
9474
9475 * tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
9476
b200de02
OE
94772014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
9478
9479 PR target/54089
9480 * config/sh/predicates.md (negt_reg_shl31_operand): Match additional
9481 patterns.
9482 * config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.
9483
cf40f973
DC
94842014-05-16 Dehao Chen <dehao@google.com>
9485
6b8ebd00
UB
9486 * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use
9487 optimize_function_for_size_p.
cf40f973
DC
9488 * regs.h (REG_FREQ_FROM_BB): Likewise.
9489
48d8568e
OE
94902014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
9491
9492 PR target/51244
9493 * config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
9494 negt_reg_operand cases.
9495 * config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
9496 predicate.
9497 * config/sh/predicates.md (cbranch_treg_value): Simplify.
9498
d580af0f
OE
94992014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
9500
9501 * config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
9502 target variants.
9503
6c7571a2
DM
95042014-05-16 David Malcolm <dmalcolm@redhat.com>
9505
9506 Revert:
9507 2014-04-29 David Malcolm <dmalcolm@redhat.com>
9508
9509 * tree-cfg.c (dump_function_to_file): Dump the return type of
9510 functions, in a line to itself before the function body, mimicking
9511 the layout of a C function.
9512
b0e66512
DC
95132014-05-16 Dehao Chen <dehao@google.com>
9514
9515 * cfghooks.c (make_forwarder_block): Use direct computation to
9516 get fall-through edge's count and frequency.
9517
6b8ebd00 95182014-05-16 Benno Schulenberg <bensberg@justemail.net>
2236746b
BS
9519
9520 * config/arc/arc.c (arc_init): Fix typo in error message.
9521 * config/i386/i386.c (ix86_expand_builtin): Likewise.
9522 (split_stack_prologue_scratch_regno): Likewise.
9523 * fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
9524 word from error message.
9525
420ab54b
ZZ
95262014-05-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
9527
9528 * ira-costs.c: Fix typo in comment.
9529
8e90f610
DW
95302014-05-16 David Wohlferd <dw@LimeGreenSocks.com>
9531
6b8ebd00 9532 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref
8e90f610 9533
6de88c6a
JH
95342014-05-16 Jan Hubicka <hubicka@ucw.cz>
9535
9536 * varpool.c (dump_varpool_node): Dump write-only flag.
9537 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
9538 write-only flag.
6b8ebd00
UB
9539 * tree-cfg.c (execute_fixup_cfg): Remove statements setting
9540 write-only variables.
9541 * ipa.c (process_references): New function.
9542 (set_readonly_bit): New function.
9543 (set_writeonly_bit): New function.
9544 (clear_addressable_bit): New function.
9545 (ipa_discover_readonly_nonaddressable_var): Mark write only variables;
9546 fix handling of aliases.
9547 * cgraph.h (struct varpool_node): Add writeonly flag.
6de88c6a 9548
f4e075e7
VM
95492014-05-16 Vladimir Makarov <vmakarov@redhat.com>
9550
9551 PR rtl-optimization/60969
9552 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
9553 Calculate costs for this case.
9554
8b628e86
EB
95552014-05-16 Eric Botcazou <ebotcazou@adacore.com>
9556
9557 * fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
9558 <CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
9559
52264dbf
RB
95602014-05-16 Richard Biener <rguenther@suse.de>
9561
9562 PR tree-optimization/61194
9563 * tree-vect-patterns.c (adjust_bool_pattern): Also handle
9564 bool patterns ending in a COND_EXPR.
9565
3d840f7d
JG
95662014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9567
9568 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
9569
88d4fbcf
JG
95702014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9571
9572 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
9573 where we were unable to cost an RTX.
9574
909734be
JG
95752014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9576
9577 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
9578 HIGH, LO_SUM.
9579
fb620c4a
JG
95802014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9581 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
9582
9583 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.
9584
b292109f
JG
95852014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9586 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
9587
9588 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
9589 FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.
9590
a8eecd00
JG
95912014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9592 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
9593
9594 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
9595 operators.
9596
4105fe38
JG
95972014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9598 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
9599
9600 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
9601 DIV/MOD.
9602
96032014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
7cc2145f
JG
9604 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
9605
9606 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
9607 (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.
9608
ba0cfa17
JG
96092014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9610 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
9611
9612 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
9613 rotates and shifts.
9614
b1685e62
JG
96152014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9616 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
9617
9618 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
9619 ZERO_EXTEND and SIGN_EXTEND better.
9620
268c3b47
JG
96212014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9622 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
9623
9624 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
9625 logical operations.
9626
2961177e
JG
96272014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9628 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
9629
9630 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
9631 costs when costing loads and stores to memory.
9632
ba123b0d
JG
96332014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9634 Philip Tomsich <philipp.tomsich@theobroma-systems.com>
9635
9636 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
9637 for SET RTX.
9638
7fc5ef02
JG
96392014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9640
9641 * config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.
9642
4745e701
JG
96432014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9644 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
9645
9646 * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
9647 to...
9648 (aarch64_strip_extend): ...this, don't strip shifts, check RTX is
9649 well formed.
9650 (aarch64_rtx_mult_cost): New.
9651 (aarch64_rtx_costs): Use it, refactor as appropriate.
9652
9dfc162c
JG
96532014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9654 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
9655
9656 * config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
9657 emit instructions, return number of instructions which would
9658 be emitted.
9659 (aarch64_add_constant): Update call to aarch64_build_constant.
9660 (aarch64_output_mi_thunk): Likewise.
6b8ebd00 9661 (aarch64_rtx_costs): Estimate cost of a CONST_INT, cost of
9dfc162c
JG
9662 a CONST_DOUBLE.
9663
0ee859b5
JG
96642014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9665
9666 * config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
9667 (TARGET_RTX_COSTS): Call it.
9668
60bff090
JG
96692014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9670
9671 * config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
9672 (cortexa57_vector_cost): Likewise.
9673 (cortexa57_tunings): Use them.
9674
67747367
JG
96752014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
9676
9677 * config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
9678 (cpu_addrcost_table): Use it.
9679 * config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
9680 (aarch64_address_cost): Rewrite using aarch64_classify_address,
9681 move it.
9682
a764d660
RB
96832014-05-16 Richard Biener <rguenther@suse.de>
9684
9685 * tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
9686 (set_ssa_val_to): Handle unexpected sets to VN_TOP.
9687 (visit_phi): Ignore edges marked as not executable.
9688 (class cond_dom_walker): New.
9689 (cond_dom_walker::before_dom_children): Value-number
9690 control statements and mark successor edges as not
9691 executable if possible.
9692 (run_scc_vn): First walk all control statements in
9693 dominator order, marking edges as not executable.
9694 * tree-inline.c (copy_edges_for_bb): Be not confused
9695 about random edge flags.
9696
a27c3860
RB
96972014-05-16 Richard Biener <rguenther@suse.de>
9698
9699 * tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
9700
d8c55b91
PB
97012014-05-15 Peter Bergner <bergner@vnet.ibm.com>
9702
9703 PR target/61193
9704 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
9705 (__TM_simple_begin): Use it.
9706 (__TM_begin): Likewise.
9707
8a2256dd
MJ
97082014-05-15 Martin Jambor <mjambor@suse.cz>
9709
9710 PR ipa/61085
9711 * ipa-prop.c (update_indirect_edges_after_inlining): Check
9712 type_preserved flag when the indirect edge is polymorphic.
9713
9d2681a3
MJ
97142014-05-15 Martin Jambor <mjambor@suse.cz>
9715
9716 PR tree-optimization/61090
9717 * tree-sra.c (sra_modify_expr): Pass the current gsi to
9718 build_ref_for_model.
9719
927450d0
KT
97202014-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9721
9722 * config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
9723 enum name for PARAM_SCHED_PRESSURE_ALGORITHM.
9724
ceed6e67
JJ
97252014-05-15 Jakub Jelinek <jakub@redhat.com>
9726
9727 PR tree-optimization/61158
9728 * fold-const.c (fold_binary_loc): If X is zero-extended and
9729 shiftc >= prec, make sure zerobits is all ones instead of
9730 invoking undefined behavior.
9731
a2e6c10c
ZC
97322014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
9733
9734 * regcprop.h: New file.
9735 * regcprop.c (skip_debug_insn_p): New decl.
9736 (replace_oldest_value_reg): Check skip_debug_insn_p.
ceed6e67
JJ
9737 (copyprop_hardreg_forward_bb_without_debug_insn): New function.
9738 * shrink-wrap.c: Include regcprop.h.
9739 (prepare_shrink_wrap): Call
9740 copyprop_hardreg_forward_bb_without_debug_insn.
a2e6c10c 9741
e974b93b
ZC
97422014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
9743
9744 * shrink-wrap.h: Update comment.
9745 * shrink-wrap.c: Update comment.
9746 (next_block_for_reg): Rename to live_edge_for_reg.
9747 (live_edge_for_reg): Allow live_edge->dest has two predecessors.
9748 (move_insn_for_shrink_wrap): Split live_edge.
9749 (prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.
9750
88fe5e91
EB
97512014-05-14 Eric Botcazou <ebotcazou@adacore.com>
9752
9753 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
9754 Delete.
9755 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
9756 * config/sparc/sparc.md (fptype_ut699): New attribute.
9757 (in_branch_delay): Return false if -mfix-ut699 is specified and
9758 fptype_ut699 is set to single.
9759 (truncdfsf2): Add fptype_ut699 attribute.
9760 (fix_truncdfsi2): Likewise.
9761 (floatsisf2): Change fptype attribute.
9762 (fix_truncsfsi2): Likewise.
9763 (negtf2_notv9): Delete.
9764 (negtf2_v9): Likewise.
9765 (negtf2_hq): New instruction.
9766 (negtf2): New instruction and splitter.
9767 (negdf2_notv9): Rewrite.
9768 (abstf2_notv9): Delete.
9769 (abstf2_hq_v9): Likewise.
9770 (abstf2_v9): Likewise.
9771 (abstf2_hq): New instruction.
9772 (abstf2): New instruction and splitter.
9773 (absdf2_notv9): Rewrite.
9774
bc91b0e0
CC
97752014-05-14 Cary Coutant <ccoutant@google.com>
9776
6b8ebd00 9777 PR debug/61013
bc91b0e0
CC
9778 * opts.c (common_handle_option): Don't special-case "-g".
9779 (set_debug_level): Default to at least level 2 with "-g".
9780
5f35dde5
DD
97812014-05-14 DJ Delorie <dj@redhat.com>
9782
9783 * config/msp430/msp430.c (msp430_builtin): Add
9784 MSP430_BUILTIN_DELAY_CYCLES.
9785 (msp430_init_builtins): Register void __delay_cycles(long long).
9786 (msp430_builtin_decl): Add it.
9787 (cg_magic_constant): New.
9788 (msp430_expand_delay_cycles): New.
9789 (msp430_expand_builtin): Call it.
9790 (msp430_print_operand_raw): Change integer printing from "int" to
9791 HOST_WIDE_INT.
9792 * config/msp430/msp430.md (define_constants): Add delay_cycles tags.
9793 (delay_cycles_start): New.
9794 (delay_cycles_end): New.
9795 (delay_cycles_32): New.
9796 (delay_cycles_32x): New.
9797 (delay_cycles_16): New.
9798 (delay_cycles_16x): New.
9799 (delay_cycles_2): New.
9800 (delay_cycles_1): New.
9801 * doc/extend.texi: Document __delay_cycles().
9802
5d40b20f
SL
98032014-05-14 Sandra Loosemore <sandra@codesourcery.com>
9804
9805 * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
9806 length attribute computation.
9807
25109109
RS
98082014-05-14 Richard Sandiford <rdsandiford@googlemail.com>
9809
9810 PR debug/61188
9811 * print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
9812
7e7e4032
RS
98132014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
9814
9815 PR target/61084
9816 * config/sparc/sparc.md: Fix types of low and high in DI constant
9817 splitter. Use gen_int_mode in some other splitters.
9818
70d6d5c1
MJ
98192014-05-14 Martin Jambor <mjambor@suse.cz>
9820
9821 PR ipa/60897
9822 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
9823
23b02de3
JN
98242014-05-14 James Norris <jnorris@codesourcery.com>
9825
9826 * omp-low.c (expand_parallel_call): Remove shadow variable.
9827 (expand_omp_taskreg): Likewise.
9828
9cdea277
IT
98292014-05-14 Ilya Tocar <ilya.tocar@intel.com>
9830
9831 * common/config/i386/i386-common.c
9832 (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
9833 (OPTION_MASK_ISA_XSAVES_SET): Ditto.
9834 (OPTION_MASK_ISA_XSAVEC_SET): Ditto.
9835 (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
9836 (OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
9837 (OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
6b8ebd00 9838 (ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves, OPT_mclflushopt.
9cdea277
IT
9839 * config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
9840 xsavecintrin.h, xsavesintrin.h.
9841 (x86_64-*-*): Ditto.
9842 * config/i386/clflushoptintrin.h: New.
9843 * config/i386/xsavecintrin.h: Ditto.
9844 * config/i386/xsavesintrin.h: Ditto.
9845 * config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
9846 (bit_XSAVES): Ditto.
9847 (bit_XSAVES): Ditto.
9848 * config/i386/driver-i386.c (host_detect_local_cpu): Handle
9849 -mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
9850 -mno-clflushopt.
9851 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
9852 OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
9853 OPTION_MASK_ISA_XSAVES.
9854 * config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
9855 -mxsavec, -mxsaves.
9856 (PTA_CLFLUSHOPT) Define.
9857 (PTA_XSAVEC): Ditto.
9858 (PTA_XSAVES): Ditto.
9859 (ix86_option_override_internal): Handle new options.
9860 (ix86_valid_target_attribute_inner_p): Ditto.
9861 (ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
9862 IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
9863 IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
6b8ebd00
UB
9864 (bdesc_special_args): Add __builtin_ia32_xsaves,
9865 __builtin_ia32_xrstors, __builtin_ia32_xsavec, __builtin_ia32_xsaves64,
9866 __builtin_ia32_xrstors64, __builtin_ia32_xsavec64.
9cdea277
IT
9867 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
9868 (ix86_expand_builtin): Handle new builtins.
9869 * config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
9870 (TARGET_CLFLUSHOPT_P): Ditto.
9871 (TARGET_XSAVEC): Ditto.
9872 (TARGET_XSAVEC_P): Ditto.
9873 (TARGET_XSAVES): Ditto.
9874 (TARGET_XSAVES_P): Ditto.
9875 * config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
9876 (ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
9877 (attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
9878 (ANY_XRSTOR): New.
9879 (ANY_XRSTOR64): Ditto.
9880 (xrstor): Ditto.
9881 (xrstor): Change into <xrstor>.
9882 (xrstor_rex64): Change into <xrstor>_rex64.
9883 (xrstor64): Change into <xrstor>64
9884 (clflushopt): New.
9885 * config/i386/i386.opt (mclflushopt): New.
9886 (mxsavec): Ditto.
9887 (mxsaves): Ditto.
9888 * config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
9889 xsavecintrin.h.
9890 * doc/invoke.texi: Document new options.
9891
92e265ac
AB
98922014-05-14 Andrey Belevantsev <abel@ispras.ru>
9893
9894 PR rtl-optimization/60866
9895 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
9896 Default it to -1. Pass it down to init_simplejump_data.
9897 (init_simplejump_data): New parameter old_seqno. Pass it down
9898 to get_seqno_for_a_jump.
9899 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
9900 initializing new jump seqno as a last resort. Add comment.
9901 (sel_redirect_edge_and_branch): Save old seqno of the conditional
9902 jump and pass it down to sel_init_new_insn.
9903 (sel_redirect_edge_and_branch_force): Likewise.
9904
fa96aa45
GJL
99052014-05-14 Georg-Johann Lay <avr@gjlay.de>
9906
9907 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
9908 shifted values to avoid build warning.
9909
8a829274
EB
99102014-05-14 Eric Botcazou <ebotcazou@adacore.com>
9911
9912 * cfgcleanup.c (try_forward_edges): Use location_t for locations.
9913 * cfgrtl.c (rtl_merge_blocks): Fix comment.
9914 (cfg_layout_merge_blocks): Likewise.
9915 * except.c (emit_to_new_bb_before): Remove prev_bb local variable.
9916
11290308
AB
99172014-05-14 Andrey Belevantsev <abel@ispras.ru>
9918
9919 PR rtl-optimization/60901
9920 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
9921 bb predecessor belongs to the same scheduling region. Adjust comment.
9922
f4853e92
PB
99232014-05-13 Peter Bergner <bergner@vnet.ibm.com>
9924
9925 * doc/sourcebuild.texi: (dfp_hw): Document.
9926 (p8vector_hw): Likewise.
9927 (powerpc_eabi_ok): Likewise.
9928 (powerpc_elfv2): Likewise.
9929 (powerpc_htm_ok): Likewise.
9930 (ppc_recip_hw): Likewise.
9931 (vsx_hw): Likewise.
9932
bd5c3baa
CC
99332014-05-13 Cary Coutant <ccoutant@google.com>
9934
9935 * opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
9936
9aa54cc9
DM
99372014-05-13 David Malcolm <dmalcolm@redhat.com>
9938
9939 * gengtype-parse.c (require3): Eliminate in favor of...
9940 (require4): New.
9941 (require_template_declaration): Update to support optional single *
9942 on a type.
9943
9944 * gengtype.c (get_ultimate_base_class): Add a non-const overload.
9945 (create_user_defined_type): Handle a single level of explicit
9946 pointerness within template arguments.
9947 (struct write_types_data): Add field "kind".
9948 (filter_type_name): Handle "*" character.
9949 (write_user_func_for_structure_ptr): Require a write_types_data
9950 rather than just a prefix string, so that we can look up the kind
9951 of the wtd and use it as an index into wrote_user_func_for_ptr,
9952 ensuring that such functions are written at most once. Support
6b8ebd00 9953 subclasses by invoking the marking function of the ultimate base class.
9aa54cc9
DM
9954 (write_user_func_for_structure_body): Require a write_types_data
9955 rather than just a prefix string, so that we can pass this to
9956 write_user_func_for_structure_ptr.
9957 (write_func_for_structure): Likewise.
9958 (ggc_wtd): Add initializer of new "kind" field.
9959 (pch_wtd): Likewise.
9960
9961 * gengtype.h (enum write_types_kinds): New.
9962 (struct type): Add field wrote_user_func_for_ptr to the "s"
9963 union member.
9964
5c0f009c
RS
99652014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
9966
9967 * fold-const.c (optimize_bit_field_compare): Use wi:: operations
9968 instead of const_binop.
9969 (fold_binary_loc): Likewise.
9970
460d1e22
RS
99712014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
9972
9973 * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
9974 calculation to match get_ref_base_and_extent.
9975
1e1f96b5
CM
99762014-05-13 Catherine Moore <clm@codesourcery.com>
9977 Sandra Loosemore <sandra@codesourcery.com>
9978
9979 * configure.ac: Fix assembly for explicit JALR relocation check.
9980 * configure: Regenerate.
9981
411f86ad
KT
99822014-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9983
9984 * config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
9985 (arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
9986 Remove associated type declarations and initialisations.
9987 (arm_expand_neon_builtin): Likewise.
9988 (neon_emit_pair_result_insn): Delete.
9989 * config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
9990 * config/arm/neon.md (neon_vtrn<mode>): Delete.
9991 (neon_vzip<mode>): Likewise.
9992 (neon_vuzp<mode>): Likewise.
9993
6b77934e
RB
99942014-05-13 Richard Biener <rguenther@suse.de>
9995
9996 PR ipa/60973
9997 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
9998 it needs revisiting whether the call still may be tail-called.
9999
da3cd113
RS
100002014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
10001
10002 * rtl.def (SYMBOL_REF): Remove middle "0" field.
10003 * rtl.h (block_symbol): Reduce number of fields to 2.
10004 (rtx_def): Add u2.symbol_ref_flags.
10005 (SYMBOL_REF_FLAGS): Use it.
10006 (SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
10007 (SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
10008 * gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
10009 Lower index of SYMBOL_REF_DATA.
10010 * print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
10011 Print SYMBOL_REF_FLAGS at the same time.
10012 * genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
10013
fcc74520
RS
100142014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
10015
10016 * rtl.def (VAR_LOCATION): Remove "i" field.
10017 * rtl.h (rtx_def): Add u2.var_location_status.
10018 (PAT_VAR_LOCATION_STATUS): Use it.
10019 (gen_rtx_VAR_LOCATION): Declare.
10020 * gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
10021 * emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
10022 * var-tracking.c (emit_note_insn_var_location): Remove casts.
10023
feb09dd9
RS
100242014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
10025
10026 * rtl.def (scratch): Fix outdated comment and remove "0" field.
10027 * gengtype.c (adjust_field_rtx_def): Update accordingly.
10028
ed8921dc
RS
100292014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
10030
10031 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
10032 (BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
10033 * rtl.h (rtx_def): Add insn_uid to u2 field.
10034 (RTX_FLAG_CHECK8): Delete in favor of...
10035 (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
10036 (INSN_DELETED_P): Update accordingly.
10037 (INSN_UID): Use u2.insn_uid.
10038 (INSN_CHAIN_CODE_P): Define.
10039 (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
10040 (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
10041 (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
10042 (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
10043 (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
10044 indices accordingly.
10045 * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
10046 Update indices for insn-chain rtxes.
10047 * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
10048 (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
10049 * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
10050 * caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
10051 * combine.c (try_combine): Likewise.
10052 * ira.c (setup_prohibited_mode_move_regs): Likewise.
10053
fccc5515
RS
100542014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
10055
10056 * rtl.def (REG): Remove middle field.
10057 * rtl.h (rtx_def): Add orignal_regno to u2.
10058 (ORIGINAL_REGNO): Use it instead of field 1.
10059 (REG_ATTRS): Lower field index accordingly.
10060 * gengtype.c (adjust_field_rtx_def): Remove handling of
10061 ORIGINAL_REGNO. Move REG_ATTRS index down.
10062 * print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
10063 code that prints the REGNO.
10064
925c1bae
RS
100652014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
10066
10067 * print-rtl.c (print_rtx): Guard whole '0' block with ifndef
10068 GENERATOR_FILE.
10069
13b0c5ac
RS
100702014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
10071
10072 * rtl.h (rtx_def): Mark u2 as GTY ((skip)).
10073
be9a0da5
BC
100742014-05-13 Bin Cheng <bin.cheng@arm.com>
10075
10076 * tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
10077 (alloc_iv): Lower base expressions containing ADDR_EXPR.
10078
73d9ac6a
IB
100792014-05-13 Ian Bolton <ian.bolton@arm.com>
10080
10081 * config/aarch64/aarch64-protos.h
10082 (aarch64_hard_regno_caller_save_mode): New prototype.
10083 * config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
10084 New function.
10085 * config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
10086
06b90602
CB
100872014-05-13 Christian Bruel <christian.bruel@st.com>
10088
10089 * target.def (mode_switching): New hook vector.
10090 (mode_emit, mode_needed, mode_after, mode_entry): New hooks.
10091 (mode_exit, modepriority_to_mode): Likewise.
10092 * mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
10093 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
10094 * target.h: Include tm.h and hard-reg-set.h.
10095 * doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
10096 (MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
10097 * doc/tm.texi Regenerate.
10098 * config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
10099 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
10100 * config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
10101 (sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
10102 * config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
10103 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
10104 * config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
10105 (ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
6b8ebd00
UB
10106 * config/i386/i386.c (ix86_mode_needed, ix86_mode_after,
10107 (ix86_mode_exit, ix86_mode_entry, ix86_mode_priority)
10108 (ix86_emit_mode_set): Hookify.
06b90602 10109 * config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
6b8ebd00 10110 Delete.
06b90602 10111 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
10112 * config/epiphany/epiphany-protos.h (epiphany_mode_needed)
10113 (emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
10114 (epiphany_mode_priority_to_mode): Remove declaration.
10115 * config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
10116 (epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
10117 (epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
10118 Likewise.
6b8ebd00 10119 (epiphany_mode_priority_to_mode): Change priority type. Hookify.
06b90602
CB
10120 (epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
10121 (epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
10122
455464ab
JJ
101232014-05-13 Jakub Jelinek <jakub@redhat.com>
10124
10125 PR target/61060
10126 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
10127 is const0_rtx, return immediately. Don't test count == 0 when
10128 it is always true.
10129
f30e25a3
ZC
101302014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
10131
10132 * Makefile.in: add shrink-wrap.o.
10133 * config/i386/i386.c: include "shrink-wrap.h"
10134 * function.c: Likewise.
10135 (requires_stack_frame_p, next_block_for_reg,
10136 move_insn_for_shrink_wrap, prepare_shrink_wrap,
10137 dup_block_and_redirect): Move to shrink-wrap.c
10138 (thread_prologue_and_epilogue_insns): Extract three code segments
10139 as functions in shrink-wrap.c
10140 * function.h: Move #ifdef HAVE_simple_return ... #endif block to
10141 shrink-wrap.h
10142 * shrink-wrap.c: New file.
10143 * shrink-wrap.h: New file.
10144
f95c6a78
DW
101452014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
10146
10147 * doc/extend.texi: Reflect current numbers of pragmas. Remove
10148 reference to Solaris.
10149
77a1da2c
MS
101502014-05-12 Mike Stump <mikestump@comcast.net>
10151
10152 PR other/31778
10153 * genattrtab.c (filename): Add.
10154 (convert_set_attr_alternative): Improve error message.
10155 (check_defs): Restore read_md_filename for error messages.
10156 (gen_insn): Save filename.
10157
dff8943f
DP
101582014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
10159
10160 * doc/invoke.texi: Document new switches -Wno-shadow-ivar,
10161 -fno-local-ivars and -fivar-visibility.
10162 * c-family/c.opt: Make -Wshadow also implicitly enable
10163 -Wshadow-ivar.
10164
6b8ebd00 101652014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3842015e
DW
10166
10167 * doc/tm.texi: Remove reference to deleted macro.
10168 * doc/tm.texi.in: Likewise.
10169
079f1420
SKS
101702014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10171
10172 PR target/60991
10173 * config/avr/avr.c (avr_out_store_psi): Use correct constant
10174 to restore Y.
10175
999db125
GJL
101762014-05-12 Georg-Johann Lay <avr@gjlay.de>
10177
a5024e01 10178 PR libgcc/61152
999db125
GJL
10179 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
10180 * config/arm/aout.h (License): Same.
10181 * config/arm/bpabi.h (License): Same.
10182 * config/arm/elf.h (License): Same.
10183 * config/arm/linux-elf.h (License): Same.
10184 * config/arm/linux-gas.h (License): Same.
10185 * config/arm/netbsd-elf.h (License): Same.
10186 * config/arm/uclinux-eabi.h (License): Same.
10187 * config/arm/uclinux-elf.h (License): Same.
10188 * config/arm/vxworks.h (License): Same.
10189
dd2fc525
JJ
101902014-05-11 Jakub Jelinek <jakub@redhat.com>
10191
10192 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
10193 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
10194 number of operands to 3.
10195 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
10196 * tree-nested.c (convert_nonlocal_omp_clauses,
10197 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
10198 * gimplify.c (gimplify_scan_omp_clauses): Handle
10199 OMP_CLAUSE_LINEAR_STMT.
10200 * omp-low.c (lower_rec_input_clauses): Fix typo.
10201 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
10202 cast between Fortran boolean_type_node and C _Bool if
10203 needed.
10204
7588d8aa
RS
102052014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
10206
10207 PR tree-optimization/61136
10208 * wide-int.h (multiple_of_p): Define a version that doesn't return
10209 the quotient.
10210 * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
10211 integer_zerop/const_binop pair.
10212 (multiple_of_p): Likewise, converting both operands to widest_int
10213 precision.
10214
e7eee636
TJ
102152014-05-09 Teresa Johnson <tejohnson@google.com>
10216
10217 * cgraphunit.c (analyze_functions): Use correct dump file.
10218
6545746e
FW
102192014-05-09 Florian Weimer <fweimer@redhat.com>
10220
10221 * cfgexpand.c (stack_protect_decl_p): New function, extracted from
10222 expand_used_vars.
10223 (stack_protect_return_slot_p): New function.
10224 (expand_used_vars): Call stack_protect_decl_p and
10225 stack_protect_return_slot_p for -fstack-protector-strong.
10226
2556511e
DW
102272014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
10228 Andrew Haley <aph@redhat.com>
10229 Richard Sandiford <rdsandiford@googlemail.com>
10230
10231 * doc/extend.texi: Rewrite inline asm page / re-org asm-related
10232 pages.
10233
971ed35d 102342014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
b8d29c66
KZ
10235
10236 PR middle-end/61111
10237 * fold-const.c (fold_binary_loc): Changed width of mask.
10238
c204f1b5
GJL
102392014-05-09 Georg-Johann Lay <avr@gjlay.de>
10240
10241 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
10242 unsigned int initializers for regno_in, regno_out.
10243
b8469805
GJL
102442014-05-09 Georg-Johann Lay <avr@gjlay.de>
10245
10246 PR target/61055
10247 * config/avr/avr.md (cc): Add new attribute set_vzn.
10248 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
10249 Set cc insn attribute to set_vzn instead of set_zn for alternatives
10250 with INC, DEC or NEG.
10251 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
10252 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
10253 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
10254
9db25c6a
RR
102552014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10256
10257 Revert:
10258 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10259
10260 * wide-int.cc (UTItype): Define.
10261 (UDWtype): Define for appropriate W_TYPE_SIZE.
10262
ee3958cf
RB
102632014-05-09 Richard Biener <rguenther@suse.de>
10264
10265 * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
10266 * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
10267 (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
10268 (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
10269 ssa_propagate): Adjust.
10270
0600049c
JL
102712014-05-08 Jeff Law <law@redhat.com>
10272
10273 PR tree-optimization/61009
10274 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
10275 tri-state rather than a boolean. When a block is too big to
10276 thread through, inform caller via negative return value.
10277 (thread_across_edge): If a block was too big for normal threading,
10278 then it's too big for a joiner too, so remove temporary equivalences
10279 and return immediately.
10280
a82122df
MK
102812014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
10282 Matthias Klose <doko@ubuntu.com>
10283
10284 PR driver/61106
10285 * optc-gen.awk: Fix option handling for -Wunused-parameter.
10286
30e494f1
UB
102872014-05-08 Uros Bizjak <ubizjak@gmail.com>
10288
10289 PR target/59952
10290 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
10291
b6db8af6
UB
102922014-05-08 Uros Bizjak <ubizjak@gmail.com>
10293
10294 PR target/61092
10295 * config/alpha/alpha.c: Include gimple-iterator.h.
10296 (alpha_gimple_fold_builtin): New function. Move
10297 ALPHA_BUILTIN_UMULH folding from ...
10298 (alpha_fold_builtin): ... here.
10299 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
10300
272325bd
WM
103012014-05-08 Wei Mi <wmi@google.com>
10302
10303 PR target/58066
b6db8af6
UB
10304 * config/i386/i386.c (ix86_compute_frame_layout): Update
10305 preferred_stack_boundary for call, expanded from tls descriptor.
10306 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
10307 to depend on SP register.
272325bd
WM
10308 (*tls_local_dynamic_base_32_gnu): Ditto.
10309 (*tls_local_dynamic_32_once): Ditto.
10310 (tls_global_dynamic_64_<mode>): Set
10311 ix86_tls_descriptor_calls_expanded_in_cfun.
10312 (tls_local_dynamic_base_64_<mode>): Ditto.
10313 (tls_global_dynamic_32): Set
10314 ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
10315 to depend on SP register.
10316 (tls_local_dynamic_base_32): Ditto.
10317
e79cb1a3
RR
103182014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10319
10320 * config/arm/arm_neon.h: Update comment.
10321 * config/arm/neon-docgen.ml: Delete.
10322 * config/arm/neon-gen.ml: Delete.
10323 * doc/arm-neon-intrinsics.texi: Update comment.
10324
0d0b79a6
RR
103252014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10326
10327 * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
10328 and v4sf versions.
10329 (vand, vorr, veor, vorn, vbic): Remove.
10330 * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
10331 iterator.
10332 (neon_vsub_unspec): Likewise.
10333 (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
10334
add0c111
RR
103352014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10336
10337 * config/arm/arm_neon.h (vadd_s8): GNU C implementation
10338 (vadd_s16): Likewise.
10339 (vadd_s32): Likewise.
10340 (vadd_f32): Likewise.
10341 (vadd_u8): Likewise.
10342 (vadd_u16): Likewise.
10343 (vadd_u32): Likewise.
10344 (vadd_s64): Likewise.
10345 (vadd_u64): Likewise.
10346 (vaddq_s8): Likewise.
10347 (vaddq_s16): Likewise.
10348 (vaddq_s32): Likewise.
10349 (vaddq_s64): Likewise.
10350 (vaddq_f32): Likewise.
10351 (vaddq_u8): Likewise.
10352 (vaddq_u16): Likewise.
10353 (vaddq_u32): Likewise.
10354 (vaddq_u64): Likewise.
10355 (vmul_s8): Likewise.
10356 (vmul_s16): Likewise.
10357 (vmul_s32): Likewise.
10358 (vmul_f32): Likewise.
10359 (vmul_u8): Likewise.
10360 (vmul_u16): Likewise.
10361 (vmul_u32): Likewise.
10362 (vmul_p8): Likewise.
10363 (vmulq_s8): Likewise.
10364 (vmulq_s16): Likewise.
10365 (vmulq_s32): Likewise.
10366 (vmulq_f32): Likewise.
10367 (vmulq_u8): Likewise.
10368 (vmulq_u16): Likewise.
10369 (vmulq_u32): Likewise.
10370 (vsub_s8): Likewise.
10371 (vsub_s16): Likewise.
10372 (vsub_s32): Likewise.
10373 (vsub_f32): Likewise.
10374 (vsub_u8): Likewise.
10375 (vsub_u16): Likewise.
10376 (vsub_u32): Likewise.
10377 (vsub_s64): Likewise.
10378 (vsub_u64): Likewise.
10379 (vsubq_s8): Likewise.
10380 (vsubq_s16): Likewise.
10381 (vsubq_s32): Likewise.
10382 (vsubq_s64): Likewise.
10383 (vsubq_f32): Likewise.
10384 (vsubq_u8): Likewise.
10385 (vsubq_u16): Likewise.
10386 (vsubq_u32): Likewise.
10387 (vsubq_u64): Likewise.
10388 (vand_s8): Likewise.
10389 (vand_s16): Likewise.
10390 (vand_s32): Likewise.
10391 (vand_u8): Likewise.
10392 (vand_u16): Likewise.
10393 (vand_u32): Likewise.
10394 (vand_s64): Likewise.
10395 (vand_u64): Likewise.
10396 (vandq_s8): Likewise.
10397 (vandq_s16): Likewise.
10398 (vandq_s32): Likewise.
10399 (vandq_s64): Likewise.
10400 (vandq_u8): Likewise.
10401 (vandq_u16): Likewise.
10402 (vandq_u32): Likewise.
10403 (vandq_u64): Likewise.
10404 (vorr_s8): Likewise.
10405 (vorr_s16): Likewise.
10406 (vorr_s32): Likewise.
10407 (vorr_u8): Likewise.
10408 (vorr_u16): Likewise.
10409 (vorr_u32): Likewise.
10410 (vorr_s64): Likewise.
10411 (vorr_u64): Likewise.
10412 (vorrq_s8): Likewise.
10413 (vorrq_s16): Likewise.
10414 (vorrq_s32): Likewise.
10415 (vorrq_s64): Likewise.
10416 (vorrq_u8): Likewise.
10417 (vorrq_u16): Likewise.
10418 (vorrq_u32): Likewise.
10419 (vorrq_u64): Likewise.
10420 (veor_s8): Likewise.
10421 (veor_s16): Likewise.
10422 (veor_s32): Likewise.
10423 (veor_u8): Likewise.
10424 (veor_u16): Likewise.
10425 (veor_u32): Likewise.
10426 (veor_s64): Likewise.
10427 (veor_u64): Likewise.
10428 (veorq_s8): Likewise.
10429 (veorq_s16): Likewise.
10430 (veorq_s32): Likewise.
10431 (veorq_s64): Likewise.
10432 (veorq_u8): Likewise.
10433 (veorq_u16): Likewise.
10434 (veorq_u32): Likewise.
10435 (veorq_u64): Likewise.
10436 (vbic_s8): Likewise.
10437 (vbic_s16): Likewise.
10438 (vbic_s32): Likewise.
10439 (vbic_u8): Likewise.
10440 (vbic_u16): Likewise.
10441 (vbic_u32): Likewise.
10442 (vbic_s64): Likewise.
10443 (vbic_u64): Likewise.
10444 (vbicq_s8): Likewise.
10445 (vbicq_s16): Likewise.
10446 (vbicq_s32): Likewise.
10447 (vbicq_s64): Likewise.
10448 (vbicq_u8): Likewise.
10449 (vbicq_u16): Likewise.
10450 (vbicq_u32): Likewise.
10451 (vbicq_u64): Likewise.
10452 (vorn_s8): Likewise.
10453 (vorn_s16): Likewise.
10454 (vorn_s32): Likewise.
10455 (vorn_u8): Likewise.
10456 (vorn_u16): Likewise.
10457 (vorn_u32): Likewise.
10458 (vorn_s64): Likewise.
10459 (vorn_u64): Likewise.
10460 (vornq_s8): Likewise.
10461 (vornq_s16): Likewise.
10462 (vornq_s32): Likewise.
10463 (vornq_s64): Likewise.
10464 (vornq_u8): Likewise.
10465 (vornq_u16): Likewise.
10466 (vornq_u32): Likewise.
10467 (vornq_u64): Likewise.
10468
ca40fb28
RR
104692014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10470
10471 * wide-int.cc (UTItype): Define.
b6db8af6 10472 (UDWtype): Define for appropriate W_TYPE_SIZE.
ca40fb28 10473
421bf780
MG
104742014-05-08 Marc Glisse <marc.glisse@inria.fr>
10475
10476 PR tree-optimization/59100
10477 * tree-ssa-phiopt.c: Include tree-inline.h.
10478 (neutral_element_p, absorbing_element_p): New functions.
10479 (value_replacement): Handle conditional binary operations with a
10480 neutral or absorbing element.
10481
a5eaec42
RB
104822014-05-08 Richard Biener <rguenther@suse.de>
10483
10484 * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
10485 folding the expression.
10486 (valueize_expr): Remove.
10487 (visit_reference_op_load): Do not valueize the result of
10488 vn_get_expr_for.
10489 (simplify_binary_expression): Likewise.
10490 (simplify_unary_expression): Likewise.
10491
a96c6a62
RB
104922014-05-08 Richard Biener <rguenther@suse.de>
10493
10494 * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
10495 looking at TYPE_ARG_TYPES.
10496
fb42e303
RB
104972014-05-08 Richard Biener <rguenther@suse.de>
10498
10499 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
10500 pointer propagation special-case.
10501
d1f1a283
BC
105022014-05-08 Bin Cheng <bin.cheng@arm.com>
10503
10504 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
10505 core part of address expressions.
10506
42aea2d8
AM
105072014-05-08 Alan Modra <amodra@gmail.com>
10508
10509 PR target/60737
10510 * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
10511 loads and stores when -mno-strict-align at any alignment.
10512 (expand_block_clear): Similarly. Also correct calculation of
10513 instruction count.
10514
10e08855
TP
105152014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
10516
10517 PR middle-end/39246
10518 * tree-complex.c (expand_complex_move): Keep line info when expanding
10519 complex move.
10520 * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
10521 of complex expression. Use new argument to display correct location
10522 for values coming from phi statement.
10523 (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
10524 (warn_uninitialized_phi): Pass location of phi argument to
10525 warn_uninit.
10526 * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
10527 COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
10528
d839f53b
SB
105292014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
10530
10531 * config/rs6000/predicates.md (indexed_address_mem): New.
10532 * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
10533 load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
10534 fpstore_ux, fpstore_u.
10535 (sign_extend, indexed, update): New.
10536 (cell_micro): Adjust.
10537 (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
10538 *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
10539 *movsi_internal1, *movsi_internal1_single, *movhi_internal,
10540 *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
10541 *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
10542 *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
10543 *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
10544 *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
10545 *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
10546 *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
10547 *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
10548 *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
10549 *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
10550 *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
10551 *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
10552
10553 * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
10554 * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
10555 *vsx_extract_<mode>_store): Adjust.
10556 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
10557 is_cracked_insn, insn_must_be_first_in_group,
10558 insn_must_be_last_in_group): Adjust.
10559
10560 * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
10561 Adjust.
10562 * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
10563 ppc440-fpstore): Adjust.
10564 * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
10565 ppc476-fpstore): Adjust.
10566 * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
10567 ppc601-fpstore): Adjust.
10568 * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
10569 Adjust.
10570 * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
10571 Adjust.
10572 * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
10573 ppc7450-fpstore): Adjust.
10574 * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
10575 * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
10576 * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
10577 Adjust.
10578 * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
10579 cell-fpload, cell-fpload-update, cell-store, cell-store-update,
10580 cell-fpstore, cell-fpstore-update): Adjust.
10581 * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
10582 ppce300c3_store, ppce300c3_fpstore): Adjust.
10583 * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
10584 e500mc_fpstore): Adjust.
10585 * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
10586 e500mc64_store, e500mc64_fpstore): Adjust.
10587 * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
10588 e5500_fpstore): Adjust.
10589 * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
10590 e6500_fpstore): Adjust.
10591 * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
10592 Adjust.
10593 * config/rs6000/power4.md (power4-load, power4-load-ext,
10594 power4-load-ext-update, power4-load-ext-update-indexed,
10595 power4-load-update-indexed, power4-load-update, power4-fpload,
10596 power4-fpload-update, power4-store, power4-store-update,
10597 power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
10598 Adjust.
10599 * config/rs6000/power5.md (power5-load, power5-load-ext,
10600 power5-load-ext-update, power5-load-ext-update-indexed,
10601 power5-load-update-indexed, power5-load-update, power5-fpload,
10602 power5-fpload-update, power5-store, power5-store-update,
10603 power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
10604 Adjust.
10605 * config/rs6000/power6.md (power6-load, power6-load-ext,
10606 power6-load-update, power6-load-update-indexed,
10607 power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
10608 power6-fpload-update, power6-store, power6-store-update,
10609 power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
10610 Adjust.
10611 * config/rs6000/power7.md (power7-load, power7-load-ext,
10612 power7-load-update, power7-load-update-indexed,
10613 power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
10614 power7-fpload-update, power7-store, power7-store-update,
10615 power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
10616 Adjust.
10617 * config/rs6000/power8.md (power8-load, power8-load-update,
10618 power8-load-ext, power8-load-ext-update, power8-fpload,
10619 power8-fpload-update, power8-store, power8-store-update-indexed,
10620 power8-fpstore, power8-fpstore-update): Adjust.
10621 * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
10622 Adjust.
10623 * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
10624 titan_lsu_store, titan_lsu_fpstore): Adjust.
10625 * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
10626
36dc9ae8
OE
106272014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
10628
10629 PR target/60884
10630 * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
10631 unrolled byte insns. Emit address increments after move insns.
10632
9bbf45f6
DM
106332014-05-07 David Malcolm <dmalcolm@redhat.com>
10634
10635 * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
10636 const_gimple, rather than a gimple.
10637 (gimple_call_builtin_p): Likewise, for the three variants.
10638
10639 * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
10640 (gimple_call_builtin_p): Likewise, for the three variants.
10641
1a51f10c
RS
106422014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10643
10644 PR tree-optimization/61095
10645 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
10646
50f0aa20
RB
106472014-05-07 Richard Biener <rguenther@suse.de>
10648
10649 PR tree-optimization/61034
10650 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
10651 (maybe_skip_until): Use translate to take into account
10652 lattices when trying to do disambiguations.
10653 (get_continuation_for_phi_1): Likewise.
b6db8af6 10654 (get_continuation_for_phi): Adjust for added translate arguments.
50f0aa20 10655 (walk_non_aliased_vuses): Likewise.
b6db8af6 10656 * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
50f0aa20
RB
10657 (walk_non_aliased_vuses): Likewise.
10658 (call_may_clobber_ref_p_1): Declare.
b6db8af6
UB
10659 * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
10660 calls. Stop early if we are only supposed to disambiguate.
50f0aa20
RB
10661 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
10662
e7b7077e
JR
106632014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
10664
10665 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
10666 Emit an error when the function has arguments.
10667
c4597c1d
TS
106682014-05-07 Thomas Schwinge <thomas@codesourcery.com>
10669
10670 * cfgloop.h (unswitch_loops): Remove.
10671 * doc/passes.texi: Remove references to loop-unswitch.c
10672 * timevar.def (TV_LOOP_UNSWITCH): Remove.
10673
2c23db6d
ES
106742014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
10675
10676 * tree-vect-data-refs.c (vect_grouped_load_supported): New
10677 check for loads group of length 3.
10678 (vect_permute_load_chain): New permutations for loads group of
10679 length 3.
10680 * tree-vect-stmts.c (vect_model_load_cost): Change cost
10681 of vec_perm_shuffle for the new permutations.
10682
1d175503
AL
106832014-05-07 Alan Lawrence <alan.lawrence@arm.com>
10684
10685 * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
10686 vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
10687 vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
10688 vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
10689 vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
10690 vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
10691 vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
10692 vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
10693
e2d87487
TS
106942014-05-07 Thomas Schwinge <thomas@codesourcery.com>
10695
10696 * loop-unswitch.c: Delete.
10697
f543058d
RB
106982014-05-07 Richard Biener <rguenther@suse.de>
10699
10700 * config.gcc: Always set need_64bit_hwint to yes.
10701
96092404
CJW
107022014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
10703
10704 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
10705 of using optimize_size.
10706
ca66f89b
MS
107072014-05-06 Mike Stump <mikestump@comcast.net>
10708
10709 * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
10710
659c0e68
JM
107112014-05-06 Joseph Myers <joseph@codesourcery.com>
10712
10713 * config/i386/sse.md (*mov<mode>_internal)
10714 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
10715 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
10716 (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
10717 (*<code><mode>3, *andnot<mode>3<mask_name>)
10718 (<mask_codefor><code><mode>3<mask_name>): Only consider
10719 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
10720
3379b71f
RS
107212014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
10722
10723 Revert:
10724 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
10725
10726 * lra-constraints.c (valid_address_p): Move earlier in file.
10727 Add a constraint argument to the address_info version.
10728 (satisfies_memory_constraint_p): New function.
10729 (satisfies_address_constraint_p): Likewise.
10730 (process_alt_operands, curr_insn_transform): Use them.
10731 (process_address): Pass the constraint to valid_address_p when
10732 checking address operands.
10733
224dbc07
RS
107342014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
10735
10736 * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
10737 to their respective blocks. Fix inadvertent use of "node".
10738
aa3a12d6
RS
107392014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
10740
10741 * emit-rtl.c (init_derived_machine_modes): New functionm, split
10742 out from...
10743 (init_emit_once): ...here.
10744 * rtl.h (init_derived_machine_modes): Declare.
10745 * toplev.c (do_compile): Call it even if no_backend.
10746
1d60af08
KZ
107472014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
10748 Mike Stump <mikestump@comcast.net>
10749 Richard Sandiford <rdsandiford@googlemail.com>
10750 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10751
10752 * alias.c (ao_ref_from_mem): Use wide-int interfaces.
10753 (rtx_equal_for_memref_p): Update comment.
10754 (adjust_offset_for_component_ref): Use wide-int interfaces.
10755 * builtins.c (get_object_alignment_2): Likewise.
10756 (c_readstr): Likewise.
10757 (target_char_cast): Add comment.
10758 (determine_block_size): Use wide-int interfaces.
10759 (expand_builtin_signbit): Likewise.
10760 (fold_builtin_int_roundingfn): Likewise.
10761 (fold_builtin_bitop): Likewise.
10762 (fold_builtin_bswap): Likewise.
10763 (fold_builtin_logarithm): Use signop.
10764 (fold_builtin_pow): Likewise.
10765 (fold_builtin_memory_op): Use wide-int interfaces.
10766 (fold_builtin_object_size): Likewise.
10767 * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
10768 nb_iterations_estimate.
10769 (record_niter_bound): Use wide-int interfaces.
10770 (get_estimated_loop_iterations_int): Likewise.
10771 (get_estimated_loop_iterations): Likewise.
10772 (get_max_loop_iterations): Likewise.
10773 * cfgloop.h: Include wide-int.h.
10774 (struct nb_iter_bound): Change bound to widest_int.
10775 (struct loop): Change nb_iterations_upper_bound and
10776 nb_iterations_estimate to widest_int.
10777 (record_niter_bound): Switch to use widest_int.
10778 (get_estimated_loop_iterations): Likewise.
10779 (get_max_loop_iterations): Likewise.
10780 (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
10781 update for wide-int.
10782 * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
10783 * combine.c (try_combine): Likewise.
10784 (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
10785 * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
10786 interfaces.
10787 (aarch64_float_const_representable_p): Likewise.
10788 * config/arc/arc.c: Include wide-int.h.
10789 (arc_can_use_doloop_p): Use wide-int interfaces.
10790 * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
10791 (vfp3_const_double_index): Likewise.
10792 * config/avr/avr.c (avr_out_round): Likewise.
10793 (avr_fold_builtin): Likewise.
10794 * config/bfin/bfin.c (bfin_local_alignment): Likewise.
10795 (bfin_can_use_doloop_p): Likewise.
10796 * config/darwin.c (darwin_mergeable_constant_section): Likewise.
10797 (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
10798 * config/i386/i386.c: Include wide-int.h.
10799 (ix86_data_alignment): Use wide-int interfaces.
10800 (ix86_local_alignment): Likewise.
10801 (ix86_emit_swsqrtsf): Update real_from_integer.
10802 * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
10803 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
10804 * config/rs6000/predicates.md (any_operand): Add const_wide_int.
10805 (zero_constant): Likewise.
10806 (input_operand): Likewise.
10807 (splat_input_operand): Likewise.
10808 (non_logical_cint_operand): Change const_double to const_wide_int.
10809 * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
10810 (easy_altivec_constant): Remove comment.
10811 (paired_expand_vector_init): Use CONSTANT_P.
10812 (rs6000_legitimize_address): Handle CONST_WIDE_INT.
10813 (rs6000_emit_move): Update checks.
10814 (rs6000_aggregate_candidate): Use wide-int interfaces.
10815 (rs6000_expand_ternop_builtin): Likewise.
10816 (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
10817 (rs6000_assemble_integer): Likewise.
10818 (rs6000_hash_constant): Likewise.
10819 (output_toc): Likewise.
10820 (rs6000_rtx_costs): Likewise.
10821 (rs6000_emit_swrsqrt); Update call to real_from_integer.
10822 * config/rs6000/rs6000-c.c: Include wide-int.h.
10823 (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
10824 * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
10825 * config/rs6000/rs6000.md: Use const_scalar_int_operand.
10826 Handle CONST_WIDE_INT.
10827 * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
10828 Use tree_fits_uhwi_p.
10829 * config/sparc/sparc.c: Include wide-int.h.
10830 (sparc_fold_builtin): Use wide-int interfaces.
10831 * config/vax/vax.c: Include wide-int.h.
10832 (vax_float_literal): Use real_from_integer.
10833 * coretypes.h (struct hwivec_def): New.
10834 (hwivec): New.
10835 (const_hwivec): New.
10836 * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
10837 (equiv_constant): Handle CONST_WIDE_INT.
10838 * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
10839 (cselib_hash_rtx): Handle CONST_WIDE_INT.
10840 * dbxout.c (stabstr_U): Use wide-int interfaces.
10841 (dbxout_type): Update to use cst_fits_shwi_p.
10842 * defaults.h (LOG2_BITS_PER_UNIT): Define.
10843 (TARGET_SUPPORTS_WIDE_INT): Add default.
10844 * dfp.c: Include wide-int.h.
10845 (decimal_real_to_integer2): Use wide-int interfaces and rename to
10846 decimal_real_to_integer.
10847 * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
10848 decimal_real_to_integer.
10849 * doc/generic.texi (Constant expressions): Update for wide_int.
10850 * doc/rtl.texi (const_double): Likewise.
10851 (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
10852 (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
10853 * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
10854 (REAL_VALUE_FROM_INT): Remove.
10855 (TARGET_SUPPORTS_WIDE_INT): New.
10856 * doc/tm.texi: Regenerate.
10857 * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
10858 * double-int.h: Include wide-int.h.
10859 (struct wi::int_traits): New.
10860 * dwarf2out.c (get_full_len): New.
10861 (dw_val_equal_p): Add case dw_val_class_wide_int.
10862 (size_of_loc_descr): Likewise.
10863 (output_loc_operands): Likewise.
10864 (insert_double): Remove.
10865 (insert_wide_int): New.
10866 (add_AT_wide): New.
10867 (print_die): Add case dw_val_class_wide_int.
10868 (attr_checksum): Likewise.
10869 (attr_checksum_ordered): Likewise.
10870 (same_dw_val_p): Likewise.
10871 (size_of_die): Likewise.
10872 (value_format): Likewise.
10873 (output_die): Likewise.
10874 (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
10875 Use wide-int.
10876 (clz_loc_descriptor): Use wide-int interfaces.
10877 (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
10878 (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
10879 (round_up_to_align): Use wide-int interfaces.
10880 (field_byte_offset): Likewise.
10881 (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
10882 (add_const_value_attribute): Handle CONST_WIDE_INT. Update
10883 CONST_DOUBLE handling. Use wide-int interfaces.
10884 (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
10885 (gen_enumeration_type_die): Use add_AT_wide.
10886 (hash_loc_operands): Add case dw_val_class_wide_int.
10887 (compare_loc_operands): Likewise.
10888 * dwarf2out.h: Include wide-int.h.
10889 (wide_int_ptr): New.
10890 (enum dw_val_class): Add dw_val_class_wide_int.
10891 (struct dw_val_struct): Add val_wide.
10892 * emit-rtl.c (const_wide_int_htab): New.
10893 (const_wide_int_htab_hash): New.
10894 (const_wide_int_htab_eq): New.
10895 (lookup_const_wide_int): New.
10896 (const_double_htab_hash): Use wide-int interfaces.
10897 (const_double_htab_eq): Likewise.
10898 (rtx_to_double_int): Conditionally compile for wide-int.
10899 (immed_double_int_const): Rename to immed_wide_int_const and
10900 update for wide-int.
10901 (immed_double_const): Conditionally compile for wide-int.
10902 (init_emit_once): Use wide-int interfaces.
10903 * explow.c (plus_constant): Likewise.
10904 * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
10905 (lshift_value): Use wide-int interfaces.
10906 (expand_mult): Likewise.
10907 (choose_multiplier): Likewise.
10908 (expand_smod_pow2): Likewise.
10909 (make_tree): Likewise.
10910 * expr.c (convert_modes): Consolidate handling of constants.
10911 Use wide-int interfaces.
10912 (emit_group_load_1): Add note.
10913 (store_expr): Update comment.
10914 (get_inner_reference): Use wide-int interfaces.
10915 (expand_constructor): Update comment.
10916 (expand_expr_real_2): Use wide-int interfaces.
10917 (expand_expr_real_1): Likewise.
10918 (reduce_to_bit_field_precision): Likewise.
10919 (const_vector_from_tree): Likewise.
10920 * final.c: Include wide-int-print.h.
10921 (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
10922 * fixed-value.c: Include wide-int.h.
10923 (fixed_from_string): Use wide-int interfaces.
10924 (fixed_to_decimal): Likewise.
10925 (fixed_convert_from_real): Likewise.
10926 (real_convert_from_fixed): Likewise.
10927 * fold-const.h (mem_ref_offset): Return an offset_int.
10928 (div_if_zero_remainder): Remove code parameter.
10929 * fold-const.c (div_if_zero_remainder): Remove code parameter.
10930 Use wide-int interfaces.
10931 (may_negate_without_overflow_p): Use wide-int interfaces.
10932 (negate_expr_p): Likewise.
10933 (fold_negate_expr): Likewise.
10934 (int_const_binop_1): Likewise.
10935 (const_binop): Likewise.
10936 (fold_convert_const_int_from_int): Likewise.
10937 (fold_convert_const_int_from_real): Likewise.
10938 (fold_convert_const_int_from_fixed): Likewise.
10939 (fold_convert_const_fixed_from_int): Likewise.
10940 (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
10941 (sign_bit_p): Use wide-int interfaces.
10942 (make_range_step): Likewise.
10943 (build_range_check): Likewise. Pass an integer of the correct type
10944 instead of using integer_one_node.
10945 (range_predecessor): Pass an integer of the correct type instead
10946 of using integer_one_node.
10947 (range_successor): Likewise.
10948 (merge_ranges): Likewise.
10949 (unextend): Use wide-int interfaces.
10950 (extract_muldiv_1): Likewise.
10951 (fold_div_compare): Likewise.
10952 (fold_single_bit_test): Likewise.
10953 (fold_sign_changed_comparison): Likewise.
10954 (try_move_mult_to_index): Update calls to div_if_zero_remainder.
10955 (fold_plusminus_mult_expr): Use wide-int interfaces.
10956 (native_encode_int): Likewise.
10957 (native_interpret_int): Likewise.
10958 (fold_unary_loc): Likewise.
10959 (pointer_may_wrap_p): Likewise.
10960 (size_low_cst): Likewise.
10961 (mask_with_tz): Likewise.
10962 (fold_binary_loc): Likewise.
10963 (fold_ternary_loc): Likewise.
10964 (multiple_of_p): Likewise.
10965 (tree_call_nonnegative_warnv_p): Update calls to
10966 tree_int_cst_min_precision and real_from_integer.
10967 (fold_negate_const): Use wide-int interfaces.
10968 (fold_abs_const): Likewise.
10969 (fold_relational_const): Use tree_int_cst_lt.
10970 (round_up_loc): Use wide-int interfaces.
10971 * genemit.c (gen_exp): Add CONST_WIDE_INT case.
10972 * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
10973 * gengtype.c: Remove include of double-int.h.
10974 (do_typedef): Use wide-int interfaces.
10975 (open_base_files): Add wide-int.h.
10976 (main): Add offset_int and widest_int typedefs.
10977 * gengtype-lex.l: Handle "^".
10978 (CXX_KEYWORD): Add "static".
10979 * gengtype-parse.c (require3): New.
10980 (require_template_declaration): Handle constant template arguments
10981 and nested templates.
10982 * gengtype-state.c: Don't include "double-int.h".
10983 * genpreds.c (write_one_predicate_function): Update comment.
10984 (write_tm_constrs_h): Add check for hval and lval use in
10985 CONST_WIDE_INT.
10986 * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
10987 (add_to_sequence): Likewise.
10988 * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
10989 and const_double_operand.
10990 * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
10991 interfaces.
10992 * gimple-fold.c (get_base_constructor): Likewise.
10993 (fold_array_ctor_reference): Likewise.
10994 (fold_nonarray_ctor_reference): Likewise.
10995 (fold_const_aggregate_ref_1): Likewise.
10996 (gimple_val_nonnegative_real_p): Likewise.
10997 (gimple_fold_indirect_ref): Likewise.
10998 * gimple-pretty-print.c (dump_ssaname_info): Likewise.
10999 * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
11000 (struct slsr_cand_d): Change index to be widest_int.
11001 (struct incr_info_d): Change incr to be widest_int.
11002 (alloc_cand_and_find_basis): Use wide-int interfaces.
11003 (slsr_process_phi): Likewise.
11004 (backtrace_base_for_ref): Likewise. Return a widest_int.
11005 (restructure_reference): Take a widest_int instead of a double_int.
11006 (slsr_process_ref): Use wide-int interfaces.
11007 (create_mul_ssa_cand): Likewise.
11008 (create_mul_imm_cand): Likewise.
11009 (create_add_ssa_cand): Likewise.
11010 (create_add_imm_cand): Take a widest_int instead of a double_int.
11011 (slsr_process_add): Use wide-int interfaces.
11012 (slsr_process_cast): Likewise.
11013 (slsr_process_copy): Likewise.
11014 (dump_candidate): Likewise.
11015 (dump_incr_vec): Likewise.
11016 (replace_ref): Likewise.
11017 (cand_increment): Likewise. Return a widest_int.
11018 (cand_abs_increment): Likewise.
11019 (replace_mult_candidate): Take a widest_int instead of a double_int.
11020 (replace_unconditional_candidate): Use wide-int interfaces.
11021 (incr_vec_index): Take a widest_int instead of a double_int.
11022 (create_add_on_incoming_edge): Likewise.
11023 (create_phi_basis): Use wide-int interfaces.
11024 (replace_conditional_candidate): Likewise.
11025 (record_increment): Take a widest_int instead of a double_int.
11026 (record_phi_increments): Use wide-int interfaces.
11027 (phi_incr_cost): Take a widest_int instead of a double_int.
11028 (lowest_cost_path): Likewise.
11029 (total_savings): Likewise.
11030 (analyze_increments): Use wide-int interfaces.
11031 (ncd_with_phi): Take a widest_int instead of a double_int.
11032 (ncd_of_cand_and_phis): Likewise.
11033 (nearest_common_dominator_for_cands): Likewise.
11034 (insert_initializers): Use wide-int interfaces.
11035 (all_phi_incrs_profitable): Likewise.
11036 (replace_one_candidate): Likewise.
11037 (replace_profitable_candidates): Likewise.
11038 * godump.c: Include wide-int-print.h.
11039 (go_output_typedef): Use wide-int interfaces.
11040 * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
11041 * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
11042 (build_loop_iteration_domains): Likewise.
11043 * hooks.h: Include wide-int.h rather than double-int.h.
11044 (hook_bool_dint_dint_uint_bool_true): Delete.
11045 (hook_bool_wint_wint_uint_bool_true): Declare.
11046 * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
11047 (hook_bool_wint_wint_uint_bool_true): New.
11048 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
11049 interfaces.
11050 (ubsan_expand_si_overflow_mul_check): Likewise.
11051 * ipa-devirt.c (get_polymorphic_call_info): Likewise.
11052 * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
11053 (get_ancestor_addr_info): Likewise.
11054 (ipa_modify_call_arguments): Likewise.
11055 * loop-doloop.c (doloop_modify): Likewise.
11056 (doloop_optimize): Likewise.
11057 * loop-iv.c (iv_number_of_iterations): Likewise.
11058 * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
11059 (unroll_loop_constant_iterations): Likewise.
11060 (decide_unroll_runtime_iterations): Likewise.
11061 (unroll_loop_runtime_iterations): Likewise.
11062 (decide_peel_simple): Likewise.
11063 (decide_unroll_stupid): Likewise.
11064 * lto-streamer-in.c (streamer_read_wi): Add.
11065 (input_cfg): Use wide-int interfaces.
11066 (lto_input_tree_1): Likewise.
11067 * lto-streamer-out.c (streamer_write_wi): Add.
11068 (hash_tree): Use wide-int interfaces.
11069 (output_cfg): Likewise.
11070 * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
11071 (GTFILES): Add wide-int.h and signop.h.
11072 (TAGS): Look for .cc files too.
11073 * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
11074 * optabs.c (expand_subword_shift): Likewise.
11075 (expand_doubleword_shift): Likewise.
11076 (expand_absneg_bit): Likewise.
11077 (expand_copysign_absneg): Likewise.
11078 (expand_copysign_bit): Likewise.
11079 * postreload.c (reload_cse_simplify_set): Likewise.
11080 * predict.c (predict_iv_comparison): Likewise.
11081 * pretty-print.h: Include wide-int-print.h.
11082 (pp_wide_int) New.
11083 * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
11084 * print-tree.c: Include wide-int-print.h.
11085 (print_node_brief): Use wide-int interfaces.
11086 (print_node): Likewise.
11087 * read-rtl.c (validate_const_wide_int): New.
11088 (read_rtx_code): Add CONST_WIDE_INT case.
11089 * real.c: Include wide-int.h.
11090 (real_to_integer2): Delete.
11091 (real_to_integer): New function, returning a wide_int.
11092 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
11093 (ten_to_ptwo): Update call to real_from_integer.
11094 (real_digit): Likewise.
11095 * real.h: Include signop.h, wide-int.h and insn-modes.h.
11096 (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
11097 (REAL_VALUE_TO_INT): Delete.
11098 (real_to_integer): Declare a wide-int form.
11099 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
11100 * recog.c (const_int_operand): Improve comment.
11101 (const_scalar_int_operand): New.
11102 (const_double_operand): Add a separate definition for CONST_WIDE_INT.
11103 * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
11104 (split_double): Likewise.
11105 * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
11106 (rtx_size): Likewise.
11107 (rtx_alloc_stat_v): New.
11108 (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
11109 (cwi_output_hex): New.
11110 (iterative_hash_rtx): Handle CONST_WIDE_INT.
11111 (cwi_check_failed_bounds): New.
11112 * rtl.def (CONST_WIDE_INT): New.
11113 * rtl.h: Include <utility> and wide-int.h.
11114 (struct hwivec_def): New.
11115 (CWI_GET_NUM_ELEM): New.
11116 (CWI_PUT_NUM_ELEM): New.
11117 (struct rtx_def): Add num_elem and hwiv.
11118 (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
11119 (CASE_CONST_UNIQUE): Likewise.
11120 (CASE_CONST_ANY): Likewise.
11121 (CONST_SCALAR_INT_P): Likewise.
11122 (CONST_WIDE_INT_P): New.
11123 (CWI_ELT): New.
11124 (HWIVEC_CHECK): New.
11125 (cwi_check_failed_bounds): New.
11126 (CWI_ELT): New.
11127 (HWIVEC_CHECK): New.
11128 (CONST_WIDE_INT_VEC) New.
11129 (CONST_WIDE_INT_NUNITS) New.
11130 (CONST_WIDE_INT_ELT) New.
11131 (rtx_mode_t): New type.
11132 (wi::int_traits <rtx_mode_t>): New.
11133 (wi::shwi): New.
11134 (wi::min_value): New.
11135 (wi::max_value): New.
11136 (rtx_alloc_v) New.
11137 (const_wide_int_alloc): New.
11138 (immed_wide_int_const): New.
11139 * sched-vis.c (print_value): Handle CONST_WIDE_INT.
11140 * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
11141 * signop.h: New file.
11142 * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
11143 (simplify_const_unary_operation): Use wide-int interfaces.
11144 (simplify_binary_operation_1): Likewise.
11145 (simplify_const_binary_operation): Likewise.
11146 (simplify_const_relational_operation): Likewise.
11147 (simplify_immed_subreg): Likewise.
11148 * stmt.c (expand_case): Likewise.
11149 * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
11150 signop rather than a bool.
11151 * stor-layout.c (layout_type): Use wide-int interfaces.
11152 (initialize_sizetypes): Update calls to
11153 set_min_and_max_values_for_integral_type.
11154 (set_min_and_max_values_for_integral_type): Take a signop rather
11155 than a bool. Use wide-int interfaces.
11156 (fixup_signed_type): Update accordingly. Remove
11157 HOST_BITS_PER_DOUBLE_INT limit.
11158 (fixup_unsigned_type): Likewise.
11159 * system.h (STATIC_CONSTANT_P): New.
11160 (STATIC_ASSERT): New.
11161 * target.def (can_use_doloop_p): Take widest_ints rather than
11162 double_ints.
11163 * target.h: Include wide-int.h rather than double-int.h.
11164 * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
11165 than double_ints.
11166 * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
11167 rather than INT_CST_LT_UNSIGNED.
11168 (can_use_doloop_if_innermost): Take widest_ints rather than
11169 double_ints.
11170 * tree-affine.c: Include wide-int-print.h.
11171 (double_int_ext_for_comb): Delete.
11172 (wide_int_ext_for_comb): New.
11173 (aff_combination_zero): Use wide-int interfaces.
11174 (aff_combination_const): Take a widest_int instead of a double_int.
11175 (aff_combination_elt): Use wide-int interfaces.
11176 (aff_combination_scale): Take a widest_int instead of a double_int.
11177 (aff_combination_add_elt): Likewise.
11178 (aff_combination_add_cst): Likewise.
11179 (aff_combination_add): Use wide-int interfaces.
11180 (aff_combination_convert): Likewise.
11181 (tree_to_aff_combination): Likewise.
11182 (add_elt_to_tree): Take a widest_int instead of a double_int.
11183 (aff_combination_to_tree): Use wide-int interfaces.
11184 (aff_combination_remove_elt): Likewise.
11185 (aff_combination_add_product): Take a widest_int instead of
11186 a double_int.
11187 (aff_combination_mult): Use wide-int interfaces.
11188 (aff_combination_expand): Likewise.
11189 (double_int_constant_multiple_p): Delete.
11190 (wide_int_constant_multiple_p): New.
11191 (aff_combination_constant_multiple_p): Take a widest_int pointer
11192 instead of a double_int pointer.
11193 (print_aff): Use wide-int interfaces.
11194 (get_inner_reference_aff): Take a widest_int pointer
11195 instead of a double_int pointer.
11196 (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
11197 * tree-affine.h: Include wide-int.h.
11198 (struct aff_comb_elt): Change type of coef to widest_int.
11199 (struct affine_tree_combination): Change type of offset to widest_int.
11200 (double_int_ext_for_comb): Delete.
11201 (wide_int_ext_for_comb): New.
11202 (aff_combination_const): Use widest_int instead of double_int.
11203 (aff_combination_scale): Likewise.
11204 (aff_combination_add_elt): Likewise.
11205 (aff_combination_constant_multiple_p): Likewise.
11206 (get_inner_reference_aff): Likewise.
11207 (aff_comb_cannot_overlap_p): Likewise.
11208 (aff_combination_zero_p): Use wide-int interfaces.
11209 * tree.c: Include tree.h.
11210 (init_ttree): Use make_int_cst.
11211 (tree_code_size): Removed code for INTEGER_CST case.
11212 (tree_size): Add INTEGER_CST case.
11213 (make_node_stat): Update comment.
11214 (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
11215 (build_int_cst_type): Use wide-int interfaces.
11216 (double_int_to_tree): Likewise.
11217 (double_int_fits_to_tree_p): Delete.
11218 (force_fit_type_double): Delete.
11219 (force_fit_type): New.
11220 (int_cst_hash_hash): Use wide-int interfaces.
11221 (int_cst_hash_eq): Likewise.
11222 (build_int_cst_wide): Delete.
11223 (wide_int_to_tree): New.
11224 (cache_integer_cst): Use wide-int interfaces.
11225 (build_low_bits_mask): Likewise.
11226 (cst_and_fits_in_hwi): Likewise.
11227 (real_value_from_int_cst): Likewise.
11228 (make_int_cst_stat): New.
11229 (integer_zerop): Use wide_int interfaces.
11230 (integer_onep): Likewise.
11231 (integer_all_onesp): Likewise.
11232 (integer_pow2p): Likewise.
11233 (integer_nonzerop): Likewise.
11234 (tree_log2): Likewise.
11235 (tree_floor_log2): Likewise.
11236 (tree_ctz): Likewise.
11237 (int_size_in_bytes): Likewise.
11238 (mem_ref_offset): Return an offset_int rather than a double_int.
11239 (build_type_attribute_qual_variant): Use wide_int interfaces.
11240 (type_hash_eq): Likewise
11241 (tree_int_cst_equal): Likewise.
11242 (tree_int_cst_lt): Delete.
11243 (tree_int_cst_compare): Likewise.
11244 (tree_fits_shwi_p): Use wide_int interfaces.
11245 (tree_fits_uhwi_p): Likewise.
11246 (tree_int_cst_sign_bit): Likewise.
11247 (tree_int_cst_sgn): Likewise.
11248 (tree_int_cst_min_precision): Take a signop rather than a bool.
11249 (simple_cst_equal): Use wide_int interfaces.
11250 (compare_tree_int): Likewise.
11251 (iterative_hash_expr): Likewise.
11252 (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
11253 INT_CST_LT.
11254 (get_type_static_bounds): Use wide_int interfaces.
11255 (tree_int_cst_elt_check_failed): New.
11256 (build_common_tree_nodes): Reordered to set prec before filling in
11257 value.
11258 (int_cst_value): Check cst_and_fits_in_hwi.
11259 (widest_int_cst_value): Use wide_int interfaces.
11260 (upper_bound_in_type): Likewise.
11261 (lower_bound_in_type): Likewise.
11262 (num_ending_zeros): Likewise.
11263 (drop_tree_overflow): Likewise.
11264 * tree-call-cdce.c (check_pow): Update call to real_from_integer.
11265 (gen_conditions_for_pow_cst_base): Likewise.
11266 * tree-cfg.c: Include wide-int.h and wide-int-print.h.
11267 (group_case_labels_stmt): Use wide-int interfaces.
11268 (verify_gimple_assign_binary): Likewise.
11269 (print_loop): Likewise.
11270 * tree-chrec.c (tree_fold_binomial): Likewise.
11271 * tree-core.h (struct tree_base): Add int_length.
11272 (struct tree_int_cst): Change rep of value.
11273 * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
11274 (dr_may_alias_p): Likewise.
11275 (max_stmt_executions_tree): Likewise.
11276 * tree.def (INTEGER_CST): Update comment.
11277 * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
11278 * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
11279 * tree-dump.c: Include wide-int.h and wide-int-print.h.
11280 (dequeue_and_dump): Use wide-int interfaces.
11281 * tree.h: Include wide-int.h.
11282 (NULL_TREE): Moved to earlier loc in file.
11283 (TREE_INT_CST_ELT_CHECK): New.
11284 (tree_int_cst_elt_check_failed): New.
11285 (TYPE_SIGN): New.
11286 (TREE_INT_CST): Delete.
11287 (TREE_INT_CST_LOW): Use wide-int interfaces.
11288 (TREE_INT_CST_HIGH): Delete.
11289 (TREE_INT_CST_NUNITS): New.
11290 (TREE_INT_CST_EXT_NUNITS): Likewise.
11291 (TREE_INT_CST_OFFSET_NUNITS): Likewise.
11292 (TREE_INT_CST_ELT): Likewise.
11293 (INT_CST_LT): Delete.
11294 (tree_int_cst_elt_check): New (two forms).
11295 (type_code_size): Update comment.
11296 (make_int_cst_stat, make_int_cst): New.
11297 (tree_to_double_int): Delete.
11298 (double_int_fits_to_tree_p): Delete.
11299 (force_fit_type_double): Delete.
11300 (build_int_cstu): Replace with out-of-line function.
11301 (build_int_cst_wide): Delete.
11302 (tree_int_cst_lt): Define inline.
11303 (tree_int_cst_le): New.
11304 (tree_int_cst_compare): Define inline.
11305 (tree_int_cst_min_precision): Take a signop rather than a bool.
11306 (wi::int_traits <const_tree>): New.
11307 (wi::int_traits <tree>): New.
11308 (wi::extended_tree): New.
11309 (wi::int_traits <wi::extended_tree>): New.
11310 (wi::to_widest): New.
11311 (wi::to_offset): New.
11312 (wi::fits_to_tree_p): New.
11313 (wi::min_value): New.
11314 (wi::max_value): New.
11315 * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
11316 (copy_tree_body_r): Likewise.
11317 * tree-object-size.c (compute_object_offset): Likewise.
11318 (addr_object_size): Likewise.
11319 * tree-predcom.c: Include wide-int-print.h.
11320 (struct dref_d): Change type of offset to widest_int.
11321 (dump_dref): Call wide-int printer.
11322 (aff_combination_dr_offset): Use wide-int interfaces.
11323 (determine_offset): Take a widest_int pointer rather than a
11324 double_int pointer.
11325 (split_data_refs_to_components): Use wide-int interfaces.
11326 (suitable_component_p): Likewise.
11327 (order_drefs): Likewise.
11328 (add_ref_to_chain): Likewise.
11329 (valid_initializer_p): Likewise.
11330 (determine_roots_comp): Likewise.
11331 * tree-pretty-print.c: Include wide-int-print.h.
11332 (dump_generic_node): Use wide-int interfaces.
11333 * tree-sra.c (sra_ipa_modify_expr): Likewise.
11334 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
11335 (move_fixed_address_to_symbol): Likewise.
11336 (move_hint_to_base): Likewise.
11337 (move_pointer_to_base): Likewise.
11338 (move_variant_to_index): Likewise.
11339 (most_expensive_mult_to_index): Likewise.
11340 (addr_to_parts): Likewise.
11341 (copy_ref_info): Likewise.
11342 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
11343 (indirect_refs_may_alias_p): Likewise.
11344 (stmt_kills_ref_p_1): Likewise.
11345 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
11346 * tree-ssa-ccp.c: Update comment at top of file. Include
11347 wide-int-print.h.
11348 (struct prop_value_d): Change type of mask to widest_int.
11349 (extend_mask): New function.
11350 (dump_lattice_value): Use wide-int interfaces.
11351 (get_default_value): Likewise.
11352 (set_constant_value): Likewise.
11353 (set_value_varying): Likewise.
11354 (valid_lattice_transition): Likewise.
11355 (set_lattice_value): Likewise.
11356 (value_to_double_int): Delete.
11357 (value_to_wide_int): New.
11358 (get_value_from_alignment): Use wide-int interfaces.
11359 (get_value_for_expr): Likewise.
11360 (do_dbg_cnt): Likewise.
11361 (ccp_finalize): Likewise.
11362 (ccp_lattice_meet): Likewise.
11363 (bit_value_unop_1): Use widest_ints rather than double_ints.
11364 (bit_value_binop_1): Likewise.
11365 (bit_value_unop): Use wide-int interfaces.
11366 (bit_value_binop): Likewise.
11367 (bit_value_assume_aligned): Likewise.
11368 (evaluate_stmt): Likewise.
11369 (ccp_fold_stmt): Likewise.
11370 (visit_cond_stmt): Likewise.
11371 (ccp_visit_stmt): Likewise.
11372 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
11373 (constant_pointer_difference): Likewise.
11374 (associate_pointerplus): Likewise.
11375 (combine_conversions): Likewise.
11376 * tree-ssa-loop.h: Include wide-int.h.
11377 (struct tree_niter_desc): Change type of max to widest_int.
11378 * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
11379 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
11380 (remove_redundant_iv_tests): Likewise.
11381 (canonicalize_loop_induction_variables): Likewise.
11382 * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
11383 (constant_multiple_of): Take a widest_int pointer instead of
11384 a double_int pointer.
11385 (get_computation_aff): Use wide-int interfaces.
11386 (ptr_difference_cost): Likewise.
11387 (difference_cost): Likewise.
11388 (get_loop_invariant_expr_id): Likewise.
11389 (get_computation_cost_at): Likewise.
11390 (iv_elimination_compare_lt): Likewise.
11391 (may_eliminate_iv): Likewise.
11392 * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
11393 instead of double_int.
11394 (max_loop_iterations): Likewise.
11395 (max_stmt_executions): Likewise.
11396 (estimated_stmt_executions): Likewise.
11397 * tree-ssa-loop-niter.c: Include wide-int-print.h.
11398 (split_to_var_and_offset): Use wide-int interfaces.
11399 (determine_value_range): Likewise.
11400 (bound_difference_of_offsetted_base): Likewise.
11401 (bounds_add): Take a widest_int instead of a double_int.
11402 (number_of_iterations_ne_max): Use wide-int interfaces.
11403 (number_of_iterations_ne): Likewise.
11404 (number_of_iterations_lt_to_ne): Likewise.
11405 (assert_loop_rolls_lt): Likewise.
11406 (number_of_iterations_lt): Likewise.
11407 (number_of_iterations_le): Likewise.
11408 (number_of_iterations_cond): Likewise.
11409 (number_of_iterations_exit): Likewise.
11410 (finite_loop_p): Likewise.
11411 (derive_constant_upper_bound_assign): Likewise.
11412 (derive_constant_upper_bound): Return a widest_int.
11413 (derive_constant_upper_bound_ops): Likewise.
11414 (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
11415 (record_estimate): Take a widest_int rather than a double_int.
11416 (record_nonwrapping_iv): Use wide-int interfaces.
11417 (double_int_cmp): Delete.
11418 (wide_int_cmp): New.
11419 (bound_index): Take a widest_int rather than a double_int.
11420 (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
11421 (maybe_lower_iteration_bound): Likewise.
11422 (estimate_numbers_of_iterations_loop): Likewise.
11423 (estimated_loop_iterations): Take a widest_int pointer than than
11424 a double_int pointer.
11425 (estimated_loop_iterations_int): Use wide-int interfaces.
11426 (max_loop_iterations): Take a widest_int pointer than than
11427 a double_int pointer.
11428 (max_loop_iterations_int): Use wide-int interfaces.
11429 (max_stmt_executions): Take a widest_int pointer than than
11430 a double_int pointer.
11431 (estimated_stmt_executions): Likewise.
11432 (n_of_executions_at_most): Use wide-int interfaces.
11433 (scev_probably_wraps_p): Likewise.
11434 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
11435 to real_to_integer.
11436 * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
11437 interfaces.
11438 * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
11439 double_ints. Adjust for trailing_wide_ints <3> representation.
11440 (set_nonzero_bits): Likewise.
11441 (get_range_info): Return wide_ints rather than double_ints.
11442 Adjust for trailing_wide_ints <3> representation.
11443 (get_nonzero_bits): Likewise.
11444 (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
11445 representation.
11446 * tree-ssanames.h (struct range_info_def): Replace min, max and
11447 nonzero_bits with a trailing_wide_ints <3>.
11448 (set_range_info): Use wide_int_refs rather than double_ints.
11449 (set_nonzero_bits): Likewise.
11450 (get_range_info): Return wide_ints rather than double_ints.
11451 (get_nonzero_bits): Likewise.
11452 * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
11453 * tree-ssa-pre.c (phi_translate_1): Likewise.
11454 * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
11455 (acceptable_pow_call): Likewise.
11456 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
11457 interfaces.
11458 (vn_reference_fold_indirect): Likewise.
11459 (vn_reference_maybe_forwprop_address): Likewise.
11460 (valueize_refs_1): Likewise.
11461 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
11462 * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
11463 tree_int_cst_lt and tree_int_cst_le.
11464 * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
11465 interfaces.
11466 (streamer_alloc_tree): Likewise.
11467 * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
11468 (streamer_write_tree_header): Likewise.
11469 (streamer_write_integer_cst): Likewise.
11470 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
11471 (build_constructors): Likewise.
11472 (array_value_type): Likewise.
11473 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
11474 (vect_check_gather): Likewise.
11475 * tree-vect-generic.c (build_replicated_const): Likewise.
11476 (expand_vector_divmod): Likewise.
11477 * tree-vect-loop.c (vect_transform_loop): Likewise.
11478 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
11479 (vect_do_peeling_for_alignment): Likewise.
11480 * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
11481 * tree-vrp.c: Include wide-int.h.
11482 (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
11483 (extract_range_from_assert): Use wide-int interfaces.
11484 (vrp_int_const_binop): Likewise.
11485 (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
11486 double_int pointers.
11487 (ranges_from_anti_range): Use wide-int interfaces.
11488 (quad_int_cmp): Delete.
11489 (quad_int_pair_sort): Likewise.
11490 (extract_range_from_binary_expr_1): Use wide-int interfaces.
11491 (extract_range_from_unary_expr_1): Likewise.
11492 (adjust_range_with_scev): Likewise.
11493 (masked_increment): Take and return wide_ints rather than double_ints.
11494 (register_edge_assert_for_2): Use wide-int interfaces.
11495 (check_array_ref): Likewise.
11496 (search_for_addr_array): Likewise.
11497 (maybe_set_nonzero_bits): Likewise.
11498 (union_ranges): Pass an integer of the correct type instead of
11499 using integer_one_node.
11500 (intersect_ranges): Likewise.
11501 (simplify_truth_ops_using_ranges): Likewise.
11502 (simplify_bit_ops_using_ranges): Use wide-int interfaces.
11503 (range_fits_type_p): Likewise.
11504 (simplify_cond_using_ranges): Likewise. Take a signop rather than
11505 a bool.
11506 (simplify_conversion_using_ranges): Use wide-int interfaces.
11507 (simplify_float_conversion_using_ranges): Likewise.
11508 (vrp_finalize): Likewise.
11509 * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
11510 (gimple_stringops_transform): Likewise.
11511 * varasm.c (decode_addr_const): Likewise.
11512 (const_hash_1): Likewise.
11513 (const_rtx_hash_1): Likewise
11514 (output_constant): Likewise.
11515 (array_size_for_constructor): Likewise.
11516 (output_constructor_regular_field): Likewise.
11517 (output_constructor_bitfield): Likewise.
11518 * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
11519 * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
11520 GENERATOR_FILEs.
11521 * gencheck.c: Define BITS_PER_UNIT.
11522 * wide-int.cc: New.
11523 * wide-int.h: New.
11524 * wide-int-print.cc: New.
11525 * wide-int-print.h: New.
11526
3134fb19
JBG
115272014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
11528
11529 * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
11530
3bea341f
RB
115312014-05-06 Richard Biener <rguenther@suse.de>
11532
11533 * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
11534 TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
11535 (TODO_verify_all): Adjust.
11536 * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
11537 TODO_verify_stmts and TODO_verify_rtl_sharing.
11538 * bb-reorder.c: Likewise.
11539 * cfgexpand.c: Likewise.
11540 * cprop.c: Likewise.
11541 * cse.c: Likewise.
11542 * function.c: Likewise.
11543 * fwprop.c: Likewise.
11544 * gcse.c: Likewise.
11545 * gimple-ssa-isolate-paths.c: Likewise.
11546 * gimple-ssa-strength-reduction.c: Likewise.
11547 * ipa-split.c: Likewise.
11548 * loop-init.c: Likewise.
11549 * loop-unroll.c: Likewise.
11550 * lower-subreg.c: Likewise.
11551 * modulo-sched.c: Likewise.
11552 * postreload-gcse.c: Likewise.
11553 * predict.c: Likewise.
11554 * recog.c: Likewise.
11555 * sched-rgn.c: Likewise.
11556 * store-motion.c: Likewise.
11557 * tracer.c: Likewise.
11558 * trans-mem.c: Likewise.
11559 * tree-call-cdce.c: Likewise.
11560 * tree-cfg.c: Likewise.
11561 * tree-cfgcleanup.c: Likewise.
11562 * tree-complex.c: Likewise.
11563 * tree-eh.c: Likewise.
11564 * tree-emutls.c: Likewise.
11565 * tree-if-conv.c: Likewise.
11566 * tree-into-ssa.c: Likewise.
11567 * tree-loop-distribution.c: Likewise.
11568 * tree-object-size.c: Likewise.
11569 * tree-parloops.c: Likewise.
11570 * tree-pass.h: Likewise.
11571 * tree-sra.c: Likewise.
11572 * tree-ssa-ccp.c: Likewise.
11573 * tree-ssa-copy.c: Likewise.
11574 * tree-ssa-copyrename.c: Likewise.
11575 * tree-ssa-dce.c: Likewise.
11576 * tree-ssa-dom.c: Likewise.
11577 * tree-ssa-dse.c: Likewise.
11578 * tree-ssa-forwprop.c: Likewise.
11579 * tree-ssa-ifcombine.c: Likewise.
11580 * tree-ssa-loop-ch.c: Likewise.
11581 * tree-ssa-loop-ivcanon.c: Likewise.
11582 * tree-ssa-loop.c: Likewise.
11583 * tree-ssa-math-opts.c: Likewise.
11584 * tree-ssa-phiopt.c: Likewise.
11585 * tree-ssa-phiprop.c: Likewise.
11586 * tree-ssa-pre.c: Likewise.
11587 * tree-ssa-reassoc.c: Likewise.
11588 * tree-ssa-sink.c: Likewise.
11589 * tree-ssa-strlen.c: Likewise.
11590 * tree-ssa-tail-merge.c: Likewise.
11591 * tree-ssa-uncprop.c: Likewise.
11592 * tree-switch-conversion.c: Likewise.
11593 * tree-tailcall.c: Likewise.
11594 * tree-vect-generic.c: Likewise.
11595 * tree-vectorizer.c: Likewise.
11596 * tree-vrp.c: Likewise.
11597 * tsan.c: Likewise.
11598 * var-tracking.c: Likewise.
11599 * bt-load.c: Likewise.
11600 * cfgcleanup.c: Likewise.
11601 * combine-stack-adj.c: Likewise.
11602 * combine.c: Likewise.
11603 * compare-elim.c: Likewise.
11604 * config/epiphany/resolve-sw-modes.c: Likewise.
11605 * config/i386/i386.c: Likewise.
11606 * config/mips/mips.c: Likewise.
11607 * config/s390/s390.c: Likewise.
11608 * config/sh/sh_treg_combine.cc: Likewise.
11609 * config/sparc/sparc.c: Likewise.
11610 * dce.c: Likewise.
11611 * dse.c: Likewise.
11612 * final.c: Likewise.
11613 * ifcvt.c: Likewise.
11614 * mode-switching.c: Likewise.
11615 * passes.c: Likewise.
11616 * postreload.c: Likewise.
11617 * ree.c: Likewise.
11618 * reg-stack.c: Likewise.
11619 * regcprop.c: Likewise.
11620 * regrename.c: Likewise.
11621 * web.c: Likewise.
11622
3d224d46
RB
116232014-05-06 Richard Biener <rguenther@suse.de>
11624
11625 PR middle-end/61070
11626 * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
11627 * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
11628
e400f081
JH
116292014-05-05 Jan Hubicka <hubicka@ucw.cz>
11630
11631 PR ipa/60965
11632 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
11633
aaeaa9a9 116342014-05-05 Radovan Obradovic <robradovic@mips.com>
b6db8af6 11635 Tom de Vries <tom@codesourcery.com>
aaeaa9a9 11636
b6db8af6
UB
11637 * target.def (call_fusage_contains_non_callee_clobbers): New
11638 DEFHOOKPOD.
aaeaa9a9
RO
11639 * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
11640 Hooks to @menu.
11641 (@node Miscellaneous Register Hooks): New node.
11642 (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
11643 * doc/tm.texi: Regenerate.
11644
c2ac23fe
MP
116452014-05-05 Marek Polacek <polacek@redhat.com>
11646
11647 PR driver/61065
11648 * opts.c (common_handle_option): Call error_at instead of warning_at.
11649
0db74577
RB
116502014-05-05 Richard Biener <rguenther@suse.de>
11651
11652 * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
11653 from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
11654 under the TODO_verify_il umbrella.
11655
7e7f8713
RB
116562014-05-05 Richard Biener <rguenther@suse.de>
11657
11658 * passes.c (execute_function_todo): Move TODO_verify_flow under
11659 the TODO_verify_ul umbrella.
11660
7e2c9f14
RB
116612014-05-05 Richard Biener <rguenther@suse.de>
11662
11663 PR middle-end/61010
b6db8af6
UB
11664 * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
11665 X & CST away from a CST that is the mask of a mode.
7e2c9f14 11666
33ecf108
JBG
116672014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
11668
11669 * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
11670 int argument to enum machine_mode.
11671 (picochip_class_max_nregs): Ditto.
11672 * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
11673 (picochip_class_max_nregs): Ditto.
11674
d56a43a0
AK
116752014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11676
11677 * target.def: Add new target hook.
11678 * doc/tm.texi: Regenerate.
11679 * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
11680 * targhooks.c (default_keep_leaf_when_profiled): New function.
11681
11682 * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
11683 (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
11684
cb8f1a57
BC
116852014-05-05 Bin Cheng <bin.cheng@arm.com>
11686
11687 PR tree-optimization/60363
11688 * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
11689 (copy_phi_args): New parameters. Call get_value_locus_in_path.
11690 (update_destination_phis): New parameter.
11691 (create_edge_and_update_destination_phis): Ditto.
11692 (ssa_fix_duplicate_block_edges): Pass new arguments.
11693 (thread_single_edge): Ditto.
11694
f93bc5b3
PB
116952014-05-04 Peter Bergner <bergner@vnet.ibm.com>
11696
11697 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
11698 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
11699 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
11700 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
11701 Use RS6000_BTM_HARD_FLOAT.
11702 (BU_MISC_2): Likewise.
11703 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
11704 RS6000_BTM_HARD_FLOAT.
11705 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
11706 is explicitly used.
11707 (rs6000_invalid_builtin): Add hard floating builtin support.
11708 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
11709 hard float builtins.
11710 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
11711
579f4e64
OE
117122014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
11713
11714 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
11715 Add missing function* argument.
11716
0be7287d
RS
117172014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
11718
11719 * lra-constraints.c (valid_address_p): Move earlier in file.
11720 Add a constraint argument to the address_info version.
11721 (satisfies_memory_constraint_p): New function.
11722 (satisfies_address_constraint_p): Likewise.
11723 (process_alt_operands, curr_insn_transform): Use them.
11724 (process_address): Pass the constraint to valid_address_p when
11725 checking address operands.
11726
ad782bc9
RS
117272014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
11728
11729 * config/mips/mips.c (mips_isa_rev): New variable.
11730 (mips_set_architecture): Set it.
11731 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
11732 from mips_isa_rev.
11733 (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
11734 (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
11735 (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
11736 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
11737 (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
11738 conditions in terms of mips_isa_rev.
11739 (mips_isa_rev): Declare.
11740
45731f37
OE
117412014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
11742
11743 * config/sh/sh-mem.cc: Use tabs instead of spaces.
11744 (prob_unlikely, prob_likely): Make variables const.
11745
c61dfa63
DC
117462014-05-03 Denis Chertykov <chertykov@gmail.com>
11747
11748 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
11749
1b8da635
OE
117502014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
11751
11752 * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
11753
f6982a08
OE
117542014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
11755
11756 * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
11757 (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
11758 * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
11759 functions.
11760 (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
11761 sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
11762 sh_pass_in_reg_p.
11763 Replace usage of ROUND_REG with sh_round_reg.
11764 Use CEIL instead of ROUND_ADVANCE.
11765
0bcf70f8
OE
117662014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
11767
11768 PR target/61026
11769 * config/sh/sh.c: Include stdlib headers before everything else.
11770
95782571
JJ
117712014-05-02 Jakub Jelinek <jakub@redhat.com>
11772
11773 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
11774 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
11775 (gimplify_adjust_omp_clauses): Simd region is never
11776 directly nested in combined parallel. Instead, for linear
11777 with copyin/copyout, if in combined for simd loop, make decl
11778 firstprivate/lastprivate on OMP_FOR.
11779 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
11780 expand_omp_for_static_chunk): When setting endvar, also set
11781 fd->loop.v to the same value.
11782
e13b3dfd
RS
117832014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11784
11785 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
11786
0696116a
AL
117872014-05-02 Alan Lawrence <alan.lawrence@arm.com>
11788
11789 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
11790 expression.
11791
fb90f9f3
MP
117922014-05-02 Marek Polacek <polacek@redhat.com>
11793
11794 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
11795
153df826 117962014-05-02 Kito Cheng <kito@0xlab.org>
ed15c598
KC
11797
11798 * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
11799 to a C expression marco.
11800 * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
11801 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
11802 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
11803 * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
11804 HONOR_REG_ALLOC_ORDER.
11805 * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
11806
53c8d5a7
JBG
118072014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
11808
11809 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
11810
486c559b
JBG
118112014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
11812
11813 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
11814
944052b9
YR
118152014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
11816
11817 * tree-if-conv.c (is_cond_scalar_reduction): New function.
11818 (convert_scalar_cond_reduction): Likewise.
11819 (predicate_scalar_phi): Add recognition and transformation
11820 of simple conditioanl reduction to be vectorizable.
11821
d00887e8
MP
118222014-05-01 Marek Polacek <polacek@redhat.com>
11823
11824 PR c/43245
11825 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
11826
7211512a
AL
118272014-04-30 Alan Lawrence <alan.lawrence@arm.com>
11828
11829 * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
11830 vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
11831 vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
11832 vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
11833 vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
11834 vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
11835 vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
11836 vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
11837
e5bd20a4
JR
118382014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
11839
11840 * config/arc/arc.opt (mlra): Move comment above option name
11841 to avoid mis-parsing as language options.
11842
2cf03b11
RO
118432014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11844
11845 * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
11846 * config/sol2.h: ... here.
11847 * config/sol2-10.h: Remove.
11848
11849 * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
11850 (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
11851 (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
11852 (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
11853 (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
11854 * config/sol2.h: ... here.
11855 (SECTION_NAME_FORMAT): Don't redefine.
11856 (STARTFILE_ARCH32_SPEC): Rename to ...
11857 (STARTFILE_ARCH_SPEC): ... this.
11858 (ASM_OUTPUT_ALIGNED_COMMON): Move ...
11859 * config/sparc/sol2.h: ... here.
11860 (SECTION_NAME_FORMAT): Don't undef.
11861 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
11862 (SUBTARGET_EXTRA_SPECS): Remove.
11863 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
11864
11865 * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
11866 (MD_STARTFILE_PREFIX): Remove.
11867 (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
11868 (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
11869 (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
11870 (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
11871 (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
11872 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
11873 * config/i386/sol2.h: ... here.
11874 (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
11875 * config/i386/sol2-bi.h: Remove.
11876 * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
11877 (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
11878
11879 * config/i386/t-sol2-64: Rename to ...
11880 * config/i386/t-sol2: ... this.
11881 * config/sparc/t-sol2-64: Rename to ...
11882 * config/sparc/t-sol2: ... this.
11883
11884 * config.gcc (*-*-solaris2*): Split sol2_tm_file into
11885 sol2_tm_file_head, sol2_tm_file_tail.
11886 Include ${cpu_type}/sol2.h before sol2.h.
11887 Remove sol2-10.h.
11888 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
11889 i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
11890 Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
11891 Reflect i386/t-sol2-64 renaming.
11892 (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
11893 Reflect sparc/t-sol2-64 renaming.
11894
e9ff9caf
RB
118952014-04-30 Richard Biener <rguenther@suse.de>
11896
11897 * passes.c (execute_function_todo): Move TODO_verify_stmts
11898 and TODO_verify_ssa under the TODO_verify_il umbrella.
11899 * tree-ssa.h (verify_ssa): Adjust prototype.
11900 * tree-ssa.c (verify_ssa): Add parameter to tell whether
11901 we should verify SSA operands.
11902 * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
11903 * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
11904 whether we should verify whether not throwing stmts have EH info.
11905 * graphite-scop-detection.c (create_sese_edges): Adjust.
11906 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
11907 * tree-eh.c (lower_try_finally_switch): Do not add the
11908 default case label twice.
11909
f8ed5150
MP
119102014-04-30 Marek Polacek <polacek@redhat.com>
11911
11912 * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
11913 * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
11914 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
11915 * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
11916
7cb0403f
AL
119172014-04-29 Alan Lawrence <alan.lawrence@arm.com>
11918
11919 * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
11920 vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
11921 vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
11922 vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
11923 vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
11924 vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
11925 vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
11926 vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
11927
3979649a
DM
119282014-04-29 David Malcolm <dmalcolm@redhat.com>
11929
11930 * tree-cfg.c (dump_function_to_file): Dump the return type of
11931 functions, in a line to itself before the function body, mimicking
11932 the layout of a C function.
11933
62fb101e
JJ
119342014-04-29 Jakub Jelinek <jakub@redhat.com>
11935
11936 PR tree-optimization/60971
11937 * tree-tailcall.c (process_assignment): Reject conversions which
11938 reduce precision.
11939
3d9684ae
JG
119402014-04-29 James Greenhalgh <james.greenhalgh@arm.com>
11941
11942 * calls.c (initialize_argument_information): Always treat
11943 PUSH_ARGS_REVERSED as 1, simplify code accordingly.
11944 (expand_call): Likewise.
11945 (emit_library_call_calue_1): Likewise.
11946 * expr.c (PUSH_ARGS_REVERSED): Do not define.
11947 (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
11948 code accordingly.
11949
d77f7b19
NC
119502014-04-29 Nick Clifton <nickc@redhat.com>
11951
11952 * config/msp430/msp430.md (umulsidi): Fix typo.
11953 (mulhisi3): Enable even inside interrupt handlers.
11954 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
11955 bigger return address pushed in large mode.
11956
f8d91e80
NC
119572014-04-29 Nick Clifton <nickc@redhat.com>
11958
11959 * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
11960 (arc_init_reg_tables): Use a machine_mode enum to iterate over
11961 available modes.
11962 * config/m32r/m32r.c (init_reg_tables): Likewise.
11963 * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
11964 enum to hold the modes.
11965
e3f613cb
RB
119662014-04-29 Richard Biener <rguenther@suse.de>
11967
11968 * dominance.c (free_dominance_info): Add overload with
11969 function parameter.
11970 (dom_info_state): Likewise.
11971 (dom_info_available_p): Likewise.
11972 * basic-block.h (free_dominance_info, dom_info_state,
11973 dom_info_available_p): Declare overloads.
11974 * passes.c (execute_function_todo): Verify that verifiers
11975 don't change dominator info state. Drop dominator info
11976 for IPA pass invocations.
11977 * cgraph.c (release_function_body): Restore asserts that
11978 dominator information is released.
11979
36f291f7
PP
119802014-04-29 Patrick Palka <patrick@parcs.ath.cx>
11981
11982 * doc/invoke.texi: Fix typo.
11983 * tree-vrp.c: Fix typos.
b6db8af6 11984 * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
36f291f7 11985
d3a3182b
ZC
119862014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
11987
11988 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
11989
ba081b77
JG
119902014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
11991
11992 * config/aarch64/aarch64-builtins.c
11993 (aarch64_types_storestruct_lane_qualifiers): New.
11994 (TYPES_STORESTRUCT_LANE): Likewise.
11995 * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
11996 (st3_lane): Likewise.
11997 (st4_lane): Likewise.
11998 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
11999 (vec_store_lanesci_lane<mode>): Likewise.
12000 (vec_store_lanesxi_lane<mode>): Likewise.
12001 (aarch64_st2_lane<VQ:mode>): Likewise.
12002 (aarch64_st3_lane<VQ:mode>): Likewise.
12003 (aarch64_st4_lane<VQ:mode>): Likewise.
12004 * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
12005 * config/aarch64/arm_neon.h
12006 (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
12007 use new macro arguments.
12008 (__ST3_LANE_FUNC): Likewise.
12009 (__ST4_LANE_FUNC): Likewise.
12010 * config/aarch64/iterators.md (V_TWO_ELEM): New.
12011 (V_THREE_ELEM): Likewise.
12012 (V_FOUR_ELEM): Likewise.
12013
1bc6d43c
DM
120142014-04-28 David Malcolm <dmalcolm@redhat.com>
12015
12016 * doc/gimple.texi: Replace the description of the now-defunct
12017 union gimple_statement_d with a diagram showing the
12018 gimple_statement_base class hierarchy and its relationships to
12019 the GSS_ and GIMPLE_ enums.
12020
97e1ad78
JG
120212014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
12022
12023 * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
12024 * config/aarch64/aarch64.c
12025 (aarch64_cannot_change_mode_class): Weaken conditions.
12026 (aarch64_modes_tieable_p): New.
12027 * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
12028
bf245bf4
PH
120292014-04-28 Pat Haugen <pthaugen@us.ibm.com>
12030
12031 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
12032 (loadsync_<mode>): Change mode.
12033 (load_quadpti, store_quadpti): New.
12034 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
12035 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
12036
28151221
MJ
120372014-04-28 Martin Jambor <mjambor@suse.cz>
12038
12039 * tree-sra.c (sra_modify_expr): Generate new memory accesses with
12040 same alias type as the original statement.
12041 (subreplacement_assignment_data): New type.
12042 (handle_unscalarized_data_in_subtree): New type of parameter,
12043 generate new memory accesses with same alias type as the original
12044 statement.
12045 (load_assign_lhs_subreplacements): Likewise.
12046 (sra_modify_constructor_assign): Generate new memory accesses with
12047 same alias type as the original statement.
12048
9ba5fb43
RB
120492014-04-28 Richard Biener <rguenther@suse.de>
12050
12051 * tree-pass.h (TODO_verify_il): Define.
12052 (TODO_verify_all): Complete properly.
12053 * passes.c (execute_function_todo): Move existing loop-closed
12054 SSA verification under TODO_verify_il.
12055 (execute_one_pass): Trigger TODO_verify_il at todo-after time.
12056 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
12057 Fix tree sharing issue.
12058
22869a37
RB
120592014-04-28 Richard Biener <rguenther@suse.de>
12060
12061 PR middle-end/60092
12062 * builtins.def (DEF_C11_BUILTIN): Add.
12063 (BUILT_IN_ALIGNED_ALLOC): Likewise.
12064 * coretypes.h (enum function_class): Add function_c11_misc.
12065 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
12066 BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
12067 (call_may_clobber_ref_p_1): Likewise.
12068 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
12069 (mark_all_reaching_defs_necessary_1): Likewise.
12070 (propagate_necessity): Likewise.
12071 (eliminate_unnecessary_stmts): Likewise.
12072 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
12073
771c9501
RB
120742014-04-28 Richard Biener <rguenther@suse.de>
12075
12076 * tree-vrp.c (vrp_var_may_overflow): Remove.
12077 (vrp_visit_phi_node): Rather than bumping to +-INF possibly
12078 with overflow immediately bump to one before that value and
12079 let iteration figure out overflow status.
12080
279a935f
RB
120812014-04-28 Richard Biener <rguenther@suse.de>
12082
12083 * configure.ac: Do valgrind header checks unconditionally.
12084 Add --enable-valgrind-annotations.
12085 * system.h: Guard valgrind header inclusion with
12086 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
12087 * alloc-pool.c (pool_alloc, pool_free): Use
12088 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
12089 to guard possibly dead code.
12090 * config.in: Regenerated.
12091 * configure: Likewise.
12092
07357f2f
JL
120932014-04-28 Jeff Law <law@redhat.com>
12094
12095 PR tree-optimization/60902
12096 * tree-ssa-threadedge.c
12097 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
12098 over real defs when invalidating outputs from statements that do not
12099 produce useful outputs for threading.
12100
6c6aa8e6
RB
121012014-04-28 Richard Biener <rguenther@suse.de>
12102
12103 PR tree-optimization/60979
12104 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
12105 SCOPs that end in a block with a successor with abnormal
12106 predecessors.
12107
2cbf2d95
RB
121082014-04-28 Richard Biener <rguenther@suse.de>
12109
12110 * tree-pass.h (execute_pass_list): Adjust prototype.
b6db8af6 12111 * passes.c (pass_manager::execute_early_local_passes): Adjust.
2cbf2d95
RB
12112 (do_per_function): Change callback signature, push all actual
12113 work to the callbals.
12114 (do_per_function_toporder): Likewise.
12115 (execute_function_dump): Adjust.
12116 (execute_function_todo): Likewise.
12117 (clear_last_verified): Likewise.
12118 (verify_curr_properties): Likewise.
12119 (update_properties_after_pass): Likewise.
12120 (execute_pass_list_1): Split out from ...
12121 (execute_pass_list): ... here. Adjust.
12122 (execute_ipa_pass_list): Likewise.
12123 * cgraphunit.c (cgraph_add_new_function): Adjust.
12124 (analyze_function): Likewise.
12125 (expand_function): Likewise.
12126 * cgraph.c (release_function_body): Free dominance info
12127 here instead of asserting it was magically freed elsewhere.
12128
ba21a04a
EB
121292014-04-28 Eric Botcazou <ebotcazou@adacore.com>
12130
12131 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
12132 * configure: Regenerate.
12133 * config/sparc/sparc.opt (muser-mode): New option.
12134 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
12135 for LEON3.
12136 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
12137 * doc/invoke.texi (SPARC options): Document -muser-mode.
12138
f956adb9
RS
121392014-04-27 Richard Sandiford <rdsandiford@googlemail.com>
12140
12141 * cselib.c (find_slot_memmode): Delete.
12142 (cselib_hasher): Change compare_type to a struct.
12143 (cselib_hasher::equal): Update accordingly. Don't expect wrapped
12144 constants.
12145 (preserve_constants_and_equivs): Adjust for new compare_type.
12146 (cselib_find_slot): Likewise. Take the mode of the rtx as argument.
12147 (wrap_constant): Delete.
12148 (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
12149
167c3e96
MT
121502014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
12151
12152 * doc/install.texi (Building with profile feedback): Remove
12153 outdated sentence.
12154
4148ef5f
TV
121552014-04-26 Tom de Vries <tom@codesourcery.com>
12156
12157 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
12158 array accesses.
12159
8d8ffd86
CC
121602014-04-25 Cary Coutant <ccoutant@google.com>
12161
b6db8af6 12162 PR debug/60929
8d8ffd86 12163 * dwarf2out.c (should_move_die_to_comdat): A type definition
b6db8af6
UB
12164 can contain a subprogram definition, but don't move it to a
12165 comdat unit.
8d8ffd86 12166 (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
b6db8af6
UB
12167 (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
12168 from original DIE.
8d8ffd86
CC
12169 (clone_tree_hash): Rename to...
12170 (clone_tree_partial): ...this; change callers. Copy
b6db8af6 12171 DW_TAG_subprogram DIEs as declarations.
8d8ffd86 12172 (copy_decls_walk): Don't copy children of a declaration into a
b6db8af6 12173 type unit.
8d8ffd86 12174
255671b0
L
121752014-04-25 H.J. Lu <hongjiu.lu@intel.com>
12176
12177 PR target/60969
12178 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
12179 alternative 12.
12180
10432733
JW
121812014-04-25 Jiong Wang <jiong.wang@arm.com>
12182
12183 * config/arm/predicates.md (call_insn_operand): Add long_call check.
12184 * config/arm/arm.md (sibcall, sibcall_value): Force the address to
12185 reg for long_call.
12186 * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
12187 restriction.
12188
0e4c913f
KT
121892014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12190
b6db8af6 12191 * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
0e4c913f 12192
61ba7329
BS
121932014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12194
12195 PR tree-optimization/60930
12196 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
12197 creating a multiply candidate by folding two constant
12198 multiplicands when the result overflows.
12199
2b332829
JJ
122002014-04-25 Jakub Jelinek <jakub@redhat.com>
12201
12202 PR tree-optimization/60960
12203 * tree-vect-generic.c (expand_vector_operation): Only call
12204 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
12205
97891c11
TV
122062014-04-25 Tom de Vries <tom@codesourcery.com>
12207
12208 * expr.c (clobber_reg_mode): New function.
12209 * expr.h (clobber_reg): New function.
12210
3ee634fd
TV
122112014-04-25 Tom de Vries <tom@codesourcery.com>
12212
12213 * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
12214 clobbers.
12215
356bf593 122162014-04-25 Radovan Obradovic <robradovic@mips.com>
b6db8af6 12217 Tom de Vries <tom@codesourcery.com>
356bf593
RO
12218
12219 * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
12220 handle.
12221 * rtl.h (find_all_hard_reg_sets): Add bool parameter.
12222 * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
12223 new argument to find_all_hard_reg_sets call.
12224
fe65a7ed
KT
122252014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12226
12227 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
12228 Use HOST_WIDE_INT_C for mask literal.
12229 (aarch_rev16_shleft_mask_imm_p): Likewise.
12230
b357d40d
EB
122312014-04-25 Eric Botcazou <ebotcazou@adacore.com>
12232
12233 PR target/60941
12234 * config/sparc/sparc.md (ashlsi3_extend): Delete.
12235
30c0a59a
MG
122362014-04-25 Marc Glisse <marc.glisse@inria.fr>
12237
12238 PR preprocessor/56540
12239 * config/i386/i386-c.c (ix86_target_macros): Define
12240 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
12241
c02f59e2
RO
122422014-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12243
12244 * configure.ac (tga_func): Remove.
12245 (LIB_TLS_SPEC): Remove.
12246 * configure: Regenerate.
12247 * config.in: Regenerate.
12248 * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
12249
92b3326b
RB
122502014-04-25 Richard Biener <rguenther@suse.de>
12251
12252 PR ipa/60912
12253 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
12254 call stmt use/clobber sets during stmt walk instead of
12255 walking the possibly incomplete set of caller edges.
12256
78422fb1
RB
122572014-04-25 Richard Biener <rguenther@suse.de>
12258
12259 PR ipa/60911
12260 * passes.c (apply_ipa_transforms): Inline into only caller ...
12261 (execute_one_pass): ... here. Properly bring in function
12262 bodies for nodes we want to apply IPA transforms to.
12263
56f8faae
CH
122642014-04-24 Cong Hou <congh@google.com>
12265
12266 PR tree-optimization/60896
12267 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
12268 all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
12269 (vect_mark_pattern_stmts): Set the def type of all statements in
12270 PATTERN_DEF_SEQ as vect_internal_def.
12271
06b39289
MM
122722014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
12273
12274 * doc/extend.texi (PowerPC Built-in Functions): Document new
b6db8af6 12275 powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
06b39289
MM
12276 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
12277
12278 * config/rs6000/predicates.md (const_0_to_3_operand): New
12279 predicate to match 0..3 integer constants.
12280
12281 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
12282 to support adding miscellaneous builtin functions.
12283 (BU_DFP_MISC_2): Likewise.
12284 (BU_P7_MISC_1): Likewise.
12285 (BU_P7_MISC_2): Likewise.
12286 (BU_P8V_MISC_3): Likewise.
12287 (BU_MISC_1): Likewise.
12288 (BU_MISC_2): Likewise.
12289 (DIVWE): Add extended divide builtin functions.
12290 (DIVWEO): Likewise.
12291 (DIVWEU): Likewise.
12292 (DIVWEUO): Likewise.
12293 (DIVDE): Likewise.
12294 (DIVDEO): Likewise.
12295 (DIVDEU): Likewise.
12296 (DIVDEUO): Likewise.
12297 (DXEX): Add decimal floating-point builtin functions.
12298 (DXEXQ): Likewise.
12299 (DDEDPD): Likewise.
12300 (DDEDPDQ): Likewise.
12301 (DENBCD): Likewise.
12302 (DENBCDQ): Likewise.
12303 (DIEX): Likewise.
12304 (DIEXQ): Likewise.
12305 (DSCLI): Likewise.
12306 (DSCLIQ): Likewise.
12307 (DSCRI): Likewise.
12308 (DSCRIQ): Likewise.
12309 (CDTBCD): Add new BCD builtin functions.
12310 (CBCDTD): Likewise.
12311 (ADDG6S): Likewise.
12312 (BCDADD): Likewise.
12313 (BCDADD_LT): Likewise.
12314 (BCDADD_EQ): Likewise.
12315 (BCDADD_GT): Likewise.
12316 (BCDADD_OV): Likewise.
12317 (BCDSUB): Likewise.
12318 (BCDSUB_LT): Likewise.
12319 (BCDSUB_EQ): Likewise.
12320 (BCDSUB_GT): Likewise.
12321 (BCDSUB_OV): Likewise.
12322 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
12323 (UNPACK_TD): Likewise.
12324 (PACK_TF): Likewise.
12325 (UNPACK_TF): Likewise.
12326 (UNPACK_TF_0): Likewise.
12327 (UNPACK_TF_1): Likewise.
12328 (PACK_V1TI): Likewise.
12329 (UNPACK_V1TI): Likewise.
12330
12331 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
12332 support for decimal floating point builtin functions.
12333 (rs6000_expand_ternop_builtin): Add checks for the new builtin
12334 functions that take constant arguments.
b6db8af6 12335 (rs6000_invalid_builtin): Add decimal floating point builtin support.
06b39289
MM
12336 (rs6000_init_builtins): Setup long double, _Decimal64, and
12337 _Decimal128 types for new builtin functions.
12338 (builtin_function_type): Set the unsigned flags appropriately for
12339 the new builtin functions.
12340 (rs6000_opt_masks): Add support for decimal floating point builtin
12341 functions.
12342
12343 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
12344 floating point builtin functions.
12345 (RS6000_BTM_COMMON): Likewise.
12346 (RS6000_BTI_long_double): Likewise.
12347 (RS6000_BTI_dfloat64): Likewise.
12348 (RS6000_BTI_dfloat128): Likewise.
12349 (long_double_type_internal_node): Likewise.
12350 (dfloat64_type_internal_node): Likewise.
12351 (dfloat128_type_internal_node): Likewise.
12352
12353 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
12354 2.07 bcd arithmetic instructions.
12355 (UNSPEC_BCDSUB): Likewise.
12356 (UNSPEC_BCD_OVERFLOW): Likewise.
12357 (UNSPEC_BCD_ADD_SUB): Likewise.
12358 (bcd_add_sub): Likewise.
12359 (BCD_TEST): Likewise.
12360 (bcd<bcd_add_sub>): Likewise.
12361 (bcd<bcd_add_sub>_test): Likewise.
12362 (bcd<bcd_add_sub>_test2): Likewise.
12363 (bcd<bcd_add_sub>_<code>): Likewise.
12364 (peephole2 for combined bcd ops): Likewise.
12365
12366 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
12367 decimal floating point builtin functions.
12368 (UNSPEC_DENBCD): Likewise.
12369 (UNSPEC_DXEX): Likewise.
12370 (UNSPEC_DIEX): Likewise.
12371 (UNSPEC_DSCLI): Likewise.
12372 (UNSPEC_DSCRI): Likewise.
12373 (D64_D128): Likewise.
12374 (dfp_suffix): Likewise.
12375 (dfp_ddedpd_<mode>): Likewise.
12376 (dfp_denbcd_<mode>): Likewise.
12377 (dfp_dxex_<mode>): Likewise.
12378 (dfp_diex_<mode>): Likewise.
12379 (dfp_dscli_<mode>): Likewise.
12380 (dfp_dscri_<mode>): Likewise.
12381
12382 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
12383 builtin functions.
12384 (UNSPEC_CDTBCD): Likewise.
12385 (UNSPEC_CBCDTD): Likewise.
b6db8af6 12386 (UNSPEC_DIVE): Add support for new extended divide builtin functions.
06b39289
MM
12387 (UNSPEC_DIVEO): Likewise.
12388 (UNSPEC_DIVEU): Likewise.
12389 (UNSPEC_DIVEUO): Likewise.
12390 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
12391 pack/unpack 128-bit types.
12392 (UNSPEC_PACK_128BIT): Likewise.
12393 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
12394 (udiv<mode>3): Use idiv_ldiv mode attribute.
12395 (div<mode>3): Likewise.
12396 (addg6s): Add new BCD builtin functions.
12397 (cdtbcd): Likewise.
12398 (cbcdtd): Likewise.
b6db8af6 12399 (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
06b39289
MM
12400 (div_extend): Likewise.
12401 (div<div_extend>_<mode>"): Likewise.
12402 (FP128_64): Add support for new builtin functions to pack/unpack
12403 128-bit types.
12404 (unpack<mode>): Likewise.
12405 (unpacktf_0): Likewise.
12406 (unpacktf_1): Likewise.
12407 (unpack<mode>_dm): Likewise.
12408 (unpack<mode>_nodm): Likewise.
12409 (pack<mode>): Likewise.
12410 (unpackv1ti): Likewise.
12411 (packv1ti): Likewise.
12412
6e4f81db
V
124132014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
12414
12415 * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
12416 is disabled.
12417
f7468577
JJ
124182014-04-24 Jakub Jelinek <jakub@redhat.com>
12419
12420 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
12421 * gimplify.c (omp_is_private): Change last argument's type to int.
12422 Only diagnose lastprivate if the simd argument is 1, only diagnose
12423 linear if the simd argument is 2.
12424 (gimplify_omp_for): Adjust omp_is_private callers. When adding
12425 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
12426 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
12427 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
12428 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
12429 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
12430 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
12431 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
12432 * tree-nested.c (convert_nonlocal_omp_clauses,
12433 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
12434
2f7ac5ce
JL
124352014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
12436
12437 PR target/60822
12438 * config/m68k/m68k.md (extendplussidi): Don't allow memory for
12439 operand 1.
12440
dcaaa5a0
DP
124412014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
12442
12443 * flag-types.h (enum ivar_visibility): Add.
12444
78c7d18e
TS
124452014-04-24 Trevor Saunders <tsaunders@mozilla.com>
12446
12447 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
12448 function * argument.
12449
fbbde65e
AL
124502014-04-24 Alan Lawrence <alan.lawrence@arm.com>
12451
12452 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
12453
4f660b15 124542014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 12455 Tom de Vries <tom@codesourcery.com>
4f660b15
RO
12456
12457 * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
12458 * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
12459 reg-note.
12460 * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
12461 * emit-rtl.c (try_split): Same.
12462
d996e61a 124632014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 12464 Tom de Vries <tom@codesourcery.com>
d996e61a
RO
12465
12466 * common.opt (fuse-caller-save): New option.
12467
bbcc9c00
TB
124682014-04-24 Tejas Belagod <tejas.belagod@arm.com>
12469
b6db8af6
UB
12470 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
12471 elements for big-endian.
bbcc9c00 12472
d2d11532
RB
124732014-04-24 Richard Biener <rguenther@suse.de>
12474
12475 * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
12476 during TER and instead use the sepops interface for expanding
12477 non-GIMPLE_SINGLE_RHS.
12478
8117ef98
RO
124792014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12480
12481 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
12482 if not HAVE_AS_IX86_DIFF_SECT_DELTA.
12483
ab0afae3
RO
124842014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12485
12486 * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
12487 assembler 64-bit option.
12488 * configure: Regenerate.
12489
683e3333
KT
124902014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12491
12492 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
12493 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
12494 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
12495 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
12496 (TARGET_CRYPTO): Take TARGET_SIMD into account.
12497
c7f28cd5
KT
124982014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12499
12500 * config/aarch64/aarch64-builtins.c
12501 (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
12502 BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
12503 * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
12504 * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
12505 builtins.
12506 * config/aarch64/iterator.md (VDQHSD): New mode iterator.
12507 (Vrevsuff): New mode attribute.
12508
b0419491
TG
125092014-04-24 Terry Guo <terry.guo@arm.com>
12510
12511 * config/arm/arm.h (machine_function): Define variable
12512 after_arm_reorg here.
12513 * config/arm/arm.c (after_arm_reorg): Remove the definition.
12514 (arm_split_constant): Update the way to access variable
12515 after_arm_reorg.
12516 (arm_reorg): Ditto.
12517 (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
12518
74e4d71a
TV
125192014-04-23 Tom de Vries <tom@codesourcery.com>
12520
12521 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
12522
7de90a6c
DM
125232014-04-23 David Malcolm <dmalcolm@redhat.com>
12524
12525 * is-a.h: Update comments to reflect the following changes to the
12526 "pointerness" of the API, making the template parameter match the
12527 return type, allowing use of is-a.h with typedefs of pointers.
12528 (is_a_helper::cast): Return a T rather then a pointer to a T, so
12529 that the return type matches the parameter to the is_a_helper.
12530 (as_a): Likewise.
12531 (dyn_cast): Likewise.
12532
12533 * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
12534 pointer from the is-a.h API.
12535
12536 * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
12537 (is_a_helper <cgraph_node *>::test): ...this, matching change to
12538 is-a.h API.
12539 (is_a_helper <varpool_node>::test): Likewise, convert to...
12540 (is_a_helper <varpool_node *>::test): ...this.
12541
12542 (varpool_first_variable): Update for removal of implicit pointer
12543 from the is-a.h API.
12544 (varpool_next_variable): Likewise.
12545 (varpool_first_static_initializer): Likewise.
12546 (varpool_next_static_initializer): Likewise.
12547 (varpool_first_defined_variable): Likewise.
12548 (varpool_next_defined_variable): Likewise.
12549 (cgraph_first_defined_function): Likewise.
12550 (cgraph_next_defined_function): Likewise.
12551 (cgraph_first_function): Likewise.
12552 (cgraph_next_function): Likewise.
12553 (cgraph_first_function_with_gimple_body): Likewise.
12554 (cgraph_next_function_with_gimple_body): Likewise.
12555 (cgraph_alias_target): Likewise.
12556 (varpool_alias_target): Likewise.
12557 (cgraph_function_or_thunk_node): Likewise.
12558 (varpool_variable_node): Likewise.
12559 (symtab_real_symbol_p): Likewise.
12560 * cgraphunit.c (referred_to_p): Likewise.
12561 (analyze_functions): Likewise.
12562 (handle_alias_pairs): Likewise.
12563 * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
12564 * gimple-ssa.h (gimple_vuse_op): Likewise.
12565 (gimple_vdef_op): Likewise.
12566 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
12567 * gimple.c (gimple_build_asm_1): Likewise.
12568 (gimple_build_try): Likewise.
12569 (gimple_build_resx): Likewise.
12570 (gimple_build_eh_dispatch): Likewise.
12571 (gimple_build_omp_for): Likewise.
12572 (gimple_omp_for_set_clauses): Likewise.
12573
12574 * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
12575 (is_a_helper <gimple_statement_asm *>::test): ...this.
12576 (is_a_helper <gimple_statement_bind>::test): Convert to...
12577 (is_a_helper <gimple_statement_bind *>::test): ...this.
12578 (is_a_helper <gimple_statement_call>::test): Convert to...
12579 (is_a_helper <gimple_statement_call *>::test): ...this.
12580 (is_a_helper <gimple_statement_catch>::test): Convert to...
12581 (is_a_helper <gimple_statement_catch *>::test): ...this.
12582 (is_a_helper <gimple_statement_resx>::test): Convert to...
12583 (is_a_helper <gimple_statement_resx *>::test): ...this.
12584 (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
12585 (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
12586 (is_a_helper <gimple_statement_eh_else>::test): Convert to...
12587 (is_a_helper <gimple_statement_eh_else *>::test): ...this.
12588 (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
12589 (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
12590 (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
12591 (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
12592 (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
12593 (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
12594 (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
12595 (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
12596 (is_a_helper <gimple_statement_omp_return>::test): Convert to...
12597 (is_a_helper <gimple_statement_omp_return *>::test): ...this.
12598 (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
12599 (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
12600 (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
12601 (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
12602 (is_a_helper <gimple_statement_omp_for>::test): Convert to...
12603 (is_a_helper <gimple_statement_omp_for *>::test): ...this.
12604 (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
12605 (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
12606 (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
12607 (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
12608 (is_a_helper <gimple_statement_omp_target>::test): Convert to...
12609 (is_a_helper <gimple_statement_omp_target *>::test): ...this.
12610 (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
12611 (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
12612 (is_a_helper <gimple_statement_omp_single>::test): Convert to...
12613 (is_a_helper <gimple_statement_omp_single *>::test): ...this.
12614 (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
12615 (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
12616 (is_a_helper <gimple_statement_omp_task>::test): Convert to...
12617 (is_a_helper <gimple_statement_omp_task *>::test): ...this.
12618 (is_a_helper <gimple_statement_phi>::test): Convert to...
12619 (is_a_helper <gimple_statement_phi *>::test): ...this.
12620 (is_a_helper <gimple_statement_transaction>::test): Convert to...
12621 (is_a_helper <gimple_statement_transaction *>::test): ...this.
12622 (is_a_helper <gimple_statement_try>::test): Convert to...
12623 (is_a_helper <gimple_statement_try *>::test): ...this.
12624 (is_a_helper <gimple_statement_wce>::test): Convert to...
12625 (is_a_helper <gimple_statement_wce *>::test): ...this.
12626 (is_a_helper <const gimple_statement_asm>::test): Convert to...
12627 (is_a_helper <const gimple_statement_asm *>::test): ...this.
12628 (is_a_helper <const gimple_statement_bind>::test): Convert to...
12629 (is_a_helper <const gimple_statement_bind *>::test): ...this.
12630 (is_a_helper <const gimple_statement_call>::test): Convert to...
12631 (is_a_helper <const gimple_statement_call *>::test): ...this.
12632 (is_a_helper <const gimple_statement_catch>::test): Convert to...
12633 (is_a_helper <const gimple_statement_catch *>::test): ...this.
12634 (is_a_helper <const gimple_statement_resx>::test): Convert to...
12635 (is_a_helper <const gimple_statement_resx *>::test): ...this.
b6db8af6
UB
12636 (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
12637 (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
12638 (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
7de90a6c
DM
12639 (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
12640 (is_a_helper <const gimple_statement_omp_atomic_load>::test):
12641 Convert to...
12642 (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
12643 ...this.
12644 (is_a_helper <const gimple_statement_omp_atomic_store>::test):
12645 Convert to...
12646 (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
12647 ...this.
b6db8af6 12648 (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
7de90a6c
DM
12649 (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
12650 (is_a_helper <const gimple_statement_omp_continue>::test): Convert
12651 to...
12652 (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
12653 (is_a_helper <const gimple_statement_omp_critical>::test): Convert
12654 to...
12655 (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
12656 (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
12657 (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
b6db8af6 12658 (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
7de90a6c
DM
12659 (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
12660 (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
12661 to...
12662 (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
b6db8af6 12663 (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
7de90a6c
DM
12664 (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
12665 (is_a_helper <const gimple_statement_omp_sections>::test): Convert
12666 to...
12667 (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
b6db8af6 12668 (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
7de90a6c 12669 (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
b6db8af6 12670 (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
7de90a6c 12671 (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
b6db8af6 12672 (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
7de90a6c
DM
12673 (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
12674 (is_a_helper <const gimple_statement_phi>::test): Convert to...
12675 (is_a_helper <const gimple_statement_phi *>::test): ...this.
b6db8af6 12676 (is_a_helper <const gimple_statement_transaction>::test): Convert to...
7de90a6c 12677 (is_a_helper <const gimple_statement_transaction *>::test): ...this.
b6db8af6 12678 (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
7de90a6c
DM
12679 (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
12680 (is_a_helper <gimple_statement_with_ops>::test): Convert to...
12681 (is_a_helper <gimple_statement_with_ops *>::test): ...this.
b6db8af6
UB
12682 (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
12683 to...
7de90a6c
DM
12684 (is_a_helper <const gimple_statement_with_memory_ops *>::test):
12685 ...this.
b6db8af6 12686 (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
7de90a6c
DM
12687 (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
12688
12689 (gimple_use_ops): Update for removal of implicit pointer from the
12690 is-a.h API.
12691 (gimple_set_use_ops): Likewise.
12692 (gimple_vuse): Likewise.
12693 (gimple_vdef): Likewise.
12694 (gimple_vuse_ptr): Likewise.
12695 (gimple_vdef_ptr): Likewise.
12696 (gimple_set_vuse): Likewise.
12697 (gimple_set_vdef): Likewise.
12698 (gimple_omp_return_set_lhs): Likewise.
12699 (gimple_omp_return_lhs): Likewise.
12700 (gimple_omp_return_lhs_ptr): Likewise.
12701 (gimple_call_fntype): Likewise.
12702 (gimple_call_set_fntype): Likewise.
12703 (gimple_call_set_internal_fn): Likewise.
12704 (gimple_call_use_set): Likewise.
12705 (gimple_call_clobber_set): Likewise.
12706 (gimple_bind_vars): Likewise.
12707 (gimple_bind_set_vars): Likewise.
12708 (gimple_bind_body_ptr): Likewise.
12709 (gimple_bind_set_body): Likewise.
12710 (gimple_bind_add_stmt): Likewise.
12711 (gimple_bind_block): Likewise.
12712 (gimple_bind_set_block): Likewise.
12713 (gimple_asm_ninputs): Likewise.
12714 (gimple_asm_noutputs): Likewise.
12715 (gimple_asm_nclobbers): Likewise.
12716 (gimple_asm_nlabels): Likewise.
12717 (gimple_asm_input_op): Likewise.
12718 (gimple_asm_input_op_ptr): Likewise.
12719 (gimple_asm_output_op): Likewise.
12720 (gimple_asm_output_op_ptr): Likewise.
12721 (gimple_asm_set_output_op): Likewise.
12722 (gimple_asm_clobber_op): Likewise.
12723 (gimple_asm_set_clobber_op): Likewise.
12724 (gimple_asm_label_op): Likewise.
12725 (gimple_asm_set_label_op): Likewise.
12726 (gimple_asm_string): Likewise.
12727 (gimple_catch_types): Likewise.
12728 (gimple_catch_types_ptr): Likewise.
12729 (gimple_catch_handler_ptr): Likewise.
12730 (gimple_catch_set_types): Likewise.
12731 (gimple_catch_set_handler): Likewise.
12732 (gimple_eh_filter_types): Likewise.
12733 (gimple_eh_filter_types_ptr): Likewise.
12734 (gimple_eh_filter_failure_ptr): Likewise.
12735 (gimple_eh_filter_set_types): Likewise.
12736 (gimple_eh_filter_set_failure): Likewise.
12737 (gimple_eh_must_not_throw_fndecl): Likewise.
12738 (gimple_eh_must_not_throw_set_fndecl): Likewise.
12739 (gimple_eh_else_n_body_ptr): Likewise.
12740 (gimple_eh_else_e_body_ptr): Likewise.
12741 (gimple_eh_else_set_n_body): Likewise.
12742 (gimple_eh_else_set_e_body): Likewise.
12743 (gimple_try_eval_ptr): Likewise.
12744 (gimple_try_cleanup_ptr): Likewise.
12745 (gimple_try_set_eval): Likewise.
12746 (gimple_try_set_cleanup): Likewise.
12747 (gimple_wce_cleanup_ptr): Likewise.
12748 (gimple_wce_set_cleanup): Likewise.
12749 (gimple_phi_capacity): Likewise.
12750 (gimple_phi_num_args): Likewise.
12751 (gimple_phi_result): Likewise.
12752 (gimple_phi_result_ptr): Likewise.
12753 (gimple_phi_set_result): Likewise.
12754 (gimple_phi_arg): Likewise.
12755 (gimple_phi_set_arg): Likewise.
12756 (gimple_resx_region): Likewise.
12757 (gimple_resx_set_region): Likewise.
12758 (gimple_eh_dispatch_region): Likewise.
12759 (gimple_eh_dispatch_set_region): Likewise.
12760 (gimple_omp_critical_name): Likewise.
12761 (gimple_omp_critical_name_ptr): Likewise.
12762 (gimple_omp_critical_set_name): Likewise.
12763 (gimple_omp_for_clauses): Likewise.
12764 (gimple_omp_for_clauses_ptr): Likewise.
12765 (gimple_omp_for_set_clauses): Likewise.
12766 (gimple_omp_for_collapse): Likewise.
12767 (gimple_omp_for_index): Likewise.
12768 (gimple_omp_for_index_ptr): Likewise.
12769 (gimple_omp_for_set_index): Likewise.
12770 (gimple_omp_for_initial): Likewise.
12771 (gimple_omp_for_initial_ptr): Likewise.
12772 (gimple_omp_for_set_initial): Likewise.
12773 (gimple_omp_for_final): Likewise.
12774 (gimple_omp_for_final_ptr): Likewise.
12775 (gimple_omp_for_set_final): Likewise.
12776 (gimple_omp_for_incr): Likewise.
12777 (gimple_omp_for_incr_ptr): Likewise.
12778 (gimple_omp_for_set_incr): Likewise.
12779 (gimple_omp_for_pre_body_ptr): Likewise.
12780 (gimple_omp_for_set_pre_body): Likewise.
12781 (gimple_omp_parallel_clauses): Likewise.
12782 (gimple_omp_parallel_clauses_ptr): Likewise.
12783 (gimple_omp_parallel_set_clauses): Likewise.
12784 (gimple_omp_parallel_child_fn): Likewise.
12785 (gimple_omp_parallel_child_fn_ptr): Likewise.
12786 (gimple_omp_parallel_set_child_fn): Likewise.
12787 (gimple_omp_parallel_data_arg): Likewise.
12788 (gimple_omp_parallel_data_arg_ptr): Likewise.
12789 (gimple_omp_parallel_set_data_arg): Likewise.
12790 (gimple_omp_task_clauses): Likewise.
12791 (gimple_omp_task_clauses_ptr): Likewise.
12792 (gimple_omp_task_set_clauses): Likewise.
12793 (gimple_omp_task_child_fn): Likewise.
12794 (gimple_omp_task_child_fn_ptr): Likewise.
12795 (gimple_omp_task_set_child_fn): Likewise.
12796 (gimple_omp_task_data_arg): Likewise.
12797 (gimple_omp_task_data_arg_ptr): Likewise.
12798 (gimple_omp_task_set_data_arg): Likewise.
12799 (gimple_omp_taskreg_clauses): Likewise.
12800 (gimple_omp_taskreg_clauses_ptr): Likewise.
12801 (gimple_omp_taskreg_set_clauses): Likewise.
12802 (gimple_omp_taskreg_child_fn): Likewise.
12803 (gimple_omp_taskreg_child_fn_ptr): Likewise.
12804 (gimple_omp_taskreg_set_child_fn): Likewise.
12805 (gimple_omp_taskreg_data_arg): Likewise.
12806 (gimple_omp_taskreg_data_arg_ptr): Likewise.
12807 (gimple_omp_taskreg_set_data_arg): Likewise.
12808 (gimple_omp_task_copy_fn): Likewise.
12809 (gimple_omp_task_copy_fn_ptr): Likewise.
12810 (gimple_omp_task_set_copy_fn): Likewise.
12811 (gimple_omp_task_arg_size): Likewise.
12812 (gimple_omp_task_arg_size_ptr): Likewise.
12813 (gimple_omp_task_set_arg_size): Likewise.
12814 (gimple_omp_task_arg_align): Likewise.
12815 (gimple_omp_task_arg_align_ptr): Likewise.
12816 (gimple_omp_task_set_arg_align): Likewise.
12817 (gimple_omp_single_clauses): Likewise.
12818 (gimple_omp_single_clauses_ptr): Likewise.
12819 (gimple_omp_single_set_clauses): Likewise.
12820 (gimple_omp_target_clauses): Likewise.
12821 (gimple_omp_target_clauses_ptr): Likewise.
12822 (gimple_omp_target_set_clauses): Likewise.
12823 (gimple_omp_target_child_fn): Likewise.
12824 (gimple_omp_target_child_fn_ptr): Likewise.
12825 (gimple_omp_target_set_child_fn): Likewise.
12826 (gimple_omp_target_data_arg): Likewise.
12827 (gimple_omp_target_data_arg_ptr): Likewise.
12828 (gimple_omp_target_set_data_arg): Likewise.
12829 (gimple_omp_teams_clauses): Likewise.
12830 (gimple_omp_teams_clauses_ptr): Likewise.
12831 (gimple_omp_teams_set_clauses): Likewise.
12832 (gimple_omp_sections_clauses): Likewise.
12833 (gimple_omp_sections_clauses_ptr): Likewise.
12834 (gimple_omp_sections_set_clauses): Likewise.
12835 (gimple_omp_sections_control): Likewise.
12836 (gimple_omp_sections_control_ptr): Likewise.
12837 (gimple_omp_sections_set_control): Likewise.
12838 (gimple_omp_for_set_cond): Likewise.
12839 (gimple_omp_for_cond): Likewise.
12840 (gimple_omp_atomic_store_set_val): Likewise.
12841 (gimple_omp_atomic_store_val): Likewise.
12842 (gimple_omp_atomic_store_val_ptr): Likewise.
12843 (gimple_omp_atomic_load_set_lhs): Likewise.
12844 (gimple_omp_atomic_load_lhs): Likewise.
12845 (gimple_omp_atomic_load_lhs_ptr): Likewise.
12846 (gimple_omp_atomic_load_set_rhs): Likewise.
12847 (gimple_omp_atomic_load_rhs): Likewise.
12848 (gimple_omp_atomic_load_rhs_ptr): Likewise.
12849 (gimple_omp_continue_control_def): Likewise.
12850 (gimple_omp_continue_control_def_ptr): Likewise.
12851 (gimple_omp_continue_set_control_def): Likewise.
12852 (gimple_omp_continue_control_use): Likewise.
12853 (gimple_omp_continue_control_use_ptr): Likewise.
12854 (gimple_omp_continue_set_control_use): Likewise.
12855 (gimple_transaction_body_ptr): Likewise.
12856 (gimple_transaction_label): Likewise.
12857 (gimple_transaction_label_ptr): Likewise.
12858 (gimple_transaction_set_body): Likewise.
12859 (gimple_transaction_set_label): Likewise.
12860
12861 * ipa-devirt.c (build_type_inheritance_graph): Likewise.
12862 * ipa-inline-analysis.c (inline_write_summary): Likewise.
12863 * ipa-ref.c (ipa_record_reference): Likewise.
12864 * ipa-reference.c (analyze_function): Likewise.
12865 (ipa_reference_write_optimization_summary): Likewise.
12866 * ipa.c (symtab_remove_unreachable_nodes): Likewise.
12867 (address_taken_from_non_vtable_p): Likewise.
12868 (comdat_can_be_unshared_p_1): Likewise.
12869 * lto-cgraph.c (lto_output_ref): Likewise.
12870 (add_references): Likewise.
12871 (compute_ltrans_boundary): Likewise.
12872 (output_symtab): Likewise.
12873 (input_ref): Likewise.
12874 (input_cgraph_1): Likewise.
12875 (output_cgraph_opt_summary): Likewise.
12876 * lto-streamer-out.c (lto_output): Likewise.
12877 (output_symbol_p): Likewise.
12878 * lto-streamer.h (lsei_next_function_in_partition): Likewise.
12879 (lsei_start_function_in_partition): Likewise.
12880 (lsei_next_variable_in_partition): Likewise.
12881 (lsei_start_variable_in_partition): Likewise.
12882 * symtab.c (insert_to_assembler_name_hash): Likewise.
12883 (unlink_from_assembler_name_hash): Likewise.
12884 (symtab_unregister_node): Likewise.
12885 (symtab_remove_node): Likewise.
12886 (dump_symtab_node): Likewise.
12887 (verify_symtab_base): Likewise.
12888 (verify_symtab_node): Likewise.
12889 (symtab_make_decl_local): Likewise.
12890 (symtab_alias_ultimate_target): Likewise.
12891 (symtab_resolve_alias): Likewise.
12892 (symtab_get_symbol_partitioning_class): Likewise.
12893 * tree-phinodes.c (allocate_phi_node): Likewise.
12894 (reserve_phi_args_for_new_edge): Likewise.
12895 (remove_phi_args): Likewise.
12896 * varpool.c (varpool_node_for_asm): Likewise.
12897 (varpool_remove_unreferenced_decls): Likewise.
12898
9219922e
JL
128992014-04-23 Jeff Law <law@redhat.com>
12900
12901 PR tree-optimization/60902
12902 * tree-ssa-threadedge.c
12903 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
12904 invalidate outputs from statements that do not produce useful
12905 outputs for threading.
12906
b6db8af6 129072014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
36e17020
VK
12908
12909 * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
12910 (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
12911 machine descriptions for Stack Smashing Protector.
12912
57b77d46
RE
129132014-04-23 Richard Earnshaw <rearnsha@arm.com>
12914
12915 * aarch64.md (<optab>_rol<mode>3): New pattern.
12916 (<optab>_rolsi3_uxtw): Likewise.
12917 * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
12918
984c2f30
JG
129192014-04-23 James Greenhalgh <james.greenhalgh@arm.com>
12920
12921 * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
12922 (arm_cortex_a12_tune): Likewise.
12923
18b42b2a
KT
129242014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12925
12926 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
12927
ea1e9168
KT
129282014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12929
12930 * config/arm/arm.md (arm_rev16si2): New pattern.
12931 (arm_rev16si2_alt): Likewise.
12932 * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
12933
f7d5cf8d
KT
129342014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12935
b6db8af6
UB
12936 * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
12937 (rev16<mode>2_alt): Likewise.
12938 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
12939 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
12940 (aarch_rev16_shleft_mask_imm_p): Likewise.
12941 (aarch_rev16_p_1): Likewise.
12942 (aarch_rev16_p): Likewise.
12943 * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
12944 (aarch_rev16_shright_mask_imm_p): Likewise.
12945 (aarch_rev16_shleft_mask_imm_p): Likewise.
f7d5cf8d 12946
9ac05ae5
KT
129472014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12948
b6db8af6
UB
12949 * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
12950 * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
12951 rev cost.
12952 (cortex_a53_extra_costs): Likewise.
12953 (cortex_a57_extra_costs): Likewise.
12954 * config/arm/arm.c (cortexa9_extra_costs): Likewise.
12955 (cortexa7_extra_costs): Likewise.
12956 (cortexa8_extra_costs): Likewise.
12957 (cortexa12_extra_costs): Likewise.
12958 (cortexa15_extra_costs): Likewise.
12959 (v7m_extra_costs): Likewise.
12960 (arm_new_rtx_costs): Handle BSWAP.
9ac05ae5 12961
e0d8c86c
KT
129622013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12963
b6db8af6
UB
12964 * config/arm/arm.c (cortexa8_extra_costs): New table.
12965 (arm_cortex_a8_tune): New tuning struct.
12966 * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
e0d8c86c 12967
ba9b1a63
KT
129682014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12969
b6db8af6 12970 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
ba9b1a63 12971
da4cfeac
RB
129722014-04-23 Richard Biener <rguenther@suse.de>
12973
12974 * Makefile.in (OBJS): Remove loop-unswitch.o.
da4cfeac
RB
12975 * tree-pass.h (make_pass_rtl_unswitch): Remove.
12976 * passes.def (pass_rtl_unswitch): Likewise.
12977 * loop-init.c (gate_rtl_unswitch): Likewise.
12978 (rtl_unswitch): Likewise.
12979 (pass_data_rtl_unswitch): Likewise.
12980 (pass_rtl_unswitch): Likewise.
12981 (make_pass_rtl_unswitch): Likewise.
12982 * rtl.h (reversed_condition): Likewise.
12983 (compare_and_jump_seq): Likewise.
12984 * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
12985 and make static.
12986 * loop-unroll.c (compare_and_jump_seq): Likewise.
12987
22718afe
RB
129882014-04-23 Richard Biener <rguenther@suse.de>
12989
12990 PR tree-optimization/60903
12991 * tree-ssa-loop-im.c (analyze_memory_references): Remove
12992 commented code block.
12993 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
12994 loop flags to newly created BBs and edges.
12995
f7961364
NC
129962014-04-23 Nick Clifton <nickc@redhat.com>
12997
12998 * config/msp430/msp430.c (msp430_handle_option): Move function
12999 to msp430-common.c
13000 (msp430_option_override): Simplify mcu and mcpu option handling.
13001 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
13002 support for -mhwmult command line option.
13003 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
13004 -mhwmult command line option.
13005 (msp430_hwmult_enabled): Delete.
b6db8af6 13006 (msp43o_output_labelref): Add support for -mhwmult command line option.
f7961364
NC
13007 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
13008 (umulsidi3): Likewise.
13009 * config/msp430/msp430.opt (mmcu): Add Report attribute.
13010 (mcpu, mlarge, msmall): Likewise.
13011 (mhwmult): New option.
13012 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
13013 prototype.
13014 (msp430_is_f5_mcu): Remove prototype.
13015 (msp430_use_f5_series_hwmult): Add prototype.
13016 * config/msp430/msp430-opts.h: New file.
13017 * common/config/msp430: New directory.
13018 * common/config/msp430/msp430-common.c: New file.
13019 * config.gcc (msp430): Remove target_has_targetm_common.
13020 * doc/invoke.texi: Document -mhwmult command line option.
13021
f70df035
NC
130222014-04-23 Nick Clifton <nickc@redhat.com>
13023
13024 * config/i386/cygwin.h (ENDFILE_SPEC): Include
13025 default-manifest.o if it can be found in the search path.
13026 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
13027
6a9accca
TG
130282014-04-23 Terry Guo <terry.guo@arm.com>
13029
13030 * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
13031
62ba699e
RB
130322014-04-23 Richard Biener <rguenther@suse.de>
13033
13034 PR middle-end/60895
13035 * tree-inline.c (declare_return_variable): Use mark_addressable.
13036
92562f88
RB
130372014-04-23 Richard Biener <rguenther@suse.de>
13038
13039 PR middle-end/60891
13040 * loop-init.c (loop_optimizer_init): Make sure to apply
13041 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
13042
1c33c9b7
JJ
130432014-04-22 Jakub Jelinek <jakub@redhat.com>
13044
13045 PR sanitizer/60275
13046 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
13047 New options.
13048 * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
13049 if flag_sanitize_undefined_trap_on_error.
13050 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
13051 BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
13052 BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
13053 BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
13054 BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
13055 BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
13056 BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
13057 BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
13058 BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
13059 * ubsan.c (ubsan_instrument_unreachable): Return
13060 __builtin_trap () if flag_sanitize_undefined_trap_on_error.
13061 (ubsan_expand_null_ifn): Emit __builtin_trap ()
13062 if flag_sanitize_undefined_trap_on_error and
13063 __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
13064 (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
13065 instrument_bool_enum_load): Emit __builtin_trap () if
13066 flag_sanitize_undefined_trap_on_error and
13067 __builtin_handle_*_abort () if !flag_sanitize_recover.
13068 * doc/invoke.texi (-fsanitize-recover,
13069 -fsanitize-undefined-trap-on-error): Document.
13070
5e66b2e5
CB
130712014-04-22 Christian Bruel <christian.bruel@st.com>
13072
13073 * config/sh/sh.md (mov<mode>): Replace movQIHI.
13074 Force immediates to SImode.
13075
aa221564
SL
130762014-04-22 Sandra Loosemore <sandra@codesourcery.com>
13077
13078 * config/nios2/nios2.md (UNSPEC_ROUND): New.
13079 (lroundsfsi2): New.
13080 * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
13081 * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
13082 * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
13083 (nios2_fpu_insn): Add entry for round.
13084 (N2FPU_NO_ERRNO_P): Define.
13085 (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
13086 flag_errno_math.
13087 * doc/invoke.texi (Nios II Options): Document -mcustom-round.
13088
2195867f
RH
130892014-04-22 Richard Henderson <rth@redhat.com>
13090
13091 * config/aarch64/aarch64 (addti3, subti3): New expanders.
13092 (add<GPI>3_compare0): Remove leading * from name.
13093 (add<GPI>3_carryin): Likewise.
13094 (sub<GPI>3_compare0): Likewise.
13095 (sub<GPI>3_carryin): Likewise.
13096 (<su_optab>mulditi3): New expander.
13097 (multi3): New expander.
13098 (madd<GPI>): Remove leading * from name.
13099
c6d43074
MJ
131002014-04-22 Martin Jambor <mjambor@suse.cz>
13101
13102 * cgraphclones.c (cgraph_function_versioning): Copy
13103 ipa_transforms_to_apply instead of asserting it is empty.
13104
e54c2dd3
L
131052014-04-22 H.J. Lu <hongjiu.lu@intel.com>
13106
13107 PR target/60868
f70df035 13108 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
e54c2dd3
L
13109 on count_exp to get mode.
13110
621ad2de
AP
131112014-04-22 Andrew Pinski <apinski@cavium.com>
13112
13113 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
13114 Handle TLS for ILP32.
13115 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
13116 (tlsie_small_<mode>): this and handle PTR.
13117 (tlsie_small_sidi): New pattern.
13118 (tlsle_small): Change to an expand to handle ILP32.
13119 (tlsle_small_<mode>): New pattern.
13120 (tlsdesc_small): Rename to ...
13121 (tlsdesc_small_<mode>): this and handle PTR.
13122
5cb74e90
RR
131232014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13124
13125 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
13126
bcd48995
AV
131272014-04-22 Alex Velenko <Alex.Velenko@arm.com>
13128
13129 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
13130 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
13131 (aarch64_types_signed_poly_qualifiers): Likewise.
13132 (aarch64_types_unsigned_signed_qualifiers): Likewise.
13133 (aarch64_types_poly_signed_qualifiers): Likewise.
13134 (TYPES_REINTERP_SS): Type macro added.
13135 (TYPES_REINTERP_SU): Likewise.
13136 (TYPES_REINTERP_SP): Likewise.
13137 (TYPES_REINTERP_US): Likewise.
13138 (TYPES_REINTERP_PS): Likewise.
13139 (aarch64_fold_builtin): New expression folding added.
13140 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
13141 Declarations removed.
13142 (REINTERP_SS): Declarations added.
13143 (REINTERP_US): Likewise.
13144 (REINTERP_PS): Likewise.
13145 (REINTERP_SU): Likewise.
13146 (REINTERP_SP): Likewise.
13147 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
13148 (vreinterpretq_p8_f64): Likewise.
13149 (vreinterpret_p16_f64): Likewise.
13150 (vreinterpretq_p16_f64): Likewise.
13151 (vreinterpret_f32_f64): Likewise.
13152 (vreinterpretq_f32_f64): Likewise.
13153 (vreinterpret_f64_f32): Likewise.
13154 (vreinterpret_f64_p8): Likewise.
13155 (vreinterpret_f64_p16): Likewise.
13156 (vreinterpret_f64_s8): Likewise.
13157 (vreinterpret_f64_s16): Likewise.
13158 (vreinterpret_f64_s32): Likewise.
13159 (vreinterpret_f64_s64): Likewise.
13160 (vreinterpret_f64_u8): Likewise.
13161 (vreinterpret_f64_u16): Likewise.
13162 (vreinterpret_f64_u32): Likewise.
13163 (vreinterpret_f64_u64): Likewise.
13164 (vreinterpretq_f64_f32): Likewise.
13165 (vreinterpretq_f64_p8): Likewise.
13166 (vreinterpretq_f64_p16): Likewise.
13167 (vreinterpretq_f64_s8): Likewise.
13168 (vreinterpretq_f64_s16): Likewise.
13169 (vreinterpretq_f64_s32): Likewise.
13170 (vreinterpretq_f64_s64): Likewise.
13171 (vreinterpretq_f64_u8): Likewise.
13172 (vreinterpretq_f64_u16): Likewise.
13173 (vreinterpretq_f64_u32): Likewise.
13174 (vreinterpretq_f64_u64): Likewise.
13175 (vreinterpret_s64_f64): Likewise.
13176 (vreinterpretq_s64_f64): Likewise.
13177 (vreinterpret_u64_f64): Likewise.
13178 (vreinterpretq_u64_f64): Likewise.
13179 (vreinterpret_s8_f64): Likewise.
13180 (vreinterpretq_s8_f64): Likewise.
13181 (vreinterpret_s16_f64): Likewise.
13182 (vreinterpretq_s16_f64): Likewise.
13183 (vreinterpret_s32_f64): Likewise.
13184 (vreinterpretq_s32_f64): Likewise.
13185 (vreinterpret_u8_f64): Likewise.
13186 (vreinterpretq_u8_f64): Likewise.
13187 (vreinterpret_u16_f64): Likewise.
13188 (vreinterpretq_u16_f64): Likewise.
13189 (vreinterpret_u32_f64): Likewise.
13190 (vreinterpretq_u32_f64): Likewise.
13191
0bf3afc1
AV
131922014-04-22 Alex Velenko <Alex.Velenko@arm.com>
13193
13194 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
13195 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
13196 (vreinterpret_p8_s8): Likewise.
13197 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
13198 (vreinterpret_p8_s16): Likewise.
13199 (vreinterpret_p8_s32): Likewise.
13200 (vreinterpret_p8_s64): Likewise.
13201 (vreinterpret_p8_f32): Likewise.
13202 (vreinterpret_p8_u8): Likewise.
13203 (vreinterpret_p8_u16): Likewise.
13204 (vreinterpret_p8_u32): Likewise.
13205 (vreinterpret_p8_u64): Likewise.
13206 (vreinterpret_p8_p16): Likewise.
13207 (vreinterpretq_p8_s8): Likewise.
13208 (vreinterpretq_p8_s16): Likewise.
13209 (vreinterpretq_p8_s32): Likewise.
13210 (vreinterpretq_p8_s64): Likewise.
13211 (vreinterpretq_p8_f32): Likewise.
13212 (vreinterpretq_p8_u8): Likewise.
13213 (vreinterpretq_p8_u16): Likewise.
13214 (vreinterpretq_p8_u32): Likewise.
13215 (vreinterpretq_p8_u64): Likewise.
13216 (vreinterpretq_p8_p16): Likewise.
13217 (vreinterpret_p16_s8): Likewise.
13218 (vreinterpret_p16_s16): Likewise.
13219 (vreinterpret_p16_s32): Likewise.
13220 (vreinterpret_p16_s64): Likewise.
13221 (vreinterpret_p16_f32): Likewise.
13222 (vreinterpret_p16_u8): Likewise.
13223 (vreinterpret_p16_u16): Likewise.
13224 (vreinterpret_p16_u32): Likewise.
13225 (vreinterpret_p16_u64): Likewise.
13226 (vreinterpret_p16_p8): Likewise.
13227 (vreinterpretq_p16_s8): Likewise.
13228 (vreinterpretq_p16_s16): Likewise.
13229 (vreinterpretq_p16_s32): Likewise.
13230 (vreinterpretq_p16_s64): Likewise.
13231 (vreinterpretq_p16_f32): Likewise.
13232 (vreinterpretq_p16_u8): Likewise.
13233 (vreinterpretq_p16_u16): Likewise.
13234 (vreinterpretq_p16_u32): Likewise.
13235 (vreinterpretq_p16_u64): Likewise.
13236 (vreinterpretq_p16_p8): Likewise.
13237 (vreinterpret_f32_s8): Likewise.
13238 (vreinterpret_f32_s16): Likewise.
13239 (vreinterpret_f32_s32): Likewise.
13240 (vreinterpret_f32_s64): Likewise.
13241 (vreinterpret_f32_u8): Likewise.
13242 (vreinterpret_f32_u16): Likewise.
13243 (vreinterpret_f32_u32): Likewise.
13244 (vreinterpret_f32_u64): Likewise.
13245 (vreinterpret_f32_p8): Likewise.
13246 (vreinterpret_f32_p16): Likewise.
13247 (vreinterpretq_f32_s8): Likewise.
13248 (vreinterpretq_f32_s16): Likewise.
13249 (vreinterpretq_f32_s32): Likewise.
13250 (vreinterpretq_f32_s64): Likewise.
13251 (vreinterpretq_f32_u8): Likewise.
13252 (vreinterpretq_f32_u16): Likewise.
13253 (vreinterpretq_f32_u32): Likewise.
13254 (vreinterpretq_f32_u64): Likewise.
13255 (vreinterpretq_f32_p8): Likewise.
13256 (vreinterpretq_f32_p16): Likewise.
13257 (vreinterpret_s64_s8): Likewise.
13258 (vreinterpret_s64_s16): Likewise.
13259 (vreinterpret_s64_s32): Likewise.
13260 (vreinterpret_s64_f32): Likewise.
13261 (vreinterpret_s64_u8): Likewise.
13262 (vreinterpret_s64_u16): Likewise.
13263 (vreinterpret_s64_u32): Likewise.
13264 (vreinterpret_s64_u64): Likewise.
13265 (vreinterpret_s64_p8): Likewise.
13266 (vreinterpret_s64_p16): Likewise.
13267 (vreinterpretq_s64_s8): Likewise.
13268 (vreinterpretq_s64_s16): Likewise.
13269 (vreinterpretq_s64_s32): Likewise.
13270 (vreinterpretq_s64_f32): Likewise.
13271 (vreinterpretq_s64_u8): Likewise.
13272 (vreinterpretq_s64_u16): Likewise.
13273 (vreinterpretq_s64_u32): Likewise.
13274 (vreinterpretq_s64_u64): Likewise.
13275 (vreinterpretq_s64_p8): Likewise.
13276 (vreinterpretq_s64_p16): Likewise.
13277 (vreinterpret_u64_s8): Likewise.
13278 (vreinterpret_u64_s16): Likewise.
13279 (vreinterpret_u64_s32): Likewise.
13280 (vreinterpret_u64_s64): Likewise.
13281 (vreinterpret_u64_f32): Likewise.
13282 (vreinterpret_u64_u8): Likewise.
13283 (vreinterpret_u64_u16): Likewise.
13284 (vreinterpret_u64_u32): Likewise.
13285 (vreinterpret_u64_p8): Likewise.
13286 (vreinterpret_u64_p16): Likewise.
13287 (vreinterpretq_u64_s8): Likewise.
13288 (vreinterpretq_u64_s16): Likewise.
13289 (vreinterpretq_u64_s32): Likewise.
13290 (vreinterpretq_u64_s64): Likewise.
13291 (vreinterpretq_u64_f32): Likewise.
13292 (vreinterpretq_u64_u8): Likewise.
13293 (vreinterpretq_u64_u16): Likewise.
13294 (vreinterpretq_u64_u32): Likewise.
13295 (vreinterpretq_u64_p8): Likewise.
13296 (vreinterpretq_u64_p16): Likewise.
13297 (vreinterpret_s8_s16): Likewise.
13298 (vreinterpret_s8_s32): Likewise.
13299 (vreinterpret_s8_s64): Likewise.
13300 (vreinterpret_s8_f32): Likewise.
13301 (vreinterpret_s8_u8): Likewise.
13302 (vreinterpret_s8_u16): Likewise.
13303 (vreinterpret_s8_u32): Likewise.
13304 (vreinterpret_s8_u64): Likewise.
13305 (vreinterpret_s8_p8): Likewise.
13306 (vreinterpret_s8_p16): Likewise.
13307 (vreinterpretq_s8_s16): Likewise.
13308 (vreinterpretq_s8_s32): Likewise.
13309 (vreinterpretq_s8_s64): Likewise.
13310 (vreinterpretq_s8_f32): Likewise.
13311 (vreinterpretq_s8_u8): Likewise.
13312 (vreinterpretq_s8_u16): Likewise.
13313 (vreinterpretq_s8_u32): Likewise.
13314 (vreinterpretq_s8_u64): Likewise.
13315 (vreinterpretq_s8_p8): Likewise.
13316 (vreinterpretq_s8_p16): Likewise.
13317 (vreinterpret_s16_s8): Likewise.
13318 (vreinterpret_s16_s32): Likewise.
13319 (vreinterpret_s16_s64): Likewise.
13320 (vreinterpret_s16_f32): Likewise.
13321 (vreinterpret_s16_u8): Likewise.
13322 (vreinterpret_s16_u16): Likewise.
13323 (vreinterpret_s16_u32): Likewise.
13324 (vreinterpret_s16_u64): Likewise.
13325 (vreinterpret_s16_p8): Likewise.
13326 (vreinterpret_s16_p16): Likewise.
13327 (vreinterpretq_s16_s8): Likewise.
13328 (vreinterpretq_s16_s32): Likewise.
13329 (vreinterpretq_s16_s64): Likewise.
13330 (vreinterpretq_s16_f32): Likewise.
13331 (vreinterpretq_s16_u8): Likewise.
13332 (vreinterpretq_s16_u16): Likewise.
13333 (vreinterpretq_s16_u32): Likewise.
13334 (vreinterpretq_s16_u64): Likewise.
13335 (vreinterpretq_s16_p8): Likewise.
13336 (vreinterpretq_s16_p16): Likewise.
13337 (vreinterpret_s32_s8): Likewise.
13338 (vreinterpret_s32_s16): Likewise.
13339 (vreinterpret_s32_s64): Likewise.
13340 (vreinterpret_s32_f32): Likewise.
13341 (vreinterpret_s32_u8): Likewise.
13342 (vreinterpret_s32_u16): Likewise.
13343 (vreinterpret_s32_u32): Likewise.
13344 (vreinterpret_s32_u64): Likewise.
13345 (vreinterpret_s32_p8): Likewise.
13346 (vreinterpret_s32_p16): Likewise.
13347 (vreinterpretq_s32_s8): Likewise.
13348 (vreinterpretq_s32_s16): Likewise.
13349 (vreinterpretq_s32_s64): Likewise.
13350 (vreinterpretq_s32_f32): Likewise.
13351 (vreinterpretq_s32_u8): Likewise.
13352 (vreinterpretq_s32_u16): Likewise.
13353 (vreinterpretq_s32_u32): Likewise.
13354 (vreinterpretq_s32_u64): Likewise.
13355 (vreinterpretq_s32_p8): Likewise.
13356 (vreinterpretq_s32_p16): Likewise.
13357 (vreinterpret_u8_s8): Likewise.
13358 (vreinterpret_u8_s16): Likewise.
13359 (vreinterpret_u8_s32): Likewise.
13360 (vreinterpret_u8_s64): Likewise.
13361 (vreinterpret_u8_f32): Likewise.
13362 (vreinterpret_u8_u16): Likewise.
13363 (vreinterpret_u8_u32): Likewise.
13364 (vreinterpret_u8_u64): Likewise.
13365 (vreinterpret_u8_p8): Likewise.
13366 (vreinterpret_u8_p16): Likewise.
13367 (vreinterpretq_u8_s8): Likewise.
13368 (vreinterpretq_u8_s16): Likewise.
13369 (vreinterpretq_u8_s32): Likewise.
13370 (vreinterpretq_u8_s64): Likewise.
13371 (vreinterpretq_u8_f32): Likewise.
13372 (vreinterpretq_u8_u16): Likewise.
13373 (vreinterpretq_u8_u32): Likewise.
13374 (vreinterpretq_u8_u64): Likewise.
13375 (vreinterpretq_u8_p8): Likewise.
13376 (vreinterpretq_u8_p16): Likewise.
13377 (vreinterpret_u16_s8): Likewise.
13378 (vreinterpret_u16_s16): Likewise.
13379 (vreinterpret_u16_s32): Likewise.
13380 (vreinterpret_u16_s64): Likewise.
13381 (vreinterpret_u16_f32): Likewise.
13382 (vreinterpret_u16_u8): Likewise.
13383 (vreinterpret_u16_u32): Likewise.
13384 (vreinterpret_u16_u64): Likewise.
13385 (vreinterpret_u16_p8): Likewise.
13386 (vreinterpret_u16_p16): Likewise.
13387 (vreinterpretq_u16_s8): Likewise.
13388 (vreinterpretq_u16_s16): Likewise.
13389 (vreinterpretq_u16_s32): Likewise.
13390 (vreinterpretq_u16_s64): Likewise.
13391 (vreinterpretq_u16_f32): Likewise.
13392 (vreinterpretq_u16_u8): Likewise.
13393 (vreinterpretq_u16_u32): Likewise.
13394 (vreinterpretq_u16_u64): Likewise.
13395 (vreinterpretq_u16_p8): Likewise.
13396 (vreinterpretq_u16_p16): Likewise.
13397 (vreinterpret_u32_s8): Likewise.
13398 (vreinterpret_u32_s16): Likewise.
13399 (vreinterpret_u32_s32): Likewise.
13400 (vreinterpret_u32_s64): Likewise.
13401 (vreinterpret_u32_f32): Likewise.
13402 (vreinterpret_u32_u8): Likewise.
13403 (vreinterpret_u32_u16): Likewise.
13404 (vreinterpret_u32_u64): Likewise.
13405 (vreinterpret_u32_p8): Likewise.
13406 (vreinterpret_u32_p16): Likewise.
13407 (vreinterpretq_u32_s8): Likewise.
13408 (vreinterpretq_u32_s16): Likewise.
13409 (vreinterpretq_u32_s32): Likewise.
13410 (vreinterpretq_u32_s64): Likewise.
13411 (vreinterpretq_u32_f32): Likewise.
13412 (vreinterpretq_u32_u8): Likewise.
13413 (vreinterpretq_u32_u16): Likewise.
13414 (vreinterpretq_u32_u64): Likewise.
13415 (vreinterpretq_u32_p8): Likewise.
13416 (vreinterpretq_u32_p16): Likewise.
13417
9551c7ec
AV
134182014-04-22 Alex Velenko <Alex.Velenko@arm.com>
13419
13420 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
13421 Pattern extended.
b6db8af6 13422 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
9551c7ec
AV
13423 (sqabs): Likewise.
13424 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
13425 (vqnegd_s64): Likewise.
13426 (vqabs_s64): Likewise.
13427 (vqabsd_s64): Likewise.
13428
f2a2c4b5
RH
134292014-04-22 Richard Henderson <rth@redhat.com>
13430
13431 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
13432 computation to the top of the loop.
13433
53e5ace2
RL
134342014-04-22 Renlin <renlin.li@arm.com>
13435 Jiong Wang <jiong.wang@arm.com>
13436
13437 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
13438 * config/aarch64/aarch64.c (aarch64_layout_frame)
13439 (aarch64_initial_elimination_offset): Likewise.
13440
78c29983
MS
134412014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
13442
13443 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
13444 Fix indentation.
13445
dbf23a79
RS
134462014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
13447
13448 * machmode.h (bitwise_mode_for_mode): Declare.
13449 * stor-layout.h (bitwise_type_for_mode): Likewise.
13450 * stor-layout.c (bitwise_mode_for_mode): New function.
13451 (bitwise_type_for_mode): Likewise.
13452 * builtins.c (fold_builtin_memory_op): Use it instead of
13453 int_mode_for_mode and build_nonstandard_integer_type.
13454
d9f069ab
RO
134552014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13456
13457 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
13458 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
13459 (*-*-solaris2*): Simplify.
13460 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
13461 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
13462 *-*-solaris2.9* handling.
13463
13464 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
13465 as bug.
13466 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
13467 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
13468 handling, simplify.
13469 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
13470 * configure: Regenerate.
13471
13472 * config/i386/sol2-9.h: Remove.
13473
13474 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
13475 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
13476 Remove Solaris 9 references.
13477
0d35c5c2
VP
134782014-04-22 Vidya Praveen <vidyapraveen@arm.com>
13479
13480 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
13481 (floatuns<GPI:mode><GPF:mode>2): Remove.
13482 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
13483 and floatuns conversions.
13484 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
13485 and floatuns conversions.
13486 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
13487 (w1,w2): New mode attributes for inequal width conversions.
13488
16a3246f
RL
134892014-04-22 Renlin Li <Renlin.Li@arm.com>
13490
13491 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
13492 the output asm format.
13493
110e1ccc
JG
134942014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
13495
13496 * config/aarch64/aarch64-simd.md
13497 (aarch64_cm<optab>di): Always split.
13498 (*aarch64_cm<optab>di): New.
13499 (aarch64_cmtstdi): Always split.
13500 (*aarch64_cmtstdi): New.
13501
2044a4c3
JJ
135022014-04-22 Jakub Jelinek <jakub@redhat.com>
13503
13504 PR tree-optimization/60823
13505 * omp-low.c (ipa_simd_modify_function_body): Go through
13506 all SSA_NAMEs and for those refering to vector arguments
13507 which are going to be replaced adjust SSA_NAME_VAR and,
13508 if it is a default definition, change it into a non-default
13509 definition assigned at the beginning of function from new_decl.
13510 (ipa_simd_modify_stmt_ops): Rewritten.
13511 * tree-dfa.c (set_ssa_default_def): When removing default def,
13512 check for NULL loc instead of NULL *loc.
13513
9d8b4d1c
RR
135142014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13515
13516 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
13517 restrictions on core registers for DImode values in Thumb2.
13518
a01be1ae
IB
135192014-04-22 Ian Bolton <ian.bolton@arm.com>
13520
13521 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
13522 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
13523
80d3417b
IB
135242014-04-22 Ian Bolton <ian.bolton@arm.com>
13525
13526 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
13527 (*iordi_notzesidi_di): Likewise.
13528 (*iordi_notsesidi_di): Likewise.
13529
46fbb3eb
IB
135302014-04-22 Ian Bolton <ian.bolton@arm.com>
13531
13532 * config/arm/arm-protos.h (tune_params): New struct members.
13533 * config/arm/arm.c: Initialise tune_params per processor.
13534 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
13535 for speed, based on new tune_params.
13536
74dc11ed
AV
135372014-04-22 Alex Velenko <Alex.Velenko@arm.com>
13538
b6db8af6
UB
13539 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
13540 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
13541 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
74dc11ed
AV
13542 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
13543 * config/aarch64/arm_neon.h (vrnd_f64): Added.
13544 (vrnda_f64): Likewise.
13545 (vrndi_f64): Likewise.
13546 (vrndm_f64): Likewise.
13547 (vrndn_f64): Likewise.
13548 (vrndp_f64): Likewise.
13549 (vrndx_f64): Likewise.
13550
35923e46
ZC
135512014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
13552
13553 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
13554 GET_MODE_SIZE argument is enum machine_mode.
13555
4552e70c
JJ
135562014-04-22 Jakub Jelinek <jakub@redhat.com>
13557
13558 PR target/60910
13559 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
13560 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
13561
e5dcd695
LZ
135622014-04-22 Lin Zuojian <manjian2006@gmail.com>
13563
13564 PR middle-end/60281
13565 * asan.c (asan_emit_stack_protection): Force the base to align to
13566 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
13567 appropriate bits if STRICT_ALIGNMENT.
13568 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
13569 when asan is on.
13570 (expand_used_vars): Leave a space in the stack frame for alignment
13571 if STRICT_ALIGNMENT.
13572
7455080c
DM
135732014-04-21 David Malcolm <dmalcolm@redhat.com>
13574
13575 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
13576 than a gimple.
13577 (gimple_store_p): Likewise.
13578 (gimple_assign_load_p): Likewise.
13579 (gimple_assign_cast_p): Likewise.
13580 (gimple_clobber_p): Likewise.
13581
13582 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
13583 rather than a gimple.
13584 (gimple_assign_cast_p): Likewise.
13585
aeb9579a
MM
135862014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
13587
13588 PR target/60735
13589 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
13590 If mode is DDmode and TARGET_E500_DOUBLE allow move.
13591
13592 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
13593 more debug information for E500 if -mdebug=reg.
13594
b15d92bf
UB
135952014-04-21 Uros Bizjak <ubizjak@gmail.com>
13596
13597 PR target/60909
13598 * config/i386/i386.c (ix86_expand_builtin)
13599 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
13600 register for target RTX.
13601 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
13602
d367387c
CH
136032014-04-18 Cong Hou <congh@google.com>
13604
13605 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
b15d92bf
UB
13606 the widen-mult pattern by handling two operands with different sizes,
13607 and operands whose size is smaller than half of the result type.
d367387c 13608
b6d627e4
JH
136092014-04-18 Jan Hubicka <hubicka@ucw.cz>
13610
13611 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
13612 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
13613 (do_estimate_edge_time): Compute it.
13614 * ipa-inline.c (want_inline_small_function_p): Bypass
b15d92bf 13615 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
b6d627e4 13616
e86a910f
JH
136172014-04-18 Jan Hubicka <hubicka@ucw.cz>
13618
13619 * ipa-inline.c (spec_rem): New static variable.
13620 (dump_overall_stats): New function.
13621 (dump_inline_stats): New function.
13622
8a3a7e67
RH
136232014-04-18 Richard Henderson <rth@redhat.com>
13624
13625 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
13626 to GET_MODE_SIZE, not a reg_class_t.
13627
ed79f4d0
BS
136282014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13629
b15d92bf 13630 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
ed79f4d0
BS
13631 (vsx_xxmrglw_<mode>): Likewise.
13632
fe799eea
MM
136332014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
13634
13635 PR target/60876
13636 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
b15d92bf 13637 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
fe799eea
MM
13638 (rs6000_init_hard_regno_mode_ok): Likewise.
13639
5e750dc6
JH
136402014-04-17 Jan Hubicka <hubicka@ucw.cz>
13641
13642 * ipa-inline.c (inline_small_functions): Account only non-cold
13643 functions.
13644 * doc/invoke.texi (inline-unit-growth): Update documentation.
13645
32337f10
PH
136462014-04-17 Pat Haugen <pthaugen@us.ibm.com>
13647
13648 * config/rs6000/rs6000.md (addti3, subti3): New.
13649
40ed344a
L
136502014-04-17 H.J. Lu <hongjiu.lu@intel.com>
13651
13652 PR target/60863
13653 * config/i386/i386.c (ix86_expand_clear): Remove outdated
13654 comment. Check optimize_insn_for_size_p instead of
13655 optimize_insn_for_speed_p.
13656
104cb50b
MJ
136572014-04-17 Martin Jambor <mjambor@suse.cz>
13658
13659 * gimple-iterator.c (gsi_start_edge): New function.
13660 * gimple-iterator.h (gsi_start_edge): Declare.
13661 * tree-sra.c (single_non_eh_succ): New function.
13662 (disqualify_ops_if_throwing_stmt): Renamed to
13663 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
13664 having one non-EH successor BB.
13665 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
13666 generate loads into replacements.
13667 (sra_modify_assign): Likewise and and also use the simple path for
13668 such statements.
13669 (sra_modify_function_body): Commit statements on edges.
13670
b94970bc
RB
136712014-04-17 Richard Biener <rguenther@suse.de>
13672
13673 PR middle-end/60849
13674 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
13675 comparison results and add clarifying comment.
13676
92f0f3ec
JJ
136772014-04-17 Jakub Jelinek <jakub@redhat.com>
13678
13679 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
13680 (blank_mode): Initialize it.
13681 (emit_mode_size_inline, emit_mode_nunits_inline,
13682 emit_mode_inner_inline): New functions.
13683 (emit_insn_modes_h): Call them and surround their output with
13684 #if GCC_VERSION >= 4001 ... #endif.
13685 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
13686 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
13687 mode_* arrays if the argument is __builtin_constant_p.
13688 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
13689 is enum machine_mode.
13690
be55bfe6
TS
136912014-04-17 Trevor Saunders <tsaunders@mozilla.com>
13692
13693 * passes.c (opt_pass::execute): Adjust.
13694 (pass_manager::execute_pass_mode_switching): Likewise.
13695 (early_local_passes::execute): Likewise.
13696 (execute_one_pass): Pass cfun to the pass's execute method.
13697 * tree-pass.h (opt_pass::execute): Add function * argument.
13698 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
13699 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
13700 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
13701 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
13702 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
13703 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
13704 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
13705 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
13706 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
13707 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
13708 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
13709 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
13710 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
13711 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
13712 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
13713 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
13714 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
13715 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
13716 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
13717 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
13718 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
13719 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
13720 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
13721 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
13722 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
13723 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
13724 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
13725 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
13726 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
13727 Adjust.
13728
1a3d085c
TS
137292014-04-17 Trevor Saunders <tsaunders@mozilla.com>
13730
13731 * passes.c (opt_pass::gate): Take function * argument.
13732 (gate_all_early_local_passes): Merge into
13733 (early_local_passes::gate): this.
13734 (gate_all_early_optimizations): Merge into
13735 (all_early_optimizations::gate): this.
13736 (gate_all_optimizations): Mege into
13737 (all_optimizations::gate): this.
13738 (gate_all_optimizations_g): Merge into
13739 (all_optimizations_g::gate): this.
13740 (gate_rest_of_compilation): Mege into
13741 (rest_of_compilation::gate): this.
13742 (gate_postreload): Merge into
13743 (postreload::gate): this.
13744 (dump_one_pass): Pass cfun to the pass's gate method.
13745 (execute_ipa_summary_passes): Likewise.
13746 (execute_one_pass): Likewise.
13747 (ipa_write_summaries_2): Likewise.
13748 (ipa_write_optimization_summaries_1): Likewise.
13749 (ipa_read_summaries_1): Likewise.
13750 (ipa_read_optimization_summaries_1): Likewise.
13751 (execute_ipa_stmt_fixups): Likewise.
13752 * tree-pass.h (opt_pass::gate): Add function * argument.
13753 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
13754 combine-stack-adj.c, combine.c, compare-elim.c,
13755 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
13756 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
13757 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
13758 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
13759 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
13760 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
13761 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
13762 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
13763 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
13764 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
13765 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
13766 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
13767 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
13768 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
13769 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
13770 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
13771 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
13772 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
13773 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
13774 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
13775 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
13776 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
13777 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
13778 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
13779 var-tracking.c, vtable-verify.c, web.c: Adjust.
13780
45887209
TS
137812014-04-17 Trevor Saunders <tsaunders@mozilla.com>
13782
13783 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
13784 * configure: Regenerate.
13785
0481253d 137862014-04-17 Trevor Saunders <tsaunders@mozilla.com>
b15d92bf 13787
0481253d
TS
13788 * passes.c (dump_one_pass): don't check pass->has_gate.
13789 (execute_ipa_summary_passes): Likewise.
13790 (execute_one_pass): Likewise.
13791 (ipa_write_summaries_2): Likewise.
13792 (ipa_write_optimization_summaries_1): Likewise.
13793 (ipa_read_optimization_summaries_1): Likewise.
13794 (execute_ipa_stmt_fixups): Likewise.
13795 * tree-pass.h (pass_data::has_gate): Remove.
13796 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
13797 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
13798 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
13799 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
13800 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
13801 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
13802 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
13803 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
13804 gimple-low.c, gimple-ssa-isolate-paths.c,
13805 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
13806 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
13807 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
13808 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
13809 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
13810 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
13811 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
13812 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
13813 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
13814 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
13815 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
13816 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
13817 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
13818 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
13819 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
13820 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
13821 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
13822 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
13823 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
13824 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
13825 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
13826 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
13827 Adjust.
13828
a23c217d
TS
138292014-04-17 Trevor Saunders <tsaunders@mozilla.com>
13830
b15d92bf
UB
13831 * pass_manager.h (pass_manager::register_dump_files_1): Remove
13832 declaration.
a23c217d
TS
13833 * passes.c (pass_manager::register_dump_files_1): Merge into
13834 (pass_manager::register_dump_files): this, and remove its handling of
13835 properties since the pass always has the properties anyway.
13836 (pass_manager::pass_manager): Adjust.
13837
0cd11b40
TS
138382014-04-17 Trevor Saunders <tsaunders@mozilla.com>
13839
13840 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
13841 * passes.c (pass_manager::register_dump_files_1): Remove dead code
13842 dealing with properties.
13843 (pass_manager::register_dump_files): Adjust.
13844
79896351
MW
138452014-03-20 Mark Wielaard <mjw@redhat.com>
13846
13847 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
13848 then represent the bound as normal constant value.
13849
5a65129e
JJ
138502014-04-17 Jakub Jelinek <jakub@redhat.com>
13851
13852 PR target/60847
13853 Forward port from 4.8 branch
13854 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
13855
13856 * config/i386/bmiintrin.h (_blsi_u32): New.
13857 (_blsi_u64): Ditto.
13858 (_blsr_u32): Ditto.
13859 (_blsr_u64): Ditto.
13860 (_blsmsk_u32): Ditto.
13861 (_blsmsk_u64): Ditto.
13862 (_tzcnt_u32): Ditto.
13863 (_tzcnt_u64): Ditto.
13864
59b266b1
KC
138652014-04-17 Kito Cheng <kito@0xlab.org>
13866
13867 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
13868
83ad208e
RB
138692014-04-17 Richard Biener <rguenther@suse.de>
13870
13871 PR middle-end/60849
13872 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
13873 boolean results for comparisons.
13874
730e78b0
RB
138752014-04-17 Richard Biener <rguenther@suse.de>
13876
13877 PR tree-optimization/60836
13878 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
13879 initial PHI args to be gimple values.
13880
40c0a159 138812014-04-17 Richard Biener <rguenther@suse.de>
1428105c
RB
13882
13883 PR tree-optimization/60841
13884 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
13885 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
13886 of stmts to SLP build.
13887 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
13888 (vect_analyze_slp): Likewise.
13889 (vect_analyze_slp_instance): Likewise.
13890 (vect_build_slp_tree): Limit overall SLP tree growth.
13891 * tree-vectorizer.h (vect_analyze_data_refs,
13892 vect_analyze_slp): Adjust prototypes.
13893
170c1776
ES
138942014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
13895
13896 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
13897 Silvermont.
13898
a4ef7f3e
ES
138992014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
13900
13901 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
13902 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
13903 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
13904 for TARGET_SLOW_PSHUFB
13905
cf055f6e
ES
139062014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
13907
13908 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
13909 * config/i386/i386.c (intel_cost): Ditto.
13910
eeee2277
JY
139112014-04-17 Joey Ye <joey.ye@arm.com>
13912
13913 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
13914
1c58fe29
JH
139152014-04-16 Jan Hubicka <hubicka@ucw.cz>
13916
13917 * opts.c (common_handle_option): Disable -fipa-reference coorectly
13918 with -fuse-profile.
13919
2d1644bf
JH
139202014-04-16 Jan Hubicka <hubicka@ucw.cz>
13921
13922 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
13923 (type_all_derivations_known_p): New predicate.
13924 (type_all_ctors_visible_p): New predicate.
13925 (type_possibly_instantiated_p): New predicate.
13926 (get_odr_type): Compute all_derivations_known.
13927 (dump_odr_type): Dump the flag.
13928 (maybe_record_type): Cleanup.
13929 (record_target_from_binfo): Add bases_to_consider array;
13930 record bases for types w/o instances and skip CXX destructor.
13931 (possible_polymorphic_call_targets_1): Add bases_to_consider
b15d92bf 13932 and consider_construction parameters; check if type may have instance.
2d1644bf
JH
13933 (get_polymorphic_call_info): Set maybe_in_construction to true
13934 when we know nothing.
13935 (record_targets_from_bases): Skip CXX destructors; they are
13936 never called for types in construction.
13937 (possible_polymorphic_call_targets): Do not record target when
13938 type may not have instance.
13939
789c2741
JH
139402014-04-16 Jan Hubicka <hubicka@ucw.cz>
13941
13942 PR ipa/60854
13943 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
13944 external aliases alive, too.
13945
9950a4f2
AP
139462014-04-16 Andrew Pinski <apinski@cavium.com>
13947
13948 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
b15d92bf 13949 definition.
9950a4f2 13950
82b9c015
EB
139512014-04-16 Eric Botcazou <ebotcazou@adacore.com>
13952
13953 * final.c (compute_alignments): Do not apply loop alignment to a block
13954 falling through to the exit.
13955
d2dfaca3
CM
139562014-04-16 Catherine Moore <clm@codesourcery.com>
13957
13958 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
13959 Adjust constraints for microMIPS store patterns.
13960
10353a79
PS
139612014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
13962
13963 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
13964
61c7fb30
EB
139652014-04-16 Eric Botcazou <ebotcazou@adacore.com>
13966
13967 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
13968 (append_use): Run at -O0.
13969 (append_vdef): Likewise.
13970 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
13971 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
13972
42fae17c
JJ
139732014-04-16 Jakub Jelinek <jakub@redhat.com>
13974
13975 PR tree-optimization/60844
13976 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
13977 (propagate_op_to_single_use, remove_visited_stmt_chain,
13978 linearize_expr, repropagate_negates, reassociate_bb): Use it
13979 instead of gsi_remove.
13980
ca860d03
MJ
139812014-04-16 Martin Jambor <mjambor@suse.cz>
13982
13983 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
13984 ipa_transforms_to_apply.
13985 (cgraph_function_versioning): Assert that old_node has empty
13986 ipa_transforms_to_apply.
13987 * trans-mem.c (ipa_tm_create_version): Likewise.
13988 * tree-inline.c (tree_function_versioning): Do not duplicate
13989 ipa_transforms_to_apply.
13990
fe4e71e4
RO
139912014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13992
13993 PR target/60817
13994 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
13995 x86_64-*-* cases.
13996 Pass necessary as flags on 64-bit Solaris/x86.
13997 Use lowercase relocs for x86_64-*-*.
13998 * configure: Regenerate.
13999
ccb05ef2
JH
140002014-04-15 Jan Hubicka <jh@suse.cz>
14001
14002 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
14003 (maybe_record_node, likely_target_p): Use it.
14004
dfe449d1
BS
140052014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14006
14007 PR target/60839
14008 Revert following patch
14009
14010 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
14011
14012 PR target/60735
14013 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
14014 software floating point or no floating point registers, do not
14015 allow any type in the FPRs. Eliminate a test for SPE SIMD types
14016 in GPRs that occurs after we tested for GPRs that would never be
14017 true.
14018
14019 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
14020 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
14021 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
14022 specifically allow DDmode, since that does not use the SPE SIMD
14023 instructions.
14024
25dce5c6
MW
140252014-03-21 Mark Wielaard <mjw@redhat.com>
14026
14027 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
14028 as unsigned or int depending on type and value used.
14029
8d3c076f
RB
140302014-04-15 Richard Biener <rguenther@suse.de>
14031
14032 PR rtl-optimization/56965
14033 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
14034 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
14035 ... here.
14036 * alias.c (true_dependence_1): Do not call
14037 nonoverlapping_component_refs_p.
14038 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
14039 nonoverlapping_component_refs_p.
14040 (indirect_refs_may_alias_p): Likewise.
14041
d00e4baa
TJ
140422014-04-15 Teresa Johnson <tejohnson@google.com>
14043
14044 * cfg.c (dump_bb_info): Fix flags check.
14045 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
14046
98a2fdfb
KT
140472014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14048
14049 PR rtl-optimization/60663
14050 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
14051 avoid 0 cost.
14052
b9ed2c2c
RB
140532014-04-15 Richard Biener <rguenther@suse.de>
14054
14055 * lto-streamer.h (LTO_major_version): Bump to 4.
14056
783dab6b
RB
140572014-04-15 Richard Biener <rguenther@suse.de>
14058
14059 * common.opt (lto_partition_model): New enum.
14060 (flto-partition=): Merge separate options with a single with argument,
14061 add -flto-partition=one support.
14062 * flag-types.h (enum lto_partition_model): Declare.
14063 * opts.c (finish_options): Remove duplicate -flto-partition=
14064 option check.
14065 * lto-wrapper.c (run_gcc): Adjust.
14066
d8e4ce6d
RB
140672014-04-15 Richard Biener <rguenther@suse.de>
14068
14069 * alias.c (ncr_compar): New function.
14070 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
14071
1999fd7d
RB
140722014-04-15 Richard Biener <rguenther@suse.de>
14073
14074 * alias.c (record_component_aliases): Do not walk BINFOs.
14075
628169e0
RB
140762014-04-15 Richard Biener <rguenther@suse.de>
14077
14078 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
14079 Add struct function argument and adjust.
14080 (find_func_aliases_for_call): Likewise.
14081 (find_func_aliases): Likewise.
14082 (find_func_clobbers): Likewise.
14083 (intra_create_variable_infos): Likewise.
14084 (compute_points_to_sets): Likewise.
14085 (ipa_pta_execute): Adjust. Do not push/pop cfun.
14086
349e6210
RB
140872014-04-15 Richard Biener <rguenther@suse.de>
14088
14089 * tree.c (iterative_hash_expr): Use enum tree_code_class
14090 to store TREE_CODE_CLASS.
14091 (tree_block): Likewise.
14092 (tree_set_block): Likewise.
14093 * tree.h (fold_build_pointer_plus_loc): Use
14094 convert_to_ptrofftype_loc.
14095
4f0ddb6f
JJ
140962014-04-15 Jakub Jelinek <jakub@redhat.com>
14097
14098 PR plugins/59335
14099 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
14100 added in 4.9.
14101
718c4601
EB
141022014-04-15 Eric Botcazou <ebotcazou@adacore.com>
14103
14104 * cfgloop.h (struct loop): Move force_vectorize down.
14105 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
14106 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
14107 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
14108 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
14109 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
14110 * tree-core.h (enum annot_expr_kind): Add new kind values.
14111 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
14112 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
14113 kinds.
14114 * tree.def (ANNOTATE_EXPR): Tweak comment.
14115
88f592e3
JH
141162014-04-14 Jan Hubicka <hubicka@ucw.cz>
14117
14118 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
14119 cxa_pure_virtual).
14120
9dba4b55
PC
141212014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
14122
14123 * tree.h (TYPE_IDENTIFIER): Declare.
14124 * tree.c (subrange_type_for_debug_p): Use it.
14125 * godump.c (go_format_type): Likewise.
14126 * dwarf2out.c (is_cxx_auto, modified_type_die,
14127 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
14128 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
14129
40c0a159 141302014-04-14 Jan Hubicka <hubicka@ucw.cz>
006202e8
JH
14131
14132 PR lto/60820
14133 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
14134
e0a81db1
UB
141352014-04-14 Uros Bizjak <ubizjak@gmail.com>
14136
14137 * config/i386/i386.c (examine_argument): Return bool. Return true if
14138 parameter should be passed in memory.
14139 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
14140 (construct_container): Update calls to examine_argument.
14141 (function_arg_advance_64): Ditto.
14142 (return_in_memory_32): Merge with ix86_return_in_memory.
14143 (return_in_memory_64): Ditto.
14144 (return_in_memory_ms_64): Ditto.
14145
cb90235d
JH
141462014-04-14 Jan Hubicka <hubicka@ucw.cz>
14147
14148 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
14149 * coverage.c (coverage_compute_profile_id): Handle externally visible
14150 symbols.
14151
7b3b340e
MJ
141522014-04-14 Martin Jambor <mjambor@suse.cz>
14153
14154 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
14155 DECL_DISREGARD_INLINE_LIMITS functions.
14156
2ed3b4ee
L
141572014-04-14 H.J. Lu <hongjiu.lu@intel.com>
14158
14159 PR target/60827
e0a81db1 14160 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 14161
10fa463f
L
141622014-04-14 H.J. Lu <hongjiu.lu@intel.com>
14163
14164 PR target/60827
14165 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
14166 optimize_insn_for_speed_p instead of
14167 optimize_function_for_speed_p.
14168
b621e875
YZ
141692014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
14170
14171 * doc/invoke.texi (free): Document AArch64.
14172
cddaefa3
RB
141732014-04-14 Richard Biener <rguenther@suse.de>
14174
14175 PR tree-optimization/60042
14176 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
14177 (insert_into_preds_of_block): Do not prevent PHI insertion
14178 for REFERENCE exprs here ...
14179 (eliminate_dom_walker::before_dom_children): ... but prevent
14180 their use here under similar conditions when applied to the
14181 IL after PRE optimizations.
14182
a9e4c82f
RB
141832014-04-14 Richard Biener <rguenther@suse.de>
14184
14185 * passes.def: Move early points-to after early SRA.
14186
7b4cae1b
RB
141872014-04-14 Richard Biener <rguenther@suse.de>
14188
14189 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
14190 check for which sign-changes we allow when forwarding
14191 a converted value into a switch.
14192
cb27986c
EB
141932014-04-14 Eric Botcazou <ebotcazou@adacore.com>
14194
14195 * stor-layout.c (place_field): Finalize non-constant offset for the
14196 field, if any.
14197
72798784
RB
141982014-04-14 Richard Biener <rguenther@suse.de>
14199
14200 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
14201 as argument.
14202 (expand_switch_using_bit_tests_p): Likewise.
14203 (process_switch): Compute and pass on speed_p based on the
14204 switch stmt.
14205 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
14206 optimize_bb_for_speed_p.
14207
b15b5979
EB
142082014-04-14 Eric Botcazou <ebotcazou@adacore.com>
14209
14210 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
14211 * function.h (struct function): Rename has_force_vect_loops into
14212 has_force_vectorize_loops.
14213 * lto-streamer-in.c (input_cfg): Adjust for renaming.
14214 (input_struct_function_base): Likewise.
14215 * lto-streamer-out.c (output_cfg): Likewise.
14216 (output_struct_function_base): Likewise.
14217 * omp-low.c (expand_omp_simd): Likewise.
14218 * tree-cfg.c (move_sese_region_to_fn): Likewise.
14219 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
14220 (version_loop_for_if_conversion): Likewise.
14221 (tree_if_conversion): Likewise.
14222 (main_tree_if_conversion): Likewise.
14223 (gate_tree_if_conversion): Likewise.
14224 * tree-inline.c (copy_loops): Likewise.
14225 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
14226 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
14227 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
14228 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
14229 * tree-vectorizer.c (vectorize_loops): Likewise.
14230 * tree-vectorizer.h (unlimited_cost_model): Likewise.
14231
8359c87e
RB
142322014-04-14 Richard Biener <rguenther@suse.de>
14233
14234 PR lto/60720
14235 * lto-streamer-out.c (wrap_refs): New function.
14236 (lto_output): Wrap symbol references in global initializes in
14237 type-preserving MEM_REFs.
14238
9447df74
CB
142392014-04-14 Christian Bruel <christian.bruel@st.com>
14240
b15d92bf 14241 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
9447df74 14242
fa1aecc1
CB
142432014-04-14 Christian Bruel <christian.bruel@st.com>
14244
14245 * config/sh/sh.md (setmemqi): New expand pattern.
14246 * config/sh/sh.h (CLEAR_RATIO): Define.
14247 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
14248 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
14249
a3c77ce9
RB
142502014-04-14 Richard Biener <rguenther@suse.de>
14251
14252 PR middle-end/55022
14253 * fold-const.c (negate_expr_p): Don't negate directional rounding
14254 division.
14255 (fold_negate_expr): Likewise.
14256
033aa406
RB
142572014-04-14 Richard Biener <rguenther@suse.de>
14258
14259 PR tree-optimization/59817
14260 PR tree-optimization/60453
14261 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
14262 recursion to catch all CHRECs in the scalar evolution and restrict
14263 the predicate for the remains appropriately.
14264
5e7d8b4c
RS
142652014-04-12 Catherine Moore <clm@codesourcery.com>
14266
14267 * config/mips/constraints.md: Add new register constraint "kb".
14268 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
14269 (*movhi_internal): Likewise.
14270 (*movqi_internal): Likewise.
14271 * config/mips/mips.h (M16_STORE_REGS): New register class.
14272 (REG_CLASS_NAMES): Add M16_STORE_REGS.
14273 (REG_CLASS_CONTENTS): Likewise.
14274 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
14275
cbbd2b1c
TB
142762014-04-11 Tobias Burnus <burnus@net-b.de>
14277
14278 PR c/60194
14279 * doc/invoke.texi (-Wformat-signedness): Document it.
14280 (Wformat=2): Mention that this enables -Wformat-signedness.
14281
d9bb5800
JR
142822014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
14283
14284 * common/config/epiphany/epiphany-common.c
14285 (epiphany_option_optimization_table): Enable section anchors by
14286 default at -O1 or higher.
14287 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
14288 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
14289 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
14290 carries no extra cost.
14291 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
14292 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
14293 * config/epiphany/predicates.md (memclob_operand): New predicate.
14294 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
14295 Use memclob_operand predicate and X constraint for operand 3.
14296
b5d0ecea
JR
142972014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
14298
14299 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
14300 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
14301 its operands.
14302
473fd99a
JR
143032014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
14304
14305 PR rtl-optimization/60651
14306 * mode-switching.c (optimize_mode_switching): Make sure to emit
14307 sets of a lower numbered entity before sets of a higher numbered
14308 entity to a mode of the same or lower priority.
14309 When creating a seginfo for a basic block that starts with a code
14310 label, move the insertion point past the code label.
14311 (new_seginfo): Document and enforce requirement that
14312 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
14313 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
14314 * doc/tm.texi: Regenerate.
14315
6ace1161
JR
143162014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
14317
14318 PR target/60811
14319 * config/arc/arc.c (arc_save_restore): Fix assert typo.
14320
89eb97de
JJ
143212013-04-11 Jakub Jelinek <jakub@redhat.com>
14322
6602e7fc 14323 * BASE-VER: Set to 4.10.0.
89eb97de 14324
9d0c7214
TB
143252014-04-11 Tobias Burnus <burnus@net-b.de>
14326
14327 PR other/59055
e0a81db1 14328 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
14329 * doc/gcc.texi (Service): Update description in the @menu
14330 * doc/invoke.texi (Option Summary): Remove misplaced and
14331 duplicated @menu.
14332
3662b277
SE
143332014-04-11 Steve Ellcey <sellcey@mips.com>
14334 Jakub Jelinek <jakub@redhat.com>
14335
14336 PR middle-end/60556
14337 * expr.c (convert_move): Use emit_store_flag_force instead of
14338 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
14339 argument to it.
14340
8330537b
RB
143412014-04-11 Richard Biener <rguenther@suse.de>
14342
14343 PR middle-end/60797
14344 * varasm.c (assemble_alias): Avoid endless error reporting
14345 recursion by setting TREE_ASM_WRITTEN.
14346
3c91f126
AK
143472014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14348
14349 * config/s390/s390.md: Add a splitter for NOT rtx.
14350
d8d6ea53
JJ
143512014-04-11 Jakub Jelinek <jakub@redhat.com>
14352
14353 PR rtl-optimization/60663
e0a81db1 14354 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 14355
fa5866c0
JJ
143562014-04-10 Jan Hubicka <hubicka@ucw.cz>
14357 Jakub Jelinek <jakub@redhat.com>
073afca6 14358
fa5866c0 14359 PR lto/60567
e0a81db1
UB
14360 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
14361 flag from decl_node to node.
073afca6 14362
b322c36a
RR
143632014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14364
14365 PR debug/60655
14366 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
14367 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
14368 ameliorating the cases where it can be.
14369
8267f6bb
DE
143702014-04-09 David Edelsohn <dje.gcc@gmail.com>
14371
14372 Revert
14373 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
14374
14375 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
14376 (loadsync_<mode>): Change mode.
14377 (load_quadpti, store_quadpti): New.
14378 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
14379 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
14380 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
14381
5d1a5a53
CH
143822014-04-09 Cong Hou <congh@google.com>
14383
14384 PR testsuite/60773
14385 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
14386 documentation.
14387
da90fa4c
BS
143882014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14389
14390 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
14391 instead of vnor to exploit possible fusion opportunity in the
14392 future.
14393 (altivec_expand_vec_perm_const_le): Likewise.
14394
98e6ecab
PH
143952014-04-08 Pat Haugen <pthaugen@us.ibm.com>
14396
14397 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
14398 (loadsync_<mode>): Change mode.
14399 (load_quadpti, store_quadpti): New.
14400 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
14401 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
14402
8418cf33
RS
144032014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
14404
14405 PR target/60763
14406 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
14407 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
14408 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
14409
3fa68ccb
RB
144102014-04-08 Richard Biener <rguenther@suse.de>
14411
14412 PR middle-end/60706
14413 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
14414 a 64bit widest int print double-int similar to on HWI64 hosts.
14415
9038ae48
RB
144162014-04-08 Richard Biener <rguenther@suse.de>
14417
14418 PR tree-optimization/60785
14419 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
14420 default defs properly.
14421
38f09da3
NS
144222014-04-08 Nathan Sidwell <nathan@codesourcery.com>
14423
14424 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
14425 (Weffc++): Likewise.
14426
0439a947
JH
144272014-04-07 Jan Hubicka <hubcika@ucw.cz>
14428
14429 * ipa-devirt.c (maybe_record_node): When node is not recorded,
14430 set completep to false rather than true.
14431
3f2f838e
EB
144322014-04-07 Douglas B Rupp <rupp@adacore.com>
14433
14434 PR target/60504
14435 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
14436 ARM_TARGET2_DWARF_FORMAT.
14437
e75c1617
CB
144382014-04-07 Charles Baylis <charles.baylis@linaro.org>
14439
14440 PR target/60609
14441 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
14442 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
14443 ADDR_DIFF_VEC.
14444
d6adff07
RB
144452014-04-07 Richard Biener <rguenther@suse.de>
14446
14447 PR tree-optimization/60766
3f2f838e
EB
14448 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
14449 (may_eliminate_iv): Convert cand_value_at result to desired type.
d6adff07 14450
da34ade5
JM
144512014-04-07 Jason Merrill <jason@redhat.com>
14452
14453 PR c++/60731
14454 * common.opt (-fno-gnu-unique): Add.
14455 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
14456
151e9aac
KT
144572014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14458
14459 * haifa-sched.c: Fix outdated function reference and minor
14460 grammar errors in introductory comment.
14461
308173e3
RB
144622014-04-07 Richard Biener <rguenther@suse.de>
14463
14464 PR middle-end/60750
14465 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
14466 for noreturn calls.
14467 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
14468
a9a302d9
JDA
144692014-04-06 John David Anglin <danglin@gcc.gnu.org>
14470
14471 PR debug/55794
14472 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
14473 size accounting for thunks.
14474 (pa_asm_output_mi_thunk): Use final_start_function() and
14475 final_end_function() to output function start and end directives.
14476
576ba35c
PS
144772014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
14478
e0a81db1
UB
14479 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
14480 device specific ISA/ feature information. Remove short_sp and
14481 errata_skip ds. Add avr_device_specific_features enum to have device
14482 specific info.
576ba35c
PS
14483 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
14484 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
14485 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
14486 updated device specific info.
14487 * config/avr/avr-mcus.def: Merge device specific details to
14488 dev_attribute field.
14489 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
14490 errata_skip.
14491 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
14492 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
14493 assembler if RMW isa supported by current device.
14494 * config/avr/genmultilib.awk: Update as device info structure changed.
14495 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
14496
ebc047a2
CH
144972014-04-04 Cong Hou <congh@google.com>
14498
14499 PR tree-optimization/60656
14500 * tree-vect-stmts.c (supportable_widening_operation):
14501 Fix a bug that elements in a vector with vect_used_by_reduction
14502 property are incorrectly reordered when the operation on it is not
14503 consistant with the one in reduction operation.
14504
b6808818
JDA
145052014-04-04 John David Anglin <danglin@gcc.gnu.org>
14506
14507 PR rtl-optimization/60155
14508 * gcse.c (record_set_data): New function.
14509 (single_set_gcse): New function.
14510 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
14511 (hoist_code): Likewise.
14512 (get_pressure_class_and_nregs): Likewise.
14513
eabcc725
EB
145142014-04-04 Eric Botcazou <ebotcazou@adacore.com>
14515
14516 * explow.c (probe_stack_range): Emit a final optimization blockage.
14517
e005b753
AG
145182014-04-04 Anthony Green <green@moxielogic.com>
14519
14520 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
14521 typos.
14522
8fe91ca8
JH
145232014-04-04 Jan Hubicka <hubicka@ucw.cz>
14524
14525 PR ipa/59626
14526 * lto-cgraph.c (input_overwrite_node): Check that partitioning
14527 flags are set only during streaming.
14528 * ipa.c (process_references, walk_polymorphic_call_targets,
14529 symtab_remove_unreachable_nodes): Drop bodies of always inline
14530 after early inlining.
14531 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
576ba35c 14532
88d94632
RR
145332014-04-04 Jakub Jelinek <jakub@redhat.com>
14534 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14535
14536 PR debug/60655
14537 * dwarf2out.c (const_ok_for_output_1): Reject expressions
14538 containing a NOT.
14539
094bc219
KT
145402014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14541
14542 PR bootstrap/60743
14543 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
14544 duration.
14545 (cortex_a53_fdivd): Likewise.
14546
610c8ef0
MJ
145472014-04-04 Martin Jambor <mjambor@suse.cz>
14548
14549 PR ipa/60640
b15d92bf
UB
14550 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
14551 Adjust all callers.
610c8ef0
MJ
14552 * cgraph.c (clone_of_p): Also return true if thunks match.
14553 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
14554 cgraph_function_or_thunk_node and an obsolete comment.
b15d92bf
UB
14555 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
14556 file.
14557 (build_function_decl_skip_args): Likewise.
610c8ef0 14558 (set_new_clone_decl_and_node_flags): New function.
b15d92bf
UB
14559 (duplicate_thunk_for_node): Likewise.
14560 (redirect_edge_duplicating_thunks): Likewise.
14561 (cgraph_clone_node): New parameter args_to_skip, pass it to
14562 redirect_edge_duplicating_thunks which is called instead of
14563 cgraph_redirect_edge_callee.
14564 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
610c8ef0
MJ
14565 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
14566
fc02bcca
JL
145672014-04-04 Jeff Law <law@redhat.com>
14568
57ef133b 14569 PR target/60657
fc02bcca
JL
14570 * config/arm/predicates.md (const_int_I_operand): New predicate.
14571 (const_int_M_operand): Similarly.
14572 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
14573 const_int_operand.
14574 (insv_t2, extv_reg, extzv_t2): Likewise.
14575 (load_multiple_with_writeback): Similarly for const_int_I_operand.
14576 (pop_multiple_with_writeback_and_return): Likewise.
14577 (vfp_pop_multiple_with_writeback): Likewise
14578
45b62594
RB
145792014-04-04 Richard Biener <rguenther@suse.de>
14580
14581 PR ipa/60746
14582 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
14583 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
14584 non-GIMPLE_LABELs.
14585 * gimplify.h (gimple_add_tmp_var_fn): Declare.
14586 * gimplify.c (gimple_add_tmp_var_fn): New function.
14587 * gimple-expr.h (create_tmp_reg_fn): Declare.
14588 * gimple-expr.c (create_tmp_reg_fn): New function.
14589 * gimple-low.c (record_vars_into): Don't change cfun.
14590 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
14591 code generation without cfun.
14592
bb609c35
TS
145932014-04-04 Thomas Schwinge <thomas@codesourcery.com>
14594
14595 PR bootstrap/60719
14596 * Makefile.in (install-driver): Fix shell scripting.
14597
090cd8dc
CH
145982014-04-03 Cong Hou <congh@google.com>
14599
14600 PR tree-optimization/60505
14601 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
e0a81db1
UB
14602 threshold of number of iterations below which no vectorization
14603 will be done.
090cd8dc
CH
14604 * tree-vect-loop.c (new_loop_vec_info):
14605 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
14606 * tree-vect-loop.c (vect_analyze_loop_operations):
14607 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
14608 * tree-vect-loop.c (vect_transform_loop):
14609 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
14610 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
14611 of iterations of the loop and see if we should build the epilogue.
14612
bdc67fd6
RB
146132014-04-03 Richard Biener <rguenther@suse.de>
14614
e0a81db1 14615 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
14616 (streamer_tree_cache_create): Adjust.
14617 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
14618 to allow optional nodes array.
14619 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
14620 (streamer_tree_cache_append): Likewise.
14621 (streamer_tree_cache_create): Create nodes array optionally
14622 as specified by parameter.
14623 * lto-streamer-out.c (create_output_block): Avoid maintaining
14624 the node array in the writer cache.
14625 (DFS_write_tree): Remove assertion.
e0a81db1 14626 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
14627 * lto-streamer-in.c (lto_data_in_create): Adjust for
14628 streamer_tree_cache_create prototype change.
14629
a0daf659
RB
146302014-04-03 Richard Biener <rguenther@suse.de>
14631
14632 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
14633 set TREE_CHAIN to NULL_TREE.
14634
f16c88d2
RB
146352014-04-03 Richard Biener <rguenther@suse.de>
14636
14637 PR tree-optimization/60740
14638 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
14639 over all GIMPLE_COND operands.
14640
880a467b
NS
146412014-04-03 Nathan Sidwell <nathan@codesourcery.com>
14642
14643 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
14644 (Weffc++): Remove Scott's numbering, merge lists and reference
14645 Wnon-virtual-dtor.
14646
08866760
NC
146472014-04-03 Nick Clifton <nickc@redhat.com>
14648
14649 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
14650 properly.
14651
5bed50e8
MJ
146522014-04-03 Martin Jambor <mjambor@suse.cz>
14653
14654 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
14655 mention gcc_unreachable before failing.
14656 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
14657 removed symbols.
14658
3e86c6a8
JH
146592014-04-02 Jan Hubicka <hubicka@ucw.cz>
14660
14661 PR ipa/60659
e0a81db1
UB
14662 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
14663 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
14664 (possible_polymorphic_call_targets): For inconsistent contexts
14665 return empty complete list.
14666
2b9912aa
AG
146672014-04-02 Anthony Green <green@moxielogic.com>
14668
14669 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
14670 (extendqisi2, extendhisi2): Define.
14671 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
14672 (WCHAR_TYPE): Change to unsigned int.
14673
1e386bb8
BS
146742014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14675
14676 PR tree-optimization/60733
14677 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
14678 insertion point for PHI candidates to be the end of the feeding
14679 block for the PHI argument.
14680
f4581282
VM
146812014-04-02 Vladimir Makarov <vmakarov@redhat.com>
14682
14683 PR rtl-optimization/60650
14684 * lra-constraints.c (process_alt_operands): Decrease reject for
14685 earlyclobber matching.
14686
a9d46e32
AK
146872014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14688
14689 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
14690
7c40228a
UW
146912014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14692
14693 * config/spu/spu.c (pad_bb): Do not crash when the last
14694 insn is CODE_FOR_blockage.
14695
c6596193
UW
146962014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14697
14698 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
14699 lies outside the target mode.
14700
690c229f
MM
147012014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
14702
14703 PR target/60735
14704 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
14705 software floating point or no floating point registers, do not
14706 allow any type in the FPRs. Eliminate a test for SPE SIMD types
14707 in GPRs that occurs after we tested for GPRs that would never be
14708 true.
14709
14710 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
14711 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
14712 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
14713 specifically allow DDmode, since that does not use the SPE SIMD
14714 instructions.
14715
dad16761
RB
147162014-04-02 Richard Biener <rguenther@suse.de>
14717
14718 PR middle-end/60729
14719 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
14720 MODE_INTs. Properly use negv_optab.
14721 (expand_abs): Likewise.
14722
a1ce39be
RB
147232014-04-02 Richard Biener <rguenther@suse.de>
14724
14725 PR bootstrap/60719
14726 * Makefile.in (install-driver): Guard extra installs with special
14727 names properly.
14728
6fb619e4
MM
147292014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
14730
14731 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
14732 Document vec_vgbbd.
14733
2a1ffd6d
RH
147342014-04-01 Richard Henderson <rth@redhat.com>
14735
14736 PR target/60704
14737 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
14738 alternative enabled before register allocation.
14739
98e8dd4d
CLT
147402014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
14741
14742 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
14743 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
14744 typo.
14745 (nios2_large_got_address): Remove unneeded 'sym' parameter.
14746 (nios2_got_address): Update nios2_large_got_address call site.
14747 (nios2_delegitimize_address): New function.
14748 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
14749 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
14750 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
14751
8785c60a
MH
147522014-04-01 Martin Husemann <martin@duskware.de>
14753
14754 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
14755 for -mabi=32.
14756
3343cf6a
RS
147572014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
14758
14759 PR rtl-optimization/60604
14760 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
14761 check from register_operand.
14762 (register_operand): Redefine in terms of general_operand.
14763 (nonmemory_operand): Use register_operand for the non-constant cases.
14764
1503cb6b
RB
147652014-04-01 Richard Biener <rguenther@suse.de>
14766
e0a81db1 14767 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 14768
cded08ea
SH
147692014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
14770
14771 * doc/invoke.texi (mapp-regs): Clarify.
14772
7d9088c2
UD
147732014-03-31 Ulrich Drepper <drepper@gmail.com>
14774
14775 * config/i386/avx512fintrin.h (__v32hi): Define type.
14776 (__v64qi): Likewise.
14777 (_mm512_set1_epi8): Define.
14778 (_mm512_set1_epi16): Define.
14779 (_mm512_set4_epi32): Define.
14780 (_mm512_set4_epi64): Define.
14781 (_mm512_set4_pd): Define.
14782 (_mm512_set4_ps): Define.
14783 (_mm512_setr4_epi64): Define.
14784 (_mm512_setr4_epi32): Define.
14785 (_mm512_setr4_pd): Define.
14786 (_mm512_setr4_ps): Define.
14787 (_mm512_setzero_epi32): Define.
14788
c18ff8a4
MJ
147892014-03-31 Martin Jambor <mjambor@suse.cz>
14790
14791 PR middle-end/60647
14792 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
14793 callsite_arguments_match_p. Updated all callers. Also check types of
14794 corresponding formal parameters and actual arguments.
14795 (not_all_callers_have_enough_arguments_p) Renamed to
14796 some_callers_have_mismatched_arguments_p.
14797
9a96d5b7
YR
147982014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
14799
14800 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
14801
6c031d8d
KV
148022014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
14803
14804 PR target/60034
14805 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
14806 section anchor.
14807
429749e2
UB
148082014-03-30 Uros Bizjak <ubizjak@gmail.com>
14809
14810 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
14811 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
14812 Split out
14813 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
14814 Use FMAMODE_NOVF512 mode iterator.
14815 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
14816 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
14817 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
14818 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
14819 Split out
14820 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
14821 Use VF_128_256 mode iterator.
14822 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
14823 Ditto.
14824
1f91035f
JH
148252014-03-28 Jan Hubicka <hubicka@ucw.cz>
14826
14827 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
14828 static chain if needed.
14829
6e071b1e
VM
148302014-03-28 Vladimir Makarov <vmakarov@redhat.com>
14831
14832 PR target/60697
14833 * lra-constraints.c (index_part_to_reg): New.
14834 (process_address): Use it.
14835
e7f31789 148362014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 14837 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
14838
14839 PR target/60648
4bb66ef3
JJ
14840 * expr.c (do_tablejump): Use simplify_gen_binary rather than
14841 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 14842
4bb66ef3
JJ
14843 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
14844 creating non-canonical RTL.
e7f31789 14845
4cd8957f
JH
148462014-03-28 Jan Hubicka <hubicka@ucw.cz>
14847
14848 PR ipa/60243
14849 * ipa-inline.c (want_inline_small_function_p): Short circuit large
14850 functions; reorganize to make cheap checks first.
14851 (inline_small_functions): Do not estimate growth when dumping;
14852 it is expensive.
14853 * ipa-inline.h (inline_summary): Add min_size.
14854 (growth_likely_positive): New function.
14855 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
14856 (set_cond_stmt_execution_predicate): Cleanup.
14857 (estimate_edge_size_and_time): Compute min_size.
14858 (estimate_calls_size_and_time): Likewise.
14859 (estimate_node_size_and_time): Likewise.
14860 (inline_update_overall_summary): Update min_size.
14861 (do_estimate_edge_time): Likewise.
14862 (do_estimate_edge_size): Update.
14863 (do_estimate_edge_hints): Update.
14864 (growth_likely_positive): New function.
14865
ff76f4e2
JJ
148662014-03-28 Jakub Jelinek <jakub@redhat.com>
14867
14868 PR target/60693
14869 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
14870 also if addr has VOIDmode.
14871
ed6eb6dc
KT
148722014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14873
14874 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
14875 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
14876 Declare extern.
14877 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
14878 instructions as well as AdvancedSIMD loads.
14879
b10baa95
KT
148802014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14881
14882 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
14883 Use crypto_aese type.
14884 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
14885 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
14886 crypto_aese, crypto_aesmc. Move to types.md.
14887 * config/arm/types.md (crypto_aes): Split into crypto_aese,
14888 crypto_aesmc.
14889 * config/arm/iterators.md (crypto_type): Likewise.
14890
23a04216
JH
148912014-03-28 Jan Hubicka <hubicka@ucw.cz>
14892
14893 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
14894 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
14895 remove LHS.
23a04216 14896
a4971e68
VM
148972014-03-28 Vladimir Makarov <vmakarov@redhat.com>
14898
14899 PR target/60675
14900 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
14901 regs from checking multi-reg pseudos.
14902
7ac84c02
RR
149032014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14904
14905 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
14906
bd302a18
UW
149072014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14908
14909 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
14910 if it would clobber the stack pointer, even temporarily.
14911
cee9defb
EB
149122014-03-28 Eric Botcazou <ebotcazou@adacore.com>
14913
14914 * mode-switching.c: Make small adjustments to the top comment.
14915
117f16fb
MM
149162014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
14917
14918 * config/rs6000/constraints.md (wD constraint): New constraint to
14919 match the constant integer to get the top DImode/DFmode out of a
14920 vector in a VSX register.
14921
14922 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
14923 match the constant integer to get the top DImode/DFmode out of a
14924 vector in a VSX register.
14925
14926 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
14927 for ISA 2.07.
14928
14929 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
14930 vbpermq builtins.
14931
14932 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
14933 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
14934
14935 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
14936 Optimize vec_extract of 64-bit values, where the value being
14937 extracted is in the top word, where we can use scalar
14938 instructions. Add direct move and store support. Combine the big
429749e2 14939 endian/little endian vector select load support into a single insn.
117f16fb
MM
14940 (vsx_extract_<mode>_internal1): Likewise.
14941 (vsx_extract_<mode>_internal2): Likewise.
14942 (vsx_extract_<mode>_load): Likewise.
14943 (vsx_extract_<mode>_store): Likewise.
14944 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
14945 combined into vsx_extract_<mode>_load.
14946 (vsx_extract_<mode>_one_le): Likewise.
14947
14948 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
14949 define the top 64-bit vector element.
14950
14951 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
14952 constraint.
14953
6788164b
MM
14954 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
14955 Document vec_vbpermq builtin.
14956
117f16fb
MM
14957 PR target/60672
14958 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
14959 enable use of xxsldwi and xxpermdi builtin functions.
14960 (vec_xxpermdi): Likewise.
14961
14962 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
14963 Document use of vec_xxsldwi and vec_xxpermdi builtins.
14964
9e038952
VM
149652014-03-27 Vladimir Makarov <vmakarov@redhat.com>
14966
14967 PR rtl-optimization/60650
f4581282 14968 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
14969 first_p. Use it.
14970 (find_spills_for): New.
14971 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
14972 Spill all pseudos on the second iteration.
14973
324dc401
MP
149742014-03-27 Marek Polacek <polacek@redhat.com>
14975
14976 PR c/50347
14977 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
14978 types.
14979
6e77facf
AK
149802014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14981
14982 * config/s390/s390.c (s390_can_use_return_insn): Check for
14983 call-saved FPRs on 31 bit.
14984
47519a14
JJ
149852014-03-27 Jakub Jelinek <jakub@redhat.com>
14986
14987 PR middle-end/60682
14988 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
14989 if they need regimplification, just drop them instead of
14990 calling gimple_regimplify_operands on them.
14991
0b7f8166
MS
149922014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
14993
14994 PR target/60580
14995 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
14996 (aarch64_frame_pointer_required): Adjust logic.
14997 (aarch64_can_eliminate): Adjust logic.
14998 (aarch64_override_options_after_change): Adjust logic.
14999
2f2a7d15
DC
150002014-03-27 Dehao Chen <dehao@google.com>
15001
15002 * ipa-inline.c (early_inliner): Update node's inline info.
15003
a0dbf285
DC
150042014-03-26 Dehao Chen <dehao@google.com>
15005
15006 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
15007 compiler inserted conditional jumps for NAN float check.
15008
ed0ca1e1
JJ
150092014-03-26 Jakub Jelinek <jakub@redhat.com>
15010
07d72e1d
JJ
15011 * ubsan.h (ubsan_create_data): Change second argument's type
15012 to const location_t *.
15013 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
15014 _("<unknown>").
15015 (ubsan_create_data): Change second argument to const location_t *PLOC.
15016 Create Loc field whenever PLOC is non-NULL.
15017 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
15018 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
15019 callers.
15020
ed0ca1e1
JJ
15021 PR other/59545
15022 * real.c (real_to_integer2): Change type of low to UHWI.
15023
b9487dd8
TB
150242014-03-26 Tobias Burnus <burnus@net-b.de>
15025
15026 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
15027 (CILK_SELF_SPECS): New define.
15028 (driver_self_specs): Use it.
15029
3a2700f6
RB
150302014-03-26 Richard Biener <rguenther@suse.de>
15031
15032 * tree-pretty-print.c (percent_K_format): Implement special
15033 case for LTO and its stripped down BLOCK tree.
15034
368b454d
JJ
150352014-03-26 Jakub Jelinek <jakub@redhat.com>
15036
aa6b742f
JJ
15037 PR sanitizer/60636
15038 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
15039
368b454d
JJ
15040 * tree-vrp.c (simplify_internal_call_using_ranges): If only
15041 one range is range_int_cst_p, but not both, at least optimize
15042 addition/subtraction of 0 and multiplication by 0 or 1.
15043 * gimple-fold.c (gimple_fold_call): Fold
15044 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
15045 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
15046 INTEGER_CSTs, try to fold at least x * 0 and y - y.
15047
c7e30a96
EB
150482014-03-26 Eric Botcazou <ebotcazou@adacore.com>
15049
15050 PR rtl-optimization/60452
15051 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
15052 <case REG>: Return 1 for invalid offsets from the frame pointer.
15053
d615d763
MP
150542014-03-26 Marek Polacek <polacek@redhat.com>
15055
15056 PR c/37428
15057 * doc/extend.texi (C Extensions): Mention variable-length arrays in
15058 a structure/union.
15059
1b226529
MP
150602014-03-26 Marek Polacek <polacek@redhat.com>
15061
15062 PR c/39525
15063 * doc/extend.texi (Designated Inits): Describe what happens to omitted
15064 field members.
15065
6686e0bc
MP
150662014-03-26 Marek Polacek <polacek@redhat.com>
15067
15068 PR other/59545
15069 * ira-color.c (update_conflict_hard_regno_costs): Perform the
15070 multiplication in unsigned type.
15071
d4fbc3ae
CJW
150722014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
15073
15074 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
15075
dfa6c87b
CJW
150762014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
15077
15078 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
15079
9de6f6c3
JH
150802014-03-25 Jan Hubicka <hubicka@ucw.cz>
15081
15082 PR ipa/60315
15083 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
15084 * ipa-inline.c (inline_small_functions): Skip edges to
15085 __builtlin_unreachable.
9de6f6c3
JH
15086 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
15087 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
15088 predicate to __bulitin_unreachable.
429749e2
UB
15089 (set_cond_stmt_execution_predicate): Fix issue when
15090 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
15091 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
15092 propagate to inline clones.
15093 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
15094 to unreachable.
15095 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
15096 * cgraphclones.c (cgraph_clone_node): If call destination is already
15097 ureachable, do not redirect it back.
15098 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
15099 unreachable.
15100
d7636f56
JH
151012014-03-25 Jan Hubicka <hubicka@ucw.cz>
15102
15103 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
15104 Do not modify inline clones.
15105
d1873c57
JJ
151062014-03-25 Jakub Jelinek <jakub@redhat.com>
15107
15108 * config/i386/i386.md (general_sext_operand): New mode attr.
15109 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
15110 don't generate (sign_extend (const_int)).
15111 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
429749e2
UB
15112 operands[2]. Use We constraint instead of <i> and
15113 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
15114 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
15115 * config/i386/constraints.md (We): New constraint.
15116 * config/i386/predicates.md (x86_64_sext_operand,
15117 sext_operand): New predicates.
15118
b5165eb0
MJ
151192014-03-25 Martin Jambor <mjambor@suse.cz>
15120
15121 PR ipa/60600
15122 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
15123 inconsistent devirtualizations to __builtin_unreachable.
15124
3102858d
MP
151252014-03-25 Marek Polacek <polacek@redhat.com>
15126
15127 PR c/35449
15128 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
15129
4b1e108c
AL
151302014-03-25 Alan Lawrence <alan.lawrence@arm.com>
15131
15132 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
15133 order of elements for big-endian.
15134
40b0722f
RB
151352014-03-25 Richard Biener <rguenther@suse.de>
15136
15137 PR middle-end/60635
15138 * gimplify-me.c (gimple_regimplify_operands): Update the
15139 re-gimplifed stmt.
15140
4a5798de
MJ
151412014-03-25 Martin Jambor <mjambor@suse.cz>
15142
15143 PR ipa/59176
15144 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
15145 (lto_output_varpool_node): Likewise.
15146 (input_overwrite_node): Likewise.
15147 (input_varpool_node): Likewise.
15148
585d0088
RB
151492014-03-25 Richard Biener <rguenther@suse.de>
15150
429749e2 15151 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
15152 (run_gcc): Likewise.
15153
a8acccdd
JJ
151542014-03-25 Jakub Jelinek <jakub@redhat.com>
15155
51ee05d0
JJ
15156 * combine.c (simplify_compare_const): Add MODE argument.
15157 Handle mode_width 0 as very large mode_width.
15158 (try_combine, simplify_comparison): Adjust callers.
15159
a8acccdd
JJ
15160 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
15161 type to avoid signed integer overflow.
15162 * explow.c (plus_constant): Likewise.
15163
57fc74a4
DV
151642014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
15165
15166 * doc/generic.texi: Correct typos.
15167
09f15d1b
TB
151682014-03-24 Tobias Burnus <burnus@net-b.de>
15169
15170 * doc/invoke.texi (-flto): Expand section about
15171 using static libraries with LTO.
15172
72a4ddf2
AK
151732014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15174
15175 PR rtl-optimization/60501
15176 * optabs.def (addptr3_optab): New optab.
15177 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
15178 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
15179 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
15180
15181 * lra.c (emit_add3_insn): Use the addptr pattern if available.
15182
15183 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
15184
0b192937
UD
151852014-03-24 Ulrich Drepper <drepper@gmail.com>
15186
2b2384e8
UD
15187 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
15188 _mm512_set1_pd.
15189
0b192937
UD
15190 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
15191 (_mm256_undefined_ps): Define.
15192 (_mm256_undefined_pd): Define.
15193 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
15194 (_mm_undefined_pd): Define.
15195 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
15196 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
15197 (_mm512_undefined_ps): Define.
15198 (_mm512_undefined_pd): Define.
15199 Use _mm*_undefined_*.
15200 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
15201
252c7556
AV
152022014-03-24 Alex Velenko <Alex.Velenko@arm.com>
15203
15204 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
15205 (lshr_simd): DI mode added.
15206 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
15207 (aarch64_ushr_simddi): Likewise.
15208 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
15209 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
15210 (vshrd_n_u64): Likewise.
15211
15e3d4f1
RO
152122014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15213
15214 * Makefile.in (s-macro_list): Depend on cc1.
15215
1858c2d3
TJ
152162014-03-23 Teresa Johnson <tejohnson@google.com>
15217
15218 * ipa-utils.c (ipa_print_order): Use specified dump file.
15219
f87604f8
EB
152202014-03-23 Eric Botcazou <ebotcazou@adacore.com>
15221
15222 PR rtl-optimization/60601
15223 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
15224
15225 * gcc.c (eval_spec_function): Initialize save_growing_value.
15226
3db31fd1
JJ
152272014-03-22 Jakub Jelinek <jakub@redhat.com>
15228
f451d3a8
JJ
15229 PR sanitizer/60613
15230 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
15231 code == MINUS_EXPR, never swap op0 with op1.
15232
3db31fd1
JJ
15233 * toplev.c (init_local_tick): Avoid signed integer multiplication
15234 overflow.
15235 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
15236 shift by first operand's bitsize.
15237
e49080ec
JJ
152382014-03-21 Jakub Jelinek <jakub@redhat.com>
15239
15240 PR target/60610
15241 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
15242 redefine to 1 or 0.
15243 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
15244 TARGET_ISA_64BIT_P(x).
15245
44eb6c40
BS
152462014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15247
15248 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
15249 pattern for vector nor instead of subtract from splat(-1).
15250 (altivec_expand_vec_perm_const_le): Likewise.
15251
ec6f831a
RH
152522014-03-21 Richard Henderson <rth@twiddle.net>
15253
15254 PR target/60598
15255 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
15256 related insns after epilogue_completed.
15257
3d8d0043
MJ
152582014-03-21 Martin Jambor <mjambor@suse.cz>
15259
15260 PR ipa/59176
15261 * cgraph.h (symtab_node): New flag body_removed.
15262 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
15263 when removing bodies.
15264 * symtab.c (dump_symtab_base): Dump body_removed flag.
15265 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
15266 had their bodies removed.
15267
d833415c
MJ
152682014-03-21 Martin Jambor <mjambor@suse.cz>
15269
15270 PR ipa/60419
15271 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
15272 in the border.
15273
400a4f6c
RB
152742014-03-21 Richard Biener <rguenther@suse.de>
15275
15276 PR tree-optimization/60577
15277 * tree-core.h (struct tree_base): Document nothrow_flag use
9c85aeb6
EB
15278 in DECL_NONALIASED.
15279 * tree.h (DECL_NONALIASED): New.
400a4f6c 15280 (may_be_aliased): Adjust.
9c85aeb6 15281 * coverage.c (build_var): Set DECL_NONALIASED.
400a4f6c 15282
c6c2314f
EB
152832014-03-20 Eric Botcazou <ebotcazou@adacore.com>
15284
15285 * expr.c (expand_expr_real_1): Remove outdated comment.
15286
d02b6ac7
JJ
152872014-03-20 Jakub Jelinek <jakub@redhat.com>
15288
b8f045e2
JJ
15289 PR middle-end/60597
15290 * ira.c (adjust_cleared_regs): Call copy_rtx on
15291 *reg_equiv[REGNO (loc)].src_p before passing it to
15292 simplify_replace_fn_rtx.
15293
d02b6ac7
JJ
15294 PR target/60568
15295 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
15296 into CONST, put pic register as first operand of PLUS. Use
15297 gen_const_mem for both 32-bit and 64-bit PIC got loads.
15298
e2f98c01
RR
152992014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15300
15301 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
15302
7075c792
EB
153032014-03-20 Eric Botcazou <ebotcazou@adacore.com>
15304
15305 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
15306 around for store forwarding issue in the FPU on the UT699.
15307 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
15308 loads and operations if -mfix-ut699 is specified.
15309 (divtf3_hq): Tweak attribute.
15310 (sqrttf2_hq): Likewise.
15311
9ee5337d
EB
153122014-03-20 Eric Botcazou <ebotcazou@adacore.com>
15313
15314 * calls.c (store_one_arg): Remove incorrect const qualification on the
15315 type of the temporary.
15316 * cfgexpand.c (expand_return): Likewise.
15317 * expr.c (expand_constructor): Likewise.
15318 (expand_expr_real_1): Likewise.
15319
a69e09c8
ZC
153202014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
15321
15322 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
15323 of parts.
15324
8659d57b
KK
153252014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
15326
15327 PR target/60039
15328 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
15329
985e0d33
JG
153302014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
15331
15332 * config/arm/aarch-common-protos.h
15333 (alu_cost_table): Fix spelling of "extend".
15334 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
15335
ce2f49b3
RB
153362014-03-19 Richard Biener <rguenther@suse.de>
15337
15338 PR middle-end/60553
15339 * tree-core.h (tree_type_common): Re-order pointer members
15340 to reduce recursion depth during GC walks.
15341
6daa2d91
MP
153422014-03-19 Marek Polacek <polacek@redhat.com>
15343
15344 PR sanitizer/60569
15345 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
15346 before accessing it.
15347
8c9cfbe6
RB
153482014-03-19 Richard Biener <rguenther@suse.de>
15349
15350 PR lto/59543
15351 * lto-streamer-in.c (input_function): In WPA stage do not drop
15352 debug stmts.
15353
3efe2e2c
JJ
153542014-03-19 Jakub Jelinek <jakub@redhat.com>
15355
15356 PR tree-optimization/60559
15357 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
15358 with build_zero_cst assignment.
15359
234f76cb
KT
153602014-03-18 Kai Tietz <ktietz@redhat.com>
15361
15362 PR rtl-optimization/56356
15363 * sdbout.c (sdbout_parms): Verify that parms'
15364 incoming argument is valid.
15365 (sdbout_reg_parms): Likewise.
15366
58ca6edf
RH
153672014-03-18 Richard Henderson <rth@redhat.com>
15368
15369 PR target/60562
15370 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
15371 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 15372 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
15373
153742014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
15375
4bb66ef3 15376 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 15377 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 15378 Italicize plugin event names in description. Explain that
429749e2
UB
15379 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
15380 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 15381 Explain what pragmas with expansion are.
b318e404 15382
eb14a79f
ML
153832014-03-18 Martin Liska <mliska@suse.cz>
15384
15385 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
15386 gimple call statement is update.
15387 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
15388 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
15389
415e2e6b
JJ
153902014-03-18 Jakub Jelinek <jakub@redhat.com>
15391
ead96f13
JJ
15392 PR sanitizer/60557
15393 * ubsan.c (ubsan_instrument_unreachable): Call
15394 initialize_sanitizer_builtins.
15395 (ubsan_pass): Likewise.
15396
415e2e6b
JJ
15397 PR sanitizer/60535
15398 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
15399 varpool_finalize_decl instead of rest_of_decl_compilation.
15400
4ca40f52
RB
154012014-03-18 Richard Biener <rguenther@suse.de>
15402
15403 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
15404 by using bitmap_and_compl instead of bitmap_and_compl_into.
15405 (df_rd_transfer_function): Likewise.
15406
6404e190
RB
154072014-03-18 Richard Biener <rguenther@suse.de>
15408
15409 * doc/lto.texi (fresolution): Fix typo.
15410
b9abf793
RB
154112014-03-18 Richard Biener <rguenther@suse.de>
15412
15413 * doc/invoke.texi (flto): Update for changes in 4.9.
15414
3f00cf18
RB
154152014-03-18 Richard Biener <rguenther@suse.de>
15416
15417 * doc/loop.texi: Remove section on the removed lambda framework.
15418 Update loop docs with recent changes in preserving loop structure.
15419
c2679d84
RB
154202014-03-18 Richard Biener <rguenther@suse.de>
15421
15422 * doc/lto.texi (-fresolution): Document.
15423
c07990cc
RB
154242014-03-18 Richard Biener <rguenther@suse.de>
15425
15426 * doc/contrib.texi: Adjust my name.
15427
ed9c79e1
JJ
154282014-03-18 Jakub Jelinek <jakub@redhat.com>
15429
15430 PR ipa/58721
15431 * internal-fn.c: Include diagnostic-core.h.
15432 (expand_BUILTIN_EXPECT): New function.
15433 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
15434 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
15435 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
15436 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
15437 IFN_BUILTIN_EXPECT.
15438 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
15439 Revert 3 argument __builtin_expect code.
15440 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
15441 * gimple-fold.c (gimple_fold_call): Likewise.
15442 * tree.h (fold_builtin_expect): New prototype.
15443 * builtins.c (build_builtin_expect_predicate): Add predictor
15444 argument, if non-NULL, create 3 argument __builtin_expect.
15445 (fold_builtin_expect): No longer static. Add ARG2 argument,
15446 pass it through to build_builtin_expect_predicate.
15447 (fold_builtin_2): Adjust caller.
15448 (fold_builtin_3): Handle BUILT_IN_EXPECT.
15449 * internal-fn.def (BUILTIN_EXPECT): New.
15450
154512014-03-18 Tobias Burnus <burnus@net-b.de>
15452
15453 PR ipa/58721
15454 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
15455 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
15456 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
15457
154582014-03-18 Jan Hubicka <hubicka@ucw.cz>
15459
15460 PR ipa/58721
15461 * predict.c (combine_predictions_for_bb): Fix up formatting.
15462 (expr_expected_value_1, expr_expected_value): Add predictor argument,
15463 fill what it points to if non-NULL.
15464 (tree_predict_by_opcode): Adjust caller, use the predictor.
15465 * predict.def (PRED_COMPARE_AND_SWAP): Add.
15466
e33da4a1
EB
154672014-03-18 Eric Botcazou <ebotcazou@adacore.com>
15468
15469 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
15470 proper constant for the store mode.
15471
1fed15fc
IE
154722014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
15473
15474 * symtab.c (change_decl_assembler_name): Fix transparent alias
15475 chain construction.
15476
454fdba9
RL
154772014-03-16 Renlin Li <Renlin.Li@arm.com>
15478
15479 * config/aarch64/aarch64.c: Correct the comments about the
15480 aarch64 stack layout.
15481
e2110f8f
TS
154822014-03-18 Thomas Schwinge <thomas@codesourcery.com>
15483
15484 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
15485 check for GF_OMP_FOR_KIND_FOR.
15486
7c831c4d
KY
154872013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
15488
15489 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
15490 ymm and zmm register names.
15491
e318c1e1
JJ
154922014-03-17 Jakub Jelinek <jakub@redhat.com>
15493
15494 PR target/60516
15495 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
15496 note creation for the 2010-08-31 changes.
15497
ab2ffbeb
MP
154982014-03-17 Marek Polacek <polacek@redhat.com>
15499
15500 PR middle-end/60534
15501 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
15502 as -fno-tree-loop-vectorize.
15503 (expand_omp_simd): Likewise.
15504
890fa568
EB
155052014-03-15 Eric Botcazou <ebotcazou@adacore.com>
15506
15507 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
15508 (eligible_for_call_delay): New prototype.
15509 * config/sparc/sparc.c (tls_call_delay): Rename into...
15510 (eligible_for_call_delay): ...this. Return false if the instruction
15511 cannot be put in the delay slot of a branch.
15512 (eligible_for_restore_insn): Simplify.
15513 (eligible_for_return_delay): Return false if the instruction cannot be
15514 put in the delay slot of a branch and simplify.
15515 (eligible_for_sibcall_delay): Return false if the instruction cannot be
15516 put in the delay slot of a branch.
15517 * config/sparc/sparc.md (fix_ut699): New attribute.
15518 (tls_call_delay): Delete.
15519 (in_call_delay): Reimplement.
15520 (eligible_for_sibcall_delay): Rename into...
15521 (in_sibcall_delay): ...this.
15522 (eligible_for_return_delay): Rename into...
15523 (in_return_delay): ...this.
15524 (in_branch_delay): Reimplement.
15525 (in_uncond_branch_delay): Delete.
15526 (in_annul_branch_delay): Delete.
15527
cfce90ac
RH
155282014-03-14 Richard Henderson <rth@redhat.com>
15529
15530 PR target/60525
15531 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
15532 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
15533 (*floathi<X87MODEF>2_i387_with_temp): Remove.
15534 (floathi splitters): Remove.
15535 (float<SWI48x>xf2): New pattern.
15536 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
15537 code that tried to handle DImode for 32-bit, but which was excluded
15538 by the pattern's condition. Drop allocation of stack temporary.
15539 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
15540 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
15541 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
15542 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
15543 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
15544 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
15545 (*float<SWI48><MODEF>2_sse_interunit): Remove.
15546 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
15547 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
15548 (*float<SWI48x><X87MODEF>2_i387): Remove.
15549 (all float _with_temp splitters): Remove.
15550 (*float<SWI48x><MODEF>2_i387): New pattern.
15551 (*float<SWI48><MODEF>2_sse): New pattern.
15552 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
15553 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
15554
91035653
JJ
155552014-03-14 Jakub Jelinek <jakub@redhat.com>
15556 Marek Polacek <polacek@redhat.com>
15557
15558 PR middle-end/60484
15559 * common.opt (dump_base_name_prefixed): New Variable.
15560 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
15561 if x_dump_base_name_prefixed is already set, set it at the end.
15562
95921002
VM
155632014-03-14 Vladimir Makarov <vmakarov@redhat.com>
15564
15565 PR rtl-optimization/60508
15566 * lra-constraints.c (get_reload_reg): Add new parameter
15567 in_subreg_p.
15568 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
15569 Pass the new parameter values.
15570
25e57622
RB
155712014-03-14 Richard Biener <rguenther@suse.de>
15572
15573 * common.opt: Revert unintented changes from r205065.
15574 * opts.c: Likewise.
15575
1f3388fe
RB
155762014-03-14 Richard Biener <rguenther@suse.de>
15577
15578 PR middle-end/60518
15579 * cfghooks.c (split_block): Properly adjust all loops the
15580 block was a latch of.
15581
155822014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
15583
15584 PR lto/60461
15585 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
15586 and simplify it.
15587
2832dc22
GJL
155882014-03-14 Georg-Johann Lay <avr@gjlay.de>
15589
15590 PR target/59396
15591 * config/avr/avr.c (avr_set_current_function): Pass function name
15592 through default_strip_name_encoding before sanity checking instead
15593 of skipping the first char of the assembler name.
15594
3386d77e
RH
155952014-03-13 Richard Henderson <rth@redhat.com>
15596
15597 PR debug/60438
15598 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
15599 (ix86_force_to_memory, ix86_free_from_memory): Remove.
15600 * config/i386/i386-protos.h: Likewise.
15601 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
15602 in the expander instead of a splitter.
15603 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
15604 any possibility of requiring a memory.
15605 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
15606 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
15607 (fp branch splitters): Update for ix86_split_fp_branch.
15608 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
15609 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
15610 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
15611 (*fop_<MODEF>_2_i387): Remove f/r alternative.
15612 (*fop_<MODEF>_3_i387): Likewise.
15613 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
15614 (splitters for the fop_* register patterns): Remove.
15615 (fscalexf4_i387): Rename from *fscalexf4_i387.
15616 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
4bb66ef3 15617
5b5d7f31
JJ
156182014-03-13 Jakub Jelinek <jakub@redhat.com>
15619
15620 PR tree-optimization/59779
15621 * tree-dfa.c (get_ref_base_and_extent): Use double_int
15622 type for bitsize and maxsize instead of HOST_WIDE_INT.
15623
bdc6e1ae
SB
156242014-03-13 Steven Bosscher <steven@gcc.gnu.org>
15625
15626 PR rtl-optimization/57320
15627 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
15628 the CFG after thread_prologue_and_epilogue_insns.
15629
7891065a
VM
156302014-03-13 Vladimir Makarov <vmakarov@redhat.com>
15631
15632 PR rtl-optimization/57189
15633 * lra-constraints.c (process_alt_operands): Disfavor spilling
15634 vector pseudos.
15635
eba14fca
CP
156362014-03-13 Cesar Philippidis <cesar@codesourcery.com>
15637
429749e2 15638 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 15639
f661b085
JJ
156402014-03-13 Jakub Jelinek <jakub@redhat.com>
15641
15642 PR tree-optimization/59025
15643 PR middle-end/60418
15644 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
15645 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
15646
8f3a3138
GJL
156472014-03-13 Georg-Johann Lay <avr@gjlay.de>
15648
15649 PR target/60486
15650 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
15651 calls of avr_out_plus_1.
15652
d731ee04
BC
156532014-03-13 Bin Cheng <bin.cheng@arm.com>
15654
15655 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
15656 BB's single pred and update the father loop's latch info later.
15657
a16a872d
MM
156582014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
15659
15660 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
15661 (VEC_M): Likewise.
15662 (VEC_N): Likewise.
15663 (VEC_R): Likewise.
15664 (VEC_base): Likewise.
15665 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
15666 registers, we need to swap double words in little endian mode.
15667
15668 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
15669 to be a container mode for 128-bit integer operations added in ISA
15670 2.07. Unlike TImode and PTImode, the preferred register set is
15671 the Altivec/VMX registers for the 128-bit operations.
15672
15673 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
15674 declarations.
15675 (rs6000_split_128bit_ok_p): Likewise.
15676
15677 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
15678 macros for creating ISA 2.07 normal and overloaded builtin
15679 functions with 3 arguments.
15680 (BU_P8V_OVERLOAD_3): Likewise.
15681 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
15682 for use as overloaded functions.
15683 (VPERM_1TI_UNS): Likewise.
15684 (VSEL_1TI): Likewise.
15685 (VSEL_1TI_UNS): Likewise.
15686 (ST_INTERNAL_1ti): Likewise.
15687 (LD_INTERNAL_1ti): Likewise.
15688 (XXSEL_1TI): Likewise.
15689 (XXSEL_1TI_UNS): Likewise.
15690 (VPERM_1TI): Likewise.
15691 (VPERM_1TI_UNS): Likewise.
15692 (XXPERMDI_1TI): Likewise.
15693 (SET_1TI): Likewise.
15694 (LXVD2X_V1TI): Likewise.
15695 (STXVD2X_V1TI): Likewise.
15696 (VEC_INIT_V1TI): Likewise.
15697 (VEC_SET_V1TI): Likewise.
15698 (VEC_EXT_V1TI): Likewise.
15699 (EQV_V1TI): Likewise.
15700 (NAND_V1TI): Likewise.
15701 (ORC_V1TI): Likewise.
15702 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
15703 added in ISA 2.07. Add both normal 'altivec' builtins, and the
15704 overloaded builtin.
15705 (VADDUQM): Likewise.
15706 (VSUBCUQ): Likewise.
15707 (VADDEUQM): Likewise.
15708 (VADDECUQ): Likewise.
15709 (VSUBEUQM): Likewise.
15710 (VSUBECUQ): Likewise.
15711
15712 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
15713 __int128_t and __uint128_t types.
15714 (__uint128_type): Likewise.
15715 (altivec_categorize_keyword): Add support for vector __int128_t,
15716 vector __uint128_t, vector __int128, and vector unsigned __int128
15717 as a container type for TImode operations that need to be done in
15718 VSX/Altivec registers.
15719 (rs6000_macro_to_expand): Likewise.
15720 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
15721 to support 128-bit integer instructions vaddcuq, vadduqm,
15722 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
15723 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
15724
15725 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
15726 for V1TImode, and set up preferences to use VSX/Altivec registers.
15727 Setup VSX reload handlers.
a16a872d
MM
15728 (rs6000_debug_reg_global): Likewise.
15729 (rs6000_init_hard_regno_mode_ok): Likewise.
15730 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 15731 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
15732 (easy_altivec_constant): Likewise.
15733 (output_vec_const_move): Likewise.
15734 (rs6000_expand_vector_set): Convert V1TImode set and extract to
15735 simple move.
15736 (rs6000_expand_vector_extract): Likewise.
15737 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
15738 addressing.
15739 (rs6000_const_vec): Add support for V1TImode.
15740 (rs6000_emit_le_vsx_load): Swap double words when loading or
15741 storing TImode/V1TImode.
15742 (rs6000_emit_le_vsx_store): Likewise.
15743 (rs6000_emit_le_vsx_move): Likewise.
15744 (rs6000_emit_move): Add support for V1TImode.
15745 (altivec_expand_ld_builtin): Likewise.
15746 (altivec_expand_st_builtin): Likewise.
15747 (altivec_expand_vec_init_builtin): Likewise.
15748 (altivec_expand_builtin): Likewise.
15749 (rs6000_init_builtins): Add support for V1TImode type. Add
15750 support for ISA 2.07 128-bit integer builtins. Define type names
15751 for the VSX/Altivec vector types.
15752 (altivec_init_builtins): Add support for overloaded vector
15753 functions with V1TImode type.
0bb29a05 15754 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
15755 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
15756 external function.
15757 (rs6000_split_128bit_ok_p): Likewise.
15758 (rs6000_handle_altivec_attribute): Create V1TImode from vector
15759 __int128_t and vector __uint128_t.
15760
15761 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
15762 and mode attributes.
15763 (VSX_M): Likewise.
15764 (VSX_M2): Likewise.
15765 (VSm): Likewise.
15766 (VSs): Likewise.
15767 (VSr): Likewise.
15768 (VSv): Likewise.
15769 (VS_scalar): Likewise.
15770 (VS_double): Likewise.
0bb29a05 15771 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 15772
0bb29a05
UB
15773 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
15774 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
15775 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
15776 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
15777 and TImode types for use with the builtin functions.
15778 (V1TI_type_node): Likewise.
15779 (unsigned_V1TI_type_node): Likewise.
15780 (intTI_type_internal_node): Likewise.
15781 (uintTI_type_internal_node): Likewise.
15782
0bb29a05
UB
15783 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
15784 128-bit builtin functions.
a16a872d
MM
15785 (UNSPEC_VADDEUQM): Likewise.
15786 (UNSPEC_VADDECUQ): Likewise.
15787 (UNSPEC_VSUBCUQ): Likewise.
15788 (UNSPEC_VSUBEUQM): Likewise.
15789 (UNSPEC_VSUBECUQ): Likewise.
15790 (VM): Add V1TImode to vector mode iterators.
15791 (VM2): Likewise.
15792 (VI_unit): Likewise.
15793 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
15794 (altivec_vaddcuq): Likewise.
15795 (altivec_vsubuqm): Likewise.
15796 (altivec_vsubcuq): Likewise.
15797 (altivec_vaddeuqm): Likewise.
15798 (altivec_vaddecuq): Likewise.
15799 (altivec_vsubeuqm): Likewise.
15800 (altivec_vsubecuq): Likewise.
15801
15802 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
15803 mode iterators.
15804 (BOOL_128): Likewise.
15805 (BOOL_REGS_OUTPUT): Likewise.
15806 (BOOL_REGS_OP1): Likewise.
15807 (BOOL_REGS_OP2): Likewise.
15808 (BOOL_REGS_UNARY): Likewise.
15809 (BOOL_REGS_AND_CR0): Likewise.
15810
15811 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
15812 128-bit integer builtin support.
15813 (vec_vadduqm): Likewise.
15814 (vec_vaddecuq): Likewise.
15815 (vec_vaddeuqm): Likewise.
15816 (vec_vsubecuq): Likewise.
15817 (vec_vsubeuqm): Likewise.
15818 (vec_vsubcuq): Likewise.
15819 (vec_vsubuqm): Likewise.
15820
15821 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
15822 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
15823 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
15824 128-bit integer add/subtract to ISA 2.07.
15825
eeac7d15
JR
158262014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
15827
15828 * config/arc/arc.c (arc_predicate_delay_insns):
15829 Fix third argument passed to conditionalize_nonjump.
15830
bf0f324e
YZ
158312014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
15832
15833 * config/aarch64/aarch64-builtins.c
15834 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
15835 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
15836 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
15837 instead of __builtin_lfloor.
15838 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
15839
bf4787b2
JJ
158402014-03-12 Jakub Jelinek <jakub@redhat.com>
15841
15842 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
15843 (tree_ssa_ifcombine_bb_1): New function.
15844 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
15845 is an empty forwarder block to then_bb or vice versa and then_bb
15846 and else_bb are effectively swapped.
15847
7d55b948
CB
158482014-03-12 Christian Bruel <christian.bruel@st.com>
15849
15850 PR target/60264
0bb29a05
UB
15851 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
15852 REG_CFA_DEF_CFA note.
7d55b948
CB
15853 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
15854 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
15855
882a5fbe
TP
158562014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
15857
15858 PR tree-optimization/60454
15859 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
15860
a3cd0246
KT
158612014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15862
15863 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
15864 Do not define target_cpu_default2 to generic.
15865 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
15866 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
15867 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
15868
c888139c
JJ
158692014-03-12 Jakub Jelinek <jakub@redhat.com>
15870 Marc Glisse <marc.glisse@inria.fr>
15871
15872 PR tree-optimization/60502
15873 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
15874 instead of build_low_bits_mask.
15875
b24ca895
JJ
158762014-03-12 Jakub Jelinek <jakub@redhat.com>
15877
15878 PR middle-end/60482
15879 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
15880 if there are multiple uses, but op doesn't live on E edge.
15881 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
15882 clobber stmts before __builtin_unreachable.
15883
f1257268
RS
158842014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
15885
15886 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
15887 hard_frame_pointer_rtx.
15888 * cse.c (cse_insn): Remove volatile check.
15889 * cselib.c (cselib_process_insn): Likewise.
15890 * dse.c (scan_insn): Likewise.
15891
bae56bbb
JR
158922014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
15893
0bb29a05
UB
15894 * config/arc/arc.c (conditionalize_nonjump): New function,
15895 broken out of ...
15896 (arc_ifcvt): ... this.
bae56bbb
JR
15897 (arc_predicate_delay_insns): Use it.
15898
167ba5b9
JR
158992014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
15900
15901 * config/arc/predicates.md (extend_operand): During/after reload,
15902 allow const_int_operand.
15903 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
15904 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
15905 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
15906 to "i".
15907 (umulsi3_highpart_i): Likewise.
15908
dfd7d2d6
RB
159092014-03-11 Richard Biener <rguenther@suse.de>
15910
15911 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
15912 Add asserts to guard possible wrong-code bugs.
15913
af1ab449
RB
159142014-03-11 Richard Biener <rguenther@suse.de>
15915
15916 PR tree-optimization/60429
15917 PR tree-optimization/60485
15918 * tree-ssa-structalias.c (set_union_with_increment): Properly
15919 take into account all fields that overlap the shifted vars.
15920 (do_sd_constraint): Likewise.
15921 (do_ds_constraint): Likewise.
15922 (get_constraint_for_ptr_offset): Likewise.
15923
747425d0
CLT
159242014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
15925
15926 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
15927 (nios2_compute_frame_layout):
15928 Add calculation of cfun->machine->fp_save_offset.
15929 (nios2_expand_prologue): Correct setting of frame pointer register
15930 in prologue.
15931 (nios2_expand_epilogue): Update recovery of stack pointer from
15932 frame pointer accordingly.
15933 (nios2_initial_elimination_offset): Update calculation of offset
15934 for eliminating to HARD_FRAME_POINTER_REGNUM.
15935
31dad809
JJ
159362014-03-10 Jakub Jelinek <jakub@redhat.com>
15937
15938 PR ipa/60457
15939 * ipa.c (symtab_remove_unreachable_nodes): Don't call
15940 cgraph_get_create_node on VAR_DECLs.
15941
3c1c08d6
RB
159422014-03-10 Richard Biener <rguenther@suse.de>
15943
15944 PR middle-end/60474
15945 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
15946
21d89690
DR
159472014-03-08 Douglas B Rupp <rupp@gnat.com>
15948
15949 * config/vms/vms.opt (vms_float_format): New variable.
15950
634b8e9b
TB
159512014-03-08 Tobias Burnus <burnus@net-b.de>
15952
0bb29a05 15953 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 15954
f42c637e
PM
159552014-03-08 Paulo Matos <paulo@matos-sorge.com>
15956 Richard Biener <rguenther@suse.de>
15957
15958 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
15959 consistently accross all TUs.
15960 (run_gcc): Enable -fshort-double automatically at link at link-time
15961 and disallow override.
15962
bd65fc87
RS
159632014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
15964
15965 PR target/58271
15966 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
15967 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
15968 if they can't be used.
15969
040c446d
RO
159702014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15971
0bb29a05
UB
15972 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
15973 for Solaris 11/x86 ld.
040c446d
RO
15974 * configure: Regenerate.
15975
caa16d41
RO
159762014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15977
15978 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
15979 (LIB_TLS_SPEC): Save as ld_tls_libs.
15980 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
15981 (HAVE_AS_IX86_TLSLDM): New test.
15982 * configure, config.in: Regenerate.
15983 * config/i386/i386.c (legitimize_tls_address): Fall back to
15984 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
15985 cannot support TLS_MODEL_LOCAL_DYNAMIC.
15986 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
15987 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
15988
f3d83ffe
PM
159892014-03-07 Paulo Matos <paulo@matos-sorge.com>
15990
15991 * common.opt (fira-loop-pressure): Mark as optimization.
15992
b17a8b07
TS
159932014-03-07 Thomas Schwinge <thomas@codesourcery.com>
15994
15995 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
15996 an OpenMP mappable type.
15997
4973b0f9
MK
159982014-03-06 Matthias Klose <doko@ubuntu.com>
15999
16000 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
16001 MULTILIB_OSDIRNAMES is not defined.
16002
ab19cc6c
JJ
160032014-03-06 Jakub Jelinek <jakub@redhat.com>
16004 Meador Inge <meadori@codesourcery.com>
16005
16006 PR target/58595
16007 * config/arm/arm.c (arm_tls_symbol_p): Remove.
16008 (arm_legitimize_address): Call legitimize_tls_address for any
16009 arm_tls_referenced_p expression, handle constant addend. Call it
16010 before testing for !TARGET_ARM.
16011 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
16012
a74158c7
RB
160132014-03-06 Richard Biener <rguenther@suse.de>
16014
16015 PR middle-end/60445
16016 PR lto/60424
16017 PR lto/60427
16018 Revert
16019 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
16020
0bb29a05
UB
16021 * tree-streamer.c (record_common_node): Assert we don't record
16022 nodes with type double.
16023 (preload_common_node): Skip type double, complex double and double
16024 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 16025
f3ba16d0
RB
160262014-03-06 Richard Biener <rguenther@suse.de>
16027
16028 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
16029 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
16030 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
16031 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
16032 * lto-wrapper.c (merge_and_complain): Merge compile-time
16033 optimization levels.
16034 (run_gcc): And pass it through to the link options.
16035
4bb66ef3 160362014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
16037
16038 PR debug/60381
16039 Revert:
4bb66ef3 16040 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
16041 PR debug/59992
16042 * cselib.c (remove_useless_values): Skip to avoid quadratic
16043 behavior if the condition moved from...
16044 (cselib_process_insn): ... here holds.
16045
a05cca9b
JJ
160462014-03-05 Jakub Jelinek <jakub@redhat.com>
16047
487125e7
JJ
16048 PR plugins/59335
16049 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
16050 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
16051
a05cca9b
JJ
16052 PR plugins/59335
16053 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
16054 (TM_H): Add x86-tune.def.
16055
4e2cd668
KT
160562014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16057
16058 * config/aarch64/aarch64.c (generic_tunings):
16059 Use cortexa57_extra_costs.
16060
5525ed38
JJ
160612014-03-05 Jakub Jelinek <jakub@redhat.com>
16062
16063 PR lto/60404
16064 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
16065 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
16066 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
16067 cost for in_lto_p.
16068
0c72fa78
H
160692014-03-04 Heiher <r@hev.cc>
16070
16071 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
16072 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
16073
66b03f81
UB
160742014-03-04 Uros Bizjak <ubizjak@gmail.com>
16075
16076 * config/i386/predicates.md (const2356_operand): Change to ...
16077 (const2367_operand): ... this.
16078 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
16079 const2367_operand.
16080 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
16081 (*avx512pf_scatterpf<mode>sf): Ditto.
16082 (avx512pf_scatterpf<mode>df): Ditto.
16083 (*avx512pf_scatterpf<mode>df_mask): Ditto.
16084 (*avx512pf_scatterpf<mode>df): Ditto.
16085 * config/i386/i386.c (ix86_expand_builtin): Update
16086 incorrect hint operand error message.
16087
3c24e842
RB
160882014-03-04 Richard Biener <rguenther@suse.de>
16089
16090 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 16091
3740bda6
PM
160922014-03-04 Paulo Matos <paulo@matos-sorge.com>
16093
0bb29a05
UB
16094 * tree-streamer.c (record_common_node): Assert we don't record
16095 nodes with type double.
16096 (preload_common_node): Skip type double, complex double and double
16097 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 16098
91856735
RB
160992014-03-04 Richard Biener <rguenther@suse.de>
16100
16101 PR lto/60405
66b03f81 16102 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
16103 (lto_input_toplevel_asms): Likewise.
16104 * lto-section-in.c (lto_get_section_data): Instead do it here
16105 for every section.
66b03f81 16106
b75f28e1
RB
161072014-03-04 Richard Biener <rguenther@suse.de>
16108
16109 PR tree-optimization/60382
16110 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
16111 dead PHIs a reduction.
16112
dd96e83a
UB
161132014-03-03 Uros Bizjak <ubizjak@gmail.com>
16114
16115 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
16116 hint value.
16117 (_mm_prefetch): Move out of GCC target("sse") pragma.
16118 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
16119 GCC target("prfchw") pragma.
16120 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
16121 for locality <= 2.
16122 * config/i386/i386.c (ix86_option_override_internal): Enable
16123 -mprfchw with -mprefetchwt1.
16124
220c1a51
JR
161252014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
16126
16127 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
16128 Mark as varying.
16129
212bfe71
JR
161302014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
16131
16132 * opts.h (CL_PCH_IGNORE): Define.
16133 * targhooks.c (option_affects_pch_p):
16134 Return false for options that have CL_PCH_IGNORE set.
16135 * opt-functions.awk: Process PchIgnore.
16136 * doc/options.texi: Document PchIgnore.
16137
7a3d0a39
JR
16138 * config/arc/arc.opt (misize): Add PchIgnore property.
16139
b46ed885
BS
161402014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16141
16142 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
16143 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
16144 constraint on constants to permit them being loaded into
16145 GENERAL_REGS or BASE_REGS.
16146
c6f709ec
NC
161472014-03-03 Nick Clifton <nickc@redhat.com>
16148
16149 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
16150 anti-cacnonical alternatives.
16151 (negandhi3_real): New pattern.
16152 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
16153
5752f78f
SKS
161542014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
16155
16156 * config/avr/avr-mcus.def: Remove atxmega16x1.
16157 * config/avr/avr-tables.opt: Regenerate.
16158 * config/avr/t-multilib: Regenerate.
16159 * doc/avr-mmcu.texi: Regenerate.
16160
0afe7332 161612014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 16162 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
16163
16164 PR tree-optimization/58028
16165 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
16166 scalar dimensions.
16167
3416dd87
RR
161682014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16169
16170 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
16171 not handled by recognizers.
16172
79c7fda6
JJ
161732014-03-03 Jakub Jelinek <jakub@redhat.com>
16174
16175 PR middle-end/60175
16176 * function.c (expand_function_end): Don't emit
16177 clobber_return_register sequence if clobber_after is a BARRIER.
16178 * cfgexpand.c (construct_exit_block): Append instructions before
16179 return_label to prev_bb.
16180
715a5c85
BS
161812014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16182
16183 * config/rs6000/constraints.md: Document reserved use of "wc".
16184
9ffbf271
JH
161852014-03-02 Jan Hubicka <hubicka@ucw.cz>
16186
16187 PR ipa/60150
16188 * ipa.c (function_and_variable_visibility): When dissolving comdat
16189 group, also set all symbols to local.
16190
993df21e 161912014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 16192
993df21e
JH
16193 PR ipa/60306
16194
16195 Revert:
40c0a159 16196 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
16197 PR middle-end/58477
16198 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 16199
9b0af790
JB
162002014-03-02 Jon Beniston <jon@beniston.com>
16201
16202 PR bootstrap/48230
16203 PR bootstrap/50927
16204 PR bootstrap/52466
16205 PR target/46898
16206 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 16207 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 16208 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 16209 (simple_return, *simple_return): New patterns
9b0af790
JB
16210 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
16211 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
16212
c582aac9
PC
162132014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
16214
16215 * dwarf2out.c (gen_subprogram_die): Tidy.
16216
19305875
OE
162172014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
16218
16219 PR target/60071
16220 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
16221 (*mov_t_msb_neg_negc): ... this new insn.
16222
570215f9
JM
162232014-02-28 Jason Merrill <jason@redhat.com>
16224
16225 PR c++/58678
16226 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
16227 function.
16228
c5b001b5
PC
162292014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
16230
16231 PR c++/60314
16232 * dwarf2out.c (decltype_auto_die): New static.
16233 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
16234 (gen_type_die_with_usage): Handle 'decltype(auto)'.
16235 (is_cxx_auto): Likewise.
16236
5750e120
IB
162372014-02-28 Ian Bolton <ian.bolton@arm.com>
16238
16239 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
16240 we are not using general regs only.
16241
fba7c564
RB
162422014-02-28 Richard Biener <rguenther@suse.de>
16243
16244 PR target/60280
16245 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
16246 previous fix and only allow to remove trivial pre-headers
16247 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 16248 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 16249
4bb66ef3 162502014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
16251
16252 PR debug/59992
16253 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
16254 (cselib_preserved_hash_table): New.
16255 (preserve_constants_and_equivs): Move preserved vals to it.
16256 (cselib_find_slot): Look it up first.
16257 (cselib_init): Initialize it.
16258 (cselib_finish): Release it.
16259 (dump_cselib_table): Dump it.
16260
4bb66ef3 162612014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
16262
16263 PR debug/59992
16264 * cselib.c (remove_useless_values): Skip to avoid quadratic
16265 behavior if the condition moved from...
16266 (cselib_process_insn): ... here holds.
16267
4bb66ef3 162682014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
16269
16270 PR debug/57232
16271 * var-tracking.c (vt_initialize): Apply the same condition to
16272 preserve the CFA base value.
16273
9910c53c
JY
162742014-02-28 Joey Ye <joey.ye@arm.com>
16275
16276 PR target/PR60169
16277 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
16278 if reload in progress or completed.
16279
ef271341
TB
162802014-02-28 Tobias Burnus <burnus@net-b.de>
16281
16282 PR middle-end/60147
16283 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
16284 NAMELIST_DECL.
16285
c4f6267b
L
162862014-02-27 H.J. Lu <hongjiu.lu@intel.com>
16287
16288 * doc/tm.texi.in (Condition Code Status): Update documention for
16289 relative locations of cc0-setter and cc0-user.
16290
7a76df7f
JL
162912014-02-27 Jeff Law <law@redhat.com>
16292
16293 PR rtl-optimization/52714
16294 * combine.c (try_combine): When splitting an unrecognized PARALLEL
16295 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 16296 pattern we place into I3 is a (set (pc) ...).
7a76df7f 16297
728acca0
MP
162982014-02-27 Mikael Pettersson <mikpe@it.uu.se>
16299 Jeff Law <law@redhat.com>
16300
16301 PR rtl-optimization/49847
16302 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
16303 are in different blocks.
16304 * doc/tm.texi (Condition Code Status): Update documention for
16305 relative locations of cc0-setter and cc0-user.
16306
93aaa05d
VM
163072014-02-27 Vladimir Makarov <vmakarov@redhat.com>
16308
16309 PR target/59222
16310 * lra.c (lra_emit_add): Check SUBREG too.
16311
1ee6eb01
AS
163122014-02-27 Andreas Schwab <schwab@suse.de>
16313
16314 * config/m68k/m68k.c (m68k_option_override): Disable
16315 -flive-range-shrinkage for classic m68k.
16316 (m68k_override_options_after_change): Likewise.
16317
bb0d8e84
MP
163182014-02-27 Marek Polacek <polacek@redhat.com>
16319
16320 PR middle-end/59223
16321 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
16322 -Wmaybe-uninitialized.
16323
3157b879
AM
163242014-02-27 Alan Modra <amodra@gmail.com>
16325
3e17cad2 16326 PR target/57936
3157b879
AM
16327 * reload1.c (emit_input_reload_insns): When reload_override_in,
16328 set old to rl->in_reg when rl->in_reg is a subreg.
16329
bb750f4f
RB
163302014-02-26 Richard Biener <rguenther@suse.de>
16331
16332 PR bootstrap/60343
16333 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
16334
22c8aab3
IT
163352014-02-25 Ilya Tocar <ilya.tocar@intel.com>
16336
16337 * common/config/i386/predicates.md (const1256_operand): Remove.
16338 (const2356_operand): New.
16339 (const_1_to_2_operand): Remove.
16340 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
16341 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
16342 (*avx512pf_gatherpf<mode>sf): Ditto.
16343 (avx512pf_gatherpf<mode>df): Ditto.
16344 (*avx512pf_gatherpf<mode>df_mask): Ditto.
16345 (*avx512pf_gatherpf<mode>df): Ditto.
16346 (avx512pf_scatterpf<mode>sf): Ditto.
16347 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
16348 (*avx512pf_scatterpf<mode>sf): Ditto.
16349 (avx512pf_scatterpf<mode>df): Ditto.
16350 (*avx512pf_scatterpf<mode>df_mask): Ditto.
16351 (*avx512pf_scatterpf<mode>df): Ditto.
16352 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
16353
260d3642
IT
163542014-02-26 Ilya Tocar <ilya.tocar@intel.com>
16355
16356 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
16357 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
16358 (_mm512_mask_testn_epi64_mask): Move to ...
16359 * config/i386/avx512cdintrin.h: Here.
16360 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
16361 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
16362 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
16363 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
16364 TARGET_AVX512F from TARGET_AVX512CD.
16365
477145c8
RB
163662014-02-26 Richard Biener <rguenther@suse.de>
16367
16368 PR ipa/60327
16369 * ipa.c (walk_polymorphic_call_targets): Properly guard
16370 call to inline_update_overall_summary.
16371
a3afdbb8
BC
163722014-02-26 Bin Cheng <bin.cheng@arm.com>
16373
16374 PR target/60280
84d7e312
UB
16375 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
16376 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
16377 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
16378 LOOPS_HAVE_PREHEADERS.
16379
b8a542c6
AP
163802014-02-25 Andrew Pinski <apinski@cavium.com>
16381
16382 * builtins.c (expand_builtin_thread_pointer): Create a new target
16383 when the target is NULL.
16384
88def637
VM
163852014-02-25 Vladimir Makarov <vmakarov@redhat.com>
16386
16387 PR rtl-optimization/60317
16388 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
16389 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
16390 * lra-assigns.c: Include params.h.
16391 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
16392 other reload pseudos considerations.
16393
68908a06
BS
163942014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16395
cf36d2cc
WS
16396 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
16397 to use canonical form for nor<mode>3.
68908a06 16398
db57bbc9
KT
163992014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16400
16401 PR target/55426
16402 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
16403 conversions.
16404
43b3f52f
IT
164052014-02-25 Ilya Tocar <ilya.tocar@intel.com>
16406
16407 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
16408 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
16409 (ix86_handle_option): Handle OPT_mprefetchwt1.
16410 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
16411 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
16412 PREFETCHWT1 CPUID.
16413 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
16414 OPTION_MASK_ISA_PREFETCHWT1.
16415 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
16416 (PTA_PREFETCHWT1): New.
16417 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
16418 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 16419 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
16420 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
16421 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 16422 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
16423 * config/i386/i386.opt (mprefetchwt1): New.
16424 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
16425 (_mm_prefetch): Handle intent to write.
16426 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
16427
84053e02
RB
164282014-02-25 Richard Biener <rguenther@suse.de>
16429
16430 PR middle-end/60291
16431 * emit-rtl.c (mem_attrs_htab): Remove.
16432 (mem_attrs_htab_hash): Likewise.
16433 (mem_attrs_htab_eq): Likewise.
84d7e312 16434 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
16435 (init_emit_once): Do not allocate mem_attrs_htab.
16436
4094757e
RB
164372014-02-25 Richard Biener <rguenther@suse.de>
16438
16439 PR lto/60319
16440 * lto-opts.c (lto_write_options): Output non-explicit conservative
16441 -fwrapv, -fno-trapv and -fno-strict-overflow.
16442 * lto-wrapper.c (merge_and_complain): Handle merging those options.
16443 (run_gcc): And pass them through.
16444
41b2d514 164452014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 16446
41b2d514
AB
16447 * sel-sched.c (calculate_new_fences): New parameter ptime.
16448 Calculate it as a maximum over all fence cycles.
16449 (sel_sched_region_2): Adjust the call to calculate_new_fences.
16450 Print the final schedule timing when sched_verbose.
16451
c1c99405
AB
164522014-02-25 Andrey Belevantsev <abel@ispras.ru>
16453
16454 PR rtl-optimization/60292
16455 * sel-sched.c (fill_vec_av_set): Do not reset target availability
16456 bit fot the fence instruction.
16457
1d9def42
AD
164582014-02-24 Alangi Derick <alangiderick@gmail.com>
16459
16460 * calls.h: Fix typo in comment.
16461
325fefe0
JDA
164622014-02-24 John David Anglin <danglin@gcc.gnu.org>
16463
16464 * config/pa/pa.c (pa_output_move_double): Don't valididate when
16465 adjusting offsetable addresses.
16466
ad43b47a
GW
164672014-02-24 Guozhi Wei <carrot@google.com>
16468
16469 * sparseset.h (sparseset_pop): Fix the wrong index.
16470
341c653c
WL
164712014-02-24 Walter Lee <walt@tilera.com>
16472
16473 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
16474 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
16475 triplet.
16476 * common/config/tilegx/tilegx-common.c
16477 (TARGET_DEFAULT_TARGET_FLAGS): Define.
16478 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
16479 (LINK_SPEC): Ditto.
16480 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
16481 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
16482 (tilegx_gimplify_va_arg_expr): Handle big endian.
16483 (tilegx_expand_unaligned_load): Ditto.
16484 (tilegx_expand_unaligned_store): Ditto.
16485 (TARGET_RETURN_IN_MSB): New.
16486 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
16487 (TARGET_ENDIAN_DEFAULT): New.
16488 (TARGET_BIG_ENDIAN): Handle big endian.
16489 (BYTES_BIG_ENDIAN): Ditto.
16490 (WORDS_BIG_ENDIAN): Ditto.
16491 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
16492 (ENDIAN_SPEC): New.
16493 (EXTRA_SPECS): New.
16494 * config/tilegx/tilegx.md (extv): Handle big endian.
16495 (extzv): Ditto.
16496 (insn_st<n>): Ditto.
16497 (insn_st<n>_add<bitsuffix>): Ditto.
16498 (insn_stnt<n>): Ditto.
16499 (insn_stnt<n>_add<bitsuffix>):Ditto.
16500 (vec_interleave_highv8qi): Handle big endian.
16501 (vec_interleave_highv8qi_be): New.
16502 (vec_interleave_highv8qi_le): New.
16503 (insn_v1int_h): Handle big endian.
16504 (vec_interleave_lowv8qi): Handle big endian.
16505 (vec_interleave_lowv8qi_be): New.
16506 (vec_interleave_lowv8qi_le): New.
16507 (insn_v1int_l): Handle big endian.
16508 (vec_interleave_highv4hi): Handle big endian.
16509 (vec_interleave_highv4hi_be): New.
16510 (vec_interleave_highv4hi_le): New.
16511 (insn_v2int_h): Handle big endian.
16512 (vec_interleave_lowv4hi): Handle big endian.
16513 (vec_interleave_lowv4hi_be): New.
16514 (vec_interleave_lowv4hi_le): New.
16515 (insn_v2int_l): Handle big endian.
16516 (vec_interleave_highv2si): Handle big endian.
16517 (vec_interleave_highv2si_be): New.
16518 (vec_interleave_highv2si_le): New.
16519 (insn_v4int_h): Handle big endian.
16520 (vec_interleave_lowv2si): Handle big endian.
16521 (vec_interleave_lowv2si_be): New.
16522 (vec_interleave_lowv2si_le): New.
16523 (insn_v4int_l): Handle big endian.
16524 * config/tilegx/tilegx.opt (mbig-endian): New option.
16525 (mlittle-endian): New option.
16526 * doc/install.texi: Document tilegxbe-linux.
16527 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
16528
f3fec19f
MJ
165292014-02-24 Martin Jambor <mjambor@suse.cz>
16530
16531 PR ipa/60266
16532 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
16533 there are no parameter descriptors.
16534
9039622a
AB
165352014-02-24 Andrey Belevantsev <abel@ispras.ru>
16536
16537 PR rtl-optimization/60268
16538 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
16539 initialization to ...
16540 (sched_rgn_init): ... here.
16541 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
16542
4bb66ef3 165432014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 16544
9039622a
AB
16545 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
16546 names.
e7e7bc4b 16547
4bb66ef3 165482014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
16549
16550 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
16551 definition.
16552
4bb66ef3 165532014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 16554
84d7e312
UB
16555 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
16556 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 16557
4bb66ef3 165582014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
16559
16560 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 16561 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 16562 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 16563 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
16564 to microblaze_expand_conditional_branch and consolidate logic.
16565 (microblaze_expand_conditional_branch): emit branch_compare
16566 insn instead of handling cmp op separate from branch insn.
16567
34c25d23
BS
165682014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16569
16570 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
16571 to permit subregs.
16572
a6eecdc1
BS
165732014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16574
d5a19af1
DH
16575 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
16576 define_insn with define_expand and new define_insn
16577 *altivec_lve<VI_char>x_internal.
16578 (altivec_stve<VI_char>x): Replace define_insn with define_expand
16579 and new define_insn *altivec_stve<VI_char>x_internal.
16580 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
16581 prototype.
16582 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
16583 lve*x built-ins.
16584 (altivec_expand_stvex_be): New function.
a6eecdc1 16585
8aa7d1fc
JR
165862014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
16587
16588 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 16589 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
16590 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
16591 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
16592
a810ee82
VM
165932014-02-21 Vladimir Makarov <vmakarov@redhat.com>
16594
16595 PR target/60298
16596 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
16597 instead of emit_move_insn.
16598
b90ab1ba
BS
165992014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16600
16601 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
16602 vspltw with vsldoi.
16603 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
16604 gen_altivec_vsumsws.
16605
1af73690
WS
166062014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16607
16608 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 16609 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
16610 (altivec_lvxl_<mode>): New define_expand incorporating
16611 -maltivec=be semantics where needed.
16612 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
16613 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
16614 semantics where needed.
16615 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
16616 (altivec_stvx_<mode>): New define_expand incorporating
16617 -maltivec=be semantics where needed.
16618 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
16619 VM2 iterator instead of V4SI.
16620 (altivec_stvxl_<mode>): New define_expand incorporating
16621 -maltivec=be semantics where needed.
16622 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
16623 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
16624 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
16625 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
16626 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
16627 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
16628 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
16629 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
16630 ALTIVEC_BUILTIN_STVXL.
84d7e312 16631 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
16632 (altivec_expand_stvx_be): Likewise.
16633 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
16634 (altivec_expand_lvx_be): Likewise.
16635 (altivec_expand_stvx_be): Likewise.
16636 (altivec_expand_builtin): Add cases for
16637 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
16638 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
16639 (altivec_init_builtins): Add definitions for
16640 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 16641 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 16642
0a39d07b
CM
166432014-02-21 Catherine Moore <clm@codesourcery.com>
16644
16645 * doc/invoke.texi (mvirt, mno-virt): Document.
16646 * config/mips/mips.opt (mvirt): New option.
16647 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
16648
f2556b68
RB
166492014-02-21 Richard Biener <rguenther@suse.de>
16650
16651 PR tree-optimization/60276
16652 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
16653 (STMT_VINFO_MIN_NEG_DIST): New macro.
16654 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
16655 STMT_VINFO_MIN_NEG_DIST.
16656 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
16657 made for negative dependence distances still hold.
16658
32417082
RB
166592014-02-21 Richard Biener <rguenther@suse.de>
16660
16661 PR middle-end/60291
16662 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
16663 DECL_INITIAL for globals not in the current function context.
16664
92261ce0
JJ
166652014-02-21 Jakub Jelinek <jakub@redhat.com>
16666
16667 PR tree-optimization/56490
16668 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
16669 * tree-ssa-uninit.c: Include params.h.
16670 (compute_control_dep_chain): Add num_calls argument, return false
16671 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
16672 num_calls to recursive call.
16673 (find_predicates): Change dep_chain into normal array,
16674 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
16675 variable and adjust compute_control_dep_chain caller.
16676 (find_def_preds): Likewise.
16677
aa6ef874
TS
166782014-02-21 Thomas Schwinge <thomas@codesourcery.com>
16679
16680 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
16681 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
16682
4b156fd0
NC
166832014-02-21 Nick Clifton <nickc@redhat.com>
16684
16685 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
16686 (pushhi1): Likewise.
16687 (popqi1): Add mode to pre_dec.
16688 (pophi1): Likewise.
16689
dffd569e
JJ
166902014-02-21 Jakub Jelinek <jakub@redhat.com>
16691
16692 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
16693 mode for mask of V8SFmode permutation.
16694
2fdc29e8
RH
166952014-02-20 Richard Henderson <rth@redhat.com>
16696
16697 PR c++/60272
16698 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
16699 a new pseudo for OLDVAL.
16700
aa637f66
JJ
167012014-02-20 Jakub Jelinek <jakub@redhat.com>
16702
16703 PR target/57896
16704 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
16705 gen_reg_rtx if d->testing_p.
16706 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
16707 if d->testing_p and we will certainly return true.
16708 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
16709 if d->testing_p.
16710
004a7e45
UB
167112014-02-20 Uros Bizjak <ubizjak@gmail.com>
16712
16713 * emit-rtl.c (gen_reg_rtx): Assert that
16714 crtl->emit.regno_pointer_align_length is non-zero.
16715
167162014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
16717
16718 PR c++/60272
16719 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
16720 on failure the store back into EXPECT.
16721
95ce7613
CLT
167222014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
16723 Sandra Loosemore <sandra@codesourcery.com>
16724
16725 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
16726 * config/nios2/nios2.c (nios2_function_profiler): Add
16727 -fPIC (flag_pic == 2) support.
95ce7613
CLT
16728 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
16729 (nios2_large_offset_p): New function.
16730 (nios2_unspec_reloc_p): Move up position, update to use
16731 nios2_large_offset_p.
16732 (nios2_unspec_address): Remove function.
16733 (nios2_unspec_offset): New function.
16734 (nios2_large_got_address): New function.
16735 (nios2_got_address): Add large offset support.
16736 (nios2_legitimize_tls_address): Update usage of removed and new
16737 functions.
16738 (nios2_symbol_binds_local_p): New function.
16739 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
16740 (nios2_legitimize_address): Update to use nios2_large_offset_p.
16741 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
16742 (nios2_print_operand): Merge H/L processing, add hiadj/lo
16743 processing for (const (unspec ...)).
16744 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
16745
efd2d3c8
RB
167462014-02-20 Richard Biener <rguenther@suse.de>
16747
16748 * tree-cfg.c (replace_uses_by): Mark altered BBs before
16749 doing the substitution.
004a7e45 16750 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 16751
9576e7b1
MJ
167522014-02-20 Martin Jambor <mjambor@suse.cz>
16753
16754 PR ipa/55260
16755 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
16756 info when checking whether lattices are bottom.
16757
25fe40b0
RB
167582014-02-20 Richard Biener <rguenther@suse.de>
16759
16760 PR middle-end/60221
16761 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
16762 regions at -O0.
16763
bd936951
JH
167642014-02-20 Jan Hubicka <hubicka@ucw.cz>
16765
16766 PR ipa/58555
004a7e45
UB
16767 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
16768 parameter specifying the scaling.
bd936951
JH
16769 (inline_call): Update.
16770 (want_inline_recursively): Guard division by zero.
16771 (recursive_inlining): Update.
16772 * ipa-inline.h (clone_inlined_nodes): Update.
16773
3c898e1a
IT
167742014-02-20 Ilya Tocar <ilya.tocar@intel.com>
16775
16776 PR target/60204
16777 * config/i386/i386.c (classify_argument): Pass structures of size
16778 64 bytes or less in register.
16779
df62b4af 167802014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 16781 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
16782
16783 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
16784 (_mm_rcp28_round_ss): Ditto.
16785 (_mm_rsqrt28_round_sd): Ditto.
16786 (_mm_rsqrt28_round_ss): Ditto.
16787 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
16788 (_mm_rcp14_round_ss): Ditto.
16789 (_mm_rsqrt14_round_sd): Ditto.
16790 (_mm_rsqrt14_round_ss): Ditto.
16791 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
16792 the first input operand, get rid of match_dup.
16793 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
16794 attribute to sse.
16795 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
16796 Ditto.
16797 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
16798 operand as the first input operand, set type attribute.
16799 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
16800 Set type attribute.
16801 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
16802 operand as the first input operand, set type attribute.
16803
9254148e
BS
168042014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16805
16806 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
16807 bit of zero.
16808
fff91793
L
168092014-02-19 H.J. Lu <hongjiu.lu@intel.com>
16810
16811 PR target/60207
16812 * config/i386/i386.c (construct_container): Remove TFmode check
16813 for X86_64_INTEGER_CLASS.
16814
6aa5b4b8
UB
168152014-02-19 Uros Bizjak <ubizjak@gmail.com>
16816
16817 PR target/59794
16818 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
16819 only when -Wpsabi is enabled.
16820
aadc1c43
MHD
168212014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
16822
16823 PR target/59799
16824 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
16825 passing arrays in registers are the same as for structs, so remove the
16826 special case for them.
16827
322913f8
EB
168282014-02-19 Eric Botcazou <ebotcazou@adacore.com>
16829
16830 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
16831 destination type, extract only the valid bits if the source type is not
16832 integral and has a different mode.
16833
fd9710dc
RB
168342014-02-19 Richard Biener <rguenther@suse.de>
16835
16836 PR ipa/60243
16837 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
16838 for all calls.
16839
4df65a85
RB
168402014-02-19 Richard Biener <rguenther@suse.de>
16841
16842 PR ipa/60243
16843 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
16844 (ipa_modify_call_arguments): Emit an argument load explicitely and
16845 preserve virtual SSA form there and for the replacement call.
16846 Do not update SSA form nor free dominance info.
16847
7fea98d8
JH
168482014-02-18 Jan Hubicka <hubicka@ucw.cz>
16849
16850 * ipa.c (function_and_variable_visibility): Also clear WEAK
16851 flag when disolving COMDAT_GROUP.
16852
0a2550e7
JH
168532014-02-18 Jan Hubicka <hubicka@ucw.cz>
16854
16855 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
16856 * ipa-prop.c (ipa_set_jf_known_type): Return early when
16857 not devirtualizing.
16858 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
16859 do more sanity checks.
16860 (detect_type_change): Return true when giving up early.
16861 (compute_complex_assign_jump_func): Fix type parameter of
16862 ipa_set_ancestor_jf.
16863 (compute_complex_ancestor_jump_func): Likewise.
16864 (update_jump_functions_after_inlining): Fix updating of
16865 ancestor function.
6aa5b4b8 16866 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 16867
2dbe8b70
JH
168682014-02-18 Jan Hubicka <hubicka@ucw.cz>
16869
16870 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
16871 inline clones when edge disappears.
16872
b9809dc4
MM
168732014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
16874
16875 PR target/60203
16876 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
16877 Split 64-bit moves into 2 patterns. Do not allow the use of
16878 direct move for TDmode in little endian, since the decimal value
16879 has little endian bytes within a word, but the 64-bit pieces are
16880 ordered in a big endian fashion, and normal subreg's of TDmode are
16881 not allowed.
16882 (mov<mode>_64bit_dm): Likewise.
16883 (movtd_64bit_nodm): Likewise.
16884
bababbfb
EB
168852014-02-18 Eric Botcazou <ebotcazou@adacore.com>
16886
16887 PR tree-optimization/60174
16888 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
16889 statement of an SSA_NAME that occurs in an abnormal PHI node.
16890
70aacc97
JJ
168912014-02-18 Jakub Jelinek <jakub@redhat.com>
16892
16893 PR sanitizer/60142
16894 * final.c (SEEN_BB): Remove.
16895 (SEEN_NOTE, SEEN_EMITTED): Renumber.
16896 (final_scan_insn): Don't force_source_line on second
16897 NOTE_INSN_BASIC_BLOCK.
16898
223cdd15
UB
168992014-02-18 Uros Bizjak <ubizjak@gmail.com>
16900
16901 PR target/60205
16902 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
16903 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
16904 (type_natural_mode): Warn ABI change when %zmm register is not
16905 available for AVX512F vector value passing.
16906
48810be0
KT
169072014-02-18 Kai Tietz <ktietz@redhat.com>
16908
16909 PR target/60193
223cdd15
UB
16910 * config/i386/i386.c (ix86_expand_prologue): Use value in
16911 rax register as displacement when restoring %r10 or %rax.
16912 Fix wrong offset when restoring both registers.
48810be0 16913
20afe640
EB
169142014-02-18 Eric Botcazou <ebotcazou@adacore.com>
16915
16916 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
16917 assertion with conditional return.
16918
d0b50387
JJ
169192014-02-18 Jakub Jelinek <jakub@redhat.com>
16920 Uros Bizjak <ubizjak@gmail.com>
16921
16922 PR driver/60233
16923 * config/i386/driver-i386.c (host_detect_local_cpu): If
16924 YMM state is not saved by the OS, also clear has_f16c. Move
16925 CPUID 0x80000001 handling before YMM state saving checking.
16926
c4cd7435
AB
169272014-02-18 Andrey Belevantsev <abel@ispras.ru>
16928
16929 PR rtl-optimization/58960
16930 * haifa-sched.c (alloc_global_sched_pressure_data): New,
16931 factored out from ...
16932 (sched_init): ... here.
16933 (free_global_sched_pressure_data): New, factored out from ...
16934 (sched_finish): ... here.
16935 * sched-int.h (free_global_sched_pressure_data): Declare.
16936 * sched-rgn.c (nr_regions_initial): New static global.
16937 (haifa_find_rgns): Initialize it.
16938 (schedule_region): Disable sched-pressure for the newly
16939 generated regions.
16940
f0281fde
RB
169412014-02-17 Richard Biener <rguenther@suse.de>
16942
16943 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
16944 release SSA defs of pattern stmts.
16945
c742772c
RB
169462014-02-17 Richard Biener <rguenther@suse.de>
16947
16948 * tree-inline.c (expand_call_inline): Release the virtual
16949 operand defined by the call we are about to inline.
16950
0492158e
RB
169512014-02-17 Richard Biener <rguenther@suse.de>
16952
16953 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
16954
583a9919
KY
169552014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
16956 Ilya Tocar <ilya.tocar@intel.com>
16957
16958 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
16959 arguments order in builtin.
16960 (_mm512_permutexvar_epi64): Ditto.
16961 (_mm512_mask_permutexvar_epi64): Ditto
16962 (_mm512_maskz_permutexvar_epi32): Ditto
16963 (_mm512_permutexvar_epi32): Ditto
16964 (_mm512_mask_permutexvar_epi32): Ditto
16965
d737743f
BS
169662014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16967
223cdd15 16968 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
16969 (p8_vmrgow): Likewise.
16970
54c4bfd7
BS
169712014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16972
16973 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
16974 endian targets.
16975
518fea64
MM
169762014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
16977
16978 PR target/60203
16979 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
16980 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
16981 into 64-bit and 32-bit moves. On 64-bit moves, add support for
16982 using direct move instructions on ISA 2.07. Also adjust
16983 instruction length for 64-bit.
16984 (mov<mode>_64bit, TFmode/TDmode): Likewise.
16985 (mov<mode>_32bit, TFmode/TDmode): Likewise.
16986
61640916
AM
169872014-02-15 Alan Modra <amodra@gmail.com>
16988
16989 PR target/58675
16990 PR target/57935
16991 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
16992 find_replacement on parts of insn rtl that might be reloaded.
16993
a2b33cc3
RB
169942014-02-15 Richard Biener <rguenther@suse.de>
16995
16996 PR tree-optimization/60183
223cdd15 16997 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
16998 (tree_ssa_phiprop): Calculate and free post-dominators.
16999
059742a4
JL
170002014-02-14 Jeff Law <law@redhat.com>
17001
17002 PR rtl-optimization/60131
17003 * ree.c (get_extended_src_reg): New function.
223cdd15 17004 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
17005 (find_and_remove_re): Verify first operand of extension is
17006 a REG before adding the insns to the copy list.
17007
88f7c49a
RM
170082014-02-14 Roland McGrath <mcgrathr@google.com>
17009
17010 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
17011 * configure: Regenerated.
17012 * config.in: Regenerated.
17013 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
17014 instead of ASM_SHORT.
17015
2ae577fd
VM
170162014-02-14 Vladimir Makarov <vmakarov@redhat.com>
17017 Richard Earnshaw <rearnsha@arm.com>
17018
17019 PR rtl-optimization/59535
17020 * lra-constraints.c (process_alt_operands): Encourage alternative
17021 when unassigned pseudo class is superset of the alternative class.
17022 (inherit_reload_reg): Don't inherit when optimizing for code size.
17023 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
17024 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
17025 modes not less than 4 for Thumb1.
17026
5d88af08
KM
170272014-02-14 Kyle McMartin <kyle@redhat.com>
17028
17029 PR pch/60010
17030 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
17031
3069b421
RB
170322014-02-14 Richard Biener <rguenther@suse.de>
17033
17034 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
17035 (get_frame_arg): Drop the assert with langhook types_compatible_p.
17036 Do not strip INDIRECT_REFs.
17037
1966fd99
RB
170382014-02-14 Richard Biener <rguenther@suse.de>
17039
17040 PR lto/60179
17041 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
17042 DECL_FUNCTION_SPECIFIC_TARGET.
17043 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
17044 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 17045 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
17046 (write_ts_function_decl_tree_pointers): Do not stream
17047 DECL_FUNCTION_SPECIFIC_TARGET.
17048 * tree-streamer-in.c (unpack_ts_target_option): Remove.
17049 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
17050 (lto_input_ts_function_decl_tree_pointers): Do not stream
17051 DECL_FUNCTION_SPECIFIC_TARGET.
17052
b010d601
JJ
170532014-02-14 Jakub Jelinek <jakub@redhat.com>
17054
223cdd15 17055 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
17056 (get_initial_def_for_induction, vectorizable_induction): Ignore
17057 debug stmts when looking for exit_phi.
17058 (vectorizable_live_operation): Fix up condition.
17059
f2dafb91
CJW
170602014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
17061
17062 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
17063 nreverse() because it changes the content of original tree list.
17064
59043e75
CJW
170652014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
17066
17067 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
17068 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
17069
810f736f
CJW
170702014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
17071
17072 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
17073 GNU coding standards.
17074
1a025bbf
JJ
170752014-02-13 Jakub Jelinek <jakub@redhat.com>
17076
17077 PR debug/60152
17078 * dwarf2out.c (gen_subprogram_die): Don't call
17079 add_calling_convention_attribute if subr_die is old_die.
17080
69479ebd
SS
170812014-02-13 Sharad Singhai <singhai@google.com>
17082
17083 * doc/optinfo.texi: Fix order of nodes.
17084
1287ae50
UB
170852014-02-13 Uros Bizjak <ubizjak@gmail.com>
17086
17087 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
17088 operands[2], not operands[3].
17089
43372236
RB
170902014-02-13 Richard Biener <rguenther@suse.de>
17091
17092 PR bootstrap/59878
17093 * doc/install.texi (ISL): Update recommended version to 0.12.2,
17094 mention the possibility of an in-tree build.
17095 (CLooG): Update recommended version to 0.18.1, mention the
17096 possibility of an in-tree build and clarify that the ISL
17097 bundled with CLooG does not work.
17098
a4d70cfa
JJ
170992014-02-13 Jakub Jelinek <jakub@redhat.com>
17100
17101 PR target/43546
17102 * expr.c (compress_float_constant): If x is a hard register,
17103 extend into a pseudo and then move to x.
17104
e697d119
DV
171052014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
17106
17107 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
17108 caused by bad second argument to warning_at() with -mhotpatch and
17109 nested functions (e.g. with gfortran).
17110
9f8da907
RS
171112014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
17112
17113 * opts.c (option_name): Remove "enabled by default" rider.
17114
0fdd1196
JDA
171152014-02-12 John David Anglin <danglin@gcc.gnu.org>
17116
17117 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
17118
0544c448
L
171192014-02-12 H.J. Lu <hongjiu.lu@intel.com>
17120 Uros Bizjak <ubizjak@gmail.com>
17121
17122 PR target/60151
1287ae50 17123 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
17124 * configure: Regenerated.
17125
3a938d75
RB
171262014-02-12 Richard Biener <rguenther@suse.de>
17127
17128 * vec.c (vec_prefix::calculate_allocation): Move as
17129 inline variant to vec.h.
17130 (vec_prefix::calculate_allocation_1): New out-of-line version.
17131 * vec.h (vec_prefix::calculate_allocation_1): Declare.
17132 (vec_prefix::m_has_auto_buf): Rename to ...
17133 (vec_prefix::m_using_auto_storage): ... this.
17134 (vec_prefix::calculate_allocation): Inline the easy cases
17135 and dispatch to calculate_allocation_1 which doesn't need the
17136 prefix address.
17137 (va_heap::reserve): Use gcc_checking_assert.
17138 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
17139 m_using_auto_storage.
17140 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
17141 member and adjust.
17142 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
17143 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
17144 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
17145
ad0188be
RB
171462014-02-12 Richard Biener <rguenther@suse.de>
17147
17148 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
17149 when we found a dependence.
17150
64e5ace5
TS
171512014-02-12 Thomas Schwinge <thomas@codesourcery.com>
17152
88ac13da
TS
17153 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
17154 common code...
17155 (maybe_fold_stmt): ... into this new function.
17156 * omp-low.c (lower_omp): Update comment.
17157
bae729a2
TS
17158 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
17159 last use.
17160
64e5ace5
TS
17161 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
17162 dereference.
17163
7b40f5cf
JG
171642014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
17165
17166 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
17167 identifiers in comments.
17168 (cortexa53_extra_costs): Likewise.
1287ae50 17169 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
17170 (cortexa7_extra_costs): Likewise.
17171 (cortexa12_extra_costs): Likewise.
17172 (cortexa15_extra_costs): Likewise.
17173 (v7m_extra_costs): Likewise.
17174
c4c8514e
RB
171752014-02-12 Richard Biener <rguenther@suse.de>
17176
17177 PR middle-end/60092
17178 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
17179 of posix_memalign being successful.
17180 (lower_stmt): Restrict lowering of posix_memalign to when
17181 -ftree-bit-ccp is enabled.
17182
8eb651bd
SKS
171832014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
17184
17185 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
17186 arg_loc.
17187 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
17188
62b03553
EB
171892014-02-12 Eric Botcazou <ebotcazou@adacore.com>
17190
17191 PR rtl-optimization/60116
17192 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
17193 other_insn once the combination has been validated.
17194
ec77d61f
JH
171952014-02-11 Jan Hubicka <hubicka@ucw.cz>
17196
17197 PR lto/59468
17198 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
17199 and wrapper.
17200 * ipa-devirt.c: Include demangle.h
17201 (odr_violation_reported): New static variable.
17202 (add_type_duplicate): Update odr_violations.
17203 (maybe_record_node): Add completep parameter; update it.
17204 (record_target_from_binfo): Add COMPLETEP parameter;
17205 update it as needed.
17206 (possible_polymorphic_call_targets_1): Likewise.
17207 (struct polymorphic_call_target_d): Add nonconstruction_targets;
17208 rename FINAL to COMPLETE.
17209 (record_targets_from_bases): Sanity check we found the binfo;
17210 fix COMPLETEP updating.
17211 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
17212 parameter, fix computing of COMPLETEP.
1287ae50
UB
17213 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
17214 at LTO time do demangling.
ec77d61f
JH
17215 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
17216 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
17217 parameter.
17218 (gimple_get_virt_method_for_binfo): Likewise.
17219 * gimple-fold.h (gimple_get_virt_method_for_binfo,
17220 gimple_get_virt_method_for_vtable): Update prototypes.
17221
5a4dcd9b
VM
172222014-02-11 Vladimir Makarov <vmakarov@redhat.com>
17223
17224 PR target/49008
17225 * genautomata.c (add_presence_absence): Fix typo with
17226 {final_}presence_list.
17227
69b7afed
MM
172282014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
17229
17230 PR target/60137
17231 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
17232 for VSX/Altivec vectors that land in GPR registers.
17233
8268ad5c
JJ
172342014-02-11 Richard Henderson <rth@redhat.com>
17235 Jakub Jelinek <jakub@redhat.com>
17236
17237 PR debug/59776
17238 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
17239 around drhs if type conversion to lacc->type is not useless.
17240
4fd92af6
KT
172412014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17242
17243 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
17244 tuning struct.
17245 (cortex-a57.cortex-a53): Likewise.
17246 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
17247
7cb14cb8
KT
172482014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17249
17250 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
17251 arm_restrict_it.
17252
6d3715b9
RL
172532014-02-11 Renlin Li <Renlin.Li@arm.com>
17254
17255 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
17256 add_options_for_arm_vfp3.
17257
cddddfff
JL
172582014-02-11 Jeff Law <law@redhat.com>
17259
17260 PR middle-end/54041
17261 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
17262 object with an undesirable mode.
17263
7c1aef7e
RO
172642014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17265
17266 PR libgomp/60107
17267 * config/i386/sol2-9.h: New file.
17268 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
17269 *-*-solaris2.9*): Use it.
17270
4bb66ef3 172712014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
17272
17273 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
17274 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
17275
4bb66ef3 172762014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
17277
17278 * config/microblaze/microblaze.c: Extend mcpu version format
17279
4bb66ef3 172802014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
17281
17282 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
17283
004a7e45 172842014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
17285
17286 PR target/59927
17287 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
17288 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
17289 ms-abi vs -mno-accumulate-outgoing-args.
17290 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
17291 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
17292 respect to ms-abi.
17293
e2fc3b4f
BE
172942014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
17295
17296 PR middle-end/60080
17297 * cfgexpand.c (expand_asm_operands): Attach source location to
17298 ASM_INPUT rtx objects.
17299 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
17300
3a22ad89
NC
173012014-02-10 Nick Clifton <nickc@redhat.com>
17302
17303 * config/mn10300/mn10300.c (popcount): New function.
17304 (mn10300_expand_prologue): Include saved registers in stack usage
17305 count.
17306
f27be550
JL
173072014-02-10 Jeff Law <law@redhat.com>
17308
17309 PR middle-end/52306
17310 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 17311 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 17312
e15e3815
UW
173132014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
17314
17315 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
17316 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
17317 -mcall-openbsd, or -mcall-linux.
17318 (CC1_ENDIAN_BIG_SPEC): Remove.
17319 (CC1_ENDIAN_LITTLE_SPEC): Remove.
17320 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
17321 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
17322 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
17323 and %cc1_endian_default.
17324 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
17325
4e1f39e4
RB
173262014-02-10 Richard Biener <rguenther@suse.de>
17327
17328 PR tree-optimization/60115
17329 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
17330 MEM_REF handling. Properly verify that the accesses are not
17331 out of the objects bound.
17332
e7af1c22
KT
173332014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17334
17335 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
17336 coretex to cortex.
17337
79c7de84
EB
173382014-02-10 Eric Botcazou <ebotcazou@adacore.com>
17339
17340 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
17341 proper constants and fix formatting.
17342 (possible_polymorphic_call_targets): Fix formatting.
17343
cf73ee60
KY
173442014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
17345 Ilya Tocar <ilya.tocar@intel.com>
17346
17347 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
17348 (_mm512_loadu_epi32): Renamed into...
17349 (_mm512_loadu_si512): This.
17350 (_mm512_storeu_epi32): Renamed into...
17351 (_mm512_storeu_si512): This.
17352 (_mm512_maskz_ceil_ps): Removed.
17353 (_mm512_maskz_ceil_pd): Ditto.
17354 (_mm512_maskz_floor_ps): Ditto.
17355 (_mm512_maskz_floor_pd): Ditto.
17356 (_mm512_floor_round_ps): Ditto.
17357 (_mm512_floor_round_pd): Ditto.
17358 (_mm512_ceil_round_ps): Ditto.
17359 (_mm512_ceil_round_pd): Ditto.
17360 (_mm512_mask_floor_round_ps): Ditto.
17361 (_mm512_mask_floor_round_pd): Ditto.
17362 (_mm512_mask_ceil_round_ps): Ditto.
17363 (_mm512_mask_ceil_round_pd): Ditto.
17364 (_mm512_maskz_floor_round_ps): Ditto.
17365 (_mm512_maskz_floor_round_pd): Ditto.
17366 (_mm512_maskz_ceil_round_ps): Ditto.
17367 (_mm512_maskz_ceil_round_pd): Ditto.
17368 (_mm512_expand_pd): Ditto.
17369 (_mm512_expand_ps): Ditto.
17370 * config/i386/i386.c (ix86_builtins): Remove
17371 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
17372 (bdesc_args): Ditto.
17373 * config/i386/predicates.md (const1256_operand): New.
17374 (const_1_to_2_operand): Ditto.
17375 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
17376 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
17377 (*avx512pf_gatherpf<mode>sf): Ditto.
17378 (avx512pf_gatherpf<mode>df): Ditto.
17379 (*avx512pf_gatherpf<mode>df_mask): Ditto.
17380 (*avx512pf_gatherpf<mode>df): Ditto.
17381 (avx512pf_scatterpf<mode>sf): Ditto.
17382 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
17383 (*avx512pf_scatterpf<mode>sf): Ditto.
17384 (avx512pf_scatterpf<mode>df): Ditto.
17385 (*avx512pf_scatterpf<mode>df_mask): Ditto.
17386 (*avx512pf_scatterpf<mode>df): Ditto.
17387 (avx512f_expand<mode>): Removed.
17388 (<shift_insn><mode>3<mask_name>): Change predicate type.
17389
8fcbce72
JJ
173902014-02-08 Jakub Jelinek <jakub@redhat.com>
17391
41475e96
JJ
17392 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
17393 not at the end of datarefs vector use ordered_remove to avoid
17394 reordering datarefs vector.
17395
c74559df
JJ
17396 PR c/59984
17397 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
17398 mark local addressable non-static vars as GOVD_PRIVATE
17399 instead of GOVD_LOCAL.
17400 * omp-low.c (lower_omp_for): Move gimple_bind_vars
17401 and BLOCK_VARS of gimple_bind_block to new_stmt rather
17402 than copying them.
17403
8fcbce72
JJ
17404 PR middle-end/60092
17405 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
17406 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
17407 assume_aligned or alloc_align attributes.
17408 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
17409 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
17410 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
17411 calls to functions with assume_aligned or alloc_align attributes.
17412 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 17413
451bdd23
TG
174142014-02-08 Terry Guo <terry.guo@arm.com>
17415
17416 * doc/invoke.texi: Document ARM -march=armv7e-m.
17417
d31d42c7
JJ
174182014-02-08 Jakub Jelinek <jakub@redhat.com>
17419
d71dfeb7
JJ
17420 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
17421 flag on __cilkrts_rethrow builtin.
17422
d31d42c7
JJ
17423 PR ipa/60026
17424 * ipa-cp.c (determine_versionability): Fail at -O0
17425 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
17426 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
17427
17428 Revert:
17429 2014-02-04 Jakub Jelinek <jakub@redhat.com>
17430
17431 PR ipa/60026
17432 * tree-inline.c (copy_forbidden): Fail for
17433 __attribute__((optimize (0))) functions.
17434
a0a98fef
JH
174352014-02-07 Jan Hubicka <hubicka@ucw.cz>
17436
17437 * varpool.c: Include pointer-set.h.
17438 (varpool_remove_unreferenced_decls): Variables in other partitions
17439 will not be output; be however careful to not lose information
17440 about partitioning.
17441
8c311b50
JH
174422014-02-07 Jan Hubicka <hubicka@ucw.cz>
17443
17444 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
17445 lookup in the vtable constructor.
17446
7ba03e5e
JL
174472014-02-07 Jeff Law <law@redhat.com>
17448
63e6247d
JL
17449 PR target/40977
17450 * config/m68k/m68k.md (ashldi_extsi): Turn into a
17451 define_insn_and_split.
17452
7ba03e5e
JL
17453 * ipa-inline.c (inline_small_functions): Fix typos.
17454
177bc204
RS
174552014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
17456
17457 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
17458 (s390_can_use_return_insn): Declare.
17459 * config/s390/s390.h (EPILOGUE_USES): Define.
17460 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
17461 instructions.
17462 (s390_chunkify_start): Handle return JUMP_LABELs.
17463 (s390_early_mach): Emit a main_pool instruction on the entry edge.
17464 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
17465 (s390_can_use_return_insn): New functions.
17466 (s390_fix_long_loop_prediction): Handle conditional returns.
17467 (TARGET_SET_UP_BY_PROLOGUE): Define.
17468 * config/s390/s390.md (ANY_RETURN): New code iterator.
17469 (*creturn, *csimple_return, return, simple_return): New patterns.
17470
0621cf3c
RS
174712014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
17472
17473 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
17474 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
17475 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
17476 REG_CFA_RESTORE list when deciding not to restore a register.
17477
4099494d
RS
174782014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
17479
17480 * config/s390/s390.c: Include tree-pass.h and context.h.
17481 (s390_early_mach): New function, split out from...
17482 (s390_emit_prologue): ...here.
17483 (pass_data_s390_early_mach): New pass structure.
17484 (pass_s390_early_mach): New class.
17485 (s390_option_override): Create and register early_mach pass.
17486 Move to end of file.
17487
3489cc33
RS
174882014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
17489
17490 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
17491 to match for the exit block.
17492
75cc21e2
AK
174932014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17494
17495 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
17496 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
17497 Reject misaligned operands.
17498
8bd7070a
AK
174992014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17500
1287ae50 17501 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 17502
831806cb
RB
175032014-02-07 Richard Biener <rguenther@suse.de>
17504
17505 PR middle-end/60092
17506 * gimple-low.c (lower_builtin_posix_memalign): New function.
17507 (lower_stmt): Call it to lower posix_memalign in a way
17508 to make alignment info accessible.
17509
7ee9c16f
JJ
175102014-02-07 Jakub Jelinek <jakub@redhat.com>
17511
17512 PR c++/60082
17513 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
17514 __builtin_setjmp_receiver.
17515
32cab212
RB
175162014-02-07 Richard Biener <rguenther@suse.de>
17517
17518 PR middle-end/60092
17519 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
17520 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
17521 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
17522 Handle BUILT_IN_POSIX_MEMALIGN.
17523 (find_func_clobbers): Likewise.
17524 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
17525 (call_may_clobber_ref_p_1): Likewise.
17526
6d6af792
JH
175272014-02-06 Jan Hubicka <hubicka@ucw.cz>
17528
17529 PR ipa/59918
1287ae50
UB
17530 * ipa-devirt.c (record_target_from_binfo): Remove overactive
17531 sanity check.
6d6af792 17532
3c0f1105
JH
175332014-02-06 Jan Hubicka <hubicka@ucw.cz>
17534
17535 PR ipa/59469
17536 * lto-cgraph.c (lto_output_node): Use
17537 symtab_get_symbol_partitioning_class.
17538 (lto_output_varpool_node): likewise.
17539 (symtab_get_symbol_partitioning_class): Move here from
17540 lto/lto-partition.c
17541 * cgraph.h (symbol_partitioning_class): Likewise.
17542 (symtab_get_symbol_partitioning_class): Declare.
17543
b3bb0eb9
JH
175442014-02-06 Jan Hubicka <hubicka@ucw.cz>
17545
17546 * ggc.h (ggc_internal_cleared_alloc): New macro.
17547 * vec.h (vec_safe_copy): Handle memory stats.
17548 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
17549 * target-globals.c (save_target_globals): Likewise.
17550
175512014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
17552
17553 PR target/60077
17554 * expr.c (emit_move_resolve_push): Export; be bit more selective
17555 on when to clear alias set.
17556 * expr.h (emit_move_resolve_push): Declare.
17557 * function.h (struct function): Add tail_call_marked.
17558 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
17559 * config/i386/i386-protos.h (ix86_expand_push): Remove.
17560 * config/i386/i386.md (TImode move expander): De not call
17561 ix86_expand_push.
17562 (FP push expanders): Preserve memory attributes.
17563 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 17564 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
17565 (ix86_expand_push): Remove.
17566 * config/i386/mmx.md (push<mode>1): Remove.
17567
47d552eb
JJ
175682014-02-06 Jakub Jelinek <jakub@redhat.com>
17569
17570 PR rtl-optimization/60030
17571 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
17572 lopart with paradoxical subreg before shifting it up by hprec.
17573
45c75ea7
KT
175742014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17575
17576 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
17577 Remove extra newline at end of file.
17578 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
17579 (arm_issue_rate): Handle cortexa57.
17580 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
17581 (cortex-a57.cortex-a53): Likewise.
17582
af116cae
JJ
175832014-02-06 Jakub Jelinek <jakub@redhat.com>
17584
652a3e3a
JJ
17585 PR target/59575
17586 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
17587 don't record in REG_FRAME_RELATED_EXPR registers not set in that
17588 bitmask.
17589 (arm_expand_prologue): Adjust all callers.
17590 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
17591 info, registers also at the lowest numbered registers side. Use
17592 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
17593 XEXP.
17594
af116cae 17595 PR debug/59992
1287ae50
UB
17596 * var-tracking.c (adjust_mems): Before adding a SET to
17597 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 17598
fdcee33b
AM
175992014-02-06 Alan Modra <amodra@gmail.com>
17600
17601 PR target/60032
17602 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
17603 change SDmode to DDmode when lra_in_progress.
17604
251901a0
JJ
176052014-02-06 Jakub Jelinek <jakub@redhat.com>
17606
d3ef8c53
JJ
17607 PR middle-end/59150
17608 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
17609 free_data_ref on the dr first, and before goto again also set dr
17610 to the next dr. For simd_lane_access, free old datarefs[i] before
17611 overwriting it. For get_vectype_for_scalar_type failure, don't
17612 free_data_ref if simd_lane_access.
17613
2754b38f
JJ
17614 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
17615
251901a0
JJ
17616 PR target/60062
17617 * tree.h (opts_for_fn): New inline function.
17618 (opt_for_fn): Define.
17619 * config/i386/i386.c (ix86_function_regparm): Use
17620 opt_for_fn (decl, optimize) instead of optimize.
17621
4a985a37
MS
176222014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
17623
17624 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
17625 for SYMBOL_REF in large memory model.
17626
c366d38c
KT
176272014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17628
17629 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
17630 and crypto support.
17631 (cortex-a57): Likewise.
17632 (cortex-a57.cortex-a53): Likewise.
17633
c801e246
YG
176342014-02-06 Yury Gribov <y.gribov@samsung.com>
17635 Kugan Vivekanandarajah <kuganv@linaro.org>
17636
17637 * config/arm/arm.c (arm_vector_alignment_reachable): Check
17638 unaligned_access.
17639 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
17640
d50f7b84
RB
176412014-02-06 Richard Biener <rguenther@suse.de>
17642
17643 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
17644 set_loop_copy and initialize_original_copy_tables.
17645
179d2941
AV
176462014-02-06 Alex Velenko <Alex.Velenko@arm.com>
17647
17648 * config/aarch64/aarch64-simd.md
17649 (aarch64_ashr_simddi): Change QI to SI.
17650
78b1469d
JH
176512014-02-05 Jan Hubicka <hubicka@ucw.cz>
17652 Jakub Jelinek <jakub@redhat.com>
17653
17654 PR middle-end/60013
17655 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
17656 of the dataflow.
17657
d85f364c
BS
176582014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17659
17660 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
17661 CODE_FOR_altivec_vpku[hw]um to
17662 CODE_FOR_altivec_vpku[hw]um_direct.
17663 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
17664 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
17665 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
17666 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
17667
7b1cd427
BS
176682014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17669
17670 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
17671 generation for -maltivec=be.
17672 (altivec_vsumsws): Simplify redundant test.
17673
52a93551
BS
176742014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17675
17676 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
17677 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
17678 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
17679 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
17680 gen_altivec_vpkuwum.
17681 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
17682 BYTES_BIG_ENDIAN.
17683 (altivec_vpks<VI_char>ss): Likewise.
17684 (altivec_vpks<VI_char>us): Likewise.
17685 (altivec_vpku<VI_char>us): Likewise.
17686 (altivec_vpku<VI_char>um): Likewise.
17687 (altivec_vpku<VI_char>um_direct): New (copy of
17688 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
17689 internal use).
17690 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
17691 target is little endian and -maltivec=be is not specified.
17692 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 17693 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
17694 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
17695 target is little endian and -maltivec=be is not specified.
17696 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 17697 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
17698 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
17699 little endian and -maltivec=be is not specified.
17700 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
17701 little endian and -maltivec=be is not specified.
17702
004a7e45 177032014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
17704
17705 PR debug/52727
17706 * combine-stack-adj.c: Revert r206943.
17707 * sched-int.h (struct deps_desc): Add last_args_size.
17708 * sched-deps.c (init_deps): Initialize it.
17709 (sched_analyze_insn): Add OUTPUT dependencies between insns that
17710 contain REG_ARGS_SIZE notes.
17711
f300e7b8
JH
177122014-02-05 Jan Hubicka <hubicka@ucw.cz>
17713
17714 * lto-cgraph.c (asm_nodes_output): Make global.
17715 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 17716 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
17717 (driver_handle_option): Handle OPT_fwpa.
17718
609524d2
JJ
177192014-02-05 Jakub Jelinek <jakub@redhat.com>
17720
add5c763
JJ
17721 PR ipa/59947
17722 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
17723 a comment typo and formatting issue. If odr_hash hasn't been
17724 created, return vNULL and set *completep to false.
17725
609524d2
JJ
17726 PR middle-end/57499
17727 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
17728 bb with no successors.
17729
05ab6e21
JG
177302014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
17731
17732 PR target/59718
17733 * doc/invoke.texi (-march): Clarify documentation for ARM.
17734 (-mtune): Likewise.
17735 (-mcpu): Likewise.
17736
d55d9ed0
RB
177372014-02-05 Richard Biener <rguenther@suse.de>
17738
17739 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
17740 when not vectorizing because of too many alias checks.
17741 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
17742 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
17743
c70da878
NC
177442014-02-05 Nick Clifton <nickc@redhat.com>
17745
17746 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 17747 accept extended registers in any mode when compiling for the MN10300.
c70da878 17748
25a07c7e
YG
177492014-02-05 Yury Gribov <y.gribov@samsung.com>
17750
17751 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
17752 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
17753 sanitization attributes.
17754 (can_inline_edge_p): Likewise.
17755 (sanitize_attrs_match_for_inline_p): New function.
17756
4bf2a588
JH
177572014-02-04 Jan Hubicka <hubicka@ucw.cz>
17758
17759 * ipa-prop.c (detect_type_change): Shor circuit testing of
17760 type changes on THIS pointer.
17761
d92f4df0
JDA
177622014-02-04 John David Anglin <danglin@gcc.gnu.org>
17763
17764 PR target/59777
17765 * config/pa/pa.c (legitimize_tls_address): Return original address
17766 if not passed a SYMBOL_REF rtx.
17767 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
17768 addresses.
17769 (pa_emit_move_sequence): Simplify TLS source operands.
17770 (pa_legitimate_constant_p): Reject all TLS constants.
17771 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
17772 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
17773
d665f8dd
JH
177742014-02-04 Jan Hubicka <hubicka@ucw.cz>
17775
17776 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
17777 groups when we know they are controlled by LTO.
17778 * varasm.c (default_binds_local_p_1): If object is in other partition,
17779 it will be resolved locally.
17780
6a071860
BE
177812014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
17782
e2fc3b4f 17783 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 17784 use SSIZE_MAX because it is not always defined.
6a071860 17785
8e9d68a9
VM
177862014-02-04 Vladimir Makarov <vmakarov@redhat.com>
17787
17788 PR bootstrap/59913
17789 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
17790 threshold for pseudo splitting.
17791 (update_ebb_live_info): Process call argument hard registers and
17792 hard registers from insn definition too.
17793 (max_small_class_regs_num): New constant.
17794 (inherit_in_ebb): Update live hard regs through EBBs. Update
17795 reloads_num only for small register classes. Don't split for
17796 outputs of jumps.
17797
8472fa80
MT
177982014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
17799
17800 PR ipa/60058
17801 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
17802 is non-null.
17803
df98e37f
JH
178042014-02-04 Jan Hubicka <hubicka@ucw.cz>
17805
1287ae50
UB
17806 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
17807 visibility is safe.
df98e37f 17808
71e55f04
MP
178092014-02-04 Marek Polacek <polacek@redhat.com>
17810
17811 * gdbinit.in (pel): Define.
17812
229e56f9
BE
178132014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
17814
17815 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
17816 behavior.
17817
c39276b8
RB
178182014-02-04 Richard Biener <rguenther@suse.de>
17819
17820 PR lto/59723
17821 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
17822 in function context local.
17823 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
17824 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
17825 similar to LTO_imported_decl_ref.
17826
66b3ed5f
JJ
178272014-02-04 Jakub Jelinek <jakub@redhat.com>
17828
029ce7a2
JJ
17829 PR tree-optimization/60002
17830 * cgraphclones.c (build_function_decl_skip_args): Clear
17831 DECL_LANG_SPECIFIC.
17832
8e91d222
JJ
17833 PR tree-optimization/60023
17834 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
17835 false to gsi_replace.
17836 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
17837 has been in some EH region and vec_stmt could throw, add
17838 vec_stmt into the same EH region.
17839 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
17840 has no lhs, ignore it.
17841 * internal-fn.c (expand_MASK_LOAD): Likewise.
17842
eb259c4a
JJ
17843 PR ipa/60026
17844 * tree-inline.c (copy_forbidden): Fail for
17845 __attribute__((optimize (0))) functions.
17846
92d05580
JJ
17847 PR other/58712
17848 * omp-low.c (simd_clone_struct_copy): If from->inbranch
17849 is set, copy one less argument.
30540e79
JJ
17850 (expand_simd_clones): Don't subtract clone_info->inbranch
17851 from simd_clone_struct_alloc argument.
92d05580 17852
be3afd67
JJ
17853 PR rtl-optimization/57915
17854 * recog.c (simplify_while_replacing): If all unary/binary/relational
17855 operation arguments are constant, attempt to simplify those.
17856
66b3ed5f
JJ
17857 PR middle-end/59261
17858 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
17859 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
17860
5961d779
RB
178612014-02-04 Richard Biener <rguenther@suse.de>
17862
17863 PR tree-optimization/60012
17864 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
17865 TBAA disambiguation to all DDRs.
17866
91da0481
RO
178672014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17868
17869 PR target/59788
17870 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
17871 (LINK_SPEC): Use it for -shared, -shared-libgcc.
17872
39960d1c
JH
178732014-02-03 Jan Hubicka <hubicka@ucw.cz>
17874
17875 PR ipa/59882
17876 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
17877
178782014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
17879
17880 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
17881 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
17882
39960d1c 178832014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
17884
17885 PR ipa/59831
17886 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
17887 to figure out targets of polymorphic calls with known decl.
17888 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
17889 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
17890 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
17891 (get_polymorphic_call_info): ... here.
17892 (get_polymorphic_call_info_from_invariant): New function.
17893
39960d1c 178942014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
17895
17896 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
17897 lookup via vtable pointer; check for type consistency
17898 and turn inconsitent facts into UNREACHABLE.
17899 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
17900 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
17901 type inconsistent querries; return UNREACHABLE instead.
9de2f554 17902
ade3ff24
RH
179032014-02-03 Richard Henderson <rth@twiddle.net>
17904
17905 PR tree-opt/59924
17906 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
17907 already processed this node.
17908 (normalize_one_pred_1): Pass along mark_set.
17909 (normalize_one_pred): Create and destroy a pointer_set_t.
17910 (normalize_one_pred_chain): Likewise.
17911
55428cc3
LA
179122014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
17913
17914 PR gcov-profile/58602
1287ae50 17915 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 17916
85942f45
JH
179172014-02-03 Jan Hubicka <hubicka@ucw.cz>
17918
17919 PR ipa/59831
1287ae50
UB
17920 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
17921 -fno-devirtualize; try to devirtualize by the knowledge of
17922 virtual table pointer given by aggregate propagation.
85942f45 17923 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 17924 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
17925 is relevant for polymorphic calls.
17926 (determine_known_aggregate_parts): Add arg_type parameter; use it
17927 instead of determining the type from pointer type.
17928 (ipa_compute_jump_functions_for_edge): Update call of
17929 determine_known_aggregate_parts.
17930 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
17931 (gimple_get_virt_method_for_binfo): ... here; simplify using
17932 vtable_pointer_value_to_vtable.
17933 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
17934 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 17935 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
17936 (vtable_pointer_value_to_vtable): Break out from ...; handle also
17937 POINTER_PLUS_EXPR.
17938 (vtable_pointer_value_to_binfo): ... here.
17939 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
17940
bddc974e
TJ
179412014-02-03 Teresa Johnson <tejohnson@google.com>
17942
17943 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
17944 redef of outer loop index variable.
17945
5d77fb19
MG
179462014-02-03 Marc Glisse <marc.glisse@inria.fr>
17947
17948 PR c++/53017
17949 PR c++/59211
17950 * doc/extend.texi (Function Attributes): Typo.
17951
cf5b2be2
CH
179522014-02-03 Cong Hou <congh@google.com>
17953
17954 PR tree-optimization/60000
17955 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
17956 if the vectorized statement is a store. A store statement can only
17957 appear at the end of pattern statements.
17958
a2a1ddb5
L
179592014-02-03 H.J. Lu <hongjiu.lu@intel.com>
17960
17961 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
17962 (ix86_option_override_internal): Default long double to 64-bit for
17963 32-bit Bionic and to 128-bit for 64-bit Bionic.
17964
17965 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
17966 TARGET_LONG_DOUBLE_128 is true.
17967 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
17968
17969 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
17970 (mlong-double-64): Negate -mlong-double-128.
17971 (mlong-double-128): New option.
17972
17973 * config/i386/i386-c.c (ix86_target_macros): Define
17974 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
17975
17976 * doc/invoke.texi: Document -mlong-double-128.
17977
f742cf90
L
179782014-02-03 H.J. Lu <hongjiu.lu@intel.com>
17979
17980 PR rtl-optimization/60024
17981 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
17982
8f36fd30
MT
179832014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
17984
1287ae50 17985 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 17986
861ec4f3
AB
179872014-02-03 Andrey Belevantsev <abel@ispras.ru>
17988
17989 PR rtl-optimization/57662
17990 * sel-sched.c (code_motion_path_driver): Do not mark already not
17991 existing blocks in the visiting bitmap.
17992
fe08255d
AB
179932014-02-03 Andrey Belevantsev <abel@ispras.ru>
17994
17995 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
17996 on the insn being emitted.
17997
96d3a240
JG
179982014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
17999 Will Deacon <will.deacon@arm.com>
18000
18001 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
18002
9dd6c9f7
KT
180032014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18004
18005 * config/arm/arm-tables.opt: Regenerate.
18006
60331d00
BS
180072014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
18008
18009 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
18010 for vector types other than V16QImode.
18011 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
18012 define_expand, and call altivec_expand_vec_perm_le when producing
18013 code with little endian element order.
18014 (*altivec_vperm_<mode>_internal): New insn having previous
18015 behavior of altivec_vperm_<mode>.
18016 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
18017 altivec_expand_vec_perm_le when producing code with little endian
18018 element order.
18019 (*altivec_vperm_<mode>_uns_internal): New insn having previous
18020 behavior of altivec_vperm_<mode>_uns.
18021
b80afde9
BS
180222014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
18023
18024 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
18025 (altivec_vsumsws): Add handling for -maltivec=be with a little
18026 endian target.
18027 (altivec_vsumsws_direct): New.
18028 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
18029 gen_altivec_vsumsws.
18030
39960d1c 180312014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
18032
18033 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
18034 vtable_pointer_value_to_binfo): New functions.
18035 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
18036 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
18037
02b67731
SL
180382014-02-02 Sandra Loosemore <sandra@codesourcery.com>
18039
18040 * config/nios2/nios2.md (load_got_register): Initialize GOT
18041 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
18042 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
18043
2ace77c2
JH
180442014-02-02 Jan Hubicka <hubicka@ucw.cz>
18045
18046 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
18047 preserverd by passthrough, do not propagate the type.
18048
70b2d364
RS
180492014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
18050
18051 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
18052 (mips_atomic_assign_expand_fenv): New function.
18053 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
18054
a90c0245
RS
180552014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
18056
18057 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
18058 (__builtin_mips_set_fcsr): Likewise.
18059 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
18060 MIPS_USI_FTYPE_VOID.
18061 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
18062 (mips16_expand_set_fcsr): Likewise.
18063 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
18064 (mips16_set_fcsr_stub): Likewise.
18065 (mips16_get_fcsr_one_only_stub): New class.
18066 (mips16_set_fcsr_one_only_stub): Likewise.
18067 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
18068 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
18069 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
18070 (hard_float): New availability predicate.
18071 (mips_builtins): Add get_fcsr and set_fcsr.
18072 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
18073 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
18074 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
18075 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
18076 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
18077 patterns.
18078
6d51cc90
RS
180792014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
18080
18081 * config/mips/mips.c (mips_one_only_stub): New class.
18082 (mips_need_mips16_rdhwr_p): Replace with...
18083 (mips16_rdhwr_stub): ...this new variable.
18084 (mips16_stub_call_address): New function.
18085 (mips16_rdhwr_one_only_stub): New class.
18086 (mips_expand_thread_pointer): Use mips16_stub_call_address.
18087 (mips_output_mips16_rdhwr): Delete.
18088 (mips_finish_stub): New function.
18089 (mips_code_end): Use it to handle rdhwr stubs.
18090
6c90f137
UB
180912014-02-02 Uros Bizjak <ubizjak@gmail.com>
18092
18093 PR target/60017
18094 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
18095 when calculating size of integer atomic types.
18096
5e64bbbb
L
180972014-02-02 H.J. Lu <hongjiu.lu@intel.com>
18098
18099 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
18100
021293cb
JJ
181012014-02-01 Jakub Jelinek <jakub@redhat.com>
18102
18103 PR tree-optimization/60003
18104 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
18105 * profile.c (branch_prob): Use gimple_call_builtin_p
18106 to check for BUILT_IN_SETJMP_RECEIVER.
18107 * tree-inline.c (copy_bb): Call notice_special_calls.
18108
6334f3e9
VM
181092014-01-31 Vladimir Makarov <vmakarov@redhat.com>
18110
18111 PR bootstrap/59985
18112 * lra-constraints.c (process_alt_operands): Update reload_sum only
18113 on the first pass.
18114
efa7882f
RH
181152014-01-31 Richard Henderson <rth@redhat.com>
18116
18117 PR middle-end/60004
18118 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
18119 until after else_eh is processed.
18120
de72ea02
IT
181212014-01-31 Ilya Tocar <ilya.tocar@intel.com>
18122
18123 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
18124 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
18125 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
18126 in smmintrin.h, remove them.
18127 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
18128 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
18129 * config/i386/i386.md (ROUND_SAE): Fix value.
18130 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
18131 (const48_operand): New.
18132 * config/i386/subst.md (round), (round_expand): Use
18133 const_4_or_8_to_11_operand.
18134 (round_saeonly), (round_saeonly_expand): Use const48_operand.
18135
be792bce
IT
181362014-01-31 Ilya Tocar <ilya.tocar@intel.com>
18137
18138 * config/i386/constraints.md (Yk): Swap meaning with k.
18139 * config/i386/i386.md (movhi_internal): Change Yk to k.
18140 (movqi_internal): Ditto.
18141 (*k<logic><mode>): Ditto.
18142 (*andhi_1): Ditto.
18143 (*andqi_1): Ditto.
18144 (kandn<mode>): Ditto.
18145 (*<code>hi_1): Ditto.
18146 (*<code>qi_1): Ditto.
18147 (kxnor<mode>): Ditto.
18148 (kortestzhi): Ditto.
18149 (kortestchi): Ditto.
18150 (kunpckhi): Ditto.
18151 (*one_cmplhi2_1): Ditto.
18152 (*one_cmplqi2_1): Ditto.
18153 * config/i386/sse.md (): Change k to Yk.
18154 (avx512f_load<mode>_mask): Ditto.
18155 (avx512f_blendm<mode>): Ditto.
18156 (avx512f_store<mode>_mask): Ditto.
18157 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
18158 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
18159 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
18160 Ditto.
be792bce
IT
18161 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
18162 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
18163 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
18164 (avx512f_maskcmp<mode>3): Ditto.
18165 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
18166 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
18167 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
18168 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
18169 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
18170 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
18171 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
18172 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
18173 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
18174 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
18175 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
18176 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
18177 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
18178 (vec_extract_lo_<mode>_maskm): Ditto.
18179 (vec_extract_hi_<mode>_maskm): Ditto.
18180 (avx512f_vternlog<mode>_mask): Ditto.
18181 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
18182 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
18183 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
18184 (avx512f_<code>v8div16qi2_mask): Ditto.
18185 (avx512f_<code>v8div16qi2_mask_store): Ditto.
18186 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
18187 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
18188 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
18189 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
18190 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
18191 (*avx512pf_gatherpf<mode>df_mask): Ditto.
18192 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
18193 (*avx512pf_scatterpf<mode>df_mask): Ditto.
18194 (avx512cd_maskb_vec_dupv8di): Ditto.
18195 (avx512cd_maskw_vec_dupv16si): Ditto.
18196 (avx512f_vpermi2var<mode>3_maskz): Ditto.
18197 (avx512f_vpermi2var<mode>3_mask): Ditto.
18198 (avx512f_vpermi2var<mode>3_mask): Ditto.
18199 (avx512f_vpermt2var<mode>3_maskz): Ditto.
18200 (*avx512f_gathersi<mode>): Ditto.
18201 (*avx512f_gathersi<mode>_2): Ditto.
18202 (*avx512f_gatherdi<mode>): Ditto.
18203 (*avx512f_gatherdi<mode>_2): Ditto.
18204 (*avx512f_scattersi<mode>): Ditto.
18205 (*avx512f_scatterdi<mode>): Ditto.
18206 (avx512f_compress<mode>_mask): Ditto.
18207 (avx512f_compressstore<mode>_mask): Ditto.
18208 (avx512f_expand<mode>_mask): Ditto.
18209 * config/i386/subst.md (mask): Change k to Yk.
18210 (mask_scalar_merge): Ditto.
18211 (sd): Ditto.
18212
0878d68a
MG
182132014-01-31 Marc Glisse <marc.glisse@inria.fr>
18214
18215 * doc/extend.texi (Vector Extensions): Document ?: in C++.
18216
fdfd537b
RB
182172014-01-31 Richard Biener <rguenther@suse.de>
18218
18219 PR middle-end/59990
18220 * builtins.c (fold_builtin_memory_op): Make sure to not
18221 use a floating-point mode or a boolean or enumeral type for
18222 the copy operation.
18223
4f50b9ff
DD
182242014-01-30 DJ Delorie <dj@redhat.com>
18225
18226 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
18227 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
18228 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
18229 whenever main() has an epilogue.
18230
c3e96073
BS
182312014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
18232
18233 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
18234 unused variable "field".
18235 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
18236 (vsx_mergeh_<mode>): Likewise.
18237 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
18238 (altivec_vmrghh): Likewise.
18239 (altivec_vmrghw): Likewise.
18240 (altivec_vmrglb): Likewise.
18241 (altivec_vmrglh): Likewise.
18242 (altivec_vmrglw): Likewise.
18243 (altivec_vspltb): Add missing uses.
18244 (altivec_vsplth): Likewise.
18245 (altivec_vspltw): Likewise.
18246 (altivec_vspltsf): Likewise.
18247
4bb9c32d
JJ
182482014-01-30 Jakub Jelinek <jakub@redhat.com>
18249
18250 PR target/59923
18251 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
18252 frame related instructions.
18253
7613fa50
VM
182542014-01-30 Vladimir Makarov <vmakarov@redhat.com>
18255
18256 PR rtl-optimization/59959
18257 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
18258 any reload of register whose subreg is invalid.
18259
6fb82517
JJ
182602014-01-30 Jakub Jelinek <jakub@redhat.com>
18261
33425d6c 18262 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
18263 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
18264 Add missing return type - void.
18265
bf53d4b8
BS
182662014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
18267
18268 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
18269 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
18270 remove element index adjustment for endian (now handled in vsx.md
18271 and altivec.md).
18272 (altivec_expand_vec_perm_const): Use
18273 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
18274 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
18275 (vsx_xxspltw_<mode>): Adjust element index for little endian.
18276 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
18277 define_expand and a new define_insn *altivec_vspltb_internal;
18278 adjust for -maltivec=be on a little endian target.
18279 (altivec_vspltb_direct): New.
18280 (altivec_vsplth): Divide into a define_expand and a new
18281 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
18282 little endian target.
18283 (altivec_vsplth_direct): New.
18284 (altivec_vspltw): Divide into a define_expand and a new
18285 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
18286 little endian target.
18287 (altivec_vspltw_direct): New.
18288 (altivec_vspltsf): Divide into a define_expand and a new
18289 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
18290 a little endian target.
18291
c965e187
RB
182922014-01-30 Richard Biener <rguenther@suse.de>
18293
18294 PR tree-optimization/59993
18295 * tree-ssa-forwprop.c (associate_pointerplus): Check we
18296 can propagate form the earlier stmt and avoid the transform
18297 when the intermediate result is needed.
18298
ba117645
AD
182992014-01-30 Alangi Derick <alangiderick@gmail.com>
18300
18301 * README.Portability: Fix typo.
18302
4bb66ef3 183032014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
18304
18305 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
18306 comparison_operator with ordered_comparison_operator.
18307
c345a0b1
NC
183082014-01-30 Nick Clifton <nickc@redhat.com>
18309
18310 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
18311 Rename to mn10300_store_multiple_regs.
18312 * config/mn10300/mn10300.c: Likewise.
18313 * config/mn10300/mn10300.md (store_movm): Fix typo: call
18314 store_multiple_regs.
18315 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
18316 Call mn10300_store_multiple_regs.
18317
2d70f6d4
NC
183182014-01-30 Nick Clifton <nickc@redhat.com>
18319 DJ Delorie <dj@redhat.com>
18320
18321 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
18322 %fp 2 to keep registers after it properly word-aligned.
18323 (rl78_alloc_physical_registers_umul): Handle the case where both
18324 input operands are the same.
18325
c972624e
RB
183262014-01-30 Richard Biener <rguenther@suse.de>
18327
18328 PR tree-optimization/59903
18329 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
18330 check properly.
18331
fc044323
JM
183322014-01-30 Jason Merrill <jason@redhat.com>
18333
404c2aea
JM
18334 PR c++/59633
18335 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
18336
fc044323
JM
18337 PR c++/59645
18338 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
18339
f30a0ba5
RB
183402014-01-30 Richard Biener <rguenther@suse.de>
18341
18342 PR tree-optimization/59951
33425d6c 18343 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 18344
aad8816f
SZ
183452014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
18346
18347 PR target/59784
18348 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
18349 SFmode to DFmode case.
18350
3b16363e
DD
183512014-01-29 DJ Delorie <dj@redhat.com>
18352
18353 * config/msp430/msp430.opt (-minrt): New.
18354 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
18355 if -minrt given.
18356 (ENDFILE_SPEC): Likewise.
18357
39960d1c 183582014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
18359
18360 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
18361 (estimate_function_body_sizes): Use it.
18362
1200933c
PC
183632014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
18364
18365 PR c++/58561
18366 * dwarf2out.c (is_cxx_auto): New.
18367 (is_base_type): Use it.
18368 (gen_type_die_with_usage): Likewise.
18369
68d3bacf
BS
183702014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
18371
18372 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
18373 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
18374 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
18375 -maltivec=be with LE targets.
18376 (vsx_mergeh_<mode>): Likewise.
33425d6c 18377 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
18378 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
18379 (altivec_vmrghb): Replace with define_expand and new
33425d6c 18380 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
18381 (altivec_vmrghb_direct): New define_insn.
18382 (altivec_vmrghh): Replace with define_expand and new
33425d6c 18383 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
18384 (altivec_vmrghh_direct): New define_insn.
18385 (altivec_vmrghw): Replace with define_expand and new
33425d6c 18386 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
18387 (altivec_vmrghw_direct): New define_insn.
18388 (*altivec_vmrghsf): Adjust for endianness.
18389 (altivec_vmrglb): Replace with define_expand and new
33425d6c 18390 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
18391 (altivec_vmrglb_direct): New define_insn.
18392 (altivec_vmrglh): Replace with define_expand and new
33425d6c 18393 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
18394 (altivec_vmrglh_direct): New define_insn.
18395 (altivec_vmrglw): Replace with define_expand and new
33425d6c 18396 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
18397 (altivec_vmrglw_direct): New define_insn.
18398 (*altivec_vmrglsf): Adjust for endianness.
18399 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
18400 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
18401 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
18402 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
18403 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
18404 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
18405 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
18406 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
18407
aef66c94
MS
184082014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
18409
18410 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
18411 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
18412 whitespace.
18413
77574c35
RB
184142014-01-29 Richard Biener <rguenther@suse.de>
18415
18416 PR tree-optimization/58742
18417 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
18418 associate_pointerplus_align.
18419 (associate_pointerplus_diff): New function.
18420 (associate_pointerplus): Likewise. Call associate_pointerplus_align
18421 and associate_pointerplus_diff.
18422
15b25b24
RB
184232014-01-29 Richard Biener <rguenther@suse.de>
18424
18425 * lto-streamer.h (LTO_major_version): Bump to 3.
18426 (LTO_minor_version): Reset to 0.
18427
eb6006ad
RL
184282014-01-29 Renlin Li <Renlin.Li@arm.com>
18429
18430 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
18431 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
18432 (arm_file_start): Generate correct asm header for armv7ve.
18433 * config/arm/bpabi.h: Add multilib support for armv7ve.
18434 * config/arm/driver-arm.c: Change the architectures of cortex-a7
18435 and cortex-a15 to armv7ve.
18436 * config/arm/t-aprofile: Add multilib support for armv7ve.
18437 * doc/invoke.texi: Document -march=armv7ve.
18438
4bfb2fa2
RB
184392014-01-29 Richard Biener <rguenther@suse.de>
18440
18441 PR tree-optimization/58742
18442 * tree-ssa-forwprop.c (associate_plusminus): Return true
18443 if we changed sth, defer EH cleanup to ...
18444 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
18445 (simplify_mult): New function.
18446
42eb8bd1
JJ
184472014-01-29 Jakub Jelinek <jakub@redhat.com>
18448
09b22f48
JJ
18449 PR middle-end/59917
18450 PR tree-optimization/59920
18451 * tree.c (build_common_builtin_nodes): Remove
18452 __builtin_setjmp_dispatcher initialization.
18453 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
18454 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
18455 instead of gsi_after_labels + manually skipping debug stmts.
18456 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
18457 ignore bbs with IFN_ABNORMAL_DISPATCHER.
18458 * tree-inline.c (copy_edges_for_bb): Remove
18459 can_make_abnormal_goto argument, instead add abnormal_goto_dest
18460 argument. Ignore computed_goto_p stmts. Don't call
18461 make_abnormal_goto_edges. If a call might need abnormal edges
18462 for non-local gotos, see if it already has an edge to
18463 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
18464 with true argument, don't do anything then, otherwise add
18465 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
18466 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
18467 caller.
18468 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
18469 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
18470 (lower_stmt): Don't set data->calls_builtin_setjmp.
18471 (lower_builtin_setjmp): Adjust comment.
18472 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
18473 * tree-cfg.c (found_computed_goto): Remove.
18474 (factor_computed_gotos): Remove.
18475 (make_goto_expr_edges): Return bool, true for computed gotos.
18476 Don't call make_abnormal_goto_edges.
18477 (build_gimple_cfg): Don't set found_computed_goto, don't call
18478 factor_computed_gotos.
18479 (computed_goto_p): No longer static.
18480 (make_blocks): Don't set found_computed_goto.
18481 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
18482 (make_edges): If make_goto_expr_edges returns true, push bb
18483 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
18484 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
18485 vector. Record mapping between bbs and OpenMP regions if there
18486 are any, adjust make_gimple_omp_edges caller. Call
18487 handle_abnormal_edges.
18488 (make_abnormal_goto_edges): Remove.
18489 * tree-cfg.h (make_abnormal_goto_edges): Remove.
18490 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
18491 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 18492 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
18493 * internal-fn.def (ABNORMAL_DISPATCHER): New.
18494 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
18495 filling *region also set *region_idx to (*region)->entry->index.
18496
42eb8bd1
JJ
18497 PR other/58712
18498 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
18499 For REGs set ORIGINAL_REGNO.
18500
4a271b7e
BM
185012014-01-29 Bingfeng Mei <bmei@broadcom.com>
18502
33425d6c 18503 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
18504 vec_widen_(s|u)mul_even/odd pair if it is less efficient
18505 than hi/lo pair.
18506
3d54b29d
JJ
185072014-01-29 Jakub Jelinek <jakub@redhat.com>
18508
18509 PR tree-optimization/59594
18510 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
18511 a copy of the datarefs vector rather than the vector itself.
18512
2e5e7103
JM
185132014-01-28 Jason Merrill <jason@redhat.com>
18514
18515 PR c++/53756
18516 * dwarf2out.c (auto_die): New static.
18517 (gen_type_die_with_usage): Handle C++1y 'auto'.
18518 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
18519 on definition.
18520
d5d618b5
L
185212014-01-28 H.J. Lu <hongjiu.lu@intel.com>
18522
18523 PR target/59672
18524 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
18525 (SPEC_X32): Likewise.
18526 (SPEC_64): Likewise.
18527 * config/i386/i386.c (ix86_option_override_internal): Turn off
18528 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
18529 for TARGET_16BIT.
18530 (x86_file_start): Output .code16gcc for TARGET_16BIT.
18531 * config/i386/i386.h (TARGET_16BIT): New macro.
18532 (TARGET_16BIT_P): Likewise.
18533 * config/i386/i386.opt: Add m16.
18534 * doc/invoke.texi: Document -m16.
18535
367c8286
DS
185362014-01-28 Jakub Jelinek <jakub@redhat.com>
18537
18538 PR preprocessor/59935
18539 * input.c (location_get_source_line): Bail out on when line number
33425d6c 18540 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 18541
07ec81f9
RB
185422014-01-28 Richard Biener <rguenther@suse.de>
18543
18544 PR tree-optimization/58742
18545 * tree-ssa-forwprop.c (associate_plusminus): Handle
18546 pointer subtraction of the form (T)(P + A) - (T)P.
18547
5facb998
KT
185482014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18549
18550 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
18551 at const_int_cost.
18552
e04faf24
RB
185532014-01-28 Richard Biener <rguenther@suse.de>
18554
18555 Revert
18556 2014-01-28 Richard Biener <rguenther@suse.de>
18557
18558 PR rtl-optimization/45364
18559 PR rtl-optimization/59890
18560 * var-tracking.c (local_get_addr_clear_given_value): Handle
18561 already cleared slot.
18562 (val_reset): Handle not allocated local_get_addr_cache.
18563 (vt_find_locations): Use post-order on the inverted CFG.
18564
6593260b
RB
185652014-01-28 Richard Biener <rguenther@suse.de>
18566
33425d6c 18567 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 18568
9ec2d2c1
RB
185692014-01-28 Richard Biener <rguenther@suse.de>
18570
18571 PR rtl-optimization/45364
18572 PR rtl-optimization/59890
18573 * var-tracking.c (local_get_addr_clear_given_value): Handle
18574 already cleared slot.
18575 (val_reset): Handle not allocated local_get_addr_cache.
18576 (vt_find_locations): Use post-order on the inverted CFG.
18577
2ceb362d
AM
185782014-01-28 Alan Modra <amodra@gmail.com>
18579
18580 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
18581 * configure.ac <recursive call for build != host>: Define
18582 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
18583 and LD_FOR_BUILD too.
18584 * configure: Regenerate.
18585
0ebe2584
ASJ
185862014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
18587
18588 * config/i386/i386.c (get_builtin_code_for_version): Separate
18589 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
18590 Broadwell from Haswell.
18591
a33fc7fe
SE
185922014-01-27 Steve Ellcey <sellcey@mips.com>
18593
18594 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
18595 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
18596 * config/mips/mips.c (mips_option_override): Change setting
18597 of TARGET_DSP.
18598 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
18599 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
18600 Change from Mask to Var.
a33fc7fe 18601
a99be3c9
JL
186022014-01-27 Jeff Law <law@redhat.com>
18603
18604 * ipa-inline.c (inline_small_functions): Fix typo.
18605
d256b866
IT
186062014-01-27 Ilya Tocar <ilya.tocar@intel.com>
18607
18608 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
18609 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
18610 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
18611 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
18612 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
18613 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
18614 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
18615 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
18616 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
18617 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
18618 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
18619 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
18620 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
18621 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
18622 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
18623 (_mm512_storeu_epi64): Ditto.
18624 (_mm512_cmpge_epi32_mask): Ditto.
18625 (_mm512_cmpge_epu32_mask): Ditto.
18626 (_mm512_cmpge_epi64_mask): Ditto.
18627 (_mm512_cmpge_epu64_mask): Ditto.
18628 (_mm512_cmple_epi32_mask): Ditto.
18629 (_mm512_cmple_epu32_mask): Ditto.
18630 (_mm512_cmple_epi64_mask): Ditto.
18631 (_mm512_cmple_epu64_mask): Ditto.
18632 (_mm512_cmplt_epi32_mask): Ditto.
18633 (_mm512_cmplt_epu32_mask): Ditto.
18634 (_mm512_cmplt_epi64_mask): Ditto.
18635 (_mm512_cmplt_epu64_mask): Ditto.
18636 (_mm512_cmpneq_epi32_mask): Ditto.
18637 (_mm512_cmpneq_epu32_mask): Ditto.
18638 (_mm512_cmpneq_epi64_mask): Ditto.
18639 (_mm512_cmpneq_epu64_mask): Ditto.
18640 (_mm512_expand_pd): Ditto.
18641 (_mm512_expand_ps): Ditto.
18642 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
18643 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
18644 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
18645 * config/i386/i386.c (ix86_builtins): Add
18646 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
18647 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
18648 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
18649 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
18650 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
18651 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
18652 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
18653 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
18654 IX86_BUILTIN_PMOVUSQW512_MEM.
18655 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
18656 __builtin_ia32_pmovsqd512mem_mask,
18657 __builtin_ia32_pmovqd512mem_mask,
18658 __builtin_ia32_pmovusqw512mem_mask,
18659 __builtin_ia32_pmovsqw512mem_mask,
18660 __builtin_ia32_pmovqw512mem_mask,
18661 __builtin_ia32_pmovusdw512mem_mask,
18662 __builtin_ia32_pmovsdw512mem_mask,
18663 __builtin_ia32_pmovdw512mem_mask,
18664 __builtin_ia32_pmovqb512mem_mask,
18665 __builtin_ia32_pmovusqb512mem_mask,
18666 __builtin_ia32_pmovsqb512mem_mask,
18667 __builtin_ia32_pmovusdb512mem_mask,
18668 __builtin_ia32_pmovsdb512mem_mask,
18669 __builtin_ia32_pmovdb512mem_mask.
18670 (bdesc_args): Add __builtin_ia32_expanddf512,
18671 __builtin_ia32_expandsf512.
18672 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
18673 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
18674 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
18675 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
18676 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
18677 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
18678 (avx512f_<code>v8div16qi2_mask_store): This.
18679 (avx512f_expand<mode>): New.
18680
e711dffd
KY
186812014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
18682
1287ae50 18683 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 18684 New.
e711dffd
KY
18685 (_mm512_mask_prefetch_i64gather_pd): Ditto.
18686 (_mm512_prefetch_i32scatter_pd): Ditto.
18687 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
18688 (_mm512_prefetch_i64scatter_pd): Ditto.
18689 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
18690 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
18691 (_mm512_mask_prefetch_i64gather_ps): Ditto.
18692 (_mm512_prefetch_i32scatter_ps): Ditto.
18693 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
18694 (_mm512_prefetch_i64scatter_ps): Ditto.
18695 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
18696 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
18697 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
18698 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
18699 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
18700 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
18701 IX86_BUILTIN_SCATTERPFQPD.
18702 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
18703 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
18704 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
18705 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
18706 __builtin_ia32_scatterpfqps.
18707 (ix86_expand_builtin): Expand new built-ins.
18708 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
18709 fix memory access data type.
18710 (*avx512pf_gatherpf<mode>_mask): Ditto.
18711 (*avx512pf_gatherpf<mode>): Ditto.
18712 (avx512pf_scatterpf<mode>): Ditto.
18713 (*avx512pf_scatterpf<mode>_mask): Ditto.
18714 (*avx512pf_scatterpf<mode>): Ditto.
18715 (GATHER_SCATTER_SF_MEM_MODE): New.
18716 (avx512pf_gatherpf<mode>df): Ditto.
18717 (*avx512pf_gatherpf<mode>df_mask): Ditto.
18718 (*avx512pf_scatterpf<mode>df): Ditto.
18719
904e5ccd
JJ
187202014-01-27 Jakub Jelinek <jakub@redhat.com>
18721
18722 PR bootstrap/59934
18723 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
18724 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
18725 reached.
18726
84e90123
JG
187272014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
18728
18729 * common/config/arm/arm-common.c
18730 (arm_rewrite_mcpu): Handle multiple names.
18731 * config/arm/arm.h
18732 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
18733
c6f6157a
JG
187342014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
18735
18736 * gimple-builder.h (create_gimple_tmp): Delete.
18737
770516c9
CB
187382014-01-27 Christian Bruel <christian.bruel@st.com>
18739
18740 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
18741 words comparisons.
18742
cc5cec10
JDA
187432014-01-26 John David Anglin <danglin@gcc.gnu.org>
18744
5aa3c762
JDA
18745 * config/pa/pa.md (call): Generate indirect long calls to non-local
18746 functions when outputing 32-bit code.
18747 (call_value): Likewise except for special call to buggy powf function.
18748
cc5cec10
JDA
18749 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
18750 portable runtime and PIC indirect calls.
18751 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
18752 and PIC call sequences. Use ldo instead of blr to set return register
18753 in PIC call sequence.
18754
6bb0e248
WL
187552014-01-25 Walter Lee <walt@tilera.com>
18756
18757 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
18758 avoid clobbering a live register.
18759
dab03fe3
WL
187602014-01-25 Walter Lee <walt@tilera.com>
18761
770516c9 18762 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 18763 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 18764 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
18765 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
18766
905c20c1
WL
187672014-01-25 Walter Lee <walt@tilera.com>
18768
18769 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
18770 arguments on even registers.
18771 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
18772 STACK_BOUNDARY.
18773 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
18774 (BIGGEST_ALIGNMENT): Ditto.
18775 (BIGGEST_FIELD_ALIGNMENT): Ditto.
18776
8e90a625
WL
187772014-01-25 Walter Lee <walt@tilera.com>
18778
18779 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
18780 insns before bundling.
0ebe2584 18781 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 18782
450c1ffe
WL
187832014-01-25 Walter Lee <walt@tilera.com>
18784
18785 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
18786 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
18787 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 18788
450c1ffe 187892014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 18790
317a951f
RS
18791 * config/mips/constraints.md (kl): Delete.
18792 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
18793 define expands, using...
18794 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
18795 instructions for MIPS16.
18796 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
18797 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
18798
3abe9053
WL
187992014-01-25 Walter Lee <walt@tilera.com>
18800
0ebe2584 18801 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
18802 (clzdi2): Ditto.
18803 (ffsdi2): Ditto.
18804
b0e0fe41
WL
188052014-01-25 Walter Lee <walt@tilera.com>
18806
18807 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
18808 (TARGET_EXPAND_TO_RTL_HOOK): Define.
18809
2c8798a2
RS
188102014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
18811
18812 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
18813 Handle XOR.
18814
2105be5a
JJ
188152014-01-25 Jakub Jelinek <jakub@redhat.com>
18816
4def6060
JJ
18817 * print-rtl.c (in_call_function_usage): New var.
18818 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
18819 EXPR_LIST mode as mode and not as reg note name.
18820
2105be5a
JJ
18821 PR middle-end/59561
18822 * cfgloopmanip.c (copy_loop_info): If
18823 loop->warned_aggressive_loop_optimizations, make sure
18824 the flag is set in target loop too.
18825
b72271b9
BI
188262014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
18827
18828 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
18829 flag_cilkplus.
18830 * builtins.def: Likewise.
18831 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
18832 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
18833 * ira.c (ira_setup_eliminable_regset): Likewise.
18834 * omp-low.c (gate_expand_omp): Likewise.
18835 (execute_lower_omp): Likewise.
18836 (diagnose_sb_0): Likewise.
18837 (gate_diagnose_omp_blocks): Likewise.
18838 (simd_clone_clauses_extract): Likewise.
18839 (gate): Likewise.
18840
8adcc78b
BS
188412014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
18842
18843 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
18844 correction for little endian...
18845 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
18846 here.
18847
3d750496
JL
188482014-01-24 Jeff Law <law@redhat.com>
18849
18850 PR tree-optimization/59919
18851 * tree-vrp.c (find_assert_locations_1): Do not register asserts
18852 for non-returning calls.
18853
1c05df59
JG
188542014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
18855
18856 * common/config/aarch64/aarch64-common.c
18857 (aarch64_rewrite_mcpu): Handle multiple names.
18858 * config/aarch64/aarch64.h
18859 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
18860
317363b4
DS
188612014-01-24 Dodji Seketeli <dodji@redhat.com>
18862
18863 * input.c (add_file_to_cache_tab): Handle the case where fopen
18864 returns NULL.
18865
16370fa7
L
188662014-01-23 H.J. Lu <hongjiu.lu@intel.com>
18867
18868 PR target/59929
18869 * config/i386/i386.md (pushsf splitter): Get stack adjustment
18870 from push operand if code of push isn't PRE_DEC.
18871
b846c948
MM
188722014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
18873
18874 PR target/59909
18875 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
18876 -mquad-memory-atomic. Update -mquad-memory documentation to say
18877 it is only used for non-atomic loads/stores.
18878
18879 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
18880 -mquad-memory or -mquad-memory-atomic switches.
18881
18882 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
18883 -mquad-memory-atomic to ISA 2.07 support.
18884
18885 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
18886 to separate support of normal quad word memory operations (ldq, stq)
18887 from the atomic quad word memory operations.
b846c948
MM
18888
18889 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
18890 support to separate non-atomic quad word operations from atomic
18891 quad word operations. Disable non-atomic quad word operations in
18892 little endian mode so that we don't have to swap words after the
18893 load and before the store.
18894 (quad_load_store_p): Add comment about atomic quad word support.
18895 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
18896 options printed with -mdebug=reg.
18897
18898 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
18899 -mquad-memory-atomic as the test for whether we have quad word
18900 atomic instructions.
0ebe2584
ASJ
18901 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
18902 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
18903
18904 * config/rs6000/sync.md (load_lockedti): Insure that the address
18905 is a proper indexed or indirect address for the lqarx instruction.
18906 On little endian systems, swap the hi/lo registers after the lqarx
18907 instruction.
18908 (load_lockedpti): Use indexed_or_indirect_operand predicate to
18909 insure the address is valid for the lqarx instruction.
18910 (store_conditionalti): Insure that the address is a proper indexed
18911 or indirect address for the stqcrx. instruction. On little endian
18912 systems, swap the hi/lo registers before doing the stqcrx.
18913 instruction.
18914 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
18915 insure the address is valid for the stqcrx. instruction.
18916
18917 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
18918 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
18919 type of quad memory support is available.
18920
6e23f296
VM
189212014-01-23 Vladimir Makarov <vmakarov@redhat.com>
18922
18923 PR regression/59915
18924 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
18925 there is a danger of looping.
18926
0a4f04e5
PH
189272014-01-23 Pat Haugen <pthaugen@us.ibm.com>
18928
18929 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
18930 force flag_ira_loop_pressure if set via command line.
18931
f9a4c9a6
AV
189322014-01-23 Alex Velenko <Alex.Velenko@arm.com>
18933
18934 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
18935 (ashr_simd): New builtin handling DI mode.
18936 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
18937 (aarch64_sshr_simddi): New match pattern.
18938 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
18939 (vshrd_n_s64): Likewise.
18940 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
18941
949ad971
NC
189422014-01-23 Nick Clifton <nickc@redhat.com>
18943
18944 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
18945 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
18946 favour of mcu specific scripts.
18947 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
18948 430x multilibs.
18949
d5ecead9
JG
189502014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
18951 Alex Velenko <Alex.Velenko@arm.com>
18952
18953 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
18954 (vaddv_s16): Likewise.
18955 (vaddv_s32): Likewise.
18956 (vaddv_u8): Likewise.
18957 (vaddv_u16): Likewise.
18958 (vaddv_u32): Likewise.
18959 (vaddvq_s8): Likewise.
18960 (vaddvq_s16): Likewise.
18961 (vaddvq_s32): Likewise.
18962 (vaddvq_s64): Likewise.
18963 (vaddvq_u8): Likewise.
18964 (vaddvq_u16): Likewise.
18965 (vaddvq_u32): Likewise.
18966 (vaddvq_u64): Likewise.
18967 (vaddv_f32): Likewise.
18968 (vaddvq_f32): Likewise.
18969 (vaddvq_f64): Likewise.
18970 (vmaxv_f32): Likewise.
18971 (vmaxv_s8): Likewise.
18972 (vmaxv_s16): Likewise.
18973 (vmaxv_s32): Likewise.
18974 (vmaxv_u8): Likewise.
18975 (vmaxv_u16): Likewise.
18976 (vmaxv_u32): Likewise.
18977 (vmaxvq_f32): Likewise.
18978 (vmaxvq_f64): Likewise.
18979 (vmaxvq_s8): Likewise.
18980 (vmaxvq_s16): Likewise.
18981 (vmaxvq_s32): Likewise.
18982 (vmaxvq_u8): Likewise.
18983 (vmaxvq_u16): Likewise.
18984 (vmaxvq_u32): Likewise.
18985 (vmaxnmv_f32): Likewise.
18986 (vmaxnmvq_f32): Likewise.
18987 (vmaxnmvq_f64): Likewise.
18988 (vminv_f32): Likewise.
18989 (vminv_s8): Likewise.
18990 (vminv_s16): Likewise.
18991 (vminv_s32): Likewise.
18992 (vminv_u8): Likewise.
18993 (vminv_u16): Likewise.
18994 (vminv_u32): Likewise.
18995 (vminvq_f32): Likewise.
18996 (vminvq_f64): Likewise.
18997 (vminvq_s8): Likewise.
18998 (vminvq_s16): Likewise.
18999 (vminvq_s32): Likewise.
19000 (vminvq_u8): Likewise.
19001 (vminvq_u16): Likewise.
19002 (vminvq_u32): Likewise.
19003 (vminnmv_f32): Likewise.
19004 (vminnmvq_f32): Likewise.
19005 (vminnmvq_f64): Likewise.
19006
1dd055a2
JG
190072014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
19008
19009 * config/aarch64/aarch64-simd.md
19010 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
19011 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
19012 (*aarch64_mul3_elt<mode>): Likewise.
19013 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
19014 (*aarch64_mul3_elt_to_64v2df): Likewise.
19015 (*aarch64_mla_elt<mode>): Likewise.
19016 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
19017 (*aarch64_mls_elt<mode>): Likewise.
19018 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
19019 (*aarch64_fma4_elt<mode>): Likewise.
19020 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
19021 (*aarch64_fma4_elt_to_64v2df): Likewise.
19022 (*aarch64_fnma4_elt<mode>): Likewise.
19023 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
19024 (*aarch64_fnma4_elt_to_64v2df): Likewise.
19025 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
19026 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
19027 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
19028 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
19029 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
19030 (aarch64_sqdmull_lane<mode>_internal): Likewise.
19031 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
19032
dafb9b64
AV
190332013-01-23 Alex Velenko <Alex.Velenko@arm.com>
19034
19035 * config/aarch64/aarch64-simd.md
19036 (aarch64_be_checked_get_lane<mode>): New define_expand.
19037 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 19038 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
19039 New builtin definition.
19040 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
19041 Use new safe be builtin.
19042
89b4515c
AV
190432014-01-23 Alex Velenko <Alex.Velenko@arm.com>
19044
19045 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
19046 New define_insn.
19047 (aarch64_be_st1<mode>): Likewise.
19048 (aarch_ld1<VALL:mode>): Define_expand modified.
19049 (aarch_st1<VALL:mode>): Likewise.
19050 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
19051 (UNSPEC_ST1): Likewise.
19052
4bb66ef3 190532014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
19054
19055 * config/microblaze/microblaze.md: Add trap insn and attribute
19056
7ecc3eb9
DS
190572014-01-23 Dodji Seketeli <dodji@redhat.com>
19058
19059 PR preprocessor/58580
19060 * input.h (location_get_source_line): Take an additional line_size
19061 parameter.
19062 (void diagnostics_file_cache_fini): Declare new function.
19063 * input.c (struct fcache): New type.
19064 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
19065 New static constants.
19066 (diagnostic_file_cache_init, total_lines_num)
19067 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
19068 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
19069 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
19070 (get_next_line, read_next_line, goto_next_line, read_line_num):
19071 New static function definitions.
19072 (diagnostic_file_cache_fini): New function.
19073 (location_get_source_line): Take an additional output line_len
19074 parameter. Re-write using lookup_or_add_file_to_cache_tab and
19075 read_line_num.
19076 * diagnostic.c (diagnostic_finish): Call
19077 diagnostic_file_cache_fini.
19078 (adjust_line): Take an additional input parameter for the length
19079 of the line, rather than calculating it with strlen.
19080 (diagnostic_show_locus): Adjust the use of
19081 location_get_source_line and adjust_line with respect to their new
19082 signature. While displaying a line now, do not stop at the first
19083 null byte. Rather, display the zero byte as a space and keep
19084 going until we reach the size of the line.
19085 * Makefile.in: Add vec.o to OBJS-libcommon
19086
2196a885 190872014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
40c0a159 19088 Ilya Tocar <ilya.tocar@intel.com>
2196a885
KY
19089
19090 * config/i386/avx512fintrin.h (_mm512_kmov): New.
19091 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
19092 (__builtin_ia32_kmov16): Ditto.
19093 * config/i386/i386.md (UNSPEC_KMOV): New.
19094 (kmovw): Ditto.
19095
70473c63
KY
190962014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
19097
19098 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
19099 (_mm512_storeu_si512): Ditto.
19100
f9ae4df8
RS
191012014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
19102
19103 PR target/52125
19104 * rtl.h (get_referenced_operands): Declare.
19105 * recog.c (get_referenced_operands): New function.
19106 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
19107 operands have been referenced when recording LO_SUM references.
19108
4bb66ef3 191092014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
19110
19111 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
19112
39960d1c 191132014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
19114
19115 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
19116 Enable for generic and recent AMD targets.
19117
39960d1c 191182014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
19119
19120 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
19121 ARG_SIZE note when adjustment was eliminated.
19122
bb50b870
JL
191232014-01-22 Jeff Law <law@redhat.com>
19124
19125 PR tree-optimization/59597
19126 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
19127 in file. Accept new argument REGISTERING and use it to modify
19128 dump output appropriately.
19129 (register_jump_thread): Corresponding changes.
19130 (mark_threaded_blocks): Reinstate code to cancel unprofitable
19131 thread paths involving joiner blocks. Add code to dump cancelled
19132 jump threading paths.
19133
df2980be
VM
191342014-01-22 Vladimir Makarov <vmakarov@redhat.com>
19135
19136 PR rtl-optimization/59477
19137 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 19138 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 19139
1bb99900
TT
191402014-01-22 Tom Tromey <tromey@redhat.com>
19141
19142 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
19143 PARAMS.
19144 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
19145
9102dadd
VM
191462014-01-21 Vladimir Makarov <vmakarov@redhat.com>
19147
19148 PR rtl-optimization/59896
19149 * lra-constraints.c (process_alt_operands): Check unused note for
19150 matched operands of insn with no output reloads.
19151
ca376eb8
RS
191522014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
19153
19154 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
19155 (mips_move_from_gpr_cost): Likewise.
19156
a9711f36
VM
191572014-01-21 Vladimir Makarov <vmakarov@redhat.com>
19158
19159 PR rtl-optimization/59858
19160 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
19161 ira_class_hard_regs_num.
19162 (process_alt_operands): Increase reject for dying matched operand.
19163
f8ea7cb0
JJ
191642014-01-21 Jakub Jelinek <jakub@redhat.com>
19165
19166 PR target/59003
19167 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
19168 smaller than size, perform several stores or loads and stores
19169 at dst + count - size to store or copy all of size bytes, rather
19170 than just last modesize bytes.
19171
84db09e3
DD
191722014-01-20 DJ Delorie <dj@redhat.com>
19173
19174 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
19175 that CLOBBERs are REGs before propogating their values.
19176
1cf11770
L
191772014-01-20 H.J. Lu <hongjiu.lu@intel.com>
19178
19179 PR middle-end/59789
19180 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
19181 (cgraph_inline_failed_type): New function.
19182 * cgraph.h (DEFCIFCODE): Add type.
19183 (cgraph_inline_failed_type_t): New enum.
19184 (cgraph_inline_failed_type): New prototype.
19185 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
19186 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
19187 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
19188 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
19189 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
19190 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
19191 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 19192 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
19193 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
19194 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
19195 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
19196 OPTIMIZATION_MISMATCH.
19197 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 19198 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 19199
8586e4bd
UB
192002014-01-20 Uros Bizjak <ubizjak@gmail.com>
19201
19202 PR target/59685
19203 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
19204 mode attribute in insn output.
19205
99482090
EB
192062014-01-20 Eric Botcazou <ebotcazou@adacore.com>
19207
19208 * output.h (output_constant): Delete.
19209 * varasm.c (output_constant): Make private.
19210
ede23272
AV
192112014-01-20 Alex Velenko <Alex.Velenko@arm.com>
19212
19213 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
19214
9a7eefec
JJ
192152014-01-20 Jakub Jelinek <jakub@redhat.com>
19216
19217 PR middle-end/59860
19218 * tree.h (fold_builtin_strcat): New prototype.
19219 * builtins.c (fold_builtin_strcat): No longer static. Add len
19220 argument, if non-NULL, don't call c_strlen. Optimize
19221 directly into __builtin_memcpy instead of __builtin_strcpy.
19222 (fold_builtin_2): Adjust fold_builtin_strcat caller.
19223 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
19224
3e729145
UB
192252014-01-20 Uros Bizjak <ubizjak@gmail.com>
19226
19227 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
19228 for SImode_address_operand operands, having only a REG argument.
19229
eee0e487
MS
192302014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
19231
19232 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
19233 loader name using mbig-endian.
19234 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
19235
9e540e37
JG
192362014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
19237
19238 * doc/invoke.texi (-march): Clarify documentation for AArch64.
19239 (-mtune): Likewise.
19240 (-mcpu): Likewise.
19241
69675d50
TB
192422014-01-20 Tejas Belagod <tejas.belagod@arm.com>
19243
19244 * config/aarch64/aarch64-protos.h
19245 (aarch64_cannot_change_mode_class_ptr): Declare.
19246 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
19247 aarch64_cannot_change_mode_class_ptr): New.
19248 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
19249 backend hook aarch64_cannot_change_mode_class.
19250
ffee7aa9
JG
192512014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
19252
19253 * common/config/aarch64/aarch64-common.c
19254 (aarch64_handle_option): Don't handle any option order logic here.
19255 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
19256 selected_cpu, warn on architecture version mismatch.
19257 (aarch64_override_options): Fix parsing order for option strings.
19258
c7169779
JBG
192592014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
19260 Iain Sandoe <iain@codesourcery.com>
19261
19262 PR bootstrap/59496
19263 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
19264 warning. Amend comment to reflect current functionality.
19265
409b6ac1
RB
192662014-01-20 Richard Biener <rguenther@suse.de>
19267
19268 PR middle-end/59860
19269 * builtins.c (fold_builtin_strcat): Remove case better handled
19270 by tree-ssa-strlen.c.
19271
608df31f
AL
192722014-01-20 Alan Lawrence <alan.lawrence@arm.com>
19273
19274 * config/aarch64/aarch64.opt
19275 (mcpu, march, mtune): Make case-insensitive.
19276
0fabe5f3
JJ
192772014-01-20 Jakub Jelinek <jakub@redhat.com>
19278
19279 PR target/59880
19280 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
19281 if operands[1] is a REG or ZERO_EXTEND of a REG.
19282
39960d1c 192832014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
19284
19285 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
19286
925cb97d
JDA
192872014-01-19 John David Anglin <danglin@gcc.gnu.org>
19288
19289 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
19290 long non-pic millicode calls.
19291
f43856db
JBG
192922014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
19293
19294 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
19295
d2be9965
ILT
192962014-01-19 Kito Cheng <kito@0xlab.org>
19297
19298 * builtins.c (expand_movstr): Check movstr expand done or fail.
19299
efc90043
UB
193002014-01-18 Uros Bizjak <ubizjak@gmail.com>
19301 H.J. Lu <hongjiu.lu@intel.com>
19302
19303 PR target/59379
19304 * config/i386/i386.md (*lea<mode>): Zero-extend return register
19305 to DImode for zero-extended addresses.
19306
8fce217e
JJ
193072014-01-19 Jakub Jelinek <jakub@redhat.com>
19308
19309 PR rtl-optimization/57763
19310 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
19311 on the new indirect jump_insn and increment LABEL_NUSES (label).
19312
efc90043 193132014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
19314
19315 PR bootstrap/59580
19316 PR bootstrap/59583
19317 * config.gcc (x86_archs): New variable.
19318 (x86_64_archs): Likewise.
19319 (x86_cpus): Likewise.
19320 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
19321 --with-arch/--with-cpu= options.
19322 Support --with-arch=/--with-cpu={nehalem,westmere,
19323 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
19324
7f3af6d3
UB
193252014-01-18 Uros Bizjak <ubizjak@gmail.com>
19326
19327 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
19328 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
19329
193302014-01-18 Uros Bizjak <ubizjak@gmail.com>
19331
19332 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
19333
fa5d6c75
JJ
193342014-01-18 Jakub Jelinek <jakub@redhat.com>
19335
19336 PR target/58944
19337 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
19338 clear cpp_get_options (parse_in)->warn_unused_macros for
19339 ix86_target_macros_internal with cpp_define.
19340
04da5680
RS
193412014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
19342
19343 * jump.c (delete_related_insns): Keep (use (insn))s.
19344 * reorg.c (redundant_insn): Check for barriers too.
19345
1e99bee5
L
193462014-01-17 H.J. Lu <hongjiu.lu@intel.com>
19347
7f3af6d3 19348 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 19349
fa7d0c60
JDA
193502014-01-17 John David Anglin <danglin@gcc.gnu.org>
19351
19352 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
19353 call to $$dyncall when TARGET_LONG_CALLS is true.
19354
2043135a
JL
193552014-01-17 Jeff Law <law@redhat.com>
19356
19357 * ree.c (combine_set_extension): Temporarily disable test for
19358 changing number of hard registers.
19359
39960d1c 193602014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
19361
19362 PR middle-end/58125
19363 * ipa-inline-analysis.c (inline_free_summary):
19364 Do not free summary of aliases.
19365
664ceb1e
JJ
193662014-01-17 Jakub Jelinek <jakub@redhat.com>
19367
19368 PR middle-end/59706
19369 * gimplify.c (gimplify_expr): Use create_tmp_var
19370 instead of create_tmp_var_raw. If cond doesn't have
19371 integral type, don't add the IFN_ANNOTATE builtin at all.
19372
aef83682
MJ
193732014-01-17 Martin Jambor <mjambor@suse.cz>
19374
19375 PR ipa/59736
19376 * ipa-cp.c (prev_edge_clone): New variable.
19377 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
19378 Also resize prev_edge_clone vector.
19379 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
19380 (ipcp_edge_removal_hook): New function.
19381 (ipcp_driver): Register ipcp_edge_removal_hook.
19382
4bb66ef3 193832014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
19384 Steve Ellcey <sellcey@mips.com>
19385
19386 PR target/59462
19387 * config/mips/mips.c (mips_print_operand): Check operand mode instead
19388 of operator mode.
19389
4ee5c752
JL
193902014-01-17 Jeff Law <law@redhat.com>
19391
19392 PR middle-end/57904
19393 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
19394 so that pass_ccp runs first.
19395
40cfac7c
L
193962014-01-17 H.J. Lu <hongjiu.lu@intel.com>
19397
19398 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
19399 (ix86_adjust_cost): Use !TARGET_XXX.
19400 (do_reorder_for_imul): Likewise.
19401 (swap_top_of_ready_list): Likewise.
19402 (ix86_sched_reorder): Likewise.
19403
9a7f94d7
L
194042014-01-17 H.J. Lu <hongjiu.lu@intel.com>
19405
19406 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
19407 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
19408 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
19409 (intel_memset): New. Duplicate slm_memset.
19410 (intel_cost): New. Duplicate slm_cost.
19411 (m_INTEL): New macro.
19412 (processor_target_table): Add "intel".
19413 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
19414 with PROCESSOR_INTEL for "intel".
19415 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
19416 PROCESSOR_SILVERMONT.
9a7f94d7
L
19417 (ix86_issue_rate): Likewise.
19418 (ix86_adjust_cost): Likewise.
19419 (ia32_multipass_dfa_lookahead): Likewise.
19420 (swap_top_of_ready_list): Likewise.
19421 (ix86_sched_reorder): Likewise.
8cdcf750
L
19422 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
19423 instead of TARGET_OPT_AGU.
9a7f94d7
L
19424 * config/i386/i386.h (TARGET_INTEL): New.
19425 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
19426 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
19427 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
19428 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 19429
30078c0a
MP
194302014-01-17 Marek Polacek <polacek@redhat.com>
19431
19432 PR c/58346
19433 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
19434 size is zero.
19435
14379e66
RB
194362014-01-17 Richard Biener <rguenther@suse.de>
19437
19438 PR tree-optimization/46590
19439 * opts.c (default_options_table): Add entries for
19440 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
19441 all enabled at -O1 but not for -Og.
19442 * common.opt (fbranch-count-reg): Remove Init(1).
19443 (fmove-loop-invariants): Likewise.
19444 (ftree-pta): Likewise.
19445
f7d594d2
JJ
194462014-01-17 Jakub Jelinek <jakub@redhat.com>
19447
88e18bd5
JJ
19448 * config/i386/i386.c (ix86_data_alignment): For compatibility with
19449 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
19450 decls to at least the GCC 4.8 used alignments.
19451
f7d594d2
JJ
19452 PR fortran/59440
19453 * tree-nested.c (convert_nonlocal_reference_stmt,
19454 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
19455 of GIMPLE_BIND stmts, adjust associated decls.
19456
32500433
RB
194572014-01-17 Richard Biener <rguenther@suse.de>
19458
19459 PR tree-optimization/46590
19460 * vec.h (vec<>::bseach): New member function implementing
19461 binary search according to C89 bsearch.
19462 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
19463 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
19464 bitmap pointer again. Make accesses_in_loop a flat array.
19465 (mem_ref_obstack): New global.
19466 (outermost_indep_loop): Adjust for mem_ref->stored changes.
19467 (mark_ref_stored): Likewise.
19468 (ref_indep_loop_p_2): Likewise.
19469 (set_ref_stored_in_loop): New helper function.
19470 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
19471 (memref_free): Adjust.
19472 (record_mem_ref_loc): Simplify.
19473 (gather_mem_refs_stmt): Adjust.
19474 (sort_locs_in_loop_postorder_cmp): New function.
19475 (analyze_memory_references): Sort accesses_in_loop after
19476 loop postorder number.
19477 (find_ref_loc_in_loop_cmp): New function.
19478 (for_all_locs_in_loop): Find relevant cluster of locs in
19479 accesses_in_loop and iterate without recursion.
19480 (execute_sm): Avoid uninit warning.
19481 (struct ref_always_accessed): Simplify.
19482 (ref_always_accessed::operator ()): Likewise.
19483 (ref_always_accessed_p): Likewise.
19484 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
19485 loop postorder numbers here.
19486 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
19487 numbers.
19488
24fcf4bc
JJ
194892014-01-17 Jan Hubicka <hubicka@ucw.cz>
19490
19491 PR c++/57945
19492 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
19493 on decls for which assemble_alias has been called.
19494
d4f283a1
NC
194952014-01-17 Nick Clifton <nickc@redhat.com>
19496
19497 * config/msp430/msp430.opt: (mcpu): New option.
19498 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
19499 (msp430_option_override): Parse target_cpu. If the MCU name
19500 matches a generic string, clear target_mcu.
19501 (msp430_attr): Allow numeric interrupt values up to 63.
19502 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
19503 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
19504 option.
19505 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
19506 Add mcpu matches.
19507 * config/msp430/msp430.md (popm): Use %J rather than %I.
19508 (addsi3): Use msp430_nonimmediate_operand for operand 2.
19509 (addhi_cy_i): Use immediate_operand for operand 2.
19510 * doc/invoke.texi: Document -mcpu option.
19511
7be64667
RB
195122014-01-17 Richard Biener <rguenther@suse.de>
19513
19514 PR rtl-optimization/38518
19515 * df.h (df_analyze_loop): Declare.
19516 * df-core.c: Include cfgloop.h.
19517 (df_analyze_1): Split out main part of df_analyze.
19518 (df_analyze): Adjust.
19519 (loop_inverted_post_order_compute): New function.
19520 (loop_post_order_compute): Likewise.
19521 (df_analyze_loop): New function avoiding whole-function
19522 postorder computes.
19523 * loop-invariant.c (find_defs): Use df_analyze_loop.
19524 (find_invariants): Adjust.
19525 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
19526
82a197a2
ZC
195272014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
19528
19529 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
19530 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
19531
c68b3f52
IE
195322014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
19533
19534 * ipa-ref.c (ipa_remove_stmt_references): Fix references
19535 traversal when removing references.
19536
39960d1c 195372014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
19538
19539 PR ipa/59775
19540 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
19541
9e6f9ad6
BS
195422014-01-16 Bernd Schmidt <bernds@codesourcery.com>
19543
19544 PR middle-end/56791
19545 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
19546 pushing a reload for an autoinc when we had previously reloaded an
19547 inner part of the address.
19548
a611d7cb
JJ
195492014-01-16 Jakub Jelinek <jakub@redhat.com>
19550
d1417442
JJ
19551 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
19552 field.
19553 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
19554 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
19555 when not giving up or versioning for alias only because of
19556 loop->safelen.
19557 (vect_analyze_data_ref_dependences): Set to true.
19558 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
19559 is a GIMPLE_PHI.
19560 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
19561 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
19562 to the condition.
19563
42ed6cde
JJ
19564 PR middle-end/58344
19565 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
19566
a611d7cb 19567 PR target/59839
7f3af6d3
UB
19568 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
19569 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 19570
8f21260c
VM
195712014-01-16 Vladimir Makarov <vmakarov@redhat.com>
19572
19573 PR middle-end/59609
7f3af6d3
UB
19574 * lra-constraints.c (process_alt_operands): Add printing debug info.
19575 Check absence of input/output reloads for matched operands too.
8f21260c 19576
1a788c05
VM
195772014-01-16 Vladimir Makarov <vmakarov@redhat.com>
19578
19579 PR rtl-optimization/59835
19580 * ira.c (ira_init_register_move_cost): Increase cost for
19581 impossible modes.
19582
4cf24d27
AL
195832014-01-16 Alan Lawrence <alan.lawrence@arm.com>
19584
cc3a9f0d 19585 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 19586
030d03b8
RE
195872014-01-16 Richard Earnshaw <rearnsha@arm.com>
19588
19589 PR target/59780
19590 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
19591 non-register objects. Use gen_(high/low)part more consistently.
19592 Fix assertions.
19593
e78f06a8
MM
195942014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
19595
19596 PR target/59844
19597 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
19598 endian support, remove tests for WORDS_BIG_ENDIAN.
19599 (p8_mfvsrd_3_<mode>): Likewise.
19600 (reload_gpr_from_vsx<mode>): Likewise.
19601 (reload_gpr_from_vsxsf): Likewise.
19602 (p8_mfvsrd_4_disf): Likewise.
19603
9d1ae52c
RB
196042014-01-16 Richard Biener <rguenther@suse.de>
19605
19606 PR rtl-optimization/46590
19607 * lcm.c (compute_antinout_edge): Use postorder iteration.
19608 (compute_laterin): Use inverted postorder iteration.
19609
54c7a7f3
NC
196102014-01-16 Nick Clifton <nickc@redhat.com>
19611
19612 PR middle-end/28865
19613 * varasm.c (output_constant): Return the number of bytes actually
19614 emitted.
19615 (output_constructor_array_range): Update the field size with the
19616 number of bytes emitted by output_constant.
19617 (output_constructor_regular_field): Likewise. Also do not
19618 complain if the total number of bytes emitted is now greater
19619 than the expected fieldpos.
7f3af6d3 19620 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 19621
5147d10a
MP
196222014-01-16 Marek Polacek <polacek@redhat.com>
19623
19624 PR middle-end/59827
19625 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
19626 it is error_mark_node.
19627
4ac005ba
UB
196282014-01-15 Uros Bizjak <ubizjak@gmail.com>
19629
19630 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
19631 VALID_AVX256_REG_OR_OI_MODE.
19632
5d7574fa
PH
196332014-01-15 Pat Haugen <pthaugen@us.ibm.com>
19634
19635 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
19636 current procedure should be profiled.
19637
6ee70f81
AP
196382014-01-15 Andrew Pinski <apinski@cavium.com>
19639
19640 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
19641 of moving from/to the STACK_REG register class.
19642
004a7e45 196432014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
19644
19645 PR debug/54694
19646 * reginfo.c (global_regs_decl): Globalize.
19647 * rtl.h (global_regs_decl): Declare.
19648 * ira.c (do_reload): Diagnose frame_pointer_needed and it
19649 reserved via global_regs.
19650
4583fada
TJ
196512014-01-15 Teresa Johnson <tejohnson@google.com>
19652
19653 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
19654
d13dfec8
BS
196552014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
19656
19657 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
19658 and vmulosh rather than call gen_vec_widen_smult_*.
19659 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
19660 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
19661 (vec_widen_smult_even_v16qi): Likewise.
19662 (vec_widen_umult_even_v8hi): Likewise.
19663 (vec_widen_smult_even_v8hi): Likewise.
19664 (vec_widen_umult_odd_v16qi): Likewise.
19665 (vec_widen_smult_odd_v16qi): Likewise.
19666 (vec_widen_umult_odd_v8hi): Likewise.
19667 (vec_widen_smult_odd_v8hi): Likewise.
19668 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
19669 vmuloub rather than call gen_vec_widen_umult_*.
19670 (vec_widen_umult_lo_v16qi): Likewise.
19671 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
19672 vmulosb rather than call gen_vec_widen_smult_*.
19673 (vec_widen_smult_lo_v16qi): Likewise.
19674 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
19675 rather than call gen_vec_widen_umult_*.
19676 (vec_widen_umult_lo_v8hi): Likewise.
19677 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
19678 rather than call gen_vec_widen_smult_*.
19679 (vec_widen_smult_lo_v8hi): Likewise.
19680
a6a2d67b
JL
196812014-01-15 Jeff Law <law@redhat.com>
19682
19683 PR tree-optimization/59747
19684 * ree.c (find_and_remove_re): Properly handle case where a second
19685 eliminated extension requires widening a copy created for elimination
19686 of a prior extension.
19687 (combine_set_extension): Ensure that the number of hard regs needed
19688 for a destination register does not change when we widen it.
19689
aefe4056
SH
196902014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
19691
19692 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
19693 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
19694 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
19695 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
19696 (avr-*-rtems*): Likewise.
19697 (bfin*-rtems*): Likewise.
19698 (moxie-*-rtems*): Likewise.
19699 (h8300-*-rtems*): Likewise.
19700 (i[34567]86-*-rtems*): Likewise.
19701 (lm32-*-rtems*): Likewise.
19702 (m32r-*-rtems*): Likewise.
19703 (m68k-*-rtems*): Likewise.
19704 (microblaze*-*-rtems*): Likewise.
19705 (mips*-*-rtems*): Likewise.
19706 (powerpc-*-rtems*): Likewise.
19707 (sh-*-rtems*): Likewise.
19708 (sparc-*-rtems*): Likewise.
19709 (sparc64-*-rtems*): Likewise.
19710 (v850-*-rtems*): Likewise.
19711 (m32c-*-rtems*): Likewise.
19712
fef37404
VM
197132014-01-15 Vladimir Makarov <vmakarov@redhat.com>
19714
19715 PR rtl-optimization/59511
19716 * ira.c (ira_init_register_move_cost): Use memory costs for some
19717 cases of register move cost calculations.
19718 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
19719 instead of BB frequency.
19720 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
19721 * lra-assigns.c (find_hard_regno_for): Ditto.
19722
6b916b36
RB
197232014-01-15 Richard Biener <rguenther@suse.de>
19724
19725 PR tree-optimization/59822
19726 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
19727 (vectorizable_load): Use it to hoist defs of uses of invariant
19728 loads out of the loop.
19729
d103f29b 197302014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 19731 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
19732
19733 PR target/59695
19734 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
19735 truncation.
19736
95cb8697
RB
197372014-01-15 Richard Biener <rguenther@suse.de>
19738
19739 PR rtl-optimization/59802
19740 * lcm.c (compute_available): Use inverted postorder to seed
19741 the initial worklist.
19742
cb4b6d17
AK
197432014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
19744
1c8b5303 19745 PR target/59803
cb4b6d17
AK
19746 * config/s390/s390.c (s390_preferred_reload_class): Don't return
19747 ADDR_REGS for invalid symrefs in non-PIC code.
19748
2738b4c7
JJ
197492014-01-15 Jakub Jelinek <jakub@redhat.com>
19750
19751 PR other/58712
19752 * builtins.c (determine_block_size): Initialize *probable_max_size
19753 even if len_rtx is CONST_INT.
19754
d126a4ae
AP
197552014-01-14 Andrew Pinski <apinski@cavium.com>
19756
19757 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
19758 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
19759 (cortexa53_tunings): Likewise.
19760 (aarch64_sched_issue_rate): New function.
19761 (TARGET_SCHED_ISSUE_RATE): Define.
19762
dc687582
VM
197632014-01-14 Vladimir Makarov <vmakarov@redhat.com>
19764
19765 * ira-costs.c (find_costs_and_classes): Add missed
19766 ira_init_register_move_cost_if_necessary.
19767
e940b2ec
VM
197682014-01-14 Vladimir Makarov <vmakarov@redhat.com>
19769
19770 PR target/59787
19771 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
19772
3292e376
L
197732014-01-14 H.J. Lu <hongjiu.lu@intel.com>
19774
19775 PR target/59794
19776 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
19777 to indicate if type is used for function return value. Warn ABI
19778 change if the vector mode isn't available for function return value.
3292e376
L
19779 (ix86_function_arg_advance): Pass false to type_natural_mode.
19780 (ix86_function_arg): Likewise.
19781 (ix86_gimplify_va_arg): Likewise.
19782 (function_arg_32): Don't warn ABI change.
19783 (ix86_function_value): Pass true to type_natural_mode.
19784 (ix86_return_in_memory): Likewise.
19785 (ix86_struct_value_rtx): Removed.
19786 (TARGET_STRUCT_VALUE_RTX): Likewise.
19787
db930875
RS
197882014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
19789
19790 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
19791 converting a conditional jump into a conditional return.
19792
a0e35eb0
RB
197932014-01-14 Richard Biener <rguenther@suse.de>
19794
19795 PR tree-optimization/58921
19796 PR tree-optimization/59006
19797 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
19798 hoisting invariant stmts.
19799 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
19800 invariant loads on the preheader edge if possible.
19801
a984e92e
JY
198022014-01-14 Joey Ye <joey.ye@arm.com>
19803
19804 * doc/plugin.texi (Building GCC plugins): Update to C++.
19805
c56a42b9
KY
198062014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
19807
3292e376 19808 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
19809 (_mm_rcp28_round_ss): Ditto.
19810 (_mm_rsqrt28_round_sd): Ditto.
19811 (_mm_rsqrt28_round_ss): Ditto.
19812 (_mm_rcp28_sd): Ditto.
19813 (_mm_rcp28_ss): Ditto.
19814 (_mm_rsqrt28_sd): Ditto.
19815 (_mm_rsqrt28_ss): Ditto.
19816 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
19817 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
19818 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
19819 (IX86_BUILTIN_RCP28SD): Ditto.
19820 (IX86_BUILTIN_RCP28SS): Ditto.
19821 (IX86_BUILTIN_RSQRT28SD): Ditto.
19822 (IX86_BUILTIN_RSQRT28SS): Ditto.
19823 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
19824 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
19825 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
19826 (ix86_expand_special_args_builtin): Expand new FTYPE.
19827 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
19828 (srcp14<mode>): Make insn unary.
19829 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
19830 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
19831 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
19832 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
19833 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
19834 Fix rounding: make it SAE only.
4ac005ba
UB
19835 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
19836 Ditto.
19837 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
19838 Ditto.
c56a42b9
KY
19839 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
19840 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
19841 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
19842 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
19843 (round_saeonly_mask_scalar_operand4): Ditto.
19844 (round_saeonly_mask_scalar_op3): Ditto.
19845 (round_saeonly_mask_scalar_op4): Ditto.
19846
09fccb62
BS
198472014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
19848
19849 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
19850 Implement -maltivec=be for vec_insert and vec_extract.
19851
fb28dac0
DD
198522014-01-10 DJ Delorie <dj@redhat.com>
19853
19854 * config/msp430/msp430.md (call_internal): Don't allow memory
19855 references with SP as the base register.
19856 (call_value_internal): Likewise.
19857 * config/msp430/constraints.md (Yc): New. For memory references
19858 that don't use SP as a base register.
19859
19860 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
19861 "an integer without a # prefix"
19862 * config/msp430/msp430.md (epilogue_helper): Use it.
19863
19e51b40
JJ
198642014-01-13 Jakub Jelinek <jakub@redhat.com>
19865
03b9e8e4
JJ
19866 PR target/59617
19867 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
19868 AVX512F gather builtins.
19869 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
19870 on gather decls with INTEGER_TYPE masktype.
19871 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
19872 directly into the builtin rather than hoisting it before loop.
19873
19e51b40
JJ
19874 PR tree-optimization/59387
19875 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
19876 (scev_const_prop): If folded_casts and type has undefined overflow,
19877 use force_gimple_operand instead of force_gimple_operand_gsi and
19878 for each added stmt if it is assign with
19879 arith_code_with_undefined_signed_overflow, call
19880 rewrite_to_defined_overflow.
19881 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
19882 gimple-fold.h instead.
19883 (arith_code_with_undefined_signed_overflow,
19884 rewrite_to_defined_overflow): Moved to ...
19885 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
19886 rewrite_to_defined_overflow): ... here. No longer static.
19887 Include gimplify-me.h.
19888 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
19889 rewrite_to_defined_overflow): New prototypes.
19890
cd794ed4
KT
198912014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19892
19893 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
19894
e75fde1a
EB
198952014-01-13 Eric Botcazou <ebotcazou@adacore.com>
19896
19897 * builtins.c (get_object_alignment_2): Minor tweak.
19898 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
19899
eae298d6
CB
199002014-01-13 Christian Bruel <christian.bruel@st.com>
19901
19902 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 19903 optimized non constant lengths.
eae298d6 19904
8175be9a
JJ
199052014-01-13 Jakub Jelinek <jakub@redhat.com>
19906
19907 PR libgomp/59194
19908 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
19909 load as __atomic_load_N if possible.
19910
9c111368
DE
199112014-01-11 David Edelsohn <dje.gcc@gmail.com>
19912
19913 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
19914 target parameter.
19915 (rs6000_expand_builtin): Adjust call.
19916
c82846bc
DE
199172014-01-11 David Edelsohn <dje.gcc@gmail.com>
19918
19919 PR target/58115
19920 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
19921 * config/rs6000/rs6000.c: Include target-globals.h.
19922 (rs6000_set_current_function): Instead of doing target_reinit
19923 unconditionally, use save_target_globals_default_opts and
19924 restore_target_globals.
19925
19926 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
19927 FPSCR.
19928 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
19929 (rs6000_expand_builtin): Handle mffs and mtfsf.
19930 (rs6000_init_builtins): Define mffs and mtfsf.
19931 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
19932 (rs6000_mffs): New pattern.
19933 (rs6000_mtfsf): New pattern.
19934
2c407426
BC
199352014-01-11 Bin Cheng <bin.cheng@arm.com>
19936
19937 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
19938 Start narrowing with START. Apply candidate-use pair
19939 and check overall cost in narrowing.
19940 (iv_ca_prune): Pass new argument.
19941
7e41c852
JL
199422014-01-10 Jeff Law <law@redhat.com>
19943
19944 PR middle-end/59743
19945 * ree.c (combine_reaching_defs): Ensure the defining statement
19946 occurs before the extension when optimizing extensions with
19947 different source and destination hard registers.
19948
39960d1c 199492014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
19950
19951 PR ipa/58585
4ac005ba
UB
19952 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
19953 vtables into the type inheritance graph.
b270b096 19954
0d6d7b9a
JJ
199552014-01-10 Jakub Jelinek <jakub@redhat.com>
19956
19957 PR rtl-optimization/59754
19958 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
19959 modes in the REGNO != REGNO case.
19960
110132c1
BS
199612014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
19962
19963 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
19964
5da96960
JJ
199652014-01-10 Jakub Jelinek <jakub@redhat.com>
19966
4f87d581
JJ
19967 PR tree-optimization/59745
19968 * tree-predcom.c (tree_predictive_commoning_loop): Call
19969 free_affine_expand_cache if giving up because components is NULL.
19970
5da96960
JJ
19971 * target-globals.c (save_target_globals): Allocate < 4KB structs using
19972 GC in payload of target_globals struct instead of allocating them on
19973 the heap and the larger structs separately using GC.
19974 * target-globals.h (struct target_globals): Make regs, hard_regs,
19975 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
19976 of GTY((skip)) and change type to void *.
19977 (reset_target_globals): Cast loads from those fields to corresponding
19978 types.
19979
1aa26aac
SE
199802014-01-10 Steve Ellcey <sellcey@mips.com>
19981
19982 PR plugins/59335
19983 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
19984 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
19985 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
19986
1c992d1e
RE
199872014-01-10 Richard Earnshaw <rearnsha@arm.com>
19988
7783a246 19989 PR target/59744
1c992d1e
RE
19990 * aarch64-modes.def (CC_Zmode): New flags mode.
19991 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
19992 represents an equality.
7783a246 19993 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
19994 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
19995
86464cbd
AK
199962014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
19997
19998 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
19999 extraction in good case.
20000
5e6667b2
RB
200012014-01-10 Richard Biener <rguenther@suse.de>
20002
20003 PR tree-optimization/59374
20004 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
20005 checking after SLP discovery. Mark stmts not participating
20006 in any SLP instance properly.
20007
5619162c
KT
200082014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20009
20010 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
20011 when handling a SET rtx.
20012
2d17b99f
KT
200132014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20014
20015 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
20016 (cortex-a57): Likewise.
20017 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
20018
bcca645c
KT
200192014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20020
20021 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
20022 non-iwmmxt builtins.
20023
a3788dde
JH
200242014-01-10 Jan Hubicka <hubicka@ucw.cz>
20025
20026 PR ipa/58252
20027 PR ipa/59226
20028 * ipa-devirt.c record_target_from_binfo): Take as argument
20029 stack of binfos and lookup matching one for virtual inheritance.
20030 (possible_polymorphic_call_targets_1): Update.
20031
87ed883e
HC
200322014-01-10 Huacai Chen <chenhc@lemote.com>
20033
20034 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
20035 kernel strings for Loongson-2E/2F/3A.
20036
cd4447e2
JJ
200372014-01-10 Jakub Jelinek <jakub@redhat.com>
20038
20039 PR middle-end/59670
20040 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
20041 is_gimple_call before calling gimple_call_internal_p.
20042
3fadf78a
SE
200432014-01-09 Steve Ellcey <sellcey@mips.com>
20044
20045 * Makefile.in (TREE_FLOW_H): Remove.
20046 (TREE_SSA_H): Add file names from tree-flow.h.
20047 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
20048 * tree.h: Remove tree-flow.h reference.
20049 * hash-table.h: Remove tree-flow.h reference.
20050 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
20051 reference with tree-ssa-loop.h.
20052
6edc217d
BS
200532014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20054
20055 * doc/invoke.texi: Add -maltivec={be,le} options, and document
20056 default element-order behavior for -maltivec.
20057 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
20058 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
20059 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
20060 when targeting big endian, at least for now.
20061 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
20062
a70e9985
JJ
200632014-01-09 Jakub Jelinek <jakub@redhat.com>
20064
3396aba5
JJ
20065 PR middle-end/47735
20066 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
20067 var satisfies use_register_for_decl, just take into account type
20068 alignment, rather than decl alignment.
20069
a70e9985
JJ
20070 PR tree-optimization/59622
20071 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
20072 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
20073 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
20074 Don't devirtualize for inplace at all. For targets.length () == 1,
20075 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
20076
6e9cc565
L
200772014-01-09 H.J. Lu <hongjiu.lu@intel.com>
20078
20079 * config/i386/i386.md (cpu): Remove the unused btver1.
20080
d1c0e4ac
L
200812014-01-09 H.J. Lu <hongjiu.lu@intel.com>
20082
20083 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
20084
e83b8e2e
JJ
200852014-01-09 Jakub Jelinek <jakub@redhat.com>
20086
20087 PR target/58115
20088 * tree-core.h (struct target_globals): New forward declaration.
20089 (struct tree_target_option): Add globals field.
20090 * tree.h (TREE_TARGET_GLOBALS): Define.
20091 (prepare_target_option_nodes_for_pch): New prototype.
20092 * target-globals.h (struct target_globals): Define even if
20093 !SWITCHABLE_TARGET.
20094 * tree.c (prepare_target_option_node_for_pch,
20095 prepare_target_option_nodes_for_pch): New functions.
20096 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
20097 * config/i386/i386.c: Include target-globals.h.
20098 (ix86_set_current_function): Instead of doing target_reinit
20099 unconditionally, use save_target_globals_default_opts and
20100 restore_target_globals.
20101
2aaed0f3
RB
201022014-01-09 Richard Biener <rguenther@suse.de>
20103
20104 PR tree-optimization/59715
20105 * tree-cfg.h (split_critical_edges): Declare.
20106 * tree-cfg.c (split_critical_edges): Export.
20107 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
20108
b5ebc991
MO
201092014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
20110
4ac005ba 20111 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
20112 asan stack protection.
20113 (expand_used_vars): Likewise.
20114 (partition_stack_vars): Likewise.
4ac005ba 20115 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 20116 after return stack usage.
7f3af6d3 20117 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
20118 (instrument_builtin_call): Likewise.
20119 (instrument_strlen_call): Likewise.
7f3af6d3 20120 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
20121 * doc/invoke.texi: Added doc for new options.
20122 * params.def: Added new options.
20123 * params.h: Likewise.
20124
b59e0455
JJ
201252014-01-09 Jakub Jelinek <jakub@redhat.com>
20126
20127 PR rtl-optimization/59724
20128 * ifcvt.c (cond_exec_process_if_block): Don't call
20129 flow_find_head_matching_sequence with 0 longest_match.
20130 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
20131 non-active insns if !stop_after.
20132 (try_head_merge_bb): Revert 2014-01-07 changes.
20133
650c4c85
JL
201342014-01-08 Jeff Law <law@redhat.com>
20135
20136 * ree.c (get_sub_rtx): New function, extracted from...
20137 (merge_def_and_ext): Here.
20138 (combine_reaching_defs): Use get_sub_rtx.
20139
ff36fcbe
EB
201402014-01-08 Eric Botcazou <ebotcazou@adacore.com>
20141
20142 * cgraph.h (varpool_variable_node): Do not choke on null node.
20143
9f9d82aa
CM
201442014-01-08 Catherine Moore <clm@codesourcery.com>
20145
4ac005ba
UB
20146 * config/mips/mips.md (simple_return): Attempt to use JRC
20147 for microMIPS.
9f9d82aa
CM
20148 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
20149
df6c8808
RS
201502014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
20151
20152 PR rtl-optimization/59137
20153 * reorg.c (steal_delay_list_from_target): Call update_block for
20154 elided insns.
20155 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
20156
6170ceff
BS
201572014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20158
20159 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
20160 two duplicate entries.
20161
3f140f32
RS
201622014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
20163
20164 Revert:
20165 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
20166
20167 * config/mips/mips.c (mips_truncated_op_cost): New function.
20168 (mips_rtx_costs): Adjust test for BADDU.
20169 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
20170
20171 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
20172
20173 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
20174 (*baddu_si): ...this new pattern.
20175
c6de6665
JJ
201762014-01-08 Jakub Jelinek <jakub@redhat.com>
20177
20178 PR ipa/59722
20179 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
20180
4c437f02
BE
201812014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
20182
20183 PR middle-end/57748
20184 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
20185 inner_reference_p.
20186 (expand_expr, expand_normal): Adjust.
20187 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
20188 inner_reference_p. Use inner_reference_p to expand inner references.
20189 (store_expr): Adjust.
20190 * cfgexpand.c (expand_call_stmt): Adjust.
20191
4ac005ba 201922014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
20193
20194 * gcov-io.c (gcov_var): Move from gcov-io.h.
20195 (gcov_position): Ditto.
20196 (gcov_is_error): Ditto.
20197 (gcov_rewrite): Ditto.
20198 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
20199 only part to libgcc/libgcov.h.
20200
ab04b46e
MP
202012014-01-08 Marek Polacek <polacek@redhat.com>
20202
20203 PR middle-end/59669
20204 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
20205
06636b32
MP
202062014-01-08 Marek Polacek <polacek@redhat.com>
20207
20208 PR sanitizer/59667
20209 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
20210
c15677b6
JJ
202112014-01-08 Jakub Jelinek <jakub@redhat.com>
20212
20213 PR rtl-optimization/59649
20214 * stor-layout.c (get_mode_bounds): For BImode return
20215 0 and STORE_FLAG_VALUE.
20216
5c944c6c
RB
202172014-01-08 Richard Biener <rguenther@suse.de>
20218
20219 PR middle-end/59630
20220 * gimple.h (is_gimple_builtin_call): Remove.
20221 (gimple_builtin_call_types_compatible_p): New.
20222 (gimple_call_builtin_p): New overload.
20223 * gimple.c (is_gimple_builtin_call): Remove.
20224 (validate_call): Rename to ...
20225 (gimple_builtin_call_types_compatible_p): ... this and export. Also
20226 check return types.
20227 (validate_type): New static function.
20228 (gimple_call_builtin_p): New overload and adjust.
20229 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
20230 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
20231 (gimple_fold_stmt_to_constant_1): Likewise.
20232 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
20233
0bd34ae4
RB
202342014-01-08 Richard Biener <rguenther@suse.de>
20235
20236 PR middle-end/59471
20237 * gimplify.c (gimplify_expr): Gimplify register-register type
20238 VIEW_CONVERT_EXPRs to separate stmts.
20239
04af8ab6
JL
202402014-01-07 Jeff Law <law@redhat.com>
20241
3c92da90
JL
20242 PR middle-end/53623
20243 * ree.c (combine_set_extension): Handle case where source
20244 and destination registers in an extension insn are different.
4ac005ba
UB
20245 (combine_reaching_defs): Allow source and destination registers
20246 in extension to be different under limited circumstances.
3c92da90 20247 (add_removable_extension): Remove restriction that the
4ac005ba 20248 source and destination registers in the extension are the same.
3c92da90
JL
20249 (find_and_remove_re): Emit a copy from the extension's
20250 destination to its source after the defining insn if
20251 the source and destination registers are different.
20252
04af8ab6
JL
20253 PR middle-end/59285
20254 * ifcvt.c (merge_if_block): If we are merging a block with more than
20255 one successor with a block with no successors, remove any BARRIER
20256 after the second block.
20257
4bb66ef3 202582014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
20259
20260 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
20261
55ada375
JDA
202622014-01-07 John David Anglin <danglin@gcc.gnu.org>
20263
20264 PR target/59652
20265 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
20266 for 14-bit register offsets when INT14_OK_STRICT is false.
20267
877c72e7
RS
202682014-01-07 Roland Stigge <stigge@antcom.de>
20269 Michael Meissner <meissner@linux.vnet.ibm.com>
20270
20271 PR 57386/target
20272 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 20273 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 20274
8b2721da
JG
202752014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
20276
20277 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
20278 -mcpu.
20279
5d72b79f
YZ
202802014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
20281
20282 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
20283 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
20284 rtx is const0_rtx or not.
20285
48d53439
RS
202862014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
20287
20288 PR target/58115
20289 * target-globals.c (save_target_globals): Remove this_fn_optab
20290 handling.
20291 * toplev.c: Include optabs.h.
20292 (target_reinit): Temporarily restore the global options if another
20293 set of options are in force.
20294
41626746
JJ
202952014-01-07 Jakub Jelinek <jakub@redhat.com>
20296
a0cbe71e
JJ
20297 PR rtl-optimization/58668
20298 * cfgcleanup.c (flow_find_cross_jump): Don't count
20299 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
20300 to determine what is counted.
20301 (flow_find_head_matching_sequence): Use active_insn_p to determine
20302 what is counted.
20303 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
20304 counting change.
20305 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
20306 determine what is counted.
20307
41626746
JJ
20308 PR tree-optimization/59643
20309 * tree-predcom.c (split_data_refs_to_components): If one dr is
20310 read and one write, determine_offset fails and the write isn't
20311 in the bad component, just put the read into the bad component.
20312
cc349a39
MS
203132014-01-07 Mike Stump <mikestump@comcast.net>
20314 Jakub Jelinek <jakub@redhat.com>
20315
20316 PR pch/59436
20317 * tree-core.h (struct tree_optimization_option): Change optabs
20318 type from unsigned char * to void *.
20319 * optabs.c (init_tree_optimization_optabs): Adjust
20320 TREE_OPTIMIZATION_OPTABS initialization.
20321
529a6471
JJ
203222014-01-06 Jakub Jelinek <jakub@redhat.com>
20323
20324 PR target/59644
20325 * config/i386/i386.h (struct machine_function): Add
20326 no_drap_save_restore field.
20327 * config/i386/i386.c (ix86_save_reg): Use
20328 !cfun->machine->no_drap_save_restore instead of
20329 crtl->stack_realign_needed.
20330 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
20331 this function clears frame_pointer_needed. Set
20332 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
20333 and DRAP reg is needed.
20334
96066ce1
MP
203352014-01-06 Marek Polacek <polacek@redhat.com>
20336
20337 PR c/57773
20338 * doc/implement-c.texi: Mention that other integer types are
20339 permitted as bit-field types in strictly conforming mode.
20340
955b33ed 203412014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
20342
20343 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
20344 is newly allocated.
20345
328402a9
RE
203462014-01-06 Richard Earnshaw <rearnsha@arm.com>
20347
20348 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
20349
a4e33812
MJ
203502014-01-06 Martin Jambor <mjambor@suse.cz>
20351
20352 PR ipa/59008
20353 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
20354 to int.
20355 * ipa-prop.c (ipa_print_node_params): Fix indentation.
20356
b5cd2a02
EB
203572014-01-06 Eric Botcazou <ebotcazou@adacore.com>
20358
20359 PR debug/59350
20360 PR debug/59510
20361 * var-tracking.c (add_stores): Preserve the value of the source even if
20362 we don't record the store.
20363
c7d19c0b
TG
203642014-01-06 Terry Guo <terry.guo@arm.com>
20365
20366 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
20367
e0c70bd7
IS
203682014-01-05 Iain Sandoe <iain@codesourcery.com>
20369
20370 PR bootstrap/59541
20371 * config/darwin.c (darwin_function_section): Adjust return values to
20372 correspond to optimisation changes made in r206070.
20373
c30f016c
UB
203742014-01-05 Uros Bizjak <ubizjak@gmail.com>
20375
20376 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
20377 from prefetch_block tune setting.
20378 (nocona_cost): Correct size of prefetch block to 64.
20379
f2bc252b
EB
203802014-01-04 Eric Botcazou <ebotcazou@adacore.com>
20381
20382 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
20383 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
20384 used to save the static chain register in the computation of the offset
20385 from which the FP registers need to be restored.
20386
dad5ed2e
JJ
203872014-01-04 Jakub Jelinek <jakub@redhat.com>
20388
39719c84
JJ
20389 PR tree-optimization/59519
20390 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
20391 ICE if get_current_def (current_new_name) is already non-NULL, as long
20392 as it is a phi result of some other phi in *new_exit_bb that has
20393 the same argument.
20394
dad5ed2e
JJ
20395 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
20396 or vmovdqu* for misaligned_operand.
20397 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
20398 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
20399 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
20400 aligned_mem for AVX512F masked aligned load and store builtins and for
20401 non-temporal moves.
20402
204032014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
20404
20405 PR tree-optimization/59651
c30f016c 20406 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
20407 Address range for negative step should be added by TYPE_SIZE_UNIT.
20408
e864837a
AS
204092014-01-03 Andreas Schwab <schwab@linux-m68k.org>
20410
20411 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 20412 overlapping registers also for registers other than the stack pointer.
e864837a 20413
56a34230
MP
204142014-01-03 Marek Polacek <polacek@redhat.com>
20415
20416 PR other/59661
20417 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
20418 __builtin_FILE.
20419
039eee3f
JJ
204202014-01-03 Jakub Jelinek <jakub@redhat.com>
20421
3bcdbd50
JJ
20422 PR target/59625
20423 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
20424 asm goto as jump.
20425
039eee3f
JJ
20426 * config/i386/i386.md (MODE_SIZE): New mode attribute.
20427 (push splitter): Use <P:MODE_SIZE> instead of
20428 GET_MODE_SIZE (<P:MODE>mode).
20429 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
20430 (mov -1, reg peephole2): Likewise.
20431 * config/i386/sse.md (*mov<mode>_internal,
20432 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
20433 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
20434 *<code><mode>3, *andnot<mode>3<mask_name>,
20435 <mask_codefor><code><mode>3<mask_name>): Likewise.
20436 * config/i386/subst.md (mask_mode512bit_condition,
20437 sd_mask_mode512bit_condition): Likewise.
20438
927734cf
XDL
204392014-01-02 Xinliang David Li <davidxl@google.com>
20440
20441 PR tree-optimization/59303
039eee3f 20442 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
20443 (dump_predicates): Better output format.
20444 (pred_equal_p): New function.
20445 (is_neq_relop_p): Ditto.
20446 (is_neq_zero_form_p): Ditto.
20447 (pred_expr_equal_p): Ditto.
20448 (pred_neg_p): Ditto.
20449 (simplify_pred): Ditto.
20450 (simplify_preds_2): Ditto.
20451 (simplify_preds_3): Ditto.
20452 (simplify_preds_4): Ditto.
20453 (simplify_preds): Ditto.
20454 (push_pred): Ditto.
20455 (push_to_worklist): Ditto.
20456 (get_pred_info_from_cmp): Ditto.
20457 (is_degenerated_phi): Ditto.
20458 (normalize_one_pred_1): Ditto.
20459 (normalize_one_pred): Ditto.
20460 (normalize_one_pred_chain): Ditto.
20461 (normalize_preds): Ditto.
20462 (normalize_cond_1): Remove function.
20463 (normalize_cond): Ditto.
20464 (is_gcond_subset_of): Ditto.
20465 (is_subset_of_any): Ditto.
20466 (is_or_set_subset_of): Ditto.
20467 (is_and_set_subset_of): Ditto.
20468 (is_norm_cond_subset_of): Ditto.
20469 (pred_chain_length_cmp): Ditto.
20470 (convert_control_dep_chain_into_preds): Type change.
20471 (find_predicates): Ditto.
20472 (find_def_preds): Ditto.
20473 (destroy_predicates_vecs): Ditto.
20474 (find_matching_predicates_in_rest_chains): Ditto.
20475 (use_pred_not_overlap_with_undef_path_pred): Ditto.
20476 (is_pred_expr_subset): Ditto.
20477 (is_pred_chain_subset_of): Ditto.
20478 (is_included_in): Ditto.
20479 (is_superset_of): Ditto.
20480
23a5b65a
RS
204812014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
20482
c30f016c 20483 Update copyright years.
23a5b65a 20484
f9030485
RS
204852014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
20486
20487 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
20488 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
20489 config/arc/arc.md, config/arc/arc.opt,
20490 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
20491 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
20492 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
20493 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
20494 config/linux-protos.h, config/linux.c, config/winnt-c.c,
20495 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
20496 vtable-verify.c, vtable-verify.h: Use the standard form for the
20497 copyright notice.
f9030485 20498
98db73df
TB
204992014-01-02 Tobias Burnus <burnus@net-b.de>
20500
20501 * gcc.c (process_command): Update copyright notice dates.
20502 * gcov-dump.c: Ditto.
20503 * gcov.c: Ditto.
20504 * doc/cpp.texi: Bump @copying's copyright year.
20505 * doc/cppinternals.texi: Ditto.
20506 * doc/gcc.texi: Ditto.
20507 * doc/gccint.texi: Ditto.
20508 * doc/gcov.texi: Ditto.
20509 * doc/install.texi: Ditto.
20510 * doc/invoke.texi: Ditto.
20511
2898d204 205122014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
20513
20514 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
20515
dfebbdc6 205162014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 20517
726c3546
JJ
20518 * config/i386/sse.md (*mov<mode>_internal): Guard
20519 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
20520
dfebbdc6
JJ
20521 PR rtl-optimization/59647
20522 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
20523 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 20524\f
970c3b33 20525Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
20526
20527Copying and distribution of this file, with or without modification,
20528are permitted in any medium without royalty provided the copyright
20529notice and this notice are preserved.