]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
ira-lives.c (single_reg_class): Add missing break.
[gcc.git] / gcc / ChangeLog
CommitLineData
b58923e2
RS
12014-06-06 Richard Sandiford <rdsandiford@googlemail.com>
2
3 * ira-lives.c (single_reg_class): Add missing break. Explicitly
4 return NO_REGS for extra address and memory constraints. Handle
5 operands that match (or are equivalent to something that matches)
6 extra constant constraints. Ignore other non-register operands.
7
ddbb449f
AM
82014-06-06 Alan Modra <amodra@gmail.com>
9
10 PR target/61300
11 * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
12 * doc/tm.texi: Regenerate.
13 * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
14 Use throughout in place of REG_PARM_STACK_SPACE.
15 * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
16 "incoming" param. Pass to rs6000_function_parms_need_stack.
17 (rs6000_function_parms_need_stack): Add "incoming" param, ignore
18 prototype_p when incoming. Use function decl when incoming
19 to handle K&R style functions.
20 * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
21 (INCOMING_REG_PARM_STACK_SPACE): Define.
22
a148c4b2
SKS
232014-06-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
24
25 PR target/52472
26 * cfgexpand.c (expand_debug_expr): Use address space of nested
27 TREE_TYPE for ADDR_EXPR and MEM_REF.
28
64e13bcd
JL
292014-06-05 Jeff Law <law@redhat.com>
30
31 PR tree-optimization/61289
32 * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
33 DST_MAP parameters. Invalidate by walking all the SSA_NAME_VALUES
34 looking for those which match LHS. All callers changed.
35 (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
36 parameters and code which manipulated them. All callers changed.
37 (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
38 and DST_MAP parameters. Simplify invalidation code by just calling
39 invalidate_equivalences. All callers changed.
40 (thread_across_edge): Simplify now that we don't need to maintain
41 the map of equivalences to invalidate.
42
5853e181
KT
432014-06-05 Kai Tietz <ktietz@redhat.com>
44 Richard Henderson <rth@redhat.com>
45
46 PR target/46219
47 * config/i386/predicates.md (memory_nox32_operand): Add memory_operand
48 checking for !TARGET_X32.
49 * config/i386/i386.md (UNSPEC_PEEPSIB): New unspec constant.
50 (sibcall_intern): New define_insn, plus required peepholes.
51 (sibcall_pop_intern): Likewise.
52 (sibcall_value_intern): Likewise.
53 (sibcall_value_pop_intern): Likewise.
54
95cc0a1a
IE
552014-06-05 Ilya Enkovich <ilya.enkovich@intel.com>
56
57 * tree-inline.c (tree_function_versioning): Check DF info existence
58 before accessing it.
59
1c960e02
MS
602014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
61
62 * config/aarch64/aarch64.h (aarch64_frame): Add hard_fp_offset and
63 frame_size.
64 * config/aarch64/aarch64.c (aarch64_layout_frame): Initialize
65 aarch64_frame hard_fp_offset and frame_size.
66 (aarch64_expand_prologue): Use aarch64_frame hard_fp_offset and
67 frame_size; remove original_frame_size.
68 (aarch64_expand_epilogue, aarch64_final_eh_return_addr): Likewise.
69 (aarch64_initial_elimination_offset): Remove frame_size and
70 offset. Use aarch64_frame frame_size.
71
2e1cdae5
MS
722014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
73 Jiong Wang <jiong.wang@arm.com>
74
75 * config/aarch64/aarch64.c (aarch64_layout_frame): Correct
76 initialization of R30 offset. Update offset. Iterate core
77 regisers upto X30. Remove X29, X30 specific code.
78
97826595
MS
792014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
80 Jiong Wang <jiong.wang@arm.com>
81
82 * config/aarch64/aarch64.c (SLOT_NOT_REQUIRED, SLOT_REQUIRED): Define.
83 (aarch64_layout_frame): Use SLOT_NOT_REQUIRED and SLOT_REQUIRED.
84 (aarch64_register_saved_on_entry): Adjust test.
85
8799637a
MS
862014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
87
88 * config/aarch64/aarch64.h (machine_function): Move
89 saved_varargs_size from here...
90 (aarch64_frameGTY): ... to here.
91
92 * config/aarch64/aarch64.c (aarch64_expand_prologue)
93 (aarch64_expand_epilogue, aarch64_final_eh_return_addr)
94 (aarch64_initial_elimination_offset)
95 (aarch64_setup_incoming_varargs): Adjust location of
96 saved_varargs_size.
97
34834420
MS
982014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
99
100 * config/aarch64/aarch64.c (aarch64_expand_prologue): Update stack
101 layout comment.
102
aaaa9efc
JP
1032014-06-05 Jaydeep Patil <Jaydeep.Patil@imgtec.com>
104 Prachi Godbole <Prachi.Godbole@imgtec.com>
105
106 * config/mips/mips-cpus.def: Add definition for p5600. Updated
107 mips32r5 entry to use PROCESSOR_P5600.
108 * config/mips/mips-tables.opt: Regenerate.
109 * config/mips/mips-protos.h (mips_fmadd_bypass): Add prototype.
110 * config/mips/mips.c (mips_fmadd_bypass): New function.
111 (mips_rtx_cost_data): Add costs for p5600.
112 (mips_issue_rate): Add support for p5600.
113 (mips_multipass_dfa_lookahead): Likewise.
114 * config/mips/mips.h (TUNE_P5600): New define.
115 (TUNE_MACC_CHAINS): Add TUNE_P5600.
116 (MIPS_ISA_LEVEL_SPEC): Map -march=p5600 to -mips32r5.
117 * config/mips/mips.md: Include p5600.md.
118 (processor): Add p5600.
119 * config/mips/p5600.md: New file.
120
edbb0749
ES
1212014-06-05 Evgeny Stupachenko <evstupac@gmail.com>
122
123 * config/i386/sse.md (*ssse3_palignr<mode>_perm): New.
124 * config/i386/predicates.md (palignr_operand): New.
125 Indicates if permutation is suitable for palignr instruction.
126
e12355ef
YR
1272014-06-05 Yuri Rumyantsev <ysrumyan@gmail.com>
128
129 PR tree-optimization/61319
130 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
131 stmt belongs to loop.
132
947ca6a0
RB
1332014-06-05 Richard Biener <rguenther@suse.de>
134
135 * gimplify.c (create_tmp_from_val): Remove is_formal parameter
136 and set DECL_GIMPLE_REG_P unconditionally if appropriate.
137 (lookup_tmp_var): Adjust.
138 (prepare_gimple_addressable): Unset DECL_GIMPLE_REG_P here.
139
63e70d3c
RR
1402014-06-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
141
142 * config/arm/arm.md (enabled): Disable opt_enabled attribute.
143
742938c9
MP
1442014-06-05 Marek Polacek <polacek@redhat.com>
145
146 PR c/49706
147 * doc/invoke.texi: Document -Wlogical-not-parentheses.
148
357ddc7d
TV
1492014-06-04 Tom de Vries <tom@codesourcery.com>
150
151 * config/s390/s390.md ("addptrdi3", "addptrsi3"): Use INTVAL only on
152 CONST_INT.
153
ca73a1f7
MG
1542014-06-04 Marc Glisse <marc.glisse@inria.fr>
155
156 PR tree-optimization/61385
157 * tree-ssa-phiopt.c (value_replacement): Punt if there are PHI nodes.
158
ffb1f5ef
BS
1592014-06-04 Bernd Schmidt <bernds@codesourcery.com>
160
161 * lto-wrapper.c (fatal, fatal_perror): Remove functions. All callers
162 changed to use fatal_error.
163 (main): Ensure lto_wrapper_cleanup is run atexit.
164
a953491e
RS
1652014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
166
167 * lra-constraints.c (valid_address_p): Move earlier in file.
168 (address_eliminator): New structure.
169 (satisfies_memory_constraint_p): New function.
170 (satisfies_address_constraint_p): Likewise.
171 (process_alt_operands, process_address, curr_insn_transform): Use them.
172
0c331756
RS
1732014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
174
175 * lra-int.h (lra_static_insn_data): Make operand_alternative a
176 const pointer.
177 (target_lra_int, default_target_lra_int, this_target_lra_int)
178 (op_alt_data): Delete.
179 * lra.h (lra_init): Delete.
180 * lra.c (default_target_lra_int, this_target_lra_int): Delete.
181 (init_insn_code_data_once): Remove op_alt_data handling.
182 (finish_insn_code_data_once): Likewise.
183 (init_op_alt_data): Delete.
184 (get_static_insn_data): Initialize operand_alternative to null.
185 (free_insn_recog_data): Cast operand_alternative before freeing it.
186 (setup_operand_alternative): Take the operand_alternative as
187 parameter and assume it isn't already cached in the static
188 insn data.
189 (lra_set_insn_recog_data): Update accordingly.
190 (lra_init): Delete.
191 * ira.c (ira_init): Don't call lra_init.
192 * target-globals.h (this_target_lra_int): Declare.
193 (target_globals): Remove lra_int.
194 (restore_target_globals): Update accordingly.
195 * target-globals.c: Don't include lra-int.h.
196 (default_target_globals, save_target_globals): Remove lra_int.
197
1145837d
RS
1982014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
199
200 * recog.h (operand_alternative): Convert reg_class, reject,
201 matched and matches into bitfields.
202 (preprocess_constraints): New overload.
203 (preprocess_insn_constraints): New function.
204 (preprocess_constraints): Take the insn as parameter.
205 (recog_op_alt): Change into a pointer.
206 (target_recog): Add x_op_alt.
207 * recog.c (asm_op_alt): New variable.
208 (recog_op_alt): Change into a pointer.
209 (preprocess_constraints): New overload, replacing the old function
210 definition with one that doesn't use global state.
211 (preprocess_insn_constraints): New function.
212 (preprocess_constraints): Use them. Take the insn as parameter.
213 Use asm_op_alt for asms.
214 (recog_init): Free existing x_op_alt entries.
215 * ira-lives.c (check_and_make_def_conflict): Make operand_alternative
216 pointer const.
217 (make_early_clobber_and_input_conflicts): Likewise.
218 (process_bb_node_lives): Pass the insn to process_constraints.
219 * reg-stack.c (check_asm_stack_operands): Likewise.
220 (subst_asm_stack_regs): Likewise.
221 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
222 * regrename.c (build_def_use): Likewise.
223 * sched-deps.c (sched_analyze_insn): Likewise.
224 * sel-sched.c (get_reg_class, implicit_clobber_conflict_p): Likewise.
225 * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
226 (note_invalid_constants): Likewise.
227 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
228 (ix86_legitimate_combined_insn): Make operand_alternative pointer
229 const.
230
5f2e0797
RS
2312014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
232
233 * recog.c (preprocess_constraints): Don't skip disabled alternatives.
234 * ira-lives.c (check_and_make_def_conflict): Check for disabled
235 alternatives.
236 (make_early_clobber_and_input_conflicts): Likewise.
237 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
238
5efe5dec
RS
2392014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
240
241 * recog.h (alternative_class): New function.
242 (which_op_alt): Return a const recog_op_alt.
243 * reg-stack.c (check_asm_stack_operands): Update type accordingly.
244 (subst_asm_stack_regs): Likewise.
245 * config/arm/arm.c (note_invalid_constants): Likewise.
246 * regcprop.c (copyprop_hardreg_forward_1): Likewise. Don't modify
247 the operand_alternative; use alternative class instead.
248 * sel-sched.c (get_reg_class): Likewise.
249 * regrename.c (build_def_use): Likewise.
250 (hide_operands, restore_operands, record_out_operands): Update type
251 accordingly.
252
29d70a0f
RS
2532014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
254
255 * recog.h (recog_op_alt): Convert to a flat array.
256 (which_op_alt): New function.
257 * recog.c (recog_op_alt): Convert to a flat array.
258 (preprocess_constraints): Update accordingly, grouping all
259 operands of the same alternative together, rather than the
260 other way around.
261 * ira-lives.c (check_and_make_def_conflict): Likewise.
262 (make_early_clobber_and_input_conflicts): Likewise.
263 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
264 * reg-stack.c (check_asm_stack_operands): Use which_op_alt.
265 (subst_asm_stack_regs): Likewise.
266 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
267 * regrename.c (hide_operands, record_out_operands): Likewise.
268 (build_def_use): Likewise.
269 * sel-sched.c (get_reg_class): Likewise.
270 * config/arm/arm.c (note_invalid_constants): Likewise.
271
fe6ebcf1
JM
2722014-06-04 Jason Merrill <jason@redhat.com>
273
274 PR c++/51253
275 PR c++/61382
276 * gimplify.c (gimplify_arg): Non-static.
277 * gimplify.h: Declare it.
278
38af3208
RB
2792014-06-04 Richard Biener <rguenther@suse.de>
280
281 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
282 TREE_PUBLIC and DECL_EXTERNAL decls.
283
9ccac701
MF
2842014-06-04 Matthew Fortune <matthew.fortune@imgtec.com>
285
286 * regcprop.c (copyprop_hardreg_forward_1): Account for
287 HARD_REGNO_CALL_PART_CLOBBERED.
288
35987ae9
RB
2892014-06-04 Richard Biener <rguenther@suse.de>
290
291 * configure.ac: Check whether the underlying type of int64_t
292 is long or long long.
293 * configure: Regenerate.
294 * config.in: Likewise.
295 * hwint.h (HOST_WIDE_INT): Match the underlying type of int64_t.
296 (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
297
0ea48022
RB
2982014-06-04 Richard Biener <rguenther@suse.de>
299
300 PR tree-optimization/60098
301 * tree-ssa-dse.c (dse_possible_dead_store_p): Walk until
302 we hit a kill.
303 (dse_optimize_stmt): Simplify, now that we found a kill
304 earlier.
305
b1259d34
RB
3062014-06-04 Richard Biener <rguenther@suse.de>
307
308 * tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling
309 of accesses with non-invariant address.
310
8be2dc8c
ML
3112014-06-04 Martin Liska <mliska@suse.cz>
312
313 * cgraph.h (cgraph_make_wrapper): New function introduced.
314 * cgraphunit.c (cgraph_make_wrapper): The function implementation.
315 * ipa-inline.h (inline_analyze_function): The function is global.
316 * ipa-inline-analysis.c (inline_analyze_function): Likewise.
317
8a57e88d
ML
3182014-06-04 Martin Liska <mliska@suse.cz>
319
320 * tree.h (private_lookup_attribute_starting): New function.
321 (lookup_attribute_starting): Likewise.
322 * tree.c (private_lookup_attribute_starting): Likewise.
323
d211e471
ML
3242014-06-04 Martin Liska <mliska@suse.cz>
325
326 * cgraph.h (expand_thunk): New argument added.
327 (address_taken_from_non_vtable_p): New global function.
328 * ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
329 * cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
330 * cgraphunit.c (analyze_function): Likewise.
331 (assemble_thunks_and_aliases): Argument added to call.
332 (expand_thunk): New argument forces to produce GIMPLE thunk.
333
a96bf0d3
ML
3342014-06-04 Martin Liska <mliska@suse.cz>
335
336 * coverage.h (coverage_compute_cfg_checksum): Argument added.
337 * coverage.c (coverage_compute_cfg_checksum): Likewise.
338 * profile.c (branch_prob): Likewise.
339
7d2268ea
MJ
3402014-06-04 Martin Jambor <mjambor@suse.cz>
341
342 PR ipa/61340
343 * ipa-pure-const.c (propagate_pure_const): Add unreachable default
344 handler for switch on an ipa_ref_use enum.
345 * ipa-reference.c (analyze_function): Likewise.
346
0dac3001
KT
3472014-06-04 Kai Tietz <ktietz@redhat.com>
348
349 * recog.c (peep2_attempt): Copy SIBLING_CALL_P flag
350 from old call-instruction.
351
348d4b0a
BC
3522014-06-04 Bin Cheng <bin.cheng@arm.com>
353
354 * config/aarch64/aarch64.c (aarch64_classify_address)
355 (aarch64_legitimize_reload_address): Support full addressing modes
356 for vector modes.
357 * config/aarch64/aarch64.md (mov<mode>, movmisalign<mode>)
358 (*aarch64_simd_mov<mode>, *aarch64_simd_mov<mode>): Relax predicates.
359
b9e3afe9
AP
3602014-06-03 Andrew Pinski <apinski@cavium.com>
361
362 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non comparisons
363 for OP0.
364
3652014-06-03 Andrew Pinski <apinski@cavium.com>
2d5ffe46
AP
366
367 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
368 (aarch64_rtx_costs): Use aarch64_if_then_else_costs.
369
3ce7abdd
KT
3702014-06-03 Kai Tietz <ktietz@redhat.com>
371
372 * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
373 for 64-bit ms-abi.
374
47e78f98
DC
3752014-06-03 Dehao Chen <dehao@google.com>
376
377 * tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
378 the same loop.
379
fedfecef
MP
3802014-06-03 Marek Polacek <polacek@redhat.com>
381
382 PR c/60439
383 * doc/invoke.texi: Document -Wswitch-bool.
384 * function.c (stack_protect_epilogue): Cast controlling expression of
385 the switch to int.
386 * gengtype.c (walk_type): Generate switch expression with its
387 controlling expression cast to int.
388
3892014-06-03 Vishnu K S <Vishnu.k_s@atmel.com>
e4f36438
DC
390
391 * config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
392 and attiny841.
393 * config/avr/avr-tables.opt: Regenerate.
394 * config/avr/t-multilib: Regenerate.
395 * doc/avr-mmcu.texi: Regenerate.
396
fedfecef
MP
3972014-06-03 Vishnu K S <vishnu.k_s@atmel.com>
398 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
e4f36438
DC
399
400 * config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
401 (ata6617c, ata664251): Add new avr35 devices.
402 (ata6612c): Add new avr4 device.
403 (ata6613c, ata6614q): Add new avr5 devices.
404 * config/avr/avr-tables.opt: Regenerate.
405 * config/avr/t-multilib: Regenerate.
406 * doc/avr-mmcu.texi: Regenerate.
407
918621d3
AL
4082014-06-03 Alan Lawrence <alan.lawrence@arm.com>
409
410 * gcc/config/aarch64/aarch64-builtins.c
411 (aarch64_types_binop_ssu_qualifiers): New static data.
412 (TYPES_BINOP_SSU): Define.
413 * gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
414 urshr_n, ushll_n): Use appropriate unsigned qualifiers.
415 * gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
416 vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
417 vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
418 vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
419 vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
420 vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
421 vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
422 suffix to builtin function name, remove cast.
423 (vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
424 vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
425 vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.
426
de10bcce
AL
4272014-06-03 Alan Lawrence <alan.lawrence@arm.com>
428
429 * gcc/config/aarch64/aarch64-builtins.c
430 (aarch64_types_binop_uus_qualifiers,
431 aarch64_types_shift_to_unsigned_qualifiers,
432 aarch64_types_unsigned_shiftacc_qualifiers): Define.
433 * gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
434 uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
435 sqshlu_n, uqshl_n): Update qualifiers.
436 * gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
437 vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
438 vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
439 vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
440 vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
441 vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
442 vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
443 vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
444 vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
445 vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
446 vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
447 vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
448 vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
449 vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
450 vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
451 vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
452 vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
453 vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
454 vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
455 vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
456 vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
457 vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
458 vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
459 vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
460 vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
461 vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
462 vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.
463
878d3618
TJ
4642014-06-03 Teresa Johnson <tejohnson@google.com>
465
466 * tree-sra.c (modify_function): Record caller nodes after rebuild.
467
616abc64
JM
4682014-06-02 Jason Merrill <jason@redhat.com>
469
470 PR c++/61020
471 * varpool.c (ctor_for_folding): Handle uninitialized vtables.
472
b31e65bb
AL
4732014-06-03 Alan Lawrence <alan.lawrence@arm.com>
474
475 * config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
476 location == 0.
477
923fcec3
AL
4782014-06-03 Alan Lawrence <alan.lawrence@arm.com>
479
480 * config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
481 New pattern.
482 * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
483 (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
484 * config/aarch64/iterators.md (REVERSE): New iterator.
485 (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
486 (rev_op): New int_attribute.
487 * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
488 vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
489 vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
490 vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
491 vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
492 vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
493 vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
494 Replace temporary __asm__ with __builtin_shuffle.
495
2b3bd040
AB
4962014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
497
498 * config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
499 mips64r5.
500 * config/mips/mips-tables.opt: Regenerate.
501 * config/mips/mips.c (mips_compute_frame_info): Changed if statement
502 to use mips_isa_rev rather than ISA_MIPS32R2.
503 * config/mips/mips.h (ISA_MIPS32R3): New define.
504 (ISA_MIPS32R5): New define.
505 (ISA_MIPS64R3): New define.
506 (ISA_MIPS64R5): New define.
507 (TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3, ISA_MIPS32R5,
508 ISA_MIPS64R3 and ISA_MIPS64R5.
509 (MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
510 and mips64r5.
511 (MIPS_ISA_SYNCI_SPEC): Likewise.
512 (ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
513 (LINK_SPEC): Added mips32r3 and mips32r5.
514 * config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
515 to mips32r2; and mips64r3 and mips64r5 to mips64r2.
516 * config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
517 * config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
518 * config/mips/t-sde (MULTILIB_MATCHES): Likewise.
519 * config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
520 * doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.
521
35773f53
AB
5222014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
523
524 * doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
525 options.
526 * config/mips/mips.opt (mxpa): New option.
527 * config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the
528 assembler.
529
d3fb5cf0
MJ
5302014-06-03 Martin Jambor <mjambor@suse.cz>
531
532 PR ipa/61160
533 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
534 thunks.
535
3cc272c1
TP
5362014-06-03 Thomas Preud'homme <thomas.preudhomme@arm.com>
537
538 PR tree-optimization/61328
539 * tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
540 initialization from find_bswap_or_nop_1.
541 (find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
542 in source_expr2 before using the size value the function sets. Also
543 make use of init_symbolic_number () in both the old place and
544 find_bswap_or_nop_load () to avoid reading uninitialized memory when
545 doing recursion in the GIMPLE_BINARY_RHS case.
546
597c6315
RB
5472014-06-03 Richard Biener <rguenther@suse.de>
548
549 PR tree-optimization/61383
550 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
551 stmts can't trap.
552
b48e9677
RS
5532014-06-03 Richard Sandiford <rdsandiford@googlemail.com>
554
555 * defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
556 (EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
557 (CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
558 (REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
559 in this file.
560 (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
561 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
562 * system.h: ...here and make it unconditional.
563 * target.def (conditional_register_usage): Mention
564 define_register_constraint instead of old-style constraint macros.
565 * doc/tm.texi.in: Remove documentation for old-style constraint macros.
566 * doc/tm.texi: Regenerate.
567 * genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
568 protected by !USE_MD_CONSTRAINTS.
569 * config/frv/frv.md: Remove quote from old version of documentation.
570 * config/frv/frv.c (frv_conditional_register_usage): Likewise.
571 * config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
572 CONST_DOUBLE_OK_FOR_LETTER.
573 * config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.
574
b94f5533
AP
5752014-06-02 Andrew Pinski <apinski@cavium.com>
576
3a87ac45
AP
577 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
578 /lib/ld-linux32-aarch64.so.1 is used for ILP32.
b94f5533
AP
579 (LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
580 file whose name depends on -mabi= and -mbig-endian.
3a87ac45
AP
581 * config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
582 Handle LP64 better and handle ilp32 too.
b94f5533
AP
583 (MULTILIB_OPTIONS): Delete.
584 (MULTILIB_DIRNAMES): Delete.
585
9b2b7279
AM
5862014-06-02 Andrew MacLeod <amacleod@redhat.com>
587
588 * expr.h: Remove prototypes of functions defined in builtins.c.
589 * tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
590 Remove prototypes of functions defined in builtins.c.
591 * builtins.h: Update prototype list to include all exported functions.
592 * builtins.c: (default_libc_has_function, gnu_libc_has_function,
593 no_c99_libc_has_function): Move to targhooks.c
594 (build_string_literal, build_call_expr_loc_array,
595 build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
596 to tree.c.
597 (expand_builtin_object_size, fold_builtin_object_size): Make static.
598 * targhooks.c (default_libc_has_function, gnu_libc_has_function,
599 no_c99_libc_has_function): Relocate from builtins.c.
600 * tree.c: Include builtins.h.
601 (build_call_expr_loc_array, build_call_expr_loc_vec,
602 build_call_expr_loc, build_call_expr, build_string_literal): Relocate
603 from builtins.c.
604 * fold-const.h (fold_fma): Move prototype to builtins.h.
605 * realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
606 * asan.c: Include builtins.h.
607 * cfgexpand.c: Likewise.
608 * convert.c: Likewise.
609 * emit-rtl.c: Likewise.
610 * except.c: Likewise.
611 * expr.c: Likewise.
612 * fold-const.c: Likewise.
613 * gimple-fold.c: Likewise.
614 * gimple-ssa-strength-reduction.c: Likewise.
615 * gimplify.c: Likewise.
616 * ipa-inline.c: Likewise.
617 * ipa-prop.c: Likewise.
618 * lto-streamer-out.c: Likewise.
619 * stmt.c: Likewise.
620 * tree-inline.c: Likewise.
621 * tree-object-size.c: Likewise.
622 * tree-sra.c: Likewise.
623 * tree-ssa-ccp.c: Likewise.
624 * tree-ssa-forwprop.c: Likewise.
625 * tree-ssa-loop-ivcanon.c: Likewise.
626 * tree-ssa-loop-ivopts.c: Likewise.
627 * tree-ssa-math-opts.c: Likewise.
628 * tree-ssa-reassoc.c: Likewise.
629 * tree-ssa-threadedge.c: Likewise.
630 * tree-streamer-in.c: Likewise.
631 * tree-vect-data-refs.c: Likewise.
632 * tree-vect-patterns.c: Likewise.
633 * tree-vect-stmts.c: Likewise.
634 * config/aarch64/aarch64.c: Likewise.
635 * config/alpha/alpha.c: Likewise.
636 * config/arc/arc.c: Likewise.
637 * config/arm/arm.c: Likewise.
638 * config/avr/avr.c: Likewise.
639 * config/bfin/bfin.c: Likewise.
640 * config/c6x/c6x.c: Likewise.
641 * config/cr16/cr16.c: Likewise.
642 * config/cris/cris.c: Likewise.
643 * config/epiphany/epiphany.c: Likewise.
644 * config/fr30/fr30.c: Likewise.
645 * config/frv/frv.c: Likewise.
646 * config/h8300/h8300.c: Likewise.
647 * config/i386/i386.c: Likewise.
648 * config/i386/winnt.c: Likewise.
649 * config/ia64/ia64.c: Likewise.
650 * config/iq2000/iq2000.c: Likewise.
651 * config/lm32/lm32.c: Likewise.
652 * config/m32c/m32c.c: Likewise.
653 * config/m32r/m32r.c: Likewise.
654 * config/m68k/m68k.c: Likewise.
655 * config/mcore/mcore.c: Likewise.
656 * config/mep/mep.c: Likewise.
657 * config/microblaze/microblaze.c: Likewise.
658 * config/mips/mips.c: Likewise.
659 * config/mmix/mmix.c: Likewise.
660 * config/mn10300/mn10300.c: Likewise.
661 * config/moxie/moxie.c: Likewise.
662 * config/msp430/msp430.c: Likewise.
663 * config/nds32/nds32.c: Likewise.
664 * config/pa/pa.c: Likewise.
665 * config/pdp11/pdp11.c: Likewise.
666 * config/picochip/picochip.c: Likewise.
667 * config/rl78/rl78.c: Likewise.
668 * config/rs6000/rs6000.c: Likewise.
669 * config/rx/rx.c: Likewise.
670 * config/s390/s390.c: Likewise.
671 * config/score/score.c: Likewise.
672 * config/sh/sh.c: Likewise.
673 * config/sparc/sparc.c: Likewise.
674 * config/spu/spu.c: Likewise.
675 * config/stormy16/stormy16.c: Likewise.
676 * config/tilegx/tilegx.c: Likewise.
677 * config/tilepro/tilepro.c: Likewise.
678 * config/v850/v850.c: Likewise.
679 * config/vax/vax.c: Likewise.
680 * config/xtensa/xtensa.c: Likewise.
681
0d732cca
JL
6822014-06-02 Jeff Law <law@redhat.com>
683
684 PR rtl-optimization/61094
685 * ree.c (combine_reaching_defs): Do not reextend an insn if it
686 was marked as do_no_reextend. If a copy is needed to eliminate
687 an extension, then mark it as do_not_reextend.
688
a2adad8b
MS
6892014-06-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
690
691 * config/aarch64/aarch64.md (set_fpcr): Drop ISB after FPCR write.
692
20a951e6
RH
6932014-06-02 Richard Henderson <rth@redhat.com>
694
695 PR target/61336
696 * config/alpha/alpha.c (print_operand_address): Allow symbolic
697 addresses inside asms. Use output_operand_lossage instead of
698 gcc_unreachable.
699
40c0a159
UB
7002014-06-02 Uros Bizjak <ubizjak@gmail.com>
701
702 PR target/61239
703 * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
704 GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
705
94bfa2da
TV
7062014-06-02 Tom de Vries <tom@codesourcery.com>
707
708 * config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
709 case that x has VOIDmode.
710
4a1f940f
BS
7112014-06-02 Bernd Schmidt <bernds@codesourcery.com>
712
713 * varasm.c (copy_constant): Delete function.
714 (build_constant_desc): Don't call it.
715
27e83a44
RR
7162014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
717
718 PR target/61154
719 * config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
720 * config/arm/arm.md (mov64 splitter): Replace const_double_operand
721 with immediate_operand.
722
31815ed7
AS
7232014-06-02 Andreas Schwab <schwab@suse.de>
724
725 * config/ia64/ia64.c
726 (ia64_first_cycle_multipass_dfa_lookahead_guard): Check
727 pending_data_specs first.
728
61dd7fbc
RB
7292014-06-02 Richard Biener <rguenther@suse.de>
730
731 PR tree-optimization/61378
732 * tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
733 valueized_anything.
734
1828d3e6
UB
7352014-06-01 Uros Bizjak <ubizjak@gmail.com>
736
737 * config/i386/constraints.md (Bw): Rename from 'w'.
738 (Bz): Rename from 'z'.
739 * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
740
6041d142
KT
7412014-06-01 Kai Tietz <ktietz@redhat.com>
742
743 PR target/61377
1828d3e6
UB
744 * config/i386/constrains.md (define_constrain): New 'Bs' constraint.
745 * config/i386/i386.md (sibcall_insn_operand): Use Bs
746 instead of m constraint.
6041d142 747
aef1bf3b
AS
7482014-05-31 Andreas Schwab <schwab@linux-m68k.org>
749
750 * config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
751 a separate alternative where the scratch operand 2 is marked as
752 early clobber.
753
f10743d3
KV
7542014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
755
756 * config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
757 (arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
758 (bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
759 and __builtins_arm_get_fpscr.
760 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
761 __builtins_arm_get_fpscr.
762 (arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
763 __builtins_arm_ldfpscr.
764 (arm_atomic_assign_expand_fenv): New function.
765 * config/arm/vfp.md (set_fpscr): New pattern.
766 (get_fpscr) : Likewise.
767 * config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
768 VUNSPEC_SET_FPSCR.
769 * doc/extend.texi (AARCH64 Built-in Functions) : Document
770 __builtins_arm_set_fpscr, __builtins_arm_get_fpscr.
771
40f9f6bb
JJ
7722014-05-30 Jakub Jelinek <jakub@redhat.com>
773
b3f1051b
JJ
774 * asan.c (report_error_func): Add SLOW_P argument, use
775 BUILT_IN_ASAN_*_N if set.
776 (build_check_stmt): Likewise.
777 (instrument_derefs): If T has insufficient alignment,
778 force same handling as for odd sizes.
779
40f9f6bb
JJ
780 * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
781 BUILT_IN_ASAN_REPORT_STORE_N): New.
782 * asan.c (struct asan_mem_ref): Change access_size type to
783 HOST_WIDE_INT.
784 (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
785 update_mem_ref_hash_table): Likewise.
786 (asan_mem_ref_hasher::hash): Hash in a HWI.
787 (report_error_func): Change size_in_bytes argument to HWI.
788 Use *_N builtins if size_in_bytes is larger than 16 or not power of
789 two.
790 (build_shadow_mem_access): New function.
791 (build_check_stmt): Use it. Change size_in_bytes argument to HWI.
792 Handle size_in_bytes not power of two or larger than 16.
793 (instrument_derefs): Don't give up if size_in_bytes is not
794 power of two or is larger than 16.
795
cb105922
KT
7962014-05-30 Kai Tietz <ktietz@redhat.com>
797
798 PR target/60104
799 * config/i386/i386.c (x86_output_mi_thunk): Add memory case
800 for sibling-tail-calls.
801 * config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
802 to its use.
803 * config/i386/predicates.md (sibcall_memory_operand): New predicate.
804 (sibcall_insn_operand): Add check for sibcall_memory_operand.
805
150e0639
PS
8062014-05-30 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
807
808 * config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
809 * config/avr/avr-tables.opt: Regenerate.
810 * config/avr/t-multilib: Regenerate.
811 * doc/avr-mmcu.texi: Regenerate.
812
f9a8f6d9
ILT
8132014-05-30 Ian Lance Taylor <iant@google.com>
814
815 * config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
816 target("sse").
817
5028356f
TV
8182014-05-30 Tom de Vries <tom@codesourcery.com>
819
820 * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
821 Redefine as true.
822
10e1bdb2
TV
8232014-05-30 Tom de Vries <tom@codesourcery.com>
824
825 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
826 * lra.c (initialize_lra_reg_info_element): Add init of
827 actual_call_used_reg_set field.
828 (lra): Call lra_create_live_ranges before lra_inheritance for
829 -fuse-caller-save.
830 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
831 -fuse-caller-save.
832 * lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
833 instead of call_used_reg_set for -fuse-caller-save.
834 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
835
56912037
KT
8362014-05-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
837
838 * config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
839 to mov_imm.
840 * config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.
841
98f2f031
RS
8422014-05-30 Richard Sandiford <rdsandiford@googlemail.com>
843
844 * ira.c (ira_get_dup_out_num): Check for output operands at
845 the start of the loop. Handle cases where an included alternative
846 follows an excluded one.
847
79abf19f
MS
8482014-05-29 Mike Stump <mikestump@comcast.net>
849
850 PR debug/61352
851 * collect2.c (maybe_run_lto_and_relink): Be sure to always run
852 post ld passes when lto is used.
853
cc8849a1
VM
8542014-05-29 Vladimir Makarov <vmakarov@redhat.com>
855
856 PR rtl-optimization/61325
40c0a159 857 * lra-constraints.c (process_address): Rename to process_address_1.
cc8849a1
VM
858 (process_address): New function.
859
ae0533da
AL
8602014-05-29 Alan Lawrence <alan.lawrence@arm.com>
861
862 * config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
863 TYPES_BINOPV): New static data.
40c0a159
UB
864 * config/aarch64/aarch64-simd-builtins.def (im_lane_bound):
865 New builtin.
866 * config/aarch64/aarch64-simd.md (aarch64_ext,
867 aarch64_im_lane_boundsi): New patterns.
ae0533da
AL
868 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
869 patterns for EXT.
870 (aarch64_evpc_ext): New function.
871
872 * config/aarch64/iterators.md (UNSPEC_EXT): New enum element.
873
874 * config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
875 vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
876 vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
877 vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
878 vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.
879
ed00b1fb
TV
8802014-05-29 Tom de Vries <tom@codesourcery.com>
881
882 * rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
883
004d3809 8842014-05-29 Richard Earnshaw <rearnsha@arm.com>
40c0a159 885 Richard Sandiford <rdsandiford@googlemail.com>
004d3809 886
40c0a159
UB
887 * arm/iterators.md (shiftable_ops): New code iterator.
888 (t2_binop0, arith_shift_insn): New code attributes.
004d3809 889 * arm/predicates.md (shift_nomul_operator): New predicate.
40c0a159
UB
890 * arm/arm.md (insn_enabled): Delete.
891 (enabled): Remove insn_enabled test.
892 (*arith_shiftsi): Delete. Replace with ...
893 (*<arith_shift_insn>_multsi): ... new pattern.
004d3809
RE
894 (*<arith_shift_insn>_shiftsi): ... new pattern.
895 * config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
896
c2db3f3d 8972014-05-29 Radovan Obradovic <robradovic@mips.com>
40c0a159 898 Tom de Vries <tom@codesourcery.com>
c2db3f3d
RO
899
900 * config/mips/mips.h (POST_CALL_TMP_REG): Define.
901 * config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
902 clobber.
903 (mips_split_call): Use POST_CALL_TMP_REG.
904 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
905
4b29b965
TV
9062014-05-29 Tom de Vries <tom@codesourcery.com>
907
908 * final.c (collect_fn_hard_reg_usage): Guard variable declaration
909 with #ifdef STACK_REGS.
910
726f0774
JH
9112014-05-28 Jan Hubicka <hubicka@ucw.cz>
912
913 * varasm.c (get_variable_section): Walk aliases.
914 (place_block_symbol): Walk aliases.
915
ea0b381f
TV
9162014-05-28 Tom de Vries <tom@codesourcery.com>
917
918 Revert:
919 2014-05-28 Tom de Vries <tom@codesourcery.com>
920
921 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
922 * lra.c (initialize_lra_reg_info_element): Add init of
923 actual_call_used_reg_set field.
924 (lra): Call lra_create_live_ranges before lra_inheritance for
925 -fuse-caller-save.
926 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
927 -fuse-caller-save.
40c0a159
UB
928 * lra-constraints.c (need_for_call_save_p): Use
929 actual_call_used_reg_set instead of call_used_reg_set for
930 -fuse-caller-save.
ea0b381f
TV
931 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
932
73f793e3
RS
9332014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
934
935 * doc/md.texi: Document that the % constraint character must
936 be at the beginning of the string.
937 * genoutput.c (validate_insn_alternatives): Check that '=',
938 '+' and '%' only appear at the beginning of a constraint.
939 * ira.c (commutative_constraint_p): Delete.
940 (ira_get_dup_out_num): Expect the '%' commutativity marker to be
941 at the start of the string.
942 * config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
943 duplicate '='s.
944 * config/arm/neon.md (bicdi3_neon): Likewise.
945 * config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
946 (slt_si, sltu_si): Likewise.
947 * config/vax/vax.md (sbcdi3): Likewise.
948 * config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
949 * config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
950 (mul64): Move '%' to beginning of constraint.
951 * config/arm/arm.md (*xordi3_insn): Likewise.
952 * config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
953 (xorsi3): Likewise.
954
5a7555ab
RS
9552014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
956
957 * doc/md.texi: Document the restrictions on the "enabled" attribute.
958
d67ff7b7
JM
9592014-05-28 Jason Merrill <jason@redhat.com>
960
961 PR c++/47202
962 * cgraph.h (symtab_node::get_comdat_group_id): New.
963 * cgraphunit.c (analyze_functions): Call it.
964 * symtab.c (dump_symtab_node): Likewise.
965 * tree.c (decl_comdat_group_id): New.
966 * tree.h: Declare it.
967 * lto-streamer-out.c (write_symbol): Use it.
968 * trans-mem.c (ipa_tm_create_version_alias): Likewise.
969
ecc7533a
FXC
9702014-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
971
972 PR bootstrap/PR61146
973 * wide-int.cc: Do not include longlong.h when compiling with clang.
974
6e5799b9
RB
9752014-05-28 Richard Biener <rguenther@suse.de>
976
977 * tree-ssa-propagate.c (add_control_edge): Print less vertical space.
978 * tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
979 (vrp_visit_assignment_or_call): Print less vertical space.
980 (vrp_visit_stmt): Likewise.
981 (vrp_visit_phi_node): Likewise. For a PHI argument with
982 VR_VARYING range consider recording it as copy.
983
47f9fca8
RB
9842014-05-28 Richard Biener <rguenther@suse.de>
985
986 Revert
987 2014-05-28 Richard Biener <rguenther@suse.de>
988
989 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
990
7fbf8a3e
BE
9912014-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
992
993 * expr.c (expand_assignment): Fold the bitpos in the to_rtx if
994 sufficiently aligned and an offset is used at the same time.
995 (expand_expr_real_1): Likewise.
996
b017a174
RB
9972014-05-28 Richard Biener <rguenther@suse.de>
998
999 PR middle-end/61045
1000 * fold-const.c (fold_comparison): When folding
1001 X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
1002 the sign of the remaining constant operand stays the same.
1003
96360888
KP
10042014-05-28 Kaushik Phatak <kaushik.phatak@kpit.com>
1005
1006 * config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
1007 __RL78_64BIT_DOUBLES__ or __RL78_32BIT_DOUBLES__.
1008 (ASM_SPEC): Pass -m64bit-doubles or -m32bit-doubles on
1009 to the assembler.
40c0a159 1010 (DOUBLE_TYPE_SIZE): Use 64 bit if TARGET_64BIT_DOUBLES is true.
96360888
KP
1011 * gcc/config/rl78/rl78.opt (m64bit-doubles): New option.
1012 (m32bit-doubles) Likewise.
1013 * gcc/config/rl78/t-rl78: Add 64-bit-double multilib.
1014 * doc/invoke.texi: Document -m32bit-doubles and -m64bit-doubles
1015 option for RL78.
1016
3c698bf0
RO
10172014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1018
1019 * configure.ac ($gcc_cv_ld_clearcap): New test.
1020 * configure: Regenerate.
1021 * config.in: Regenerate.
1022 * config/sol2.opt (mclear-hwcap): New option.
1023 * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
1024 * config/sol2-clearcap.map: Moved here from
1025 testsuite/gcc.target/i386/clearcap.map.
1026 * config/sol2-clearcapv2.map: Move here from
1027 gcc.target/i386/clearcapv2.map.
1028 * config/t-sol2 (install): Depend on install-clearcap-map.
1029 (install-clearcap-map): New target.
1030 * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
1031 -mclear-hwcap.
1032
4c8bd90f
RB
10332014-05-28 Richard Biener <rguenther@suse.de>
1034
1035 * hwint.h (*_HALF_WIDE_INT*): Move to ...
1036 * wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
1037 ... here and remove the rest.
1038 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
1039
a896172d
RB
10402014-05-28 Richard Biener <rguenther@suse.de>
1041
1042 PR tree-optimization/61335
1043 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and
1044 new range fails, drop to varying.
1045
b8c6a45a
TV
10462014-05-28 Tom de Vries <tom@codesourcery.com>
1047
1048 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
1049 * lra.c (initialize_lra_reg_info_element): Add init of
1050 actual_call_used_reg_set field.
1051 (lra): Call lra_create_live_ranges before lra_inheritance for
1052 -fuse-caller-save.
1053 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
1054 -fuse-caller-save.
40c0a159
UB
1055 * lra-constraints.c (need_for_call_save_p): Use
1056 actual_call_used_reg_set instead of call_used_reg_set for
1057 -fuse-caller-save.
b8c6a45a
TV
1058 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
1059
dbe7d9e3 10602014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 1061 Tom de Vries <tom@codesourcery.com>
dbe7d9e3 1062
40c0a159
UB
1063 * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save
1064 to gccoptlist.
dbe7d9e3
RO
1065 (@item -fuse-caller-save): New item.
1066
5c989bbf 10672014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 1068 Tom de Vries <tom@codesourcery.com>
5c989bbf
RO
1069
1070 * opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
1071 OPT_fuse_caller_save.
1072
c2ba7e7a 10732014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 1074 Tom de Vries <tom@codesourcery.com>
c2ba7e7a
RO
1075
1076 * df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
1077 * caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
1078 get_call_reg_set_usage.
1079 * resource.c (mark_set_resources, mark_target_live_regs): Use
1080 get_call_reg_set_usage.
1081 * ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
1082 field.
1083 (ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
1084 * ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
1085 Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
1086 * ira-build.c (ira_create_allocno): Init
1087 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
1088 (create_cap_allocno, propagate_allocno_info)
1089 (propagate_some_info_from_allocno)
1090 (copy_info_to_removed_store_destinations): Handle
1091 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
1092 * ira-costs.c (ira_tune_allocno_costs): Use
1093 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
1094
27c07cc5 10952014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 1096 Tom de Vries <tom@codesourcery.com>
27c07cc5
RO
1097
1098 * cgraph.h (struct cgraph_rtl_info): Add function_used_regs
1099 and function_used_regs_valid fields.
1100 * final.c: Move include of hard-reg-set.h to before rtl.h to declare
1101 find_all_hard_reg_sets.
1102 (collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
1103 (get_call_reg_set_usage): New function.
1104 (rest_of_handle_final): Use collect_fn_hard_reg_usage.
1105 * regs.h (get_call_reg_set_usage): Declare.
1106
ca48e5ef
GJL
11072014-05-28 Georg-Johann Lay <avr@gjlay.de>
1108
1109 PR libgcc/61152
1110 * config/dbx.h (License): Add Runtime Library Exception.
1111 * config/newlib-stdint.h (License): Same.
1112 * config/rtems.h (License): Same
1113 * config/initfini-array.h (License): Same
1114 * config/v850/v850.h (License): Same.
1115 * config/v850/v850-opts.h (License): Same
1116 * config/v850/rtems.h (License): Same.
1117
92747f7d
GJL
11182014-05-28 Georg-Johann Lay <avr@gjlay.de>
1119
1120 PR target/61044
1121 * doc/extend.texi (Local Labels): Note that label differences are
1122 not supported for AVR.
1123
9c6ab05f
AP
11242014-05-27 Andrew Pinski <apinski@cavium.com>
1125
1126 * config/aarch64/aarch64.md (stack_protect_set_<mode>):
1127 Use <w> for the register in assembly template.
40c0a159 1128 (stack_protect_test): Use the mode of operands[0] for the result.
9c6ab05f
AP
1129 (stack_protect_test_<mode>): Use <w> for the register
1130 in assembly template.
1131
69c7a374
DD
11322014-05-27 DJ Delorie <dj@redhat.com>
1133
1134 * config/rx/rx.c (add_vector_labels): New.
1135 (rx_output_function_prologue): Call it.
1136 (rx_handle_func_attribute): Don't require empty arguments.
1137 (rx_handle_vector_attribute): New.
1138 (rx_attribute_table): Add "vector" attribute.
1139 * doc/extend.texi (interrupt, vector): Document new/changed
1140 RX-specific attributes.
1141
1142 * config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.
1143
5e67547d
EB
11442014-05-27 Eric Botcazou <ebotcazou@adacore.com>
1145
1146 * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
1147 predicate to detect a negative quotient.
1148
d378c07e
EB
11492014-05-27 Eric Botcazou <ebotcazou@adacore.com>
1150
1151 * fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
1152 to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
1153 Add X - Y CMP 0 to X CMP Y transformation.
1154 (fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.
1155
3ce6c715
SB
11562014-05-27 Segher Boessenkool <segher@kernel.crashing.org>
1157
1158 * stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
1159 before printing.
1160
11237229
SE
11612014-05-27 Steve Ellcey <sellcey@mips.com>
1162
1163 * config/mips/mips.c: Add include of cgraph.h.
1164
7ea7f668
RB
11652014-05-27 Richard Biener <rguenther@suse.de>
1166
1167 * system.h (__STDC_FORMAT_MACROS): Define as very first thing.
1168
c7eca9fe
GJL
11692014-05-27 Georg-Johann Lay <avr@gjlay.de>
1170
1171 PR libgcc/61152
1172 * config/arm/arm.h (License): Add note to COPYING.RUNTIME.
1173 * config/arm/arm-cores.def (License): Same.
1174 * config/arm/arm-opts.h (License): Same.
1175 * config/arm/aout.h (License): Same.
1176 * config/arm/bpabi.h (License): Same.
1177 * config/arm/elf.h (License): Same.
1178 * config/arm/linux-elf.h (License): Same.
1179 * config/arm/linux-gas.h (License): Same.
1180 * config/arm/netbsd-elf.h (License): Same.
1181 * config/arm/uclinux-eabi.h (License): Same.
1182 * config/arm/uclinux-elf.h (License): Same.
1183 * config/arm/vxworks.h (License): Same.
1184
7a10ea9f
KT
11852014-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1186
1187 * config/arm/neon.md (neon_bswap<mode>): New pattern.
1188 * config/arm/arm.c (neon_itype): Add NEON_BSWAP.
1189 (arm_init_neon_builtins): Handle NEON_BSWAP.
1190 Define required type nodes.
1191 (arm_expand_neon_builtin): Handle NEON_BSWAP.
1192 (arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
1193 * config/arm/arm_neon_builtins.def (bswap): Define builtins.
1194 * config/arm/iterators.md (VDQHSD): New mode iterator.
1195
597f5997
RB
11962014-05-27 Richard Biener <rguenther@suse.de>
1197
1198 * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
1199 Try using literal operands when comparing value-ranges failed.
1200
f571b63f
RS
12012014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
1202
1203 * ira.c (commutative_operand): Adjust for change to recog_data.
1204 [Missing from previous commit.]
1205
4cc8d9d2
RS
12062014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
1207
1208 * system.h (TEST_BIT): New macro.
1209 * recog.h (alternative_mask): New type.
1210 (ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
1211 (recog_data_d): Replace alternative_enabled_p array with
1212 enabled_alternatives.
1213 (target_recog): New structure.
1214 (default_target_recog, this_target_recog): Declare.
1215 (get_enabled_alternatives, recog_init): Likewise.
1216 * recog.c (default_target_recog, this_target_recog): New variables.
1217 (get_enabled_alternatives): New function.
1218 (extract_insn): Use it.
1219 (recog_init): New function.
1220 (preprocess_constraints, constrain_operands): Adjust for change to
1221 recog_data.
1222 * postreload.c (reload_cse_simplify_operands): Likewise.
1223 * reload.c (find_reloads): Likewise.
1224 * ira-costs.c (record_reg_classes): Likewise.
1225 * ira-lives.c (single_reg_class): Likewise. Fix bug in which
1226 all alternatives after a disabled one would be skipped.
1227 (ira_implicitly_set_insn_hard_regs): Likewise.
1228 * ira.c (ira_setup_alts): Adjust for change to recog_data.
1229 * lra-int.h (lra_insn_recog_data): Replace alternative_enabled_p
1230 with enabled_alternatives.
1231 * lra.c (free_insn_recog_data): Update accordingly.
1232 (lra_update_insn_recog_data): Likewise.
1233 (lra_set_insn_recog_data): Likewise. Use get_enabled_alternatives.
1234 * lra-constraints.c (process_alt_operands): Likewise. Handle
1235 only_alternative as part of the enabled mask.
1236 * target-globals.h (this_target_recog): Declare.
1237 (target_globals): Add a recog field.
1238 (restore_target_globals): Restore this_target_recog.
1239 * target-globals.c: Include recog.h.
1240 (default_target_globals): Initialize recog field.
1241 (save_target_globals): Likewise.
1242 * reginfo.c (reinit_regs): Call recog_init.
1243 * toplev.c (backend_init_target): Likewise.
1244
9921417d
RS
12452014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
1246
1247 * gencodes.c (main): Make LAST_INSN_CODE higher than any insn code,
1248 rather than any named insn's code.
1249
a5024e01
GJL
12502014-05-27 Georg-Johann Lay <avr@gjlay.de>
1251
1252 PR libgcc/61152
1253 * config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
1254 * config/arm/arm-cores.def (License): Same.
1255
50efcce1
JH
12562014-05-26 Jan Hubicka <hubicka@ucw.cz>
1257
1258 * tree.h (decl_comdat_group): Declare.
1259 * cgraph.h (symtab_in_same_comdat_p): Move offline to ...
1260 * tree.c (decl_comdat_group): Here.
1261
3e26c8f6
RS
12622014-05-26 Richard Sandiford <r.sandiford@uk.ibm.com>
1263
1264 PR rtl-optimization/61222
1265 * combine.c (simplify_shift_const_1): When moving a PLUS outside
1266 the shift, truncate the PLUS operand to the result mode.
1267
b8140cd6
UB
12682014-05-26 Uros Bizjak <ubizjak@gmail.com>
1269
1270 PR target/61271
1271 * config/i386/i386.c (ix86_rtx_costs)
1272 <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
1273 Fix condition.
1274
acea91c9
MJ
12752014-05-26 Martin Jambor <mjambor@suse.cz>
1276
1277 * ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
1278 subreg uses.
1279
d93461f7
RB
12802014-05-26 Richard Biener <rguenther@suse.de>
1281
1282 * wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
1283 wi::int_traits <long long>, wi::int_traits <unsigned long long>):
1284 Provide specializations.
1285 (wi::int_traits <HOST_WIDE_INT>,
1286 wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
1287
bfe51f42
AM
12882014-05-26 Alan Modra <amodra@gmail.com>
1289
1290 PR target/61098
1291 * config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
1292 params and return a bool. Remove dead code. Update comment.
1293 Assert we have a const_int source. Remove bogus code from
1294 32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
1295 handling of constants > 2G and reg_equal note, from..
1296 (rs6000_emit_set_long_const): ..here. Remove unneeded param and
1297 return value. Update comment. If we can, use a new pseudo
1298 for intermediate calculations.
1299 * config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
1300 prototype.
1301 * config/rs6000/rs6000.md (movsi_internal1_single+1): Update
1302 call to rs6000_emit_set_const in splitter.
1303 (movdi_internal64+2, +3): Likewise.
1304
a9243bfc
RB
13052014-05-26 Richard Biener <rguenther@suse.de>
1306
1307 * system.h: Define __STDC_FORMAT_MACROS before
1308 including inttypes.h.
1309 * hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
1310 HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
1311 HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
1312 HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
1313 HOST_WIDEST_INT_C): Remove.
1314 (PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
1315 if C99 inttypes.h is not available.
1316 * coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
1317 * gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
1318 * gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
1319 * cfgloop.h (struct niter_desc): Use uint64_t for niter field.
1320 * bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
1321 (struct output_info): Likewise.
1322 (print_statistics): Adjust.
1323 (dump_bitmap_statistics): Likewise.
1324 * bt-load.c (migrate_btr_defs): Print with PRId64.
1325 * cfg.c (dump_edge_info, dump_bb_info): Likewise.
1326 (MAX_SAFE_MULTIPLIER): Adjust.
1327 * cfghooks.c (dump_bb_for_graph): Print with PRId64.
1328 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
1329 dump_cgraph_node): Likewise.
1330 * final.c (dump_basic_block_info): Likewise.
1331 * gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
1332 * gcov.c (format_gcov): Likewise.
1333 * ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
1334 for calculation.
1335 (get_clone_agg_value): Use HOST_WIDE_INT for offset.
1336 * ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
1337 (inline_small_functions, dump_overall_stats, dump_inline_stats):
1338 Use PRId64 for dumping.
1339 * ipa-profile.c (dump_histogram, ipa_profile): Likewise.
1340 * ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
1341 (add_allocno_hard_regs): Adjust.
1342 * loop-doloop.c (doloop_modify): Print using PRId64.
1343 * loop-iv.c (inverse): Compute in uint64_t.
1344 (determine_max_iter, iv_number_of_iterations): Likewise.
1345 * loop-unroll.c (decide_peel_completely, decide_peel_simple):
1346 Print using PRId64.
1347 * lto-streamer-out.c (write_symbol): Use uint64_t.
1348 * mcf.c (CAP_INFINITY): Use int64_t maximum.
1349 (dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
1350 find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
1351 * modulo-sched.c (const_iteration_count): Use int64_t.
1352 (sms_schedule): Dump using PRId64.
1353 * predict.c (dump_prediction): Likewise.
1354 * pretty-print.h (pp_widest_integer): Remove.
1355 * profile.c (get_working_sets, is_edge_inconsistent,
1356 is_inconsistent, read_profile_edge_counts): Dump using PRId64.
1357 * tree-pretty-print.c (pp_double_int): Remove case handling
1358 HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
1359 * tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
1360 and adjust users.
1361 (pass_optimize_bswap::execute): Remove restriction on hosts.
1362 * tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
1363 * tree-streamer-out.c (streamer_write_tree_header): Likewise.
1364 * tree.c (widest_int_cst_value): Remove.
1365 * tree.h (widest_int_cst_value): Likewise.
1366 * value-prof.c (dump_histogram_value): Print using PRId64.
1367 * gengtype.c (main): Also inject int64_t.
1368 * ggc-page.c (struct max_alignment): Use int64_t.
1369 * alloc-pool.c (struct allocation_object_def): Likewise.
1370 * ira-conflicts.c (build_conflict_bit_table): Use uint64_t
1371 for computation.
1372 * doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
1373 * doc/tm.texi: Regenerated.
1374 * gengtype-lex.l (IWORD): Handle [u]int64_t.
1375 * config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
1376 * config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
1377 mmix_output_register_setting): Use [u]int64_t in prototypes.
1378 * config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
1379 mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
1380 mmix_output_octa, mmix_output_shifted_value): Adjust.
1381 (mmix_intval): Adjust. Remove unreachable case.
b8140cd6 1382 * config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use int64_t.
a9243bfc 1383
edf6ddf6
RB
13842014-05-26 Richard Biener <rguenther@suse.de>
1385
1386 * configure.ac: Drop __int64 type check. Insist that we
1387 found uint64_t and int64_t.
1388 * hwint.h (HOST_BITS_PER___INT64): Remove.
b8140cd6 1389 (HOST_BITS_PER_WIDE_INT): Define to 64 and remove __int64 case.
edf6ddf6
RB
1390 (HOST_WIDE_INT_PRINT_*): Remove 32bit case.
1391 (HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
1392 (HOST_WIDEST_FAST_INT): Remove __int64 case.
1393 * vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
1394 for dst_q_src_df_rms_cdt.
1395 * configure: Regenerate.
1396 * config.in: Likewise.
1397
d4082970
MT
13982014-05-26 Michael Tautschnig <mt@debian.org>
1399
1400 PR target/61249
49f002b6
UB
1401 * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
1402 __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
d4082970 1403
d29d688a
ZC
14042014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1405
1406 PR rtl-optimization/61278
1407 * shrink-wrap.c (move_insn_for_shrink_wrap): Check df_live.
1408
88f32f0f
ZC
14092014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1410
1411 PR rtl-optimization/61220
1412 Part of PR rtl-optimization/61225
1413 * shrink-wrap.c (move_insn_for_shrink_wrap): Skip SP and FP adjustment
1414 insn; skip split_edge for a block with only one successor.
1415
97ae6b64
JH
14162014-05-23 Jan Hubicka <hubicka@ucw.cz>
1417
d4082970
MT
1418 * symtab.c (symtab_nonoverwritable_alias): Copy READONLY flag
1419 for variables.
97ae6b64 1420
07990a5e
JH
14212014-05-23 Jan Hubicka <hubicka@ucw.cz>
1422
1423 * ipa-visibility.c (can_replace_by_local_alias_in_vtable): New function.
1424 (update_vtable_references): New function.
1425 (function_and_variable_visibility): Rewrite also vtable initializers.
1426 * varpool.c (cgraph_variable_initializer_availability): Remove assert.
1427
fd1e9302
JH
14282014-05-23 Jan Hubicka <hubicka@ucw.cz>
1429
1430 * ggc.h (ggc_grow): New function.
1431 * ggc-none.c (ggc_grow): New function.
1432 * ggc-page.c (ggc_grow): Likewise.
1433
7f7beb3f
JH
14342014-05-23 Jan Hubicka <hubicka@ucw.cz>
1435
d4082970
MT
1436 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
1437 address_taken_from_non_vtable_p, comdat_can_be_unshared_p_1,
1438 comdat_can_be_unshared_p, cgraph_externally_visible_p,
7f7beb3f
JH
1439 varpool_externally_visible_p, can_replace_by_local_alias,
1440 update_visibility_by_resolution_info, function_and_variable_visibility,
1441 pass_data_ipa_function_and_variable_visibility,
1442 make_pass_ipa_function_and_variable_visibility,
1443 whole_program_function_and_variable_visibility,
1444 pass_data_ipa_whole_program_visibility,
1445 make_pass_ipa_whole_program_visibility): Move to ipa-visibility.c
1446 * cgraph.h (cgraph_local_node_p): Declare.
1447 * ipa-visibility.c: New file.
1448 * Makefile.in (OBJS): Add ipa-visiblity.o
1449
6adda80b
JH
14502014-05-23 Jan Hubicka <hubicka@ucw.cz>
1451
1452 * gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
1453 that var decl is available.
1454
aede2c10
JH
14552014-05-23 Jan Hubicka <hubicka@ucw.cz>
1456
1457 * tree-core.h (tree_decl_with_vis): Replace comdat_group by
1458 symtab_node pointer.
d4082970 1459 * tree.c (copy_node_stat): Be sure to not copy symtab_node pointer.
aede2c10
JH
1460 (find_decls_types_r): Do not walk COMDAT_GROUP.
1461 * tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
1462 * varasm.c (make_decl_one_only): Use set_comdat_group;
1463 create node if needed.
1464 * ipa-inline-transform.c (save_inline_function_body): Update
1465 way we decl->symtab mapping.
1466 * symtab.c (symtab_hash, hash_node, eq_node
1467 symtab_insert_node_to_hashtable): Remove.
1468 (symtab_register_node): Update.
1469 (symtab_unregister_node): Update.
1470 (symtab_get_node): Reimplement as inline function.
1471 (symtab_add_to_same_comdat_group): Update.
1472 (symtab_dissolve_same_comdat_group_list): Update.
1473 (dump_symtab_base): Update.
1474 (verify_symtab_base): Update.
1475 (symtab_make_decl_local): Update.
1476 (fixup_same_cpp_alias_visibility): Update.
1477 (symtab_nonoverwritable_alias): Update.
1478 * cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
1479 * ipa.c (update_visibility_by_resolution_info): UPdate.
1480 * bb-reorder.c: Include cgraph.h
1481 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
1482 with comdat groups.
1483 * ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
1484 * cgraph.c (cgraph_get_create_node): Update.
1485 * cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
1486 and comdat_group_.
1487 (symtab_get_node): Make inline.
1488 (symtab_insert_node_to_hashtable): Remove.
1489 (symtab_can_be_discarded): Update.
1490 (decl_comdat_group): New function.
d4082970
MT
1491 * tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers):
1492 Update.
aede2c10
JH
1493 * lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
1494 comdat group name.
1495 (read_comdat_group): New function.
1496 (input_node, input_varpool_node): Use it.
1497 * trans-mem.c (ipa_tm_create_version_alias): Update code creating
1498 comdat groups.
1499 * mips.c (mips_start_unique_function): Likewise.
1500 (ix86_code_end): Likewise.
1501 (rs6000_code_end): Likweise.
d4082970 1502 * tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream comdat group.
aede2c10 1503
4df199d1
JH
15042014-05-23 Jan Hubicka <hubicka@ucw.cz>
1505
1506 * gengtype-state.c (fatal_reading_state): Bring offline.
1507 * optabs.c (widening_optab_handler): Bring offline.
1508 * optabs.h (widening_optab_handler): Likewise.
1509 * final.c (get_attr_length_1): Likewise.
1510
e0e349f3
JH
15112014-05-23 Jan Hubicka <hubicka@ucw.cz>
1512
1513 * sched-int.h (sd_iterator_cond): Manually tail recurse.
1514
a35dd1fa
SB
15152014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1516
d4082970 1517 * config/rs6000/440.md (ppc440-integer): Include shift without dot.
a35dd1fa 1518 (ppc440-compare): Include shift with dot.
d4082970 1519 * config/rs6000/e300c2c3.md (ppce300c3_iu): Include shift without dot.
a35dd1fa
SB
1520 * config/rs6000/e5500.md (e5500_sfx2): Include constant shift
1521 without dot.
1522 * config/rs6000/e6500.md (e6500_sfx): Exclude constant shift
1523 without dot.
1524 (e6500_sfx2): Include it.
1525 * config/rs6000/rs6000.md ( *zero_extend<mode>di2_internal1,
1526 *zero_extend<mode>di2_internal2, *zero_extend<mode>di2_internal3,
1527 *zero_extendsidi2_lfiwzx, andsi3_mc, andsi3_nomc,
1528 andsi3_internal0_nomc, extzvsi_internal, extzvdi_internal,
1529 *extzvdi_internal1, *extzvdi_internal2, rotlsi3, *rotlsi3_64,
1530 *rotlsi3_internal4, *rotlsi3_internal7le, *rotlsi3_internal7be,
1531 *rotlsi3_internal10le, *rotlsi3_internal10be, rlwinm,
1532 *lshiftrt_internal1le, *lshiftrt_internal1be,
1533 *lshiftrt_internal4le, *lshiftrt_internal4be, rotldi3,
1534 *rotldi3_internal4, *rotldi3_internal7le, *rotldi3_internal7be,
1535 *rotldi3_internal10le, *rotldi3_internal10be,
1536 *rotldi3_internal13le, *rotldi3_internal13be, *ashldi3_internal4,
1537 ashldi3_internal5, *ashldi3_internal6, *ashldi3_internal7,
1538 ashldi3_internal8, *ashldi3_internal9, anddi3_mc, anddi3_nomc,
1539 *anddi3_internal2_mc, *anddi3_internal3_mc, and 4 anonymous
1540 define_insns): Use type "shift" in the appropriate alternatives.
1541
73c076c8
SB
15422014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1543
1544 * config/rs6000/rs6000.md (type): Add "logical". Delete
1545 "fast_compare".
1546 (dot): Adjust comment.
1547 (andsi3_mc, *andsi3_internal2_mc, *andsi3_internal3_mc,
1548 *andsi3_internal4, *andsi3_internal5_mc, *boolsi3_internal2,
1549 *boolsi3_internal3, *boolccsi3_internal2, *boolccsi3_internal3,
1550 anddi3_mc, *anddi3_internal2_mc, *anddi3_internal3_mc,
1551 *booldi3_internal2, *booldi3_internal3, *boolcdi3_internal2,
1552 *boolcdi3_internal3, *boolccdi3_internal2, *boolccdi3_internal3,
d4082970 1553 *mov<mode>_internal2, and 10 anonymous define_insns): Use "logical".
73c076c8
SB
1554 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
1555
d4082970
MT
1556 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
1557 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
1558 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
1559 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
1560 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
1561 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
1562 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
1563 * config/rs6000/8540.md (ppc8540_su): Adjust.
1564 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
73c076c8 1565 cell-cmp-microcoded): Adjust.
d4082970
MT
1566 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
1567 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1568 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
1569 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
1570 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
1571 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
1572 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
1573 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
1574 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
73c076c8 1575 Adjust.
d4082970
MT
1576 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
1577 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare):
73c076c8 1578 Adjust. Adjust comment.
d4082970
MT
1579 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
1580 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
73c076c8 1581
0cbb4f58
SB
15822014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1583
1584 * config/rs6000/rs6000.md (type): Add "add".
1585 (*add<mode>3_internal1, addsi3_high, *add<mode>3_internal2,
1586 *add<mode>3_internal3, *neg<mode>2_internal, and 5 anonymous
1587 define_insns): Use it.
1588 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
1589
1590 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
1591 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
d4082970 1592 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
0cbb4f58
SB
1593 * config/rs6000/601.md (ppc601-integer): Adjust.
1594 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
1595 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
1596 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
1597 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
1598 * config/rs6000/8540.md (ppc8540_su): Adjust.
1599 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
1600 cell-cmp-microcoded): Adjust.
1601 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
1602 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1603 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
1604 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
1605 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
1606 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
1607 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
1608 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
1609 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
1610 Adjust.
1611 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
d4082970 1612 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare): Adjust.
0cbb4f58
SB
1613 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
1614 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
1615
892e7fa6
SB
16162014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1617
1618 * config/rs6000/rs6000.md (type): Delete "var_shift_rotate",
1619 "delayed_compare", "var_delayed_compare".
1620 (var_shift): New attribute.
1621 (cell_micro): Adjust.
1622 (*andsi3_internal2_mc, *andsi3_internal3_mc, *andsi3_internal4,
1623 *andsi3_internal5_mc, *extzvsi_internal1, *extzvsi_internal2,
1624 rotlsi3, *rotlsi3_64, *rotlsi3_internal2, *rotlsi3_internal3,
1625 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
1626 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
1627 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
1628 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
1629 *rotlsi3_internal12be, ashlsi3, *ashlsi3_64, lshrsi3, *lshrsi3_64,
1630 *lshiftrt_internal2le, *lshiftrt_internal2be, *lshiftrt_internal3le,
1631 *lshiftrt_internal3be, *lshiftrt_internal5le, *lshiftrt_internal5be,
1632 *lshiftrt_internal5le, *lshiftrt_internal5be, ashrsi3, *ashrsi3_64,
1633 rotldi3, *rotldi3_internal2, *rotldi3_internal3, *rotldi3_internal4,
1634 *rotldi3_internal5, *rotldi3_internal6, *rotldi3_internal7le,
1635 *rotldi3_internal7be, *rotldi3_internal8le, *rotldi3_internal8be,
1636 *rotldi3_internal9le, *rotldi3_internal9be, *rotldi3_internal10le,
1637 *rotldi3_internal10be, *rotldi3_internal11le, *rotldi3_internal11be,
1638 *rotldi3_internal12le, *rotldi3_internal12be, *rotldi3_internal13le,
1639 *rotldi3_internal13be, *rotldi3_internal14le, *rotldi3_internal14be,
1640 *rotldi3_internal15le, *rotldi3_internal15be, *ashldi3_internal1,
1641 *ashldi3_internal2, *ashldi3_internal3, *lshrdi3_internal1,
1642 *lshrdi3_internal2, *lshrdi3_internal3, *ashrdi3_internal1,
1643 *ashrdi3_internal2, *ashrdi3_internal3, *anddi3_internal2_mc,
1644 *anddi3_internal3_mc, as well as 11 anonymous define_insns): Adjust.
1645 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
1646 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
1647
1648 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
1649 * config/rs6000/440.md (ppc440-integer): Adjust.
d4082970 1650 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
892e7fa6
SB
1651 * config/rs6000/601.md (ppc601-integer, ppc601-compare): Adjust.
1652 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
1653 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
d4082970 1654 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
892e7fa6
SB
1655 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
1656 * config/rs6000/8540.md (ppc8540_su): Adjust.
1657 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
1658 cell-cmp-microcoded): Adjust.
1659 * config/rs6000/e300c2c3.md (ppce300c3_cmp): Adjust.
1660 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1661 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2,
1662 e500mc64_delayed): Adjust.
1663 * config/rs6000/e5500.md (e5500_sfx, e5500_delayed): Adjust.
1664 * config/rs6000/e6500.md (e6500_sfx, e6500_delayed): Adjust.
1665 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
d4082970
MT
1666 * config/rs6000/power4.md (power4-integer, power4-compare): Adjust.
1667 * config/rs6000/power5.md (power5-integer, power5-compare): Adjust.
892e7fa6
SB
1668 * config/rs6000/power6.md (power6-shift, power6-var-rotate,
1669 power6-delayed-compare, power6-var-delayed-compare): Adjust.
d4082970 1670 * config/rs6000/power7.md (power7-integer, power7-compare): Adjust.
892e7fa6
SB
1671 * config/rs6000/power8.md (power8-1cyc, power8-compare): Adjust.
1672 Adjust comment.
1673 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
1674 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
1675
441e02a5
SB
16762014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1677
d4082970 1678 * config/rs6000/rs6000.md (type): Delete "idiv", "ldiv". Add "div".
441e02a5
SB
1679 (bits): New mode_attr.
1680 (idiv_ldiv): Delete mode_attr.
1681 (udiv<mode>3, *div<mode>3, div<div_extend>_<mode>): Adjust.
1682 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
1683 rs6000_adjust_priority, is_nonpipeline_insn,
1684 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
1685
1686 * config/rs6000/40x.md (ppc403-idiv): Adjust.
1687 * config/rs6000/440.md (ppc440-idiv): Adjust.
1688 * config/rs6000/476.md (ppc476-idiv): Adjust.
1689 * config/rs6000/601.md (ppc601-idiv): Adjust.
1690 * config/rs6000/603.md (ppc603-idiv): Adjust.
1691 * config/rs6000/6xx.md (ppc604-idiv, ppc620-idiv, ppc630-idiv,
1692 ppc620-ldiv): Adjust.
1693 * config/rs6000/7450.md (ppc7450-idiv): Adjust.
1694 * config/rs6000/7xx.md (ppc750-idiv): Adjust.
1695 * config/rs6000/8540.md (ppc8540_divide): Adjust.
1696 * config/rs6000/a2.md (ppca2-idiv, ppca2-ldiv): Adjust.
1697 * config/rs6000/cell.md (cell-idiv, cell-ldiv): Adjust.
1698 * config/rs6000/e300c2c3.md (ppce300c3_divide): Adjust.
1699 * config/rs6000/e500mc.md (e500mc_divide): Adjust.
1700 * config/rs6000/e500mc64.md (e500mc64_divide): Adjust.
1701 * config/rs6000/e5500.md (e5500_divide, e5500_divide_d): Adjust.
1702 * config/rs6000/e6500.md (e6500_divide, e6500_divide_d): Adjust.
1703 * config/rs6000/mpc.md (mpccore-idiv): Adjust.
1704 * config/rs6000/power4.md (power4-idiv, power4-ldiv): Adjust.
1705 * config/rs6000/power5.md (power5-idiv, power5-ldiv): Adjust.
1706 * config/rs6000/power6.md (power6-idiv, power6-ldiv): Adjust.
1707 * config/rs6000/power7.md (power7-idiv, power7-ldiv): Adjust.
1708 * config/rs6000/power8.md (power8-idiv, power8-ldiv): Adjust.
1709 * config/rs6000/rs64.md (rs64a-idiv, rs64a-ldiv): Adjust.
1710 * config/rs6000/titan.md (titan_fxu_div): Adjust.
1711
58ee9e66
SB
17122014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1713
1714 * config/rs6000/rs6000.md (type): Delete "insert_word",
1715 "insert_dword". Add "insert".
1716 (size): Update comment.
1717 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
1718 insn_must_be_first_in_group): Adjust.
1719 (insvsi_internal, *insvsi_internal1, *insvsi_internal2,
1720 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
1721 *insvsi_internal6, insvdi_internal): Adjust.
1722
1723 * config/rs6000/40x.md (ppc403-integer): Adjust.
1724 * config/rs6000/440.md (ppc440-integer): Adjust.
1725 * config/rs6000/476.md (ppc476-simple-integer): Adjust.
1726 * config/rs6000/601.md (ppc601-integer): Adjust.
1727 * config/rs6000/603.md (ppc603-integer): Adjust.
1728 * config/rs6000/6xx.md (ppc604-integer): Adjust.
1729 * config/rs6000/7450.md (ppc7450-integer): Adjust.
1730 * config/rs6000/7xx.md (ppc750-integer): Adjust.
1731 * config/rs6000/8540.md (ppc8540_su): Adjust.
1732 * config/rs6000/cell.md (cell-integer, cell-insert): Adjust.
1733 * config/rs6000/e300c2c3.md (ppce300c3_iu): Adjust.
1734 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1735 * config/rs6000/e500mc64.md (e500mc64_su): Adjust.
1736 * config/rs6000/e5500.md (e5500_sfx): Adjust.
1737 * config/rs6000/e6500.md (e6500_sfx): Adjust.
1738 * config/rs6000/mpc.md (mpccore-integer): Adjust.
1739 * config/rs6000/power4.md (power4-integer, power4-insert): Adjust.
1740 * config/rs6000/power5.md (power5-integer, power5-insert): Adjust.
d4082970 1741 * config/rs6000/power6.md (power6-insert, power6-insert-dword): Adjust.
58ee9e66
SB
1742 * config/rs6000/power7.md (power7-integer): Adjust.
1743 * config/rs6000/power8.md (power8-1cyc): Adjust.
1744 * config/rs6000/rs64.md (rs64a-integer): Adjust.
1745 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
1746
e0528ed9
SB
17472014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1748
1749 * config/rs6000/rs6000.md (type): Add "mul". Delete "imul",
1750 "imul2", "imul3", "lmul", "imul_compare", "lmul_compare".
1751 (size): New attribute.
1752 (dot): New attribute.
1753 (cell_micro): Adjust.
1754 (mulsi3, *mulsi3_internal1, *mulsi3_internal2, mulsidi3,
1755 umulsidi3, smulsi3_highpart, umulsi3_highpart, muldi3,
1756 *muldi3_internal1, *muldi3_internal2, smuldi3_highpart,
1757 umuldi3_highpart): Adjust.
1758 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
1759 rs6000_adjust_priority, is_nonpipeline_insn,
1760 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
1761
1762 * config/rs6000/40x.md (ppc403-imul, ppc405-imul, ppc405-imul2,
1763 ppc405-imul3): Adjust.
1764 * config/rs6000/440.md (ppc440-imul, ppc440-imul2): Adjust.
1765 * config/rs6000/476.md (ppc476-imul): Adjust.
1766 * config/rs6000/601.md (ppc601-imul): Adjust.
1767 * config/rs6000/603.md (ppc603-imul, ppc603-imul2): Adjust.
1768 * config/rs6000/6xx.md (ppc604-imul, ppc604e-imul, ppc620-imul,
1769 ppc620-imul2, ppc620-imul3, ppc620-lmul): Adjust.
1770 * config/rs6000/7450.md (ppc7450-imul, ppc7450-imul2): Adjust.
1771 * config/rs6000/7xx.md (ppc750-imul, ppc750-imul2, ppc750-imul3):
1772 Adjust.
1773 * config/rs6000/8540.md (ppc8540_multiply): Adjust.
1774 * config/rs6000/a2.md (ppca2-imul, ppca2-lmul): Adjust.
1775 * config/rs6000/cell.md (cell-lmul, cell-lmul-cmp, cell-imul23,
1776 cell-imul): Adjust.
1777 * config/rs6000/e300c2c3.md (ppce300c3_multiply): Adjust.
1778 * config/rs6000/e500mc.md (e500mc_multiply): Adjust.
1779 * config/rs6000/e500mc64.md (e500mc64_multiply): Adjust.
1780 * config/rs6000/e5500.md (e5500_multiply, e5500_multiply_i): Adjust.
1781 * config/rs6000/e6500.md (e6500_multiply, e6500_multiply_i): Adjust.
1782 * config/rs6000/mpc.md (mpccore-imul): Adjust.
1783 * config/rs6000/power4.md (power4-lmul-cmp, power4-imul-cmp,
1784 power4-lmul, power4-imul, power4-imul3): Adjust.
1785 * config/rs6000/power5.md (power5-lmul-cmp, power5-imul-cmp,
1786 power5-lmul, power5-imul, power5-imul3): Adjust.
1787 * config/rs6000/power6.md (power6-lmul-cmp, power6-imul-cmp,
1788 power6-lmul, power6-imul, power6-imul3): Adjust.
1789 * config/rs6000/power7.md (power7-mul, power7-mul-compare): Adjust.
1790 * config/rs6000/power8.md (power8-mul, power8-mul-compare): Adjust.
1791
1792 * config/rs6000/rs64.md (rs64a-imul, rs64a-imul2, rs64a-imul3,
1793 rs64a-lmul): Adjust.
1794 * config/rs6000/titan.md (titan_imul): Adjust.
1795
1263d642
SB
17962014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1797
1798 * config/rs6000/rs6000.md (type): Add new value "halfmul".
1799 (*macchwc, *macchw, *macchwuc, *macchwu, *machhwc, *machhw,
1800 *machhwuc, *machhwu, *maclhwc, *maclhw, *maclhwuc, *maclhwu,
1801 *nmacchwc, *nmacchw, *nmachhwc, *nmachhw, *nmaclhwc, *nmaclhw,
1802 *mulchwc, *mulchw, *mulchwuc, *mulchwu, *mulhhwc, *mulhhw,
d4082970 1803 *mulhhwuc, *mulhhwu, *mullhwc, *mullhw, *mullhwuc, *mullhwu): Use it.
1263d642
SB
1804 * config/rs6000/40x.md (ppc405-imul3): Add type halfmul.
1805 * config/rs6000/440.md (ppc440-imul2): Add type halfmul.
1806 * config/rs6000/476.md (ppc476-imul): Add type halfmul.
1807 * config/rs6000/titan.md: Delete nonsensical comment.
1808 (titan_imul): Add type imul3.
1809 (titan_mulhw): Remove type imul3; add type halfmul.
1810
1be6301a
SB
18112014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1812
1813 * config/rs6000/rs6000.md (type): Reorder, reformat.
1814
8aab5218
MJ
18152014-05-23 Martin Jambor <mjambor@suse.cz>
1816
1817 PR tree-optimization/53787
1818 * params.def (PARAM_IPA_MAX_AA_STEPS): New param.
1819 * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
1820 analysis_done, update all uses.
1821 * ipa-prop.c: Include domwalk.h
1822 (param_analysis_info): Removed.
1823 (param_aa_status): New type.
1824 (ipa_bb_info): Likewise.
1825 (func_body_info): Likewise.
1826 (ipa_get_bb_info): New function.
1827 (aa_overwalked): Likewise.
1828 (find_dominating_aa_status): Likewise.
1829 (parm_bb_aa_status_for_bb): Likewise.
1830 (parm_preserved_before_stmt_p): Changed to use new param AA info.
1831 (load_from_unmodified_param): Accept func_body_info as a parameter
1832 instead of parms_ainfo.
1833 (parm_ref_data_preserved_p): Changed to use new param AA info.
1834 (parm_ref_data_pass_through_p): Likewise.
1835 (ipa_load_from_parm_agg_1): Likewise. Update callers.
1836 (compute_complex_assign_jump_func): Changed to use new param AA info.
1837 (compute_complex_ancestor_jump_func): Likewise.
1838 (ipa_compute_jump_functions_for_edge): Likewise.
1839 (ipa_compute_jump_functions): Removed.
1840 (ipa_compute_jump_functions_for_bb): New function.
1841 (ipa_analyze_indirect_call_uses): Likewise, moved variable
1842 declarations down.
1843 (ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
1844 and info, moved variable declarations down.
1845 (ipa_analyze_call_uses): Accept and pass on func_body_info instead of
1846 node and info.
1847 (ipa_analyze_stmt_uses): Likewise.
1848 (ipa_analyze_params_uses): Removed.
1849 (ipa_analyze_params_uses_in_bb): New function.
1850 (ipa_analyze_controlled_uses): Likewise.
1851 (free_ipa_bb_info): Likewise.
1852 (analysis_dom_walker): New class.
1853 (ipa_analyze_node): Handle node-specific forbidden analysis,
1854 initialize and free func_body_info, use dominator walker.
1855 (ipcp_modif_dom_walker): New class.
1856 (ipcp_transform_function): Create and free func_body_info, use
1857 ipcp_modif_dom_walker, moved a lot of functionality there.
1858
85a16bf8
MP
18592014-05-23 Marek Polacek <polacek@redhat.com>
1860 Jakub Jelinek <jakub@redhat.com>
1861
1862 * builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
1863 * gcc.c (sanitize_spec_function): Likewise.
1864 * convert.c (convert_to_integer): Include "ubsan.h". Add
1865 floating-point to integer instrumentation.
1866 * doc/invoke.texi: Document -fsanitize=float-cast-overflow.
1867 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
1868 SANITIZE_NONDEFAULT.
1869 * opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
1870 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
1871 BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
1872 * ubsan.c: Include "realmpfr.h" and "dfp.h".
1873 (get_ubsan_type_info_for_type): Handle REAL_TYPEs.
1874 (ubsan_type_descriptor): Set tkind to 0xffff for types other than
1875 float/double/long double.
1876 (ubsan_instrument_float_cast): New function.
1877 * ubsan.h (ubsan_instrument_float_cast): Declare.
1878
40c0a159 18792014-05-23 Jiong Wang <jiong.wang@arm.com>
fee9ba42
JW
1880
1881 * config/aarch64/predicates.md (aarch64_call_insn_operand): New
1882 predicate.
1883 * config/aarch64/constraints.md ("Ucs", "Usf"): New constraints.
1884 * config/aarch64/aarch64.md (*sibcall_insn, *sibcall_value_insn):
1885 Adjust for tailcalling through registers.
1886 * config/aarch64/aarch64.h (enum reg_class): New caller save
1887 register class.
1888 (REG_CLASS_NAMES): Likewise.
1889 (REG_CLASS_CONTENTS): Likewise.
1890 * config/aarch64/aarch64.c (aarch64_function_ok_for_sibcall):
1891 Allow tailcalling without decls.
1892
ed20ae98
TS
18932014-05-23 Thomas Schwinge <thomas@codesourcery.com>
1894
09af4b4c
TS
1895 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
1896 Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.
1897
ed20ae98
TS
1898 * omp-low.c (expand_omp_for_static_chunk): Rename variable si to
1899 gsi, and variables v_* to v*.
1900
4adf63f9
EB
19012014-05-23 Eric Botcazou <ebotcazou@adacore.com>
1902
1903 * varasm.c (output_constructor_bitfield): Fix thinkos in latest change.
1904
a5a5434f
TS
19052014-05-23 Thomas Schwinge <thomas@codesourcery.com>
1906
0aadce73
TS
1907 * gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
1908 * omp-low.c: Update accordingly.
1909
eb63c927
TS
1910 * gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
1911 for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
1912 GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
1913 GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
1914 GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
1915 GF_OMP_TARGET_KIND_UPDATE.
1916
a5a5434f
TS
1917 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
1918 Explicitly enumerate the expected region types.
1919
ee526ea7
PE
19202014-05-23 Paul Eggert <eggert@cs.ucla.edu>
1921
1922 PR other/56955
1923 * doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc))
1924 documentation; the old documentation didn't clearly state the
1925 constraints on the contents of the pointed-to storage.
1926
676cad4d
MK
19272014-05-23 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1928
1929 Fix bootstrap error on ia64
1930 * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
1931 Return default value.
1932
73984f84
TP
19332014-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
1934
1935 PR tree-optimization/54733
1936 * tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
1937 (CMPNOP): Define.
1938 (find_bswap_or_nop_load): New.
1939 (find_bswap_1): Renamed to ...
1940 (find_bswap_or_nop_1): This. Also add support for memory source.
1941 (find_bswap): Renamed to ...
1942 (find_bswap_or_nop): This. Also add support for memory source and
1943 detection of bitwise operations equivalent to load in host endianness.
1944 (execute_optimize_bswap): Likewise. Also move its leading comment back
1945 in place and split statement transformation into ...
1946 (bswap_replace): This.
1947
b17ec42d
VM
19482014-05-22 Vladimir Makarov <vmakarov@redhat.com>
1949
1950 PR rtl-optimization/61215
1951 * lra-elelimination.c (lra_eliminate_regs_1): Don't use
1952 simplify_gen_subreg until final substitution.
1953
ea9364db
AM
19542014-05-23 Alan Modra <amodra@gmail.com>
1955
1956 PR target/61231
1957 * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
1958 * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
1959 Use "Y" constraint rather than "m".
1960
aa87aced
KV
19612014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org>
1962
1963 * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
1964 define.
1965 * config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
1966 New function declaration.
1967 * config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
1968 AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
1969 AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
1970 (aarch64_init_builtins) : Initialize builtins
1971 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
1972 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
1973 (aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
1974 __builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
1975 and __builtins_aarch64_set_fpsr.
1976 (aarch64_atomic_assign_expand_fenv): New function.
1977 * config/aarch64/aarch64.md (set_fpcr): New pattern.
1978 (get_fpcr) : Likewise.
1979 (set_fpsr) : Likewise.
1980 (get_fpsr) : Likewise.
1981 (unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
1982 and UNSPECV_SET_FPSR.
1983 * doc/extend.texi (AARCH64 Built-in Functions) : Document
1984 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
1985 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
1986
0a1eb350
VM
19872014-05-22 Vladimir Makarov <vmakarov@redhat.com>
1988
1989 PR rtl-optimization/60969
1990 * ira-costs.c (record_reg_classes): Process NO_REGS for matching
1991 constraints. Set up mem cost for NO_REGS case.
1992
f6a7cffc
TS
19932014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1994
1995 * builtin-types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
1996
4000360e
BS
19972012-05-22 Bernd Schmidt <bernds@codesourcery.com>
1998
1999 * config/darwin.c: Include "lto-section-names.h".
2000 (LTO_SEGMENT_NAME): Don't define.
2001 * config/i386/winnt.c: Include "lto-section-names.h".
2002 * lto-streamer.c: Include "lto-section-names.h".
2003 * lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define.
2004 * lto-wrapper.c: Include "lto-section-names.h".
2005 (LTO_SECTION_NAME_PREFIX): Don't define.
2006 * lto-section-names.h: New file.
2007 * cgraphunit.c: Include "lto-section-names.h".
2008
c9aee450
PB
20092014-05-22 Peter Bergner <bergner@vnet.ibm.com>
2010
2011 * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
2012
37f2edf5
RE
20132014-05-22 Richard Earnshaw <rearnsha@arm.com>
2014
2015 PR target/61208
2016 * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
2017
1ad47ee5
NC
20182014-05-22 Nick Clifton <nickc@redhat.com>
2019
d4082970 2020 * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
1ad47ee5 2021
1f9c420b
EB
20222014-05-22 Eric Botcazou <ebotcazou@adacore.com>
2023
2024 * tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P
2025 -> (T)A transformation to integer types.
2026
e3f0315f
TJ
20272014-05-22 Teresa Johnson <tejohnson@google.com>
2028
2029 * gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
2030 (gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
2031 (gcov_rewrite): Use gcov_nonruntime_assert.
2032 (gcov_open): Ditto.
2033 (gcov_write_words): Ditto.
2034 (gcov_write_length): Ditto.
2035 (gcov_read_words): Use gcov_nonruntime_assert, and remove
2036 gcc_assert from IN_LIBGCOV code.
2037 (gcov_read_summary): Use gcov_error to flag profile corruption.
2038 (gcov_sync): Use gcov_nonruntime_assert.
2039 (gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
2040 (gcov_histo_index): Use gcov_nonruntime_assert.
2041 (static void gcov_histogram_merge): Ditto.
2042 (compute_working_sets): Ditto.
2043 * gcov-io.h (gcov_nonruntime_assert): Define.
2044 (gcov_error): Define for !IN_LIBGCOV
2045
c8f49949
RB
20462014-05-22 Richard Biener <rguenther@suse.de>
2047
2048 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
2049 BUILT_IN_REALLOC like BUILT_IN_STRDUP.
2050 (call_may_clobber_ref_p_1): Handle BUILT_IN_REALLOC as allocation
2051 and deallocation site.
2052 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
2053 Handle BUILT_IN_REALLOC similar to BUILT_IN_STRDUP with also
2054 passing through the incoming points-to set.
2055 (handle_lhs_call): Use flags argument instead of recomputing it.
2056 (find_func_aliases_for_call): Call handle_lhs_call with proper
2057 call return flags.
2058
a822564d
JJ
20592014-05-22 Jakub Jelinek <jakub@redhat.com>
2060
2061 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
2062 all padding bits in REAL_VALUE_TYPE are cleared.
2063
4960a0cb
MK
20642014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2065
2066 Cleanup and improve multipass_dfa_lookahead_guard
d4082970
MT
2067 * config/i386/i386.c (core2i7_first_cycle_multipass_filter_ready_try,)
2068 (core2i7_first_cycle_multipass_begin,)
2069 (core2i7_first_cycle_multipass_issue,)
2070 (core2i7_first_cycle_multipass_backtrack): Update signature.
2071 * config/ia64/ia64.c
2072 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Remove.
2073 (ia64_first_cycle_multipass_dfa_lookahead_guard): Update signature.
2074 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove
2075 hook definition.
2076 (ia64_first_cycle_multipass_dfa_lookahead_guard): Merge logic from
2077 ia64_first_cycle_multipass_dfa_lookahead_guard_spec. Update return
2078 values.
2079 * config/rs6000/rs6000.c (rs6000_use_sched_lookahead_guard): Update
2080 return values.
2081 * doc/tm.texi: Regenerate.
2082 * doc/tm.texi.in
2083 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove.
2084 * haifa-sched.c (ready_try): Make signed to allow negative values.
2085 (rebug_ready_list_1): Update.
2086 (choose_ready): Simplify.
2087 (sched_extend_ready_list): Update.
4960a0cb 2088
16d83dd6
MK
20892014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2090
2091 Remove IA64 speculation tweaking flags
d4082970
MT
2092 * config/ia64/ia64.c (ia64_set_sched_flags): Delete handling of
2093 speculation tuning flags.
2094 (msched-prefer-non-data-spec-insns,)
2095 (msched-prefer-non-control-spec-insns): Obsolete options.
2096 * haifa-sched.c (choose_ready): Remove handling of
2097 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
2098 * sched-int.h (enum SPEC_SCHED_FLAGS): Remove PREFER_NON_CONTROL_SPEC
2099 and PREFER_NON_DATA_SPEC.
2100 * sel-sched.c (process_spec_exprs): Remove handling of
2101 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
16d83dd6 2102
69da098b
MK
21032014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2104
2105 Improve scheduling debug output
2106 * haifa-sched.c (debug_ready_list): Remove unnecessary prototype.
2107 (advance_one_cycle): Update.
2108 (schedule_insn, queue_to_ready): Add debug printouts.
2109 (debug_ready_list_1): New static function.
2110 (debug_ready_list): Update.
2111 (max_issue): Add debug printouts.
2112 (dump_insn_stream): New static function.
2113 (schedule_block): Use it. Also better indent printouts.
2114
21152014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2116
2117 Fix sched_insn debug counter
2118 * haifa-sched.c (schedule_insn): Update.
2119 (struct haifa_saved_data): Add nonscheduled_insns_begin.
2120 (save_backtrack_point, restore_backtrack_point): Update.
2121 (first_nonscheduled_insn): New static function.
2122 (queue_to_ready, choose_ready): Use it.
2123 (schedule_block): Init nonscheduled_insns_begin.
2124 (sched_emit_insn): Update.
2125
2126
a4a182c6
KV
21272014-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
2128
2129 * config/aarch64/aarch64.c (aarch64_regno_regclass) : Change CORE_REGS
2130 to GENERAL_REGS.
2131 (aarch64_secondary_reload) : LikeWise.
2132 (aarch64_class_max_nregs) : Remove CORE_REGS.
2133 * config/aarch64/aarch64.h (enum reg_class) : Remove CORE_REGS.
2134 (REG_CLASS_NAMES) : Likewise.
2135 (REG_CLASS_CONTENTS) : LikeWise.
2136 (INDEX_REG_CLASS) : Change CORE_REGS to GENERAL_REGS.
2137
9652331a
GW
21382014-05-21 Guozhi Wei <carrot@google.com>
2139
2140 PR target/61202
2141 * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
2142 constraint.
2143 (vqdmulhq_n_s16): Likewise.
2144
0bfba043
SB
21452014-05-21 Segher Boessenkool <segher@kernel.crashing.org>
2146
2147 * config/rs6000/predicates.md (update_indexed_address_mem): Delete.
2148
1edb7356
MP
21492014-05-21 Marek Polacek <polacek@redhat.com>
2150
2151 PR sanitizer/61272
2152 * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
2153
2acb1027
MJ
21542014-05-21 Martin Jambor <mjambor@suse.cz>
2155
2156 * doc/invoke.texi (Optimize Options): Document parameters
2157 ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
2158 ipa-cp-array-index-hint-bonus.
2159
7315daa6
MW
21602014-05-21 Mark Wielaard <mjw@redhat.com>
2161
2162 PR debug/16063
2163 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_type if DWARF
2164 version >= 3 or not strict DWARF.
2165 * langhooks.h (struct lang_hooks_for_types): Add
2166 enum_underlying_base_type.
2167 * langhooks.c (lhd_enum_underlying_base_type): New function.
2168 * gcc/langhooks.h (struct lang_hooks_for_types): Add
2169 enum_underlying_base_type.
2170 * langhooks-def.h (lhd_enum_underlying_base_type): New declaration.
2171 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): New define.
2172 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add new lang hook.
2173
95989e5c
RB
21742014-05-21 Richard Biener <rguenther@suse.de>
2175
d4082970 2176 * doc/invoke.texi (-flto-partition=): Document one and none algorithms.
95989e5c 2177
dbed5a9b
JM
21782014-05-21 John Marino <gnugcc@marino.st>
2179
2180 * config.gcc (*-*-dragonfly*): New target.
2181 * configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
2182 * configure: Regenerate.
2183 * config/dragonfly-stdint.h: New.
2184 * config/dragonfly.h: New.
2185 * config/dragonfly.opt: New.
2186 * config/i386/dragonfly.h: New.
2187 * ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
2188
632f2871
RS
21892014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2190
2191 * tree.def (VOID_CST): New.
2192 * tree-core.h (TI_VOID): New.
2193 * tree.h (void_node): New.
2194 * tree.c (tree_node_structure_for_code, tree_code_size)
2195 (iterative_hash_expr): Handle VOID_CST.
2196 (build_common_tree_nodes): Initialize void_node.
2197
8a9e6b45
BS
21982014-05-21 Bernd Schmidt <bernds@codesourcery.com>
2199
bffe67e7
BS
2200 * reload1.c (remove_init_insns, will_delete_init_insn_p): New static
2201 functions.
2202 (reload, calculate_needs_all_insns, reload_as_needed): Use them.
2203
0836b77f
BS
2204 * config/bfin/bfin.c (split_load_immediate): Use gen_int_mode in a few
2205 more places.
2206
8a9e6b45
BS
2207 * cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
2208 flag_reorder_blocks_and_partition.
2209 * hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.
2210
c4e5de1b
OE
22112014-05-21 Oleg Endo <olegendo@gcc.gnu.org>
2212
2213 PR target/54236
2214 * config/sh/sh.md (*addc_r_1): Rename to addc_t_r. Remove empty
2215 constraints.
2216 (*addc_r_t): Add new insn_and_split.
2217
decaaec8
JJ
22182014-05-21 Jakub Jelinek <jakub@redhat.com>
2219
2220 PR middle-end/61252
2221 * omp-low.c (handle_simd_reference): New function.
2222 (lower_rec_input_clauses): Use it. Defer adding reference
2223 initialization even for reduction without placeholder if in simd,
2224 handle it properly later on.
2225
3aaf0529
JH
22262014-05-20 Jan Hubicka <hubicka@ucw.cz>
2227
2228 PR tree-optimization/60899
2229 * gimple-fold.c (can_refer_decl_in_current_unit_p): Cleanup;
2230 assume all static symbols will have definition wile parsing and
2231 check the do have definition later in compilation; check that
2232 variable referring symbol will be output before concluding that
2233 reference is safe; be conservative for referring local statics;
2234 be more precise about when comdat is output in other partition.
2235
1bbb87c4
JH
22362014-05-20 Jan Hubicka <hubicka@ucw.cz>
2237
2238 PR bootstrap/60984
d4082970
MT
2239 * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
2240 parameter.
1bbb87c4 2241 * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
d4082970
MT
2242 (ipa_inline): Loop inline_to_all_callers until no more aliases
2243 are removed.
1bbb87c4 2244
d5ce4663
JH
22452014-05-20 Jan Hubicka <hubicka@ucw.cz>
2246
2247 * ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
2248 set writeonly flag only for vars actually written to.
2249
98339851
DC
22502014-05-20 Dehao Chen <dehao@google.com>
2251
2252 * ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count
2253 and callee count to get clone count.
2254 * tree-inline.c (expand_call_inline): Use callee count instead of bb
2255 count in copy_body.
2256
ec27069c
RS
22572014-05-20 Richard Sandiford <rdsandiford@googlemail.com>
2258
2259 PR rtl-optimization/61243
2260 * emit-rtl.c (emit_copy_of_insn_after): Copy CROSSING_JUMP_P.
2261
2b5f0895
XDL
22622014-05-20 Xinliang David Li <davidxl@google.com>
2263
2264 * cgraphunit.c (walk_polymorphic_call_targets): Add
2265 dbgcnt and fopt-info support.
2266 * ipa-prop.c (ipa_make_edge_direct_to_target): Ditto.
2267 * ipa-devirt.c (ipa_devirt): Ditto.
d4082970 2268 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Ditto.
2b5f0895
XDL
2269 * ipa.c (walk_polymorphic_call_targets): Ditto.
2270 * gimple-fold.c (fold_gimple_assign): Ditto.
2271 (gimple_fold_call): Ditto.
2272 * dbgcnt.def: New counter.
2273
9c5f6203
DD
22742014-05-20 DJ Delorie <dj@redhat.com>
2275
2276 * config/msp430/msp430.md (split): Don't allow subregs when
2277 splitting SImode adds.
2278 (andneghi): Fix subtraction logic.
2279 * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
2280
cf288ed3
JH
22812014-05-20 Jan Hubicka <hubicka@ucw.cz>
2282
2283 * tree.h (DECL_ONE_ONLY): Return true only for externally visible
2284 symbols.
2285 * except.c (switch_to_exception_section, resolve_unique_section,
d4082970 2286 get_named_text_section, default_function_rodata_section,
cf288ed3
JH
2287 align_variable, get_block_for_decl, default_section_type_flags):
2288 Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.
2289 * symtab.c (symtab_add_to_same_comdat_group,
2290 symtab_make_decl_local, fixup_same_cpp_alias_visibility,
2291 symtab_nonoverwritable_alias, symtab_get_symbol_partitioning_class):
2292 Likewise.
2293 * cgraphclones.c (cgraph_create_virtual_clone): Likewise.
2294 * bb-reorder.c (pass_partition_blocks::gate): Likewise.
2295 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
2296 (c6x_function_in_section_p): Likewise.
2297 * config/darwin.c (machopic_select_section): Likewise.
2298 * config/arm/arm.c (arm_function_in_section_p): Likewise.
2299 * config/mips/mips.c (mips_function_rodata_section): Likewise.
2300 * config/mep/mep.c (mep_select_section): LIkewise.
2301 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
2302
7eab31ed
EB
23032014-05-20 Eric Botcazou <ebotcazou@adacore.com>
2304
2305 * tree-ssa-dom.c (hashable_expr_equal_p) <EXPR_CALL>: Also compare the
2306 EH region of calls to pure functions that can throw an exception.
2307 * tree-ssa-sccvn.c (vn_reference_eq): Remove duplicated test.
2308 (copy_reference_ops_from_call): Also copy the EH region of the call if
2309 it can throw an exception.
2310
ec217bd8
BS
23112014-05-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2312
2313 * simplify-rtx.c (simplify_binary_operation_1): Optimize case of
2314 nested VEC_SELECTs that are inverses of each other.
2315
b2b222b3
RB
23162014-05-20 Richard Biener <rguenther@suse.de>
2317
d4082970 2318 * tree-ssa-sccvn.c (process_scc): Dump SCC here, when iterating,
b2b222b3
RB
2319 (extract_and_process_scc_for_name): not here.
2320 (cond_dom_walker::before_dom_children): Only process
2321 stmts that end the BB in interesting ways.
2322 (run_scc_vn): Mark param uses as visited.
2323
e9ea5185
KT
23242014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2325
2326 * config/arm/arm.md (arith_shiftsi): Do not predicate for
2327 arm_restrict_it.
2328
8f0e7f6f
NC
23292014-05-20 Nick Clifton <nickc@redhat.com>
2330
467fc67c
NC
2331 * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
2332 (msp430_gimplify_va_arg_expr): New function.
2333 (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
2334
8f0e7f6f
NC
2335 * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
2336 operand 0 in order to prevent confusion about the number of
2337 registers involved.
2338
d1c0308e
RB
23392014-05-20 Richard Biener <rguenther@suse.de>
2340
2341 PR tree-optimization/61221
2342 * tree-ssa-pre.c (el_to_update): Remove.
2343 (eliminate_dom_walker::before_dom_children): Handle released
2344 VDEFs by value-numbering them to the associated VUSE. Update
2345 stmt immediately for substituted call address.
2346 (eliminate): Remove delayed stmt updating code.
2347 * tree-ssa-sccvn.c (vuse_ssa_val): New function valueizing
2348 possibly late re-numbered vuses.
2349 (vn_reference_lookup_2): Adjust.
2350 (vn_reference_lookup_pieces): Likewise.
2351 (vn_reference_lookup): Likewise.
2352
54da09ee
RB
23532014-05-20 Richard Biener <rguenther@suse.de>
2354
2355 * config.gcc: Remove need_64bit_hwint.
2356 * configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
2357 * hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
2358 it to be true.
2359 * config.in: Regenerate.
2360 * configure: Likewise.
2361
883755a1
DW
23622014-05-19 David Wohlferd <dw@LimeGreenSocks.com>
2363
2364 * doc/extend.texi: Create Label Attributes section,
2365 move all label attributes into it and reference it.
2366
514b3156
RE
23672014-05-19 Richard Earnshaw <rearnsha@arm.com>
2368
2369 * arm.c (thumb1_reorg): When scanning backwards skip anything
2370 that's not a proper insn.
2371
1d44def2
RB
23722014-05-19 Richard Biener <rguenther@suse.de>
2373
2374 PR tree-optimization/61221
2375 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
2376 Do nothing for unreachable blocks.
2377 * tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
2378 Improve unreachability detection.
2379
05135136
RB
23802014-05-19 Richard Biener <rguenther@suse.de>
2381
2382 PR tree-optimization/61209
2383 * tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
2384
40ba8dfb
NC
23852014-05-19 Nick Clifton <nickc@redhat.com>
2386
2387 * except.c (init_eh): Fix computation of builtin setjmp buffer
2388 size to allow for targets where POINTER_SIZE > BITS_PER_WORD.
2389
cb460086
RB
23902014-05-19 Richard Biener <rguenther@suse.de>
2391
2392 PR tree-optimization/61184
2393 * tree-vrp.c (is_negative_overflow_infinity): Use
2394 TREE_OVERFLOW_P and do that check first.
2395 (is_positive_overflow_infinity): Likewise.
2396 (is_overflow_infinity): Likewise.
2397 (vrp_operand_equal_p): Properly treat operands with
2398 differing overflow as not equal.
2399
bddd3671
BS
24002014-05-19 Bernd Schmidt <bernds@codesourcery.com>
2401
2402 * simplify-rtx.c (simplify_unary_operation_1): Use CONST_INT_P in
2403 shift simplification where it was intended.
2404
72d82e7a
CB
24052014-05-19 Christian Bruel <christian.bruel@st.com>
2406
2407 PR target/61195
2408 * config/sh/sh.md (movsf_ie): Unset fp_mode for fmov.
2409
34dbb287
RS
24102014-05-19 Richard Sandiford <r.sandiford@uk.ibm.com>
2411
2412 PR target/61084
2413 * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
2414 than wide_int.
2415
339ba33b
RS
24162014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
2417
2418 * reg-notes.def (CROSSING_JUMP): Likewise.
2419 * rtl.h (rtx_def): Update comment for jump flag.
2420 (CROSSING_JUMP_P): Define.
2421 * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
2422 of a REG_CROSSING_JUMP note.
2423 * cfghooks.c (tidy_fallthru_edges): Likewise.
2424 * cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
2425 * emit-rtl.c (try_split): Likewise.
2426 * haifa-sched.c (sched_create_recovery_edges): Likewise.
2427 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
2428 * jump.c (redirect_jump_2): Likewise.
2429 * reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
2430 (relax_delay_slots): Likewise.
2431 * config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
2432 (bbit_di): Likewise.
2433 * config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
2434 * config/sh/sh.md (jump_compact): Likewise.
2435 * bb-reorder.c (rotate_loop): Likewise.
2436 (pass_duplicate_computed_gotos::execute): Likewise.
2437 (add_reg_crossing_jump_notes): Rename to...
2438 (update_crossing_jump_flags): ...this.
2439 (pass_partition_blocks::execute): Update accordingly.
2440
a65d5b87
RS
24412014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
2442
2443 * tree.h: Remove extraneous template <>.
2444
7b3376a0
JH
24452014-05-17 Jan Hubicka <hubicka@ucw.cz>
2446
2447 * ipa.c (symtab_remove_unreachable_nodes): Remove
2448 symbol from comdat group if its body was eliminated.
d4082970
MT
2449 (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
2450 * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
7b3376a0
JH
2451 (symtab_unregister_node): ... this one.
2452 (verify_symtab_base): More strict checking of comdats.
2453 * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
2454
a04d9035
JH
24552014-05-17 Jan Hubicka <hubicka@ucw.cz>
2456
2457 * tree-pass.h (make_pass_ipa_comdats): New pass.
2458 * timevar.def (TV_IPA_COMDATS): New timevar.
2459 * passes.def (pass_ipa_comdats): Add.
2460 * Makefile.in (OBJS): Add ipa-comdats.o
2461 * ipa-comdats.c: New file.
2462
24a71ba8
JH
24632014-05-17 Jan Hubicka <hubicka@ucw.cz>
2464
2465 * ipa.c (update_visibility_by_resolution_info): New function.
2466 (function_and_variable_visibility): Use it.
2467
d6d229c6
JH
24682014-05-17 Jan Hubicka <hubicka@ucw.cz>
2469
2470 * cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
2471 New functions.
2472 (FOR_EACH_DEFINED_SYMBOL): New macro.
2473 (varpool_first_static_initializer, varpool_next_static_initializer,
d4082970
MT
2474 varpool_first_defined_variable, varpool_next_defined_variable):
2475 Fix comments.
d6d229c6
JH
2476 (symtab_in_same_comdat_p): Correctly deal with inline functions.
2477
c3af645c
TS
24782014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2479
2480 * ggc-page.c (ggc_handle_finalizers): Add comment.
2481
de49ce19
TS
24822014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2483
2484 * ggc-common.c (ggc_internal_cleared_alloc): Adjust.
2485 * ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
2486 (ggc_internal_cleared_alloc): Likewise.
2487 * ggc-page.c (finalizer): New class.
16f8dfdb 2488 (vec_finalizer): Likewise.
de49ce19 2489 (globals::finalizers): New member.
16f8dfdb 2490 (globals::vec_finalizers): Likewise.
de49ce19
TS
2491 (ggc_internal_alloc): Record the finalizer if any for the block being
2492 allocated.
2493 (ggc_handle_finalizers): New function.
2494 (ggc_collect): Call ggc_handle_finalizers.
2495 * ggc.h (ggc_internal_alloc): Add arguments to allow installing a
2496 finalizer.
2497 (ggc_internal_cleared_alloc): Likewise.
2498 (finalize): New function.
2499 (need_finalization_p): Likewise.
2500 (ggc_alloc): Install the type's destructor as the finalizer if it
2501 might do something.
2502 (ggc_cleared_alloc): Likewise.
2503 (ggc_vec_alloc): Likewise.
2504 (ggc_cleared_vec_alloc): Likewise.
2505
04eec987
TS
25062014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2507
2508 * ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.
2509
766090c2
TS
25102014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2511
2512 * alias.c (record_alias_subset): Adjust.
2513 * bitmap.c (bitmap_element_allocate): Likewise.
2514 (bitmap_gc_alloc_stat): Likewise.
2515 * cfg.c (init_flow): Likewise.
2516 (alloc_block): Likewise.
2517 (unchecked_make_edge): Likewise.
2518 * cfgloop.c (alloc_loop): Likewise.
2519 (flow_loops_find): Likewise.
2520 (rescan_loop_exit): Likewise.
2521 * cfgrtl.c (init_rtl_bb_info): Likewise.
2522 * cgraph.c (insert_new_cgraph_node_version): Likewise.
2523 (cgraph_allocate_node): Likewise.
2524 (cgraph_create_edge_1): Likewise.
2525 (cgraph_allocate_init_indirect_info): Likewise.
2526 * cgraphclones.c (cgraph_clone_edge): Likewise.
2527 * cgraphunit.c (add_asm_node): Likewise.
2528 (init_lowered_empty_function): Likewise.
16f8dfdb 2529 * config/aarch64/aarch64.c (aarch64_init_machine_status): Likewise.
766090c2
TS
2530 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
2531 (alpha_use_linkage): Likewise.
2532 * config/arc/arc.c (arc_init_machine_status): Likewise.
2533 * config/arm/arm.c (arm_init_machine_status): Likewise.
2534 * config/avr/avr.c (avr_init_machine_status): Likewise.
2535 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
2536 * config/c6x/c6x.c (c6x_init_machine_status): Likewise.
2537 * config/cris/cris.c (cris_init_machine_status): Likewise.
2538 * config/darwin.c (machopic_indirection_name): Likewise.
2539 (darwin_build_constant_cfstring): Likewise.
2540 (darwin_enter_string_into_cfstring_table): Likewise.
16f8dfdb 2541 * config/epiphany/epiphany.c (epiphany_init_machine_status): Likewise.
766090c2
TS
2542 * config/frv/frv.c (frv_init_machine_status): Likewise.
2543 * config/i386/i386.c (get_dllimport_decl): Likewise.
2544 (ix86_init_machine_status): Likewise.
2545 (assign_386_stack_local): Likewise.
16f8dfdb 2546 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
766090c2
TS
2547 (i386_pe_maybe_record_exported_symbol): Likewise.
2548 (i386_pe_record_stub): Likewise.
2549 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
2550 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
2551 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
2552 (m32c_note_pragma_address): Likewise.
2553 * config/mep/mep.c (mep_init_machine_status): Likewise.
2554 (mep_note_pragma_flag): Likewise.
2555 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
2556 (mips16_local_alias): Likewise.
2557 (mips_init_machine_status): Likewise.
2558 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
2559 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
2560 * config/msp430/msp430.c (msp430_init_machine_status): Likewise.
2561 * config/nds32/nds32.c (nds32_init_machine_status): Likewise.
2562 * config/nios2/nios2.c (nios2_init_machine_status): Likewise.
2563 * config/pa/pa.c (pa_init_machine_status): Likewise.
2564 (pa_get_deferred_plabel): Likewise.
2565 * config/rl78/rl78.c (rl78_init_machine_status): Likewise.
2566 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
2567 (rs6000_init_machine_status): Likewise.
2568 (output_toc): Likewise.
2569 * config/s390/s390.c (s390_init_machine_status): Likewise.
2570 * config/score/score.c (score_output_external): Likewise.
2571 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
2572 * config/spu/spu.c (spu_init_machine_status): Likewise.
2573 * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
16f8dfdb 2574 * config/tilepro/tilepro.c (tilepro_init_machine_status): Likewise.
766090c2
TS
2575 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
2576 * coverage.c (coverage_end_function): Likewise.
2577 * dbxout.c (dbxout_init): Likewise.
2578 * doc/gty.texi: Don't mention variable_size attribute.
2579 * dwarf2cfi.c (new_cfi): Adjust.
2580 (new_cfi_row): Likewise.
2581 (copy_cfi_row): Likewise.
2582 (create_cie_data): Likewise.
2583 * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
2584 (new_loc_descr): Likewise.
2585 (find_AT_string_in_table): Likewise.
2586 (add_addr_table_entry): Likewise.
2587 (new_die): Likewise.
2588 (add_var_loc_to_decl): Likewise.
2589 (clone_die): Likewise.
2590 (clone_as_declaration): Likewise.
2591 (break_out_comdat_types): Likewise.
2592 (new_loc_list): Likewise.
2593 (add_loc_descr_to_each): Likewise.
2594 (add_location_or_const_value_attribute): Likewise.
2595 (add_linkage_name): Likewise.
2596 (lookup_filename): Likewise.
2597 (dwarf2out_var_location): Likewise.
2598 (new_line_info_table): Likewise.
2599 (dwarf2out_init): Likewise.
2600 (mem_loc_descriptor): Likewise.
2601 (loc_descriptor): Likewise.
2602 (add_const_value_attribute): Likewise.
2603 (tree_add_const_value_attribute): Likewise.
2604 (comp_dir_string): Likewise.
2605 (dwarf2out_vms_debug_main_pointer): Likewise.
2606 (string_cst_pool_decl): Likewise.
2607 * emit-rtl.c (set_mem_attrs): Likewise.
2608 (get_reg_attrs): Likewise.
2609 (start_sequence): Likewise.
2610 (init_emit): Likewise.
2611 (init_emit_regs): Likewise.
2612 * except.c (init_eh_for_function): Likewise.
2613 (gen_eh_region): Likewise.
2614 (gen_eh_region_catch): Likewise.
2615 (gen_eh_landing_pad): Likewise.
2616 (add_call_site): Likewise.
2617 * function.c (add_frame_space): Likewise.
2618 (insert_temp_slot_address): Likewise.
2619 (assign_stack_temp_for_type): Likewise.
2620 (get_hard_reg_initial_val): Likewise.
2621 (allocate_struct_function): Likewise.
2622 (prepare_function_start): Likewise.
2623 (types_used_by_var_decl_insert): Likewise.
2624 * gengtype.c (variable_size_p): Remove function.
2625 (enum alloc_quantity): Remove enum.
2626 (write_typed_alloc_def): Remove function.
2627 (write_typed_struct_alloc_def): Likewise.
2628 (write_typed_typedef_alloc_def): Likewise.
2629 (write_typed_alloc_defns): Likewise.
2630 (main): Adjust.
2631 * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
2632 (ggc_cleared_alloc_ptr_array_two_args): Likewise.
2633 * ggc.h (ggc_alloc): new function.
2634 (ggc_cleared_alloc): Likewise.
2635 (ggc_vec_alloc): Template on type of vector element, and remove
2636 element size argument.
2637 (ggc_cleared_vec_alloc): Likewise.
2638 * gimple.c (gimple_build_omp_for): Adjust.
2639 (gimple_copy): Likewise.
2640 * ipa-cp.c (get_replacement_map): Likewise.
2641 (find_aggregate_values_for_callers_subset): Likewise.
2642 (known_aggs_to_agg_replacement_list): Likewise.
2643 * ipa-devirt.c (get_odr_type): Likewise.
2644 * ipa-prop.c (ipa_node_duplication_hook): Likewise.
2645 (read_agg_replacement_chain): Likewise.
2646 * loop-iv.c (get_simple_loop_desc): Likewise.
2647 * lto-cgraph.c (input_node_opt_summary): Likewise.
2648 * lto-section-in.c (lto_new_in_decl_state): Likewise.
2649 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
2650 (input_eh_region): Likewise.
2651 (input_eh_lp): Likewise.
2652 (input_cfg): Likewise.
2653 * optabs.c (set_optab_libfunc): Likewise.
2654 (init_tree_optimization_optabs): Likewise.
2655 (set_conv_libfunc): Likewise.
2656 * passes.c (do_per_function_toporder): Likewise.
2657 * rtl.h: Don't use variable_size gty attribute.
2658 * sese.c (if_region_set_false_region): Adjust.
2659 * stringpool.c (gt_pch_save_stringpool): Likewise.
2660 * target-globals.c (save_target_globals): Likewise.
2661 * toplev.c (general_init): Likewise.
2662 * trans-mem.c (record_tm_replacement): Likewise.
2663 (split_bb_make_tm_edge): Likewise.
2664 * tree-cfg.c (move_sese_region_to_fn): Likewise.
2665 * tree-data-ref.h (lambda_vector_new): Likewise.
2666 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
2667 * tree-iterator.c (tsi_link_before): Likewise.
2668 (tsi_link_after): Likewise.
2669 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
2670 * tree-ssa-loop-niter.c (record_estimate): Likewise.
2671 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
2672 * tree-ssa-operands.h: Don't use variable_size gty attribute.
2673 * tree-ssa.c (init_tree_ssa): Adjust.
2674 * tree-ssanames.c (set_range_info): Likewise.
2675 (get_ptr_info): Likewise.
2676 (duplicate_ssa_name_ptr_info): Likewise.
2677 (duplicate_ssa_name_range_info): Likewise.
2678 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
2679 (unpack_ts_fixed_cst_value_fields): Likewise.
2680 * tree.c (build_fixed): Likewise.
2681 (build_real): Likewise.
2682 (build_string): Likewise.
2683 (decl_priority_info): Likewise.
2684 (decl_debug_expr_insert): Likewise.
2685 (decl_value_expr_insert): Likewise.
2686 (decl_debug_args_insert): Likewise.
2687 (type_hash_add): Likewise.
2688 (build_omp_clause): Likewise.
2689 * ubsan.c (decl_for_type_insert): Likewise.
2690 * varasm.c (get_unnamed_section): Likewise.
2691 (get_noswitch_section): Likewise.
2692 (get_section): Likewise.
2693 (get_block_for_section): Likewise.
2694 (create_block_symbol): Likewise.
2695 (build_constant_desc): Likewise.
2696 (create_constant_pool): Likewise.
2697 (force_const_mem): Likewise.
2698 (record_tm_clone_pair): Likewise.
2699 * varpool.c (varpool_create_empty_node): Likewise.
2700
231120e5
TS
27012014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2702
2703 * dwarf2out.c (tree_add_const_value_attribute): Call
2704 ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
2705 * gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
2706 instead of ggc_internal_<x>alloc_stat.
2707 * ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
2708 (ggc_realloc): Likewise.
2709 * ggc-none.c (ggc_internal_alloc): Likewise.
2710 (ggc_internal_cleared_alloc): Likewise.
2711 * ggc-page.c: Likewise.
2712 * ggc.h (ggc_internal_alloc_stat): Likewise.
2713 (ggc_internal_alloc): Remove macro.
2714 (ggc_internal_cleared_alloc_stat): Drop _stat suffix.
2715 (ggc_internal_cleared_alloc): Remove macro.
2716 (GGC_RESIZEVEC): Adjust.
2717 (ggc_resizevar): Remove macro.
2718 (ggc_internal_vec_alloc_stat): Drop _stat suffix.
2719 (ggc_internal_cleared_vec_alloc_stat): Likewise.
2720 (ggc_internal_vec_cleared_alloc): Remove macro.
2721 (ggc_alloc_atomic_stat): Drop _stat suffix.
2722 (ggc_alloc_atomic): Remove macro.
2723 (ggc_alloc_cleared_atomic): Remove macro.
2724 (ggc_alloc_string_stat): Drop _stat suffix.
2725 (ggc_alloc_string): Remove macro.
2726 (ggc_alloc_rtx_def_stat): Adjust.
2727 (ggc_alloc_tree_node_stat): Likewise.
2728 (ggc_alloc_cleared_tree_node_stat): Likewise.
2729 (ggc_alloc_cleared_gimple_statement_stat): Likewise.
2730 (ggc_alloc_cleared_simd_clone_stat): Likewise.
2731 * gimple.c (gimple_build_omp_for): Likewise.
2732 (gimple_copy): Likewise.
2733 * stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
2734 * toplev.c (realloc_for_line_map): Adjust.
2735 * tree-data-ref.h (lambda_vector_new): Likewise.
2736 * tree-phinodes.c (allocate_phi_node): Likewise.
2737 * tree.c (grow_tree_vec_stat): Likewise.
2738 * vec.h (va_gc::reserve): Adjust.
2739
16f8dfdb 27402014-05-17 Ajit Agarwal <ajitkum@xilinx.com>
86498dba 2741
16f8dfdb
UB
2742 * config/microblaze/microblaze.c (break_handler): New Declaration.
2743 (microblaze_break_function_p,microblaze_is_break_handler): New.
2744 (compute_frame_size): Use microblaze_break_function_p.
2745 Add the test of break_handler.
2746 (microblaze_function_prologue) : Add the test of variable
2747 break_handler. Check the fnname by BREAK_HANDLER_NAME.
2748 (microblaze_function_epilogue) : Add the test of break_handler.
2749 (microblaze_globalize_label) : Add the test of break_handler.
2750 Check the name by BREAK_HANDLER_NAME.
86498dba 2751
16f8dfdb 2752 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME): New macro
86498dba 2753
16f8dfdb
UB
2754 * config/microblaze/microblaze.md (*<optab>,<optab>_internal): Add
2755 microblaze_is_break_handler test.
2756 (call_internal1,call_value_intern): Use microblaze_break_function_p.
2757 Use SYMBOL_REF_DECL.
86498dba
AA
2758
2759 * config/microblaze/microblaze-protos.h
16f8dfdb
UB
2760 (microblaze_break_function_p,microblaze_is_break_handler):
2761 New Declaration.
86498dba 2762
16f8dfdb
UB
2763 * doc/extend.texi (MicroBlaze break_handler Functions): Document
2764 new MicroBlaze break_handler functions.
86498dba 2765
71ca3028
UB
27662014-05-17 Uros Bizjak <ubizjak@gmail.com>
2767
2768 * doc/extend.texi (Size of an asm): Move node text according
2769 to its @menu entry position.
2770
87a34442
MG
27712014-05-17 Marc Glisse <marc.glisse@inria.fr>
2772
2773 PR tree-optimization/61140
2774 PR tree-optimization/61150
2775 PR tree-optimization/61197
2776 * tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
2777
6ca74b5c
UB
27782014-05-17 Uros Bizjak <ubizjak@gmail.com>
2779
2780 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
2781
60f82c42
RS
27822014-05-17 Richard Sandiford <r.sandiford@uk.ibm.com>
2783
2784 * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
2785 __SIZEOF_INT128__ is defined.
2786
a1242f17
RS
27872014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
2788
2789 * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
2790 (rs6000_delegitimize_address): Use it.
2791
23b33725
RS
27922014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
2793
2794 * emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
2795 inplace argument. Store the new address in the original MEM when true.
2796 * emit-rtl.c (change_address_1): Likewise.
2797 (adjust_address_1, adjust_automodify_address_1, offset_address):
2798 Update accordingly.
2799 * rtl.h (plus_constant): Add an inplace argument.
2800 * explow.c (plus_constant): Likewise. Try to reuse the original PLUS
2801 when true. Avoid generating (plus X (const_int 0)).
2802 * function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
2803 in-place. Pass true to plus_constant.
2804 (instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.
2805
2f6eed01
DC
28062014-05-16 Dehao Chen <dehao@google.com>
2807
2808 * tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
2809
b200de02
OE
28102014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
2811
2812 PR target/54089
2813 * config/sh/predicates.md (negt_reg_shl31_operand): Match additional
2814 patterns.
2815 * config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.
2816
cf40f973
DC
28172014-05-16 Dehao Chen <dehao@google.com>
2818
6b8ebd00
UB
2819 * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use
2820 optimize_function_for_size_p.
cf40f973
DC
2821 * regs.h (REG_FREQ_FROM_BB): Likewise.
2822
48d8568e
OE
28232014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
2824
2825 PR target/51244
2826 * config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
2827 negt_reg_operand cases.
2828 * config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
2829 predicate.
2830 * config/sh/predicates.md (cbranch_treg_value): Simplify.
2831
d580af0f
OE
28322014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
2833
2834 * config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
2835 target variants.
2836
6c7571a2
DM
28372014-05-16 David Malcolm <dmalcolm@redhat.com>
2838
2839 Revert:
2840 2014-04-29 David Malcolm <dmalcolm@redhat.com>
2841
2842 * tree-cfg.c (dump_function_to_file): Dump the return type of
2843 functions, in a line to itself before the function body, mimicking
2844 the layout of a C function.
2845
b0e66512
DC
28462014-05-16 Dehao Chen <dehao@google.com>
2847
2848 * cfghooks.c (make_forwarder_block): Use direct computation to
2849 get fall-through edge's count and frequency.
2850
6b8ebd00 28512014-05-16 Benno Schulenberg <bensberg@justemail.net>
2236746b
BS
2852
2853 * config/arc/arc.c (arc_init): Fix typo in error message.
2854 * config/i386/i386.c (ix86_expand_builtin): Likewise.
2855 (split_stack_prologue_scratch_regno): Likewise.
2856 * fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
2857 word from error message.
2858
420ab54b
ZZ
28592014-05-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
2860
2861 * ira-costs.c: Fix typo in comment.
2862
8e90f610
DW
28632014-05-16 David Wohlferd <dw@LimeGreenSocks.com>
2864
6b8ebd00 2865 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref
8e90f610 2866
6de88c6a
JH
28672014-05-16 Jan Hubicka <hubicka@ucw.cz>
2868
2869 * varpool.c (dump_varpool_node): Dump write-only flag.
2870 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
2871 write-only flag.
6b8ebd00
UB
2872 * tree-cfg.c (execute_fixup_cfg): Remove statements setting
2873 write-only variables.
2874 * ipa.c (process_references): New function.
2875 (set_readonly_bit): New function.
2876 (set_writeonly_bit): New function.
2877 (clear_addressable_bit): New function.
2878 (ipa_discover_readonly_nonaddressable_var): Mark write only variables;
2879 fix handling of aliases.
2880 * cgraph.h (struct varpool_node): Add writeonly flag.
6de88c6a 2881
f4e075e7
VM
28822014-05-16 Vladimir Makarov <vmakarov@redhat.com>
2883
2884 PR rtl-optimization/60969
2885 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
2886 Calculate costs for this case.
2887
8b628e86
EB
28882014-05-16 Eric Botcazou <ebotcazou@adacore.com>
2889
2890 * fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
2891 <CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
2892
52264dbf
RB
28932014-05-16 Richard Biener <rguenther@suse.de>
2894
2895 PR tree-optimization/61194
2896 * tree-vect-patterns.c (adjust_bool_pattern): Also handle
2897 bool patterns ending in a COND_EXPR.
2898
3d840f7d
JG
28992014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2900
2901 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
2902
88d4fbcf
JG
29032014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2904
2905 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
2906 where we were unable to cost an RTX.
2907
909734be
JG
29082014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2909
2910 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
2911 HIGH, LO_SUM.
2912
fb620c4a
JG
29132014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2914 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2915
2916 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.
2917
b292109f
JG
29182014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2919 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2920
2921 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
2922 FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.
2923
a8eecd00
JG
29242014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2925 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2926
2927 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
2928 operators.
2929
4105fe38
JG
29302014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2931 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2932
2933 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
2934 DIV/MOD.
2935
29362014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
7cc2145f
JG
2937 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2938
2939 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
2940 (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.
2941
ba0cfa17
JG
29422014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2943 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2944
2945 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
2946 rotates and shifts.
2947
b1685e62
JG
29482014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2949 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2950
2951 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
2952 ZERO_EXTEND and SIGN_EXTEND better.
2953
268c3b47
JG
29542014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2955 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2956
2957 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
2958 logical operations.
2959
2961177e
JG
29602014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2961 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2962
2963 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
2964 costs when costing loads and stores to memory.
2965
ba123b0d
JG
29662014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2967 Philip Tomsich <philipp.tomsich@theobroma-systems.com>
2968
2969 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
2970 for SET RTX.
2971
7fc5ef02
JG
29722014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2973
2974 * config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.
2975
4745e701
JG
29762014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2977 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2978
2979 * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
2980 to...
2981 (aarch64_strip_extend): ...this, don't strip shifts, check RTX is
2982 well formed.
2983 (aarch64_rtx_mult_cost): New.
2984 (aarch64_rtx_costs): Use it, refactor as appropriate.
2985
9dfc162c
JG
29862014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2987 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2988
2989 * config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
2990 emit instructions, return number of instructions which would
2991 be emitted.
2992 (aarch64_add_constant): Update call to aarch64_build_constant.
2993 (aarch64_output_mi_thunk): Likewise.
6b8ebd00 2994 (aarch64_rtx_costs): Estimate cost of a CONST_INT, cost of
9dfc162c
JG
2995 a CONST_DOUBLE.
2996
0ee859b5
JG
29972014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2998
2999 * config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
3000 (TARGET_RTX_COSTS): Call it.
3001
60bff090
JG
30022014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3003
3004 * config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
3005 (cortexa57_vector_cost): Likewise.
3006 (cortexa57_tunings): Use them.
3007
67747367
JG
30082014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3009
3010 * config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
3011 (cpu_addrcost_table): Use it.
3012 * config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
3013 (aarch64_address_cost): Rewrite using aarch64_classify_address,
3014 move it.
3015
a764d660
RB
30162014-05-16 Richard Biener <rguenther@suse.de>
3017
3018 * tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
3019 (set_ssa_val_to): Handle unexpected sets to VN_TOP.
3020 (visit_phi): Ignore edges marked as not executable.
3021 (class cond_dom_walker): New.
3022 (cond_dom_walker::before_dom_children): Value-number
3023 control statements and mark successor edges as not
3024 executable if possible.
3025 (run_scc_vn): First walk all control statements in
3026 dominator order, marking edges as not executable.
3027 * tree-inline.c (copy_edges_for_bb): Be not confused
3028 about random edge flags.
3029
a27c3860
RB
30302014-05-16 Richard Biener <rguenther@suse.de>
3031
3032 * tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
3033
d8c55b91
PB
30342014-05-15 Peter Bergner <bergner@vnet.ibm.com>
3035
3036 PR target/61193
3037 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
3038 (__TM_simple_begin): Use it.
3039 (__TM_begin): Likewise.
3040
8a2256dd
MJ
30412014-05-15 Martin Jambor <mjambor@suse.cz>
3042
3043 PR ipa/61085
3044 * ipa-prop.c (update_indirect_edges_after_inlining): Check
3045 type_preserved flag when the indirect edge is polymorphic.
3046
9d2681a3
MJ
30472014-05-15 Martin Jambor <mjambor@suse.cz>
3048
3049 PR tree-optimization/61090
3050 * tree-sra.c (sra_modify_expr): Pass the current gsi to
3051 build_ref_for_model.
3052
927450d0
KT
30532014-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3054
3055 * config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
3056 enum name for PARAM_SCHED_PRESSURE_ALGORITHM.
3057
ceed6e67
JJ
30582014-05-15 Jakub Jelinek <jakub@redhat.com>
3059
3060 PR tree-optimization/61158
3061 * fold-const.c (fold_binary_loc): If X is zero-extended and
3062 shiftc >= prec, make sure zerobits is all ones instead of
3063 invoking undefined behavior.
3064
a2e6c10c
ZC
30652014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3066
3067 * regcprop.h: New file.
3068 * regcprop.c (skip_debug_insn_p): New decl.
3069 (replace_oldest_value_reg): Check skip_debug_insn_p.
ceed6e67
JJ
3070 (copyprop_hardreg_forward_bb_without_debug_insn): New function.
3071 * shrink-wrap.c: Include regcprop.h.
3072 (prepare_shrink_wrap): Call
3073 copyprop_hardreg_forward_bb_without_debug_insn.
a2e6c10c 3074
e974b93b
ZC
30752014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3076
3077 * shrink-wrap.h: Update comment.
3078 * shrink-wrap.c: Update comment.
3079 (next_block_for_reg): Rename to live_edge_for_reg.
3080 (live_edge_for_reg): Allow live_edge->dest has two predecessors.
3081 (move_insn_for_shrink_wrap): Split live_edge.
3082 (prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.
3083
88fe5e91
EB
30842014-05-14 Eric Botcazou <ebotcazou@adacore.com>
3085
3086 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
3087 Delete.
3088 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
3089 * config/sparc/sparc.md (fptype_ut699): New attribute.
3090 (in_branch_delay): Return false if -mfix-ut699 is specified and
3091 fptype_ut699 is set to single.
3092 (truncdfsf2): Add fptype_ut699 attribute.
3093 (fix_truncdfsi2): Likewise.
3094 (floatsisf2): Change fptype attribute.
3095 (fix_truncsfsi2): Likewise.
3096 (negtf2_notv9): Delete.
3097 (negtf2_v9): Likewise.
3098 (negtf2_hq): New instruction.
3099 (negtf2): New instruction and splitter.
3100 (negdf2_notv9): Rewrite.
3101 (abstf2_notv9): Delete.
3102 (abstf2_hq_v9): Likewise.
3103 (abstf2_v9): Likewise.
3104 (abstf2_hq): New instruction.
3105 (abstf2): New instruction and splitter.
3106 (absdf2_notv9): Rewrite.
3107
bc91b0e0
CC
31082014-05-14 Cary Coutant <ccoutant@google.com>
3109
6b8ebd00 3110 PR debug/61013
bc91b0e0
CC
3111 * opts.c (common_handle_option): Don't special-case "-g".
3112 (set_debug_level): Default to at least level 2 with "-g".
3113
5f35dde5
DD
31142014-05-14 DJ Delorie <dj@redhat.com>
3115
3116 * config/msp430/msp430.c (msp430_builtin): Add
3117 MSP430_BUILTIN_DELAY_CYCLES.
3118 (msp430_init_builtins): Register void __delay_cycles(long long).
3119 (msp430_builtin_decl): Add it.
3120 (cg_magic_constant): New.
3121 (msp430_expand_delay_cycles): New.
3122 (msp430_expand_builtin): Call it.
3123 (msp430_print_operand_raw): Change integer printing from "int" to
3124 HOST_WIDE_INT.
3125 * config/msp430/msp430.md (define_constants): Add delay_cycles tags.
3126 (delay_cycles_start): New.
3127 (delay_cycles_end): New.
3128 (delay_cycles_32): New.
3129 (delay_cycles_32x): New.
3130 (delay_cycles_16): New.
3131 (delay_cycles_16x): New.
3132 (delay_cycles_2): New.
3133 (delay_cycles_1): New.
3134 * doc/extend.texi: Document __delay_cycles().
3135
5d40b20f
SL
31362014-05-14 Sandra Loosemore <sandra@codesourcery.com>
3137
3138 * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
3139 length attribute computation.
3140
25109109
RS
31412014-05-14 Richard Sandiford <rdsandiford@googlemail.com>
3142
3143 PR debug/61188
3144 * print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
3145
7e7e4032
RS
31462014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3147
3148 PR target/61084
3149 * config/sparc/sparc.md: Fix types of low and high in DI constant
3150 splitter. Use gen_int_mode in some other splitters.
3151
70d6d5c1
MJ
31522014-05-14 Martin Jambor <mjambor@suse.cz>
3153
3154 PR ipa/60897
3155 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
3156
23b02de3
JN
31572014-05-14 James Norris <jnorris@codesourcery.com>
3158
3159 * omp-low.c (expand_parallel_call): Remove shadow variable.
3160 (expand_omp_taskreg): Likewise.
3161
9cdea277
IT
31622014-05-14 Ilya Tocar <ilya.tocar@intel.com>
3163
3164 * common/config/i386/i386-common.c
3165 (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
3166 (OPTION_MASK_ISA_XSAVES_SET): Ditto.
3167 (OPTION_MASK_ISA_XSAVEC_SET): Ditto.
3168 (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
3169 (OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
3170 (OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
6b8ebd00 3171 (ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves, OPT_mclflushopt.
9cdea277
IT
3172 * config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
3173 xsavecintrin.h, xsavesintrin.h.
3174 (x86_64-*-*): Ditto.
3175 * config/i386/clflushoptintrin.h: New.
3176 * config/i386/xsavecintrin.h: Ditto.
3177 * config/i386/xsavesintrin.h: Ditto.
3178 * config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
3179 (bit_XSAVES): Ditto.
3180 (bit_XSAVES): Ditto.
3181 * config/i386/driver-i386.c (host_detect_local_cpu): Handle
3182 -mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
3183 -mno-clflushopt.
3184 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
3185 OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
3186 OPTION_MASK_ISA_XSAVES.
3187 * config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
3188 -mxsavec, -mxsaves.
3189 (PTA_CLFLUSHOPT) Define.
3190 (PTA_XSAVEC): Ditto.
3191 (PTA_XSAVES): Ditto.
3192 (ix86_option_override_internal): Handle new options.
3193 (ix86_valid_target_attribute_inner_p): Ditto.
3194 (ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
3195 IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
3196 IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
6b8ebd00
UB
3197 (bdesc_special_args): Add __builtin_ia32_xsaves,
3198 __builtin_ia32_xrstors, __builtin_ia32_xsavec, __builtin_ia32_xsaves64,
3199 __builtin_ia32_xrstors64, __builtin_ia32_xsavec64.
9cdea277
IT
3200 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
3201 (ix86_expand_builtin): Handle new builtins.
3202 * config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
3203 (TARGET_CLFLUSHOPT_P): Ditto.
3204 (TARGET_XSAVEC): Ditto.
3205 (TARGET_XSAVEC_P): Ditto.
3206 (TARGET_XSAVES): Ditto.
3207 (TARGET_XSAVES_P): Ditto.
3208 * config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
3209 (ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
3210 (attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
3211 (ANY_XRSTOR): New.
3212 (ANY_XRSTOR64): Ditto.
3213 (xrstor): Ditto.
3214 (xrstor): Change into <xrstor>.
3215 (xrstor_rex64): Change into <xrstor>_rex64.
3216 (xrstor64): Change into <xrstor>64
3217 (clflushopt): New.
3218 * config/i386/i386.opt (mclflushopt): New.
3219 (mxsavec): Ditto.
3220 (mxsaves): Ditto.
3221 * config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
3222 xsavecintrin.h.
3223 * doc/invoke.texi: Document new options.
3224
92e265ac
AB
32252014-05-14 Andrey Belevantsev <abel@ispras.ru>
3226
3227 PR rtl-optimization/60866
3228 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
3229 Default it to -1. Pass it down to init_simplejump_data.
3230 (init_simplejump_data): New parameter old_seqno. Pass it down
3231 to get_seqno_for_a_jump.
3232 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
3233 initializing new jump seqno as a last resort. Add comment.
3234 (sel_redirect_edge_and_branch): Save old seqno of the conditional
3235 jump and pass it down to sel_init_new_insn.
3236 (sel_redirect_edge_and_branch_force): Likewise.
3237
fa96aa45
GJL
32382014-05-14 Georg-Johann Lay <avr@gjlay.de>
3239
3240 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
3241 shifted values to avoid build warning.
3242
8a829274
EB
32432014-05-14 Eric Botcazou <ebotcazou@adacore.com>
3244
3245 * cfgcleanup.c (try_forward_edges): Use location_t for locations.
3246 * cfgrtl.c (rtl_merge_blocks): Fix comment.
3247 (cfg_layout_merge_blocks): Likewise.
3248 * except.c (emit_to_new_bb_before): Remove prev_bb local variable.
3249
11290308
AB
32502014-05-14 Andrey Belevantsev <abel@ispras.ru>
3251
3252 PR rtl-optimization/60901
3253 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
3254 bb predecessor belongs to the same scheduling region. Adjust comment.
3255
f4853e92
PB
32562014-05-13 Peter Bergner <bergner@vnet.ibm.com>
3257
3258 * doc/sourcebuild.texi: (dfp_hw): Document.
3259 (p8vector_hw): Likewise.
3260 (powerpc_eabi_ok): Likewise.
3261 (powerpc_elfv2): Likewise.
3262 (powerpc_htm_ok): Likewise.
3263 (ppc_recip_hw): Likewise.
3264 (vsx_hw): Likewise.
3265
bd5c3baa
CC
32662014-05-13 Cary Coutant <ccoutant@google.com>
3267
3268 * opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
3269
9aa54cc9
DM
32702014-05-13 David Malcolm <dmalcolm@redhat.com>
3271
3272 * gengtype-parse.c (require3): Eliminate in favor of...
3273 (require4): New.
3274 (require_template_declaration): Update to support optional single *
3275 on a type.
3276
3277 * gengtype.c (get_ultimate_base_class): Add a non-const overload.
3278 (create_user_defined_type): Handle a single level of explicit
3279 pointerness within template arguments.
3280 (struct write_types_data): Add field "kind".
3281 (filter_type_name): Handle "*" character.
3282 (write_user_func_for_structure_ptr): Require a write_types_data
3283 rather than just a prefix string, so that we can look up the kind
3284 of the wtd and use it as an index into wrote_user_func_for_ptr,
3285 ensuring that such functions are written at most once. Support
6b8ebd00 3286 subclasses by invoking the marking function of the ultimate base class.
9aa54cc9
DM
3287 (write_user_func_for_structure_body): Require a write_types_data
3288 rather than just a prefix string, so that we can pass this to
3289 write_user_func_for_structure_ptr.
3290 (write_func_for_structure): Likewise.
3291 (ggc_wtd): Add initializer of new "kind" field.
3292 (pch_wtd): Likewise.
3293
3294 * gengtype.h (enum write_types_kinds): New.
3295 (struct type): Add field wrote_user_func_for_ptr to the "s"
3296 union member.
3297
5c0f009c
RS
32982014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
3299
3300 * fold-const.c (optimize_bit_field_compare): Use wi:: operations
3301 instead of const_binop.
3302 (fold_binary_loc): Likewise.
3303
460d1e22
RS
33042014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
3305
3306 * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
3307 calculation to match get_ref_base_and_extent.
3308
1e1f96b5
CM
33092014-05-13 Catherine Moore <clm@codesourcery.com>
3310 Sandra Loosemore <sandra@codesourcery.com>
3311
3312 * configure.ac: Fix assembly for explicit JALR relocation check.
3313 * configure: Regenerate.
3314
411f86ad
KT
33152014-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3316
3317 * config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
3318 (arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
3319 Remove associated type declarations and initialisations.
3320 (arm_expand_neon_builtin): Likewise.
3321 (neon_emit_pair_result_insn): Delete.
3322 * config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
3323 * config/arm/neon.md (neon_vtrn<mode>): Delete.
3324 (neon_vzip<mode>): Likewise.
3325 (neon_vuzp<mode>): Likewise.
3326
6b77934e
RB
33272014-05-13 Richard Biener <rguenther@suse.de>
3328
3329 PR ipa/60973
3330 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
3331 it needs revisiting whether the call still may be tail-called.
3332
da3cd113
RS
33332014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3334
3335 * rtl.def (SYMBOL_REF): Remove middle "0" field.
3336 * rtl.h (block_symbol): Reduce number of fields to 2.
3337 (rtx_def): Add u2.symbol_ref_flags.
3338 (SYMBOL_REF_FLAGS): Use it.
3339 (SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
3340 (SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
3341 * gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
3342 Lower index of SYMBOL_REF_DATA.
3343 * print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
3344 Print SYMBOL_REF_FLAGS at the same time.
3345 * genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
3346
fcc74520
RS
33472014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3348
3349 * rtl.def (VAR_LOCATION): Remove "i" field.
3350 * rtl.h (rtx_def): Add u2.var_location_status.
3351 (PAT_VAR_LOCATION_STATUS): Use it.
3352 (gen_rtx_VAR_LOCATION): Declare.
3353 * gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
3354 * emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
3355 * var-tracking.c (emit_note_insn_var_location): Remove casts.
3356
feb09dd9
RS
33572014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3358
3359 * rtl.def (scratch): Fix outdated comment and remove "0" field.
3360 * gengtype.c (adjust_field_rtx_def): Update accordingly.
3361
ed8921dc
RS
33622014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3363
3364 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
3365 (BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
3366 * rtl.h (rtx_def): Add insn_uid to u2 field.
3367 (RTX_FLAG_CHECK8): Delete in favor of...
3368 (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
3369 (INSN_DELETED_P): Update accordingly.
3370 (INSN_UID): Use u2.insn_uid.
3371 (INSN_CHAIN_CODE_P): Define.
3372 (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
3373 (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
3374 (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
3375 (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
3376 (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
3377 indices accordingly.
3378 * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
3379 Update indices for insn-chain rtxes.
3380 * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
3381 (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
3382 * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
3383 * caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
3384 * combine.c (try_combine): Likewise.
3385 * ira.c (setup_prohibited_mode_move_regs): Likewise.
3386
fccc5515
RS
33872014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3388
3389 * rtl.def (REG): Remove middle field.
3390 * rtl.h (rtx_def): Add orignal_regno to u2.
3391 (ORIGINAL_REGNO): Use it instead of field 1.
3392 (REG_ATTRS): Lower field index accordingly.
3393 * gengtype.c (adjust_field_rtx_def): Remove handling of
3394 ORIGINAL_REGNO. Move REG_ATTRS index down.
3395 * print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
3396 code that prints the REGNO.
3397
925c1bae
RS
33982014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3399
3400 * print-rtl.c (print_rtx): Guard whole '0' block with ifndef
3401 GENERATOR_FILE.
3402
13b0c5ac
RS
34032014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3404
3405 * rtl.h (rtx_def): Mark u2 as GTY ((skip)).
3406
be9a0da5
BC
34072014-05-13 Bin Cheng <bin.cheng@arm.com>
3408
3409 * tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
3410 (alloc_iv): Lower base expressions containing ADDR_EXPR.
3411
73d9ac6a
IB
34122014-05-13 Ian Bolton <ian.bolton@arm.com>
3413
3414 * config/aarch64/aarch64-protos.h
3415 (aarch64_hard_regno_caller_save_mode): New prototype.
3416 * config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
3417 New function.
3418 * config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
3419
06b90602
CB
34202014-05-13 Christian Bruel <christian.bruel@st.com>
3421
3422 * target.def (mode_switching): New hook vector.
3423 (mode_emit, mode_needed, mode_after, mode_entry): New hooks.
3424 (mode_exit, modepriority_to_mode): Likewise.
3425 * mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
3426 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
3427 * target.h: Include tm.h and hard-reg-set.h.
3428 * doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
3429 (MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
3430 * doc/tm.texi Regenerate.
3431 * config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
3432 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
3433 * config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
3434 (sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
3435 * config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
3436 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
3437 * config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
3438 (ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
6b8ebd00
UB
3439 * config/i386/i386.c (ix86_mode_needed, ix86_mode_after,
3440 (ix86_mode_exit, ix86_mode_entry, ix86_mode_priority)
3441 (ix86_emit_mode_set): Hookify.
06b90602 3442 * config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
6b8ebd00 3443 Delete.
06b90602 3444 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
3445 * config/epiphany/epiphany-protos.h (epiphany_mode_needed)
3446 (emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
3447 (epiphany_mode_priority_to_mode): Remove declaration.
3448 * config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
3449 (epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
3450 (epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
3451 Likewise.
6b8ebd00 3452 (epiphany_mode_priority_to_mode): Change priority type. Hookify.
06b90602
CB
3453 (epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
3454 (epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
3455
455464ab
JJ
34562014-05-13 Jakub Jelinek <jakub@redhat.com>
3457
3458 PR target/61060
3459 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
3460 is const0_rtx, return immediately. Don't test count == 0 when
3461 it is always true.
3462
f30e25a3
ZC
34632014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3464
3465 * Makefile.in: add shrink-wrap.o.
3466 * config/i386/i386.c: include "shrink-wrap.h"
3467 * function.c: Likewise.
3468 (requires_stack_frame_p, next_block_for_reg,
3469 move_insn_for_shrink_wrap, prepare_shrink_wrap,
3470 dup_block_and_redirect): Move to shrink-wrap.c
3471 (thread_prologue_and_epilogue_insns): Extract three code segments
3472 as functions in shrink-wrap.c
3473 * function.h: Move #ifdef HAVE_simple_return ... #endif block to
3474 shrink-wrap.h
3475 * shrink-wrap.c: New file.
3476 * shrink-wrap.h: New file.
3477
f95c6a78
DW
34782014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3479
3480 * doc/extend.texi: Reflect current numbers of pragmas. Remove
3481 reference to Solaris.
3482
77a1da2c
MS
34832014-05-12 Mike Stump <mikestump@comcast.net>
3484
3485 PR other/31778
3486 * genattrtab.c (filename): Add.
3487 (convert_set_attr_alternative): Improve error message.
3488 (check_defs): Restore read_md_filename for error messages.
3489 (gen_insn): Save filename.
3490
dff8943f
DP
34912014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
3492
3493 * doc/invoke.texi: Document new switches -Wno-shadow-ivar,
3494 -fno-local-ivars and -fivar-visibility.
3495 * c-family/c.opt: Make -Wshadow also implicitly enable
3496 -Wshadow-ivar.
3497
6b8ebd00 34982014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3842015e
DW
3499
3500 * doc/tm.texi: Remove reference to deleted macro.
3501 * doc/tm.texi.in: Likewise.
3502
079f1420
SKS
35032014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3504
3505 PR target/60991
3506 * config/avr/avr.c (avr_out_store_psi): Use correct constant
3507 to restore Y.
3508
999db125
GJL
35092014-05-12 Georg-Johann Lay <avr@gjlay.de>
3510
a5024e01 3511 PR libgcc/61152
999db125
GJL
3512 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
3513 * config/arm/aout.h (License): Same.
3514 * config/arm/bpabi.h (License): Same.
3515 * config/arm/elf.h (License): Same.
3516 * config/arm/linux-elf.h (License): Same.
3517 * config/arm/linux-gas.h (License): Same.
3518 * config/arm/netbsd-elf.h (License): Same.
3519 * config/arm/uclinux-eabi.h (License): Same.
3520 * config/arm/uclinux-elf.h (License): Same.
3521 * config/arm/vxworks.h (License): Same.
3522
dd2fc525
JJ
35232014-05-11 Jakub Jelinek <jakub@redhat.com>
3524
3525 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
3526 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
3527 number of operands to 3.
3528 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
3529 * tree-nested.c (convert_nonlocal_omp_clauses,
3530 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
3531 * gimplify.c (gimplify_scan_omp_clauses): Handle
3532 OMP_CLAUSE_LINEAR_STMT.
3533 * omp-low.c (lower_rec_input_clauses): Fix typo.
3534 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
3535 cast between Fortran boolean_type_node and C _Bool if
3536 needed.
3537
7588d8aa
RS
35382014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
3539
3540 PR tree-optimization/61136
3541 * wide-int.h (multiple_of_p): Define a version that doesn't return
3542 the quotient.
3543 * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
3544 integer_zerop/const_binop pair.
3545 (multiple_of_p): Likewise, converting both operands to widest_int
3546 precision.
3547
e7eee636
TJ
35482014-05-09 Teresa Johnson <tejohnson@google.com>
3549
3550 * cgraphunit.c (analyze_functions): Use correct dump file.
3551
6545746e
FW
35522014-05-09 Florian Weimer <fweimer@redhat.com>
3553
3554 * cfgexpand.c (stack_protect_decl_p): New function, extracted from
3555 expand_used_vars.
3556 (stack_protect_return_slot_p): New function.
3557 (expand_used_vars): Call stack_protect_decl_p and
3558 stack_protect_return_slot_p for -fstack-protector-strong.
3559
2556511e
DW
35602014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
3561 Andrew Haley <aph@redhat.com>
3562 Richard Sandiford <rdsandiford@googlemail.com>
3563
3564 * doc/extend.texi: Rewrite inline asm page / re-org asm-related
3565 pages.
3566
971ed35d 35672014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
b8d29c66
KZ
3568
3569 PR middle-end/61111
3570 * fold-const.c (fold_binary_loc): Changed width of mask.
3571
c204f1b5
GJL
35722014-05-09 Georg-Johann Lay <avr@gjlay.de>
3573
3574 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
3575 unsigned int initializers for regno_in, regno_out.
3576
b8469805
GJL
35772014-05-09 Georg-Johann Lay <avr@gjlay.de>
3578
3579 PR target/61055
3580 * config/avr/avr.md (cc): Add new attribute set_vzn.
3581 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
3582 Set cc insn attribute to set_vzn instead of set_zn for alternatives
3583 with INC, DEC or NEG.
3584 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
3585 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
3586 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
3587
9db25c6a
RR
35882014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3589
3590 Revert:
3591 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3592
3593 * wide-int.cc (UTItype): Define.
3594 (UDWtype): Define for appropriate W_TYPE_SIZE.
3595
ee3958cf
RB
35962014-05-09 Richard Biener <rguenther@suse.de>
3597
3598 * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
3599 * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
3600 (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
3601 (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
3602 ssa_propagate): Adjust.
3603
0600049c
JL
36042014-05-08 Jeff Law <law@redhat.com>
3605
3606 PR tree-optimization/61009
3607 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
3608 tri-state rather than a boolean. When a block is too big to
3609 thread through, inform caller via negative return value.
3610 (thread_across_edge): If a block was too big for normal threading,
3611 then it's too big for a joiner too, so remove temporary equivalences
3612 and return immediately.
3613
a82122df
MK
36142014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3615 Matthias Klose <doko@ubuntu.com>
3616
3617 PR driver/61106
3618 * optc-gen.awk: Fix option handling for -Wunused-parameter.
3619
30e494f1
UB
36202014-05-08 Uros Bizjak <ubizjak@gmail.com>
3621
3622 PR target/59952
3623 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
3624
b6db8af6
UB
36252014-05-08 Uros Bizjak <ubizjak@gmail.com>
3626
3627 PR target/61092
3628 * config/alpha/alpha.c: Include gimple-iterator.h.
3629 (alpha_gimple_fold_builtin): New function. Move
3630 ALPHA_BUILTIN_UMULH folding from ...
3631 (alpha_fold_builtin): ... here.
3632 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
3633
272325bd
WM
36342014-05-08 Wei Mi <wmi@google.com>
3635
3636 PR target/58066
b6db8af6
UB
3637 * config/i386/i386.c (ix86_compute_frame_layout): Update
3638 preferred_stack_boundary for call, expanded from tls descriptor.
3639 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
3640 to depend on SP register.
272325bd
WM
3641 (*tls_local_dynamic_base_32_gnu): Ditto.
3642 (*tls_local_dynamic_32_once): Ditto.
3643 (tls_global_dynamic_64_<mode>): Set
3644 ix86_tls_descriptor_calls_expanded_in_cfun.
3645 (tls_local_dynamic_base_64_<mode>): Ditto.
3646 (tls_global_dynamic_32): Set
3647 ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
3648 to depend on SP register.
3649 (tls_local_dynamic_base_32): Ditto.
3650
e79cb1a3
RR
36512014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3652
3653 * config/arm/arm_neon.h: Update comment.
3654 * config/arm/neon-docgen.ml: Delete.
3655 * config/arm/neon-gen.ml: Delete.
3656 * doc/arm-neon-intrinsics.texi: Update comment.
3657
0d0b79a6
RR
36582014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3659
3660 * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
3661 and v4sf versions.
3662 (vand, vorr, veor, vorn, vbic): Remove.
3663 * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
3664 iterator.
3665 (neon_vsub_unspec): Likewise.
3666 (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
3667
add0c111
RR
36682014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3669
3670 * config/arm/arm_neon.h (vadd_s8): GNU C implementation
3671 (vadd_s16): Likewise.
3672 (vadd_s32): Likewise.
3673 (vadd_f32): Likewise.
3674 (vadd_u8): Likewise.
3675 (vadd_u16): Likewise.
3676 (vadd_u32): Likewise.
3677 (vadd_s64): Likewise.
3678 (vadd_u64): Likewise.
3679 (vaddq_s8): Likewise.
3680 (vaddq_s16): Likewise.
3681 (vaddq_s32): Likewise.
3682 (vaddq_s64): Likewise.
3683 (vaddq_f32): Likewise.
3684 (vaddq_u8): Likewise.
3685 (vaddq_u16): Likewise.
3686 (vaddq_u32): Likewise.
3687 (vaddq_u64): Likewise.
3688 (vmul_s8): Likewise.
3689 (vmul_s16): Likewise.
3690 (vmul_s32): Likewise.
3691 (vmul_f32): Likewise.
3692 (vmul_u8): Likewise.
3693 (vmul_u16): Likewise.
3694 (vmul_u32): Likewise.
3695 (vmul_p8): Likewise.
3696 (vmulq_s8): Likewise.
3697 (vmulq_s16): Likewise.
3698 (vmulq_s32): Likewise.
3699 (vmulq_f32): Likewise.
3700 (vmulq_u8): Likewise.
3701 (vmulq_u16): Likewise.
3702 (vmulq_u32): Likewise.
3703 (vsub_s8): Likewise.
3704 (vsub_s16): Likewise.
3705 (vsub_s32): Likewise.
3706 (vsub_f32): Likewise.
3707 (vsub_u8): Likewise.
3708 (vsub_u16): Likewise.
3709 (vsub_u32): Likewise.
3710 (vsub_s64): Likewise.
3711 (vsub_u64): Likewise.
3712 (vsubq_s8): Likewise.
3713 (vsubq_s16): Likewise.
3714 (vsubq_s32): Likewise.
3715 (vsubq_s64): Likewise.
3716 (vsubq_f32): Likewise.
3717 (vsubq_u8): Likewise.
3718 (vsubq_u16): Likewise.
3719 (vsubq_u32): Likewise.
3720 (vsubq_u64): Likewise.
3721 (vand_s8): Likewise.
3722 (vand_s16): Likewise.
3723 (vand_s32): Likewise.
3724 (vand_u8): Likewise.
3725 (vand_u16): Likewise.
3726 (vand_u32): Likewise.
3727 (vand_s64): Likewise.
3728 (vand_u64): Likewise.
3729 (vandq_s8): Likewise.
3730 (vandq_s16): Likewise.
3731 (vandq_s32): Likewise.
3732 (vandq_s64): Likewise.
3733 (vandq_u8): Likewise.
3734 (vandq_u16): Likewise.
3735 (vandq_u32): Likewise.
3736 (vandq_u64): Likewise.
3737 (vorr_s8): Likewise.
3738 (vorr_s16): Likewise.
3739 (vorr_s32): Likewise.
3740 (vorr_u8): Likewise.
3741 (vorr_u16): Likewise.
3742 (vorr_u32): Likewise.
3743 (vorr_s64): Likewise.
3744 (vorr_u64): Likewise.
3745 (vorrq_s8): Likewise.
3746 (vorrq_s16): Likewise.
3747 (vorrq_s32): Likewise.
3748 (vorrq_s64): Likewise.
3749 (vorrq_u8): Likewise.
3750 (vorrq_u16): Likewise.
3751 (vorrq_u32): Likewise.
3752 (vorrq_u64): Likewise.
3753 (veor_s8): Likewise.
3754 (veor_s16): Likewise.
3755 (veor_s32): Likewise.
3756 (veor_u8): Likewise.
3757 (veor_u16): Likewise.
3758 (veor_u32): Likewise.
3759 (veor_s64): Likewise.
3760 (veor_u64): Likewise.
3761 (veorq_s8): Likewise.
3762 (veorq_s16): Likewise.
3763 (veorq_s32): Likewise.
3764 (veorq_s64): Likewise.
3765 (veorq_u8): Likewise.
3766 (veorq_u16): Likewise.
3767 (veorq_u32): Likewise.
3768 (veorq_u64): Likewise.
3769 (vbic_s8): Likewise.
3770 (vbic_s16): Likewise.
3771 (vbic_s32): Likewise.
3772 (vbic_u8): Likewise.
3773 (vbic_u16): Likewise.
3774 (vbic_u32): Likewise.
3775 (vbic_s64): Likewise.
3776 (vbic_u64): Likewise.
3777 (vbicq_s8): Likewise.
3778 (vbicq_s16): Likewise.
3779 (vbicq_s32): Likewise.
3780 (vbicq_s64): Likewise.
3781 (vbicq_u8): Likewise.
3782 (vbicq_u16): Likewise.
3783 (vbicq_u32): Likewise.
3784 (vbicq_u64): Likewise.
3785 (vorn_s8): Likewise.
3786 (vorn_s16): Likewise.
3787 (vorn_s32): Likewise.
3788 (vorn_u8): Likewise.
3789 (vorn_u16): Likewise.
3790 (vorn_u32): Likewise.
3791 (vorn_s64): Likewise.
3792 (vorn_u64): Likewise.
3793 (vornq_s8): Likewise.
3794 (vornq_s16): Likewise.
3795 (vornq_s32): Likewise.
3796 (vornq_s64): Likewise.
3797 (vornq_u8): Likewise.
3798 (vornq_u16): Likewise.
3799 (vornq_u32): Likewise.
3800 (vornq_u64): Likewise.
3801
ca40fb28
RR
38022014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3803
3804 * wide-int.cc (UTItype): Define.
b6db8af6 3805 (UDWtype): Define for appropriate W_TYPE_SIZE.
ca40fb28 3806
421bf780
MG
38072014-05-08 Marc Glisse <marc.glisse@inria.fr>
3808
3809 PR tree-optimization/59100
3810 * tree-ssa-phiopt.c: Include tree-inline.h.
3811 (neutral_element_p, absorbing_element_p): New functions.
3812 (value_replacement): Handle conditional binary operations with a
3813 neutral or absorbing element.
3814
a5eaec42
RB
38152014-05-08 Richard Biener <rguenther@suse.de>
3816
3817 * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
3818 folding the expression.
3819 (valueize_expr): Remove.
3820 (visit_reference_op_load): Do not valueize the result of
3821 vn_get_expr_for.
3822 (simplify_binary_expression): Likewise.
3823 (simplify_unary_expression): Likewise.
3824
a96c6a62
RB
38252014-05-08 Richard Biener <rguenther@suse.de>
3826
3827 * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
3828 looking at TYPE_ARG_TYPES.
3829
fb42e303
RB
38302014-05-08 Richard Biener <rguenther@suse.de>
3831
3832 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
3833 pointer propagation special-case.
3834
d1f1a283
BC
38352014-05-08 Bin Cheng <bin.cheng@arm.com>
3836
3837 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
3838 core part of address expressions.
3839
42aea2d8
AM
38402014-05-08 Alan Modra <amodra@gmail.com>
3841
3842 PR target/60737
3843 * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
3844 loads and stores when -mno-strict-align at any alignment.
3845 (expand_block_clear): Similarly. Also correct calculation of
3846 instruction count.
3847
10e08855
TP
38482014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
3849
3850 PR middle-end/39246
3851 * tree-complex.c (expand_complex_move): Keep line info when expanding
3852 complex move.
3853 * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
3854 of complex expression. Use new argument to display correct location
3855 for values coming from phi statement.
3856 (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
3857 (warn_uninitialized_phi): Pass location of phi argument to
3858 warn_uninit.
3859 * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
3860 COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
3861
d839f53b
SB
38622014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
3863
3864 * config/rs6000/predicates.md (indexed_address_mem): New.
3865 * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
3866 load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
3867 fpstore_ux, fpstore_u.
3868 (sign_extend, indexed, update): New.
3869 (cell_micro): Adjust.
3870 (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
3871 *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
3872 *movsi_internal1, *movsi_internal1_single, *movhi_internal,
3873 *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
3874 *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
3875 *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
3876 *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
3877 *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
3878 *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
3879 *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
3880 *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
3881 *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
3882 *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
3883 *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
3884 *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
3885
3886 * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
3887 * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
3888 *vsx_extract_<mode>_store): Adjust.
3889 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
3890 is_cracked_insn, insn_must_be_first_in_group,
3891 insn_must_be_last_in_group): Adjust.
3892
3893 * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
3894 Adjust.
3895 * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
3896 ppc440-fpstore): Adjust.
3897 * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
3898 ppc476-fpstore): Adjust.
3899 * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
3900 ppc601-fpstore): Adjust.
3901 * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
3902 Adjust.
3903 * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
3904 Adjust.
3905 * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
3906 ppc7450-fpstore): Adjust.
3907 * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
3908 * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
3909 * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
3910 Adjust.
3911 * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
3912 cell-fpload, cell-fpload-update, cell-store, cell-store-update,
3913 cell-fpstore, cell-fpstore-update): Adjust.
3914 * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
3915 ppce300c3_store, ppce300c3_fpstore): Adjust.
3916 * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
3917 e500mc_fpstore): Adjust.
3918 * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
3919 e500mc64_store, e500mc64_fpstore): Adjust.
3920 * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
3921 e5500_fpstore): Adjust.
3922 * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
3923 e6500_fpstore): Adjust.
3924 * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
3925 Adjust.
3926 * config/rs6000/power4.md (power4-load, power4-load-ext,
3927 power4-load-ext-update, power4-load-ext-update-indexed,
3928 power4-load-update-indexed, power4-load-update, power4-fpload,
3929 power4-fpload-update, power4-store, power4-store-update,
3930 power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
3931 Adjust.
3932 * config/rs6000/power5.md (power5-load, power5-load-ext,
3933 power5-load-ext-update, power5-load-ext-update-indexed,
3934 power5-load-update-indexed, power5-load-update, power5-fpload,
3935 power5-fpload-update, power5-store, power5-store-update,
3936 power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
3937 Adjust.
3938 * config/rs6000/power6.md (power6-load, power6-load-ext,
3939 power6-load-update, power6-load-update-indexed,
3940 power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
3941 power6-fpload-update, power6-store, power6-store-update,
3942 power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
3943 Adjust.
3944 * config/rs6000/power7.md (power7-load, power7-load-ext,
3945 power7-load-update, power7-load-update-indexed,
3946 power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
3947 power7-fpload-update, power7-store, power7-store-update,
3948 power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
3949 Adjust.
3950 * config/rs6000/power8.md (power8-load, power8-load-update,
3951 power8-load-ext, power8-load-ext-update, power8-fpload,
3952 power8-fpload-update, power8-store, power8-store-update-indexed,
3953 power8-fpstore, power8-fpstore-update): Adjust.
3954 * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
3955 Adjust.
3956 * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
3957 titan_lsu_store, titan_lsu_fpstore): Adjust.
3958 * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
3959
36dc9ae8
OE
39602014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
3961
3962 PR target/60884
3963 * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
3964 unrolled byte insns. Emit address increments after move insns.
3965
9bbf45f6
DM
39662014-05-07 David Malcolm <dmalcolm@redhat.com>
3967
3968 * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
3969 const_gimple, rather than a gimple.
3970 (gimple_call_builtin_p): Likewise, for the three variants.
3971
3972 * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
3973 (gimple_call_builtin_p): Likewise, for the three variants.
3974
1a51f10c
RS
39752014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3976
3977 PR tree-optimization/61095
3978 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
3979
50f0aa20
RB
39802014-05-07 Richard Biener <rguenther@suse.de>
3981
3982 PR tree-optimization/61034
3983 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
3984 (maybe_skip_until): Use translate to take into account
3985 lattices when trying to do disambiguations.
3986 (get_continuation_for_phi_1): Likewise.
b6db8af6 3987 (get_continuation_for_phi): Adjust for added translate arguments.
50f0aa20 3988 (walk_non_aliased_vuses): Likewise.
b6db8af6 3989 * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
50f0aa20
RB
3990 (walk_non_aliased_vuses): Likewise.
3991 (call_may_clobber_ref_p_1): Declare.
b6db8af6
UB
3992 * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
3993 calls. Stop early if we are only supposed to disambiguate.
50f0aa20
RB
3994 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
3995
e7b7077e
JR
39962014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
3997
3998 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
3999 Emit an error when the function has arguments.
4000
c4597c1d
TS
40012014-05-07 Thomas Schwinge <thomas@codesourcery.com>
4002
4003 * cfgloop.h (unswitch_loops): Remove.
4004 * doc/passes.texi: Remove references to loop-unswitch.c
4005 * timevar.def (TV_LOOP_UNSWITCH): Remove.
4006
2c23db6d
ES
40072014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
4008
4009 * tree-vect-data-refs.c (vect_grouped_load_supported): New
4010 check for loads group of length 3.
4011 (vect_permute_load_chain): New permutations for loads group of
4012 length 3.
4013 * tree-vect-stmts.c (vect_model_load_cost): Change cost
4014 of vec_perm_shuffle for the new permutations.
4015
1d175503
AL
40162014-05-07 Alan Lawrence <alan.lawrence@arm.com>
4017
4018 * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
4019 vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
4020 vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
4021 vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
4022 vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
4023 vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
4024 vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
4025 vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
4026
e2d87487
TS
40272014-05-07 Thomas Schwinge <thomas@codesourcery.com>
4028
4029 * loop-unswitch.c: Delete.
4030
f543058d
RB
40312014-05-07 Richard Biener <rguenther@suse.de>
4032
4033 * config.gcc: Always set need_64bit_hwint to yes.
4034
96092404
CJW
40352014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
4036
4037 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
4038 of using optimize_size.
4039
ca66f89b
MS
40402014-05-06 Mike Stump <mikestump@comcast.net>
4041
4042 * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
4043
659c0e68
JM
40442014-05-06 Joseph Myers <joseph@codesourcery.com>
4045
4046 * config/i386/sse.md (*mov<mode>_internal)
4047 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
4048 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
4049 (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
4050 (*<code><mode>3, *andnot<mode>3<mask_name>)
4051 (<mask_codefor><code><mode>3<mask_name>): Only consider
4052 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
4053
3379b71f
RS
40542014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
4055
4056 Revert:
4057 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
4058
4059 * lra-constraints.c (valid_address_p): Move earlier in file.
4060 Add a constraint argument to the address_info version.
4061 (satisfies_memory_constraint_p): New function.
4062 (satisfies_address_constraint_p): Likewise.
4063 (process_alt_operands, curr_insn_transform): Use them.
4064 (process_address): Pass the constraint to valid_address_p when
4065 checking address operands.
4066
224dbc07
RS
40672014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
4068
4069 * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
4070 to their respective blocks. Fix inadvertent use of "node".
4071
aa3a12d6
RS
40722014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
4073
4074 * emit-rtl.c (init_derived_machine_modes): New functionm, split
4075 out from...
4076 (init_emit_once): ...here.
4077 * rtl.h (init_derived_machine_modes): Declare.
4078 * toplev.c (do_compile): Call it even if no_backend.
4079
1d60af08
KZ
40802014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
4081 Mike Stump <mikestump@comcast.net>
4082 Richard Sandiford <rdsandiford@googlemail.com>
4083 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4084
4085 * alias.c (ao_ref_from_mem): Use wide-int interfaces.
4086 (rtx_equal_for_memref_p): Update comment.
4087 (adjust_offset_for_component_ref): Use wide-int interfaces.
4088 * builtins.c (get_object_alignment_2): Likewise.
4089 (c_readstr): Likewise.
4090 (target_char_cast): Add comment.
4091 (determine_block_size): Use wide-int interfaces.
4092 (expand_builtin_signbit): Likewise.
4093 (fold_builtin_int_roundingfn): Likewise.
4094 (fold_builtin_bitop): Likewise.
4095 (fold_builtin_bswap): Likewise.
4096 (fold_builtin_logarithm): Use signop.
4097 (fold_builtin_pow): Likewise.
4098 (fold_builtin_memory_op): Use wide-int interfaces.
4099 (fold_builtin_object_size): Likewise.
4100 * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
4101 nb_iterations_estimate.
4102 (record_niter_bound): Use wide-int interfaces.
4103 (get_estimated_loop_iterations_int): Likewise.
4104 (get_estimated_loop_iterations): Likewise.
4105 (get_max_loop_iterations): Likewise.
4106 * cfgloop.h: Include wide-int.h.
4107 (struct nb_iter_bound): Change bound to widest_int.
4108 (struct loop): Change nb_iterations_upper_bound and
4109 nb_iterations_estimate to widest_int.
4110 (record_niter_bound): Switch to use widest_int.
4111 (get_estimated_loop_iterations): Likewise.
4112 (get_max_loop_iterations): Likewise.
4113 (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
4114 update for wide-int.
4115 * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
4116 * combine.c (try_combine): Likewise.
4117 (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
4118 * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
4119 interfaces.
4120 (aarch64_float_const_representable_p): Likewise.
4121 * config/arc/arc.c: Include wide-int.h.
4122 (arc_can_use_doloop_p): Use wide-int interfaces.
4123 * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
4124 (vfp3_const_double_index): Likewise.
4125 * config/avr/avr.c (avr_out_round): Likewise.
4126 (avr_fold_builtin): Likewise.
4127 * config/bfin/bfin.c (bfin_local_alignment): Likewise.
4128 (bfin_can_use_doloop_p): Likewise.
4129 * config/darwin.c (darwin_mergeable_constant_section): Likewise.
4130 (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
4131 * config/i386/i386.c: Include wide-int.h.
4132 (ix86_data_alignment): Use wide-int interfaces.
4133 (ix86_local_alignment): Likewise.
4134 (ix86_emit_swsqrtsf): Update real_from_integer.
4135 * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
4136 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
4137 * config/rs6000/predicates.md (any_operand): Add const_wide_int.
4138 (zero_constant): Likewise.
4139 (input_operand): Likewise.
4140 (splat_input_operand): Likewise.
4141 (non_logical_cint_operand): Change const_double to const_wide_int.
4142 * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
4143 (easy_altivec_constant): Remove comment.
4144 (paired_expand_vector_init): Use CONSTANT_P.
4145 (rs6000_legitimize_address): Handle CONST_WIDE_INT.
4146 (rs6000_emit_move): Update checks.
4147 (rs6000_aggregate_candidate): Use wide-int interfaces.
4148 (rs6000_expand_ternop_builtin): Likewise.
4149 (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
4150 (rs6000_assemble_integer): Likewise.
4151 (rs6000_hash_constant): Likewise.
4152 (output_toc): Likewise.
4153 (rs6000_rtx_costs): Likewise.
4154 (rs6000_emit_swrsqrt); Update call to real_from_integer.
4155 * config/rs6000/rs6000-c.c: Include wide-int.h.
4156 (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
4157 * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
4158 * config/rs6000/rs6000.md: Use const_scalar_int_operand.
4159 Handle CONST_WIDE_INT.
4160 * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
4161 Use tree_fits_uhwi_p.
4162 * config/sparc/sparc.c: Include wide-int.h.
4163 (sparc_fold_builtin): Use wide-int interfaces.
4164 * config/vax/vax.c: Include wide-int.h.
4165 (vax_float_literal): Use real_from_integer.
4166 * coretypes.h (struct hwivec_def): New.
4167 (hwivec): New.
4168 (const_hwivec): New.
4169 * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
4170 (equiv_constant): Handle CONST_WIDE_INT.
4171 * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
4172 (cselib_hash_rtx): Handle CONST_WIDE_INT.
4173 * dbxout.c (stabstr_U): Use wide-int interfaces.
4174 (dbxout_type): Update to use cst_fits_shwi_p.
4175 * defaults.h (LOG2_BITS_PER_UNIT): Define.
4176 (TARGET_SUPPORTS_WIDE_INT): Add default.
4177 * dfp.c: Include wide-int.h.
4178 (decimal_real_to_integer2): Use wide-int interfaces and rename to
4179 decimal_real_to_integer.
4180 * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
4181 decimal_real_to_integer.
4182 * doc/generic.texi (Constant expressions): Update for wide_int.
4183 * doc/rtl.texi (const_double): Likewise.
4184 (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
4185 (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
4186 * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
4187 (REAL_VALUE_FROM_INT): Remove.
4188 (TARGET_SUPPORTS_WIDE_INT): New.
4189 * doc/tm.texi: Regenerate.
4190 * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
4191 * double-int.h: Include wide-int.h.
4192 (struct wi::int_traits): New.
4193 * dwarf2out.c (get_full_len): New.
4194 (dw_val_equal_p): Add case dw_val_class_wide_int.
4195 (size_of_loc_descr): Likewise.
4196 (output_loc_operands): Likewise.
4197 (insert_double): Remove.
4198 (insert_wide_int): New.
4199 (add_AT_wide): New.
4200 (print_die): Add case dw_val_class_wide_int.
4201 (attr_checksum): Likewise.
4202 (attr_checksum_ordered): Likewise.
4203 (same_dw_val_p): Likewise.
4204 (size_of_die): Likewise.
4205 (value_format): Likewise.
4206 (output_die): Likewise.
4207 (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
4208 Use wide-int.
4209 (clz_loc_descriptor): Use wide-int interfaces.
4210 (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
4211 (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
4212 (round_up_to_align): Use wide-int interfaces.
4213 (field_byte_offset): Likewise.
4214 (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
4215 (add_const_value_attribute): Handle CONST_WIDE_INT. Update
4216 CONST_DOUBLE handling. Use wide-int interfaces.
4217 (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
4218 (gen_enumeration_type_die): Use add_AT_wide.
4219 (hash_loc_operands): Add case dw_val_class_wide_int.
4220 (compare_loc_operands): Likewise.
4221 * dwarf2out.h: Include wide-int.h.
4222 (wide_int_ptr): New.
4223 (enum dw_val_class): Add dw_val_class_wide_int.
4224 (struct dw_val_struct): Add val_wide.
4225 * emit-rtl.c (const_wide_int_htab): New.
4226 (const_wide_int_htab_hash): New.
4227 (const_wide_int_htab_eq): New.
4228 (lookup_const_wide_int): New.
4229 (const_double_htab_hash): Use wide-int interfaces.
4230 (const_double_htab_eq): Likewise.
4231 (rtx_to_double_int): Conditionally compile for wide-int.
4232 (immed_double_int_const): Rename to immed_wide_int_const and
4233 update for wide-int.
4234 (immed_double_const): Conditionally compile for wide-int.
4235 (init_emit_once): Use wide-int interfaces.
4236 * explow.c (plus_constant): Likewise.
4237 * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
4238 (lshift_value): Use wide-int interfaces.
4239 (expand_mult): Likewise.
4240 (choose_multiplier): Likewise.
4241 (expand_smod_pow2): Likewise.
4242 (make_tree): Likewise.
4243 * expr.c (convert_modes): Consolidate handling of constants.
4244 Use wide-int interfaces.
4245 (emit_group_load_1): Add note.
4246 (store_expr): Update comment.
4247 (get_inner_reference): Use wide-int interfaces.
4248 (expand_constructor): Update comment.
4249 (expand_expr_real_2): Use wide-int interfaces.
4250 (expand_expr_real_1): Likewise.
4251 (reduce_to_bit_field_precision): Likewise.
4252 (const_vector_from_tree): Likewise.
4253 * final.c: Include wide-int-print.h.
4254 (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
4255 * fixed-value.c: Include wide-int.h.
4256 (fixed_from_string): Use wide-int interfaces.
4257 (fixed_to_decimal): Likewise.
4258 (fixed_convert_from_real): Likewise.
4259 (real_convert_from_fixed): Likewise.
4260 * fold-const.h (mem_ref_offset): Return an offset_int.
4261 (div_if_zero_remainder): Remove code parameter.
4262 * fold-const.c (div_if_zero_remainder): Remove code parameter.
4263 Use wide-int interfaces.
4264 (may_negate_without_overflow_p): Use wide-int interfaces.
4265 (negate_expr_p): Likewise.
4266 (fold_negate_expr): Likewise.
4267 (int_const_binop_1): Likewise.
4268 (const_binop): Likewise.
4269 (fold_convert_const_int_from_int): Likewise.
4270 (fold_convert_const_int_from_real): Likewise.
4271 (fold_convert_const_int_from_fixed): Likewise.
4272 (fold_convert_const_fixed_from_int): Likewise.
4273 (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
4274 (sign_bit_p): Use wide-int interfaces.
4275 (make_range_step): Likewise.
4276 (build_range_check): Likewise. Pass an integer of the correct type
4277 instead of using integer_one_node.
4278 (range_predecessor): Pass an integer of the correct type instead
4279 of using integer_one_node.
4280 (range_successor): Likewise.
4281 (merge_ranges): Likewise.
4282 (unextend): Use wide-int interfaces.
4283 (extract_muldiv_1): Likewise.
4284 (fold_div_compare): Likewise.
4285 (fold_single_bit_test): Likewise.
4286 (fold_sign_changed_comparison): Likewise.
4287 (try_move_mult_to_index): Update calls to div_if_zero_remainder.
4288 (fold_plusminus_mult_expr): Use wide-int interfaces.
4289 (native_encode_int): Likewise.
4290 (native_interpret_int): Likewise.
4291 (fold_unary_loc): Likewise.
4292 (pointer_may_wrap_p): Likewise.
4293 (size_low_cst): Likewise.
4294 (mask_with_tz): Likewise.
4295 (fold_binary_loc): Likewise.
4296 (fold_ternary_loc): Likewise.
4297 (multiple_of_p): Likewise.
4298 (tree_call_nonnegative_warnv_p): Update calls to
4299 tree_int_cst_min_precision and real_from_integer.
4300 (fold_negate_const): Use wide-int interfaces.
4301 (fold_abs_const): Likewise.
4302 (fold_relational_const): Use tree_int_cst_lt.
4303 (round_up_loc): Use wide-int interfaces.
4304 * genemit.c (gen_exp): Add CONST_WIDE_INT case.
4305 * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
4306 * gengtype.c: Remove include of double-int.h.
4307 (do_typedef): Use wide-int interfaces.
4308 (open_base_files): Add wide-int.h.
4309 (main): Add offset_int and widest_int typedefs.
4310 * gengtype-lex.l: Handle "^".
4311 (CXX_KEYWORD): Add "static".
4312 * gengtype-parse.c (require3): New.
4313 (require_template_declaration): Handle constant template arguments
4314 and nested templates.
4315 * gengtype-state.c: Don't include "double-int.h".
4316 * genpreds.c (write_one_predicate_function): Update comment.
4317 (write_tm_constrs_h): Add check for hval and lval use in
4318 CONST_WIDE_INT.
4319 * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
4320 (add_to_sequence): Likewise.
4321 * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
4322 and const_double_operand.
4323 * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
4324 interfaces.
4325 * gimple-fold.c (get_base_constructor): Likewise.
4326 (fold_array_ctor_reference): Likewise.
4327 (fold_nonarray_ctor_reference): Likewise.
4328 (fold_const_aggregate_ref_1): Likewise.
4329 (gimple_val_nonnegative_real_p): Likewise.
4330 (gimple_fold_indirect_ref): Likewise.
4331 * gimple-pretty-print.c (dump_ssaname_info): Likewise.
4332 * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
4333 (struct slsr_cand_d): Change index to be widest_int.
4334 (struct incr_info_d): Change incr to be widest_int.
4335 (alloc_cand_and_find_basis): Use wide-int interfaces.
4336 (slsr_process_phi): Likewise.
4337 (backtrace_base_for_ref): Likewise. Return a widest_int.
4338 (restructure_reference): Take a widest_int instead of a double_int.
4339 (slsr_process_ref): Use wide-int interfaces.
4340 (create_mul_ssa_cand): Likewise.
4341 (create_mul_imm_cand): Likewise.
4342 (create_add_ssa_cand): Likewise.
4343 (create_add_imm_cand): Take a widest_int instead of a double_int.
4344 (slsr_process_add): Use wide-int interfaces.
4345 (slsr_process_cast): Likewise.
4346 (slsr_process_copy): Likewise.
4347 (dump_candidate): Likewise.
4348 (dump_incr_vec): Likewise.
4349 (replace_ref): Likewise.
4350 (cand_increment): Likewise. Return a widest_int.
4351 (cand_abs_increment): Likewise.
4352 (replace_mult_candidate): Take a widest_int instead of a double_int.
4353 (replace_unconditional_candidate): Use wide-int interfaces.
4354 (incr_vec_index): Take a widest_int instead of a double_int.
4355 (create_add_on_incoming_edge): Likewise.
4356 (create_phi_basis): Use wide-int interfaces.
4357 (replace_conditional_candidate): Likewise.
4358 (record_increment): Take a widest_int instead of a double_int.
4359 (record_phi_increments): Use wide-int interfaces.
4360 (phi_incr_cost): Take a widest_int instead of a double_int.
4361 (lowest_cost_path): Likewise.
4362 (total_savings): Likewise.
4363 (analyze_increments): Use wide-int interfaces.
4364 (ncd_with_phi): Take a widest_int instead of a double_int.
4365 (ncd_of_cand_and_phis): Likewise.
4366 (nearest_common_dominator_for_cands): Likewise.
4367 (insert_initializers): Use wide-int interfaces.
4368 (all_phi_incrs_profitable): Likewise.
4369 (replace_one_candidate): Likewise.
4370 (replace_profitable_candidates): Likewise.
4371 * godump.c: Include wide-int-print.h.
4372 (go_output_typedef): Use wide-int interfaces.
4373 * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
4374 * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
4375 (build_loop_iteration_domains): Likewise.
4376 * hooks.h: Include wide-int.h rather than double-int.h.
4377 (hook_bool_dint_dint_uint_bool_true): Delete.
4378 (hook_bool_wint_wint_uint_bool_true): Declare.
4379 * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
4380 (hook_bool_wint_wint_uint_bool_true): New.
4381 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
4382 interfaces.
4383 (ubsan_expand_si_overflow_mul_check): Likewise.
4384 * ipa-devirt.c (get_polymorphic_call_info): Likewise.
4385 * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
4386 (get_ancestor_addr_info): Likewise.
4387 (ipa_modify_call_arguments): Likewise.
4388 * loop-doloop.c (doloop_modify): Likewise.
4389 (doloop_optimize): Likewise.
4390 * loop-iv.c (iv_number_of_iterations): Likewise.
4391 * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
4392 (unroll_loop_constant_iterations): Likewise.
4393 (decide_unroll_runtime_iterations): Likewise.
4394 (unroll_loop_runtime_iterations): Likewise.
4395 (decide_peel_simple): Likewise.
4396 (decide_unroll_stupid): Likewise.
4397 * lto-streamer-in.c (streamer_read_wi): Add.
4398 (input_cfg): Use wide-int interfaces.
4399 (lto_input_tree_1): Likewise.
4400 * lto-streamer-out.c (streamer_write_wi): Add.
4401 (hash_tree): Use wide-int interfaces.
4402 (output_cfg): Likewise.
4403 * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
4404 (GTFILES): Add wide-int.h and signop.h.
4405 (TAGS): Look for .cc files too.
4406 * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
4407 * optabs.c (expand_subword_shift): Likewise.
4408 (expand_doubleword_shift): Likewise.
4409 (expand_absneg_bit): Likewise.
4410 (expand_copysign_absneg): Likewise.
4411 (expand_copysign_bit): Likewise.
4412 * postreload.c (reload_cse_simplify_set): Likewise.
4413 * predict.c (predict_iv_comparison): Likewise.
4414 * pretty-print.h: Include wide-int-print.h.
4415 (pp_wide_int) New.
4416 * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
4417 * print-tree.c: Include wide-int-print.h.
4418 (print_node_brief): Use wide-int interfaces.
4419 (print_node): Likewise.
4420 * read-rtl.c (validate_const_wide_int): New.
4421 (read_rtx_code): Add CONST_WIDE_INT case.
4422 * real.c: Include wide-int.h.
4423 (real_to_integer2): Delete.
4424 (real_to_integer): New function, returning a wide_int.
4425 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
4426 (ten_to_ptwo): Update call to real_from_integer.
4427 (real_digit): Likewise.
4428 * real.h: Include signop.h, wide-int.h and insn-modes.h.
4429 (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
4430 (REAL_VALUE_TO_INT): Delete.
4431 (real_to_integer): Declare a wide-int form.
4432 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
4433 * recog.c (const_int_operand): Improve comment.
4434 (const_scalar_int_operand): New.
4435 (const_double_operand): Add a separate definition for CONST_WIDE_INT.
4436 * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
4437 (split_double): Likewise.
4438 * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
4439 (rtx_size): Likewise.
4440 (rtx_alloc_stat_v): New.
4441 (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
4442 (cwi_output_hex): New.
4443 (iterative_hash_rtx): Handle CONST_WIDE_INT.
4444 (cwi_check_failed_bounds): New.
4445 * rtl.def (CONST_WIDE_INT): New.
4446 * rtl.h: Include <utility> and wide-int.h.
4447 (struct hwivec_def): New.
4448 (CWI_GET_NUM_ELEM): New.
4449 (CWI_PUT_NUM_ELEM): New.
4450 (struct rtx_def): Add num_elem and hwiv.
4451 (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
4452 (CASE_CONST_UNIQUE): Likewise.
4453 (CASE_CONST_ANY): Likewise.
4454 (CONST_SCALAR_INT_P): Likewise.
4455 (CONST_WIDE_INT_P): New.
4456 (CWI_ELT): New.
4457 (HWIVEC_CHECK): New.
4458 (cwi_check_failed_bounds): New.
4459 (CWI_ELT): New.
4460 (HWIVEC_CHECK): New.
4461 (CONST_WIDE_INT_VEC) New.
4462 (CONST_WIDE_INT_NUNITS) New.
4463 (CONST_WIDE_INT_ELT) New.
4464 (rtx_mode_t): New type.
4465 (wi::int_traits <rtx_mode_t>): New.
4466 (wi::shwi): New.
4467 (wi::min_value): New.
4468 (wi::max_value): New.
4469 (rtx_alloc_v) New.
4470 (const_wide_int_alloc): New.
4471 (immed_wide_int_const): New.
4472 * sched-vis.c (print_value): Handle CONST_WIDE_INT.
4473 * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
4474 * signop.h: New file.
4475 * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
4476 (simplify_const_unary_operation): Use wide-int interfaces.
4477 (simplify_binary_operation_1): Likewise.
4478 (simplify_const_binary_operation): Likewise.
4479 (simplify_const_relational_operation): Likewise.
4480 (simplify_immed_subreg): Likewise.
4481 * stmt.c (expand_case): Likewise.
4482 * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
4483 signop rather than a bool.
4484 * stor-layout.c (layout_type): Use wide-int interfaces.
4485 (initialize_sizetypes): Update calls to
4486 set_min_and_max_values_for_integral_type.
4487 (set_min_and_max_values_for_integral_type): Take a signop rather
4488 than a bool. Use wide-int interfaces.
4489 (fixup_signed_type): Update accordingly. Remove
4490 HOST_BITS_PER_DOUBLE_INT limit.
4491 (fixup_unsigned_type): Likewise.
4492 * system.h (STATIC_CONSTANT_P): New.
4493 (STATIC_ASSERT): New.
4494 * target.def (can_use_doloop_p): Take widest_ints rather than
4495 double_ints.
4496 * target.h: Include wide-int.h rather than double-int.h.
4497 * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
4498 than double_ints.
4499 * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
4500 rather than INT_CST_LT_UNSIGNED.
4501 (can_use_doloop_if_innermost): Take widest_ints rather than
4502 double_ints.
4503 * tree-affine.c: Include wide-int-print.h.
4504 (double_int_ext_for_comb): Delete.
4505 (wide_int_ext_for_comb): New.
4506 (aff_combination_zero): Use wide-int interfaces.
4507 (aff_combination_const): Take a widest_int instead of a double_int.
4508 (aff_combination_elt): Use wide-int interfaces.
4509 (aff_combination_scale): Take a widest_int instead of a double_int.
4510 (aff_combination_add_elt): Likewise.
4511 (aff_combination_add_cst): Likewise.
4512 (aff_combination_add): Use wide-int interfaces.
4513 (aff_combination_convert): Likewise.
4514 (tree_to_aff_combination): Likewise.
4515 (add_elt_to_tree): Take a widest_int instead of a double_int.
4516 (aff_combination_to_tree): Use wide-int interfaces.
4517 (aff_combination_remove_elt): Likewise.
4518 (aff_combination_add_product): Take a widest_int instead of
4519 a double_int.
4520 (aff_combination_mult): Use wide-int interfaces.
4521 (aff_combination_expand): Likewise.
4522 (double_int_constant_multiple_p): Delete.
4523 (wide_int_constant_multiple_p): New.
4524 (aff_combination_constant_multiple_p): Take a widest_int pointer
4525 instead of a double_int pointer.
4526 (print_aff): Use wide-int interfaces.
4527 (get_inner_reference_aff): Take a widest_int pointer
4528 instead of a double_int pointer.
4529 (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
4530 * tree-affine.h: Include wide-int.h.
4531 (struct aff_comb_elt): Change type of coef to widest_int.
4532 (struct affine_tree_combination): Change type of offset to widest_int.
4533 (double_int_ext_for_comb): Delete.
4534 (wide_int_ext_for_comb): New.
4535 (aff_combination_const): Use widest_int instead of double_int.
4536 (aff_combination_scale): Likewise.
4537 (aff_combination_add_elt): Likewise.
4538 (aff_combination_constant_multiple_p): Likewise.
4539 (get_inner_reference_aff): Likewise.
4540 (aff_comb_cannot_overlap_p): Likewise.
4541 (aff_combination_zero_p): Use wide-int interfaces.
4542 * tree.c: Include tree.h.
4543 (init_ttree): Use make_int_cst.
4544 (tree_code_size): Removed code for INTEGER_CST case.
4545 (tree_size): Add INTEGER_CST case.
4546 (make_node_stat): Update comment.
4547 (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
4548 (build_int_cst_type): Use wide-int interfaces.
4549 (double_int_to_tree): Likewise.
4550 (double_int_fits_to_tree_p): Delete.
4551 (force_fit_type_double): Delete.
4552 (force_fit_type): New.
4553 (int_cst_hash_hash): Use wide-int interfaces.
4554 (int_cst_hash_eq): Likewise.
4555 (build_int_cst_wide): Delete.
4556 (wide_int_to_tree): New.
4557 (cache_integer_cst): Use wide-int interfaces.
4558 (build_low_bits_mask): Likewise.
4559 (cst_and_fits_in_hwi): Likewise.
4560 (real_value_from_int_cst): Likewise.
4561 (make_int_cst_stat): New.
4562 (integer_zerop): Use wide_int interfaces.
4563 (integer_onep): Likewise.
4564 (integer_all_onesp): Likewise.
4565 (integer_pow2p): Likewise.
4566 (integer_nonzerop): Likewise.
4567 (tree_log2): Likewise.
4568 (tree_floor_log2): Likewise.
4569 (tree_ctz): Likewise.
4570 (int_size_in_bytes): Likewise.
4571 (mem_ref_offset): Return an offset_int rather than a double_int.
4572 (build_type_attribute_qual_variant): Use wide_int interfaces.
4573 (type_hash_eq): Likewise
4574 (tree_int_cst_equal): Likewise.
4575 (tree_int_cst_lt): Delete.
4576 (tree_int_cst_compare): Likewise.
4577 (tree_fits_shwi_p): Use wide_int interfaces.
4578 (tree_fits_uhwi_p): Likewise.
4579 (tree_int_cst_sign_bit): Likewise.
4580 (tree_int_cst_sgn): Likewise.
4581 (tree_int_cst_min_precision): Take a signop rather than a bool.
4582 (simple_cst_equal): Use wide_int interfaces.
4583 (compare_tree_int): Likewise.
4584 (iterative_hash_expr): Likewise.
4585 (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
4586 INT_CST_LT.
4587 (get_type_static_bounds): Use wide_int interfaces.
4588 (tree_int_cst_elt_check_failed): New.
4589 (build_common_tree_nodes): Reordered to set prec before filling in
4590 value.
4591 (int_cst_value): Check cst_and_fits_in_hwi.
4592 (widest_int_cst_value): Use wide_int interfaces.
4593 (upper_bound_in_type): Likewise.
4594 (lower_bound_in_type): Likewise.
4595 (num_ending_zeros): Likewise.
4596 (drop_tree_overflow): Likewise.
4597 * tree-call-cdce.c (check_pow): Update call to real_from_integer.
4598 (gen_conditions_for_pow_cst_base): Likewise.
4599 * tree-cfg.c: Include wide-int.h and wide-int-print.h.
4600 (group_case_labels_stmt): Use wide-int interfaces.
4601 (verify_gimple_assign_binary): Likewise.
4602 (print_loop): Likewise.
4603 * tree-chrec.c (tree_fold_binomial): Likewise.
4604 * tree-core.h (struct tree_base): Add int_length.
4605 (struct tree_int_cst): Change rep of value.
4606 * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
4607 (dr_may_alias_p): Likewise.
4608 (max_stmt_executions_tree): Likewise.
4609 * tree.def (INTEGER_CST): Update comment.
4610 * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
4611 * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
4612 * tree-dump.c: Include wide-int.h and wide-int-print.h.
4613 (dequeue_and_dump): Use wide-int interfaces.
4614 * tree.h: Include wide-int.h.
4615 (NULL_TREE): Moved to earlier loc in file.
4616 (TREE_INT_CST_ELT_CHECK): New.
4617 (tree_int_cst_elt_check_failed): New.
4618 (TYPE_SIGN): New.
4619 (TREE_INT_CST): Delete.
4620 (TREE_INT_CST_LOW): Use wide-int interfaces.
4621 (TREE_INT_CST_HIGH): Delete.
4622 (TREE_INT_CST_NUNITS): New.
4623 (TREE_INT_CST_EXT_NUNITS): Likewise.
4624 (TREE_INT_CST_OFFSET_NUNITS): Likewise.
4625 (TREE_INT_CST_ELT): Likewise.
4626 (INT_CST_LT): Delete.
4627 (tree_int_cst_elt_check): New (two forms).
4628 (type_code_size): Update comment.
4629 (make_int_cst_stat, make_int_cst): New.
4630 (tree_to_double_int): Delete.
4631 (double_int_fits_to_tree_p): Delete.
4632 (force_fit_type_double): Delete.
4633 (build_int_cstu): Replace with out-of-line function.
4634 (build_int_cst_wide): Delete.
4635 (tree_int_cst_lt): Define inline.
4636 (tree_int_cst_le): New.
4637 (tree_int_cst_compare): Define inline.
4638 (tree_int_cst_min_precision): Take a signop rather than a bool.
4639 (wi::int_traits <const_tree>): New.
4640 (wi::int_traits <tree>): New.
4641 (wi::extended_tree): New.
4642 (wi::int_traits <wi::extended_tree>): New.
4643 (wi::to_widest): New.
4644 (wi::to_offset): New.
4645 (wi::fits_to_tree_p): New.
4646 (wi::min_value): New.
4647 (wi::max_value): New.
4648 * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
4649 (copy_tree_body_r): Likewise.
4650 * tree-object-size.c (compute_object_offset): Likewise.
4651 (addr_object_size): Likewise.
4652 * tree-predcom.c: Include wide-int-print.h.
4653 (struct dref_d): Change type of offset to widest_int.
4654 (dump_dref): Call wide-int printer.
4655 (aff_combination_dr_offset): Use wide-int interfaces.
4656 (determine_offset): Take a widest_int pointer rather than a
4657 double_int pointer.
4658 (split_data_refs_to_components): Use wide-int interfaces.
4659 (suitable_component_p): Likewise.
4660 (order_drefs): Likewise.
4661 (add_ref_to_chain): Likewise.
4662 (valid_initializer_p): Likewise.
4663 (determine_roots_comp): Likewise.
4664 * tree-pretty-print.c: Include wide-int-print.h.
4665 (dump_generic_node): Use wide-int interfaces.
4666 * tree-sra.c (sra_ipa_modify_expr): Likewise.
4667 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
4668 (move_fixed_address_to_symbol): Likewise.
4669 (move_hint_to_base): Likewise.
4670 (move_pointer_to_base): Likewise.
4671 (move_variant_to_index): Likewise.
4672 (most_expensive_mult_to_index): Likewise.
4673 (addr_to_parts): Likewise.
4674 (copy_ref_info): Likewise.
4675 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
4676 (indirect_refs_may_alias_p): Likewise.
4677 (stmt_kills_ref_p_1): Likewise.
4678 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
4679 * tree-ssa-ccp.c: Update comment at top of file. Include
4680 wide-int-print.h.
4681 (struct prop_value_d): Change type of mask to widest_int.
4682 (extend_mask): New function.
4683 (dump_lattice_value): Use wide-int interfaces.
4684 (get_default_value): Likewise.
4685 (set_constant_value): Likewise.
4686 (set_value_varying): Likewise.
4687 (valid_lattice_transition): Likewise.
4688 (set_lattice_value): Likewise.
4689 (value_to_double_int): Delete.
4690 (value_to_wide_int): New.
4691 (get_value_from_alignment): Use wide-int interfaces.
4692 (get_value_for_expr): Likewise.
4693 (do_dbg_cnt): Likewise.
4694 (ccp_finalize): Likewise.
4695 (ccp_lattice_meet): Likewise.
4696 (bit_value_unop_1): Use widest_ints rather than double_ints.
4697 (bit_value_binop_1): Likewise.
4698 (bit_value_unop): Use wide-int interfaces.
4699 (bit_value_binop): Likewise.
4700 (bit_value_assume_aligned): Likewise.
4701 (evaluate_stmt): Likewise.
4702 (ccp_fold_stmt): Likewise.
4703 (visit_cond_stmt): Likewise.
4704 (ccp_visit_stmt): Likewise.
4705 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
4706 (constant_pointer_difference): Likewise.
4707 (associate_pointerplus): Likewise.
4708 (combine_conversions): Likewise.
4709 * tree-ssa-loop.h: Include wide-int.h.
4710 (struct tree_niter_desc): Change type of max to widest_int.
4711 * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
4712 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
4713 (remove_redundant_iv_tests): Likewise.
4714 (canonicalize_loop_induction_variables): Likewise.
4715 * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
4716 (constant_multiple_of): Take a widest_int pointer instead of
4717 a double_int pointer.
4718 (get_computation_aff): Use wide-int interfaces.
4719 (ptr_difference_cost): Likewise.
4720 (difference_cost): Likewise.
4721 (get_loop_invariant_expr_id): Likewise.
4722 (get_computation_cost_at): Likewise.
4723 (iv_elimination_compare_lt): Likewise.
4724 (may_eliminate_iv): Likewise.
4725 * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
4726 instead of double_int.
4727 (max_loop_iterations): Likewise.
4728 (max_stmt_executions): Likewise.
4729 (estimated_stmt_executions): Likewise.
4730 * tree-ssa-loop-niter.c: Include wide-int-print.h.
4731 (split_to_var_and_offset): Use wide-int interfaces.
4732 (determine_value_range): Likewise.
4733 (bound_difference_of_offsetted_base): Likewise.
4734 (bounds_add): Take a widest_int instead of a double_int.
4735 (number_of_iterations_ne_max): Use wide-int interfaces.
4736 (number_of_iterations_ne): Likewise.
4737 (number_of_iterations_lt_to_ne): Likewise.
4738 (assert_loop_rolls_lt): Likewise.
4739 (number_of_iterations_lt): Likewise.
4740 (number_of_iterations_le): Likewise.
4741 (number_of_iterations_cond): Likewise.
4742 (number_of_iterations_exit): Likewise.
4743 (finite_loop_p): Likewise.
4744 (derive_constant_upper_bound_assign): Likewise.
4745 (derive_constant_upper_bound): Return a widest_int.
4746 (derive_constant_upper_bound_ops): Likewise.
4747 (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
4748 (record_estimate): Take a widest_int rather than a double_int.
4749 (record_nonwrapping_iv): Use wide-int interfaces.
4750 (double_int_cmp): Delete.
4751 (wide_int_cmp): New.
4752 (bound_index): Take a widest_int rather than a double_int.
4753 (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
4754 (maybe_lower_iteration_bound): Likewise.
4755 (estimate_numbers_of_iterations_loop): Likewise.
4756 (estimated_loop_iterations): Take a widest_int pointer than than
4757 a double_int pointer.
4758 (estimated_loop_iterations_int): Use wide-int interfaces.
4759 (max_loop_iterations): Take a widest_int pointer than than
4760 a double_int pointer.
4761 (max_loop_iterations_int): Use wide-int interfaces.
4762 (max_stmt_executions): Take a widest_int pointer than than
4763 a double_int pointer.
4764 (estimated_stmt_executions): Likewise.
4765 (n_of_executions_at_most): Use wide-int interfaces.
4766 (scev_probably_wraps_p): Likewise.
4767 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
4768 to real_to_integer.
4769 * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
4770 interfaces.
4771 * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
4772 double_ints. Adjust for trailing_wide_ints <3> representation.
4773 (set_nonzero_bits): Likewise.
4774 (get_range_info): Return wide_ints rather than double_ints.
4775 Adjust for trailing_wide_ints <3> representation.
4776 (get_nonzero_bits): Likewise.
4777 (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
4778 representation.
4779 * tree-ssanames.h (struct range_info_def): Replace min, max and
4780 nonzero_bits with a trailing_wide_ints <3>.
4781 (set_range_info): Use wide_int_refs rather than double_ints.
4782 (set_nonzero_bits): Likewise.
4783 (get_range_info): Return wide_ints rather than double_ints.
4784 (get_nonzero_bits): Likewise.
4785 * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
4786 * tree-ssa-pre.c (phi_translate_1): Likewise.
4787 * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
4788 (acceptable_pow_call): Likewise.
4789 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
4790 interfaces.
4791 (vn_reference_fold_indirect): Likewise.
4792 (vn_reference_maybe_forwprop_address): Likewise.
4793 (valueize_refs_1): Likewise.
4794 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
4795 * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
4796 tree_int_cst_lt and tree_int_cst_le.
4797 * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
4798 interfaces.
4799 (streamer_alloc_tree): Likewise.
4800 * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
4801 (streamer_write_tree_header): Likewise.
4802 (streamer_write_integer_cst): Likewise.
4803 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
4804 (build_constructors): Likewise.
4805 (array_value_type): Likewise.
4806 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
4807 (vect_check_gather): Likewise.
4808 * tree-vect-generic.c (build_replicated_const): Likewise.
4809 (expand_vector_divmod): Likewise.
4810 * tree-vect-loop.c (vect_transform_loop): Likewise.
4811 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
4812 (vect_do_peeling_for_alignment): Likewise.
4813 * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
4814 * tree-vrp.c: Include wide-int.h.
4815 (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
4816 (extract_range_from_assert): Use wide-int interfaces.
4817 (vrp_int_const_binop): Likewise.
4818 (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
4819 double_int pointers.
4820 (ranges_from_anti_range): Use wide-int interfaces.
4821 (quad_int_cmp): Delete.
4822 (quad_int_pair_sort): Likewise.
4823 (extract_range_from_binary_expr_1): Use wide-int interfaces.
4824 (extract_range_from_unary_expr_1): Likewise.
4825 (adjust_range_with_scev): Likewise.
4826 (masked_increment): Take and return wide_ints rather than double_ints.
4827 (register_edge_assert_for_2): Use wide-int interfaces.
4828 (check_array_ref): Likewise.
4829 (search_for_addr_array): Likewise.
4830 (maybe_set_nonzero_bits): Likewise.
4831 (union_ranges): Pass an integer of the correct type instead of
4832 using integer_one_node.
4833 (intersect_ranges): Likewise.
4834 (simplify_truth_ops_using_ranges): Likewise.
4835 (simplify_bit_ops_using_ranges): Use wide-int interfaces.
4836 (range_fits_type_p): Likewise.
4837 (simplify_cond_using_ranges): Likewise. Take a signop rather than
4838 a bool.
4839 (simplify_conversion_using_ranges): Use wide-int interfaces.
4840 (simplify_float_conversion_using_ranges): Likewise.
4841 (vrp_finalize): Likewise.
4842 * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
4843 (gimple_stringops_transform): Likewise.
4844 * varasm.c (decode_addr_const): Likewise.
4845 (const_hash_1): Likewise.
4846 (const_rtx_hash_1): Likewise
4847 (output_constant): Likewise.
4848 (array_size_for_constructor): Likewise.
4849 (output_constructor_regular_field): Likewise.
4850 (output_constructor_bitfield): Likewise.
4851 * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
4852 * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
4853 GENERATOR_FILEs.
4854 * gencheck.c: Define BITS_PER_UNIT.
4855 * wide-int.cc: New.
4856 * wide-int.h: New.
4857 * wide-int-print.cc: New.
4858 * wide-int-print.h: New.
4859
3134fb19
JBG
48602014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
4861
4862 * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
4863
3bea341f
RB
48642014-05-06 Richard Biener <rguenther@suse.de>
4865
4866 * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
4867 TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
4868 (TODO_verify_all): Adjust.
4869 * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
4870 TODO_verify_stmts and TODO_verify_rtl_sharing.
4871 * bb-reorder.c: Likewise.
4872 * cfgexpand.c: Likewise.
4873 * cprop.c: Likewise.
4874 * cse.c: Likewise.
4875 * function.c: Likewise.
4876 * fwprop.c: Likewise.
4877 * gcse.c: Likewise.
4878 * gimple-ssa-isolate-paths.c: Likewise.
4879 * gimple-ssa-strength-reduction.c: Likewise.
4880 * ipa-split.c: Likewise.
4881 * loop-init.c: Likewise.
4882 * loop-unroll.c: Likewise.
4883 * lower-subreg.c: Likewise.
4884 * modulo-sched.c: Likewise.
4885 * postreload-gcse.c: Likewise.
4886 * predict.c: Likewise.
4887 * recog.c: Likewise.
4888 * sched-rgn.c: Likewise.
4889 * store-motion.c: Likewise.
4890 * tracer.c: Likewise.
4891 * trans-mem.c: Likewise.
4892 * tree-call-cdce.c: Likewise.
4893 * tree-cfg.c: Likewise.
4894 * tree-cfgcleanup.c: Likewise.
4895 * tree-complex.c: Likewise.
4896 * tree-eh.c: Likewise.
4897 * tree-emutls.c: Likewise.
4898 * tree-if-conv.c: Likewise.
4899 * tree-into-ssa.c: Likewise.
4900 * tree-loop-distribution.c: Likewise.
4901 * tree-object-size.c: Likewise.
4902 * tree-parloops.c: Likewise.
4903 * tree-pass.h: Likewise.
4904 * tree-sra.c: Likewise.
4905 * tree-ssa-ccp.c: Likewise.
4906 * tree-ssa-copy.c: Likewise.
4907 * tree-ssa-copyrename.c: Likewise.
4908 * tree-ssa-dce.c: Likewise.
4909 * tree-ssa-dom.c: Likewise.
4910 * tree-ssa-dse.c: Likewise.
4911 * tree-ssa-forwprop.c: Likewise.
4912 * tree-ssa-ifcombine.c: Likewise.
4913 * tree-ssa-loop-ch.c: Likewise.
4914 * tree-ssa-loop-ivcanon.c: Likewise.
4915 * tree-ssa-loop.c: Likewise.
4916 * tree-ssa-math-opts.c: Likewise.
4917 * tree-ssa-phiopt.c: Likewise.
4918 * tree-ssa-phiprop.c: Likewise.
4919 * tree-ssa-pre.c: Likewise.
4920 * tree-ssa-reassoc.c: Likewise.
4921 * tree-ssa-sink.c: Likewise.
4922 * tree-ssa-strlen.c: Likewise.
4923 * tree-ssa-tail-merge.c: Likewise.
4924 * tree-ssa-uncprop.c: Likewise.
4925 * tree-switch-conversion.c: Likewise.
4926 * tree-tailcall.c: Likewise.
4927 * tree-vect-generic.c: Likewise.
4928 * tree-vectorizer.c: Likewise.
4929 * tree-vrp.c: Likewise.
4930 * tsan.c: Likewise.
4931 * var-tracking.c: Likewise.
4932 * bt-load.c: Likewise.
4933 * cfgcleanup.c: Likewise.
4934 * combine-stack-adj.c: Likewise.
4935 * combine.c: Likewise.
4936 * compare-elim.c: Likewise.
4937 * config/epiphany/resolve-sw-modes.c: Likewise.
4938 * config/i386/i386.c: Likewise.
4939 * config/mips/mips.c: Likewise.
4940 * config/s390/s390.c: Likewise.
4941 * config/sh/sh_treg_combine.cc: Likewise.
4942 * config/sparc/sparc.c: Likewise.
4943 * dce.c: Likewise.
4944 * dse.c: Likewise.
4945 * final.c: Likewise.
4946 * ifcvt.c: Likewise.
4947 * mode-switching.c: Likewise.
4948 * passes.c: Likewise.
4949 * postreload.c: Likewise.
4950 * ree.c: Likewise.
4951 * reg-stack.c: Likewise.
4952 * regcprop.c: Likewise.
4953 * regrename.c: Likewise.
4954 * web.c: Likewise.
4955
3d224d46
RB
49562014-05-06 Richard Biener <rguenther@suse.de>
4957
4958 PR middle-end/61070
4959 * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
4960 * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
4961
e400f081
JH
49622014-05-05 Jan Hubicka <hubicka@ucw.cz>
4963
4964 PR ipa/60965
4965 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
4966
aaeaa9a9 49672014-05-05 Radovan Obradovic <robradovic@mips.com>
b6db8af6 4968 Tom de Vries <tom@codesourcery.com>
aaeaa9a9 4969
b6db8af6
UB
4970 * target.def (call_fusage_contains_non_callee_clobbers): New
4971 DEFHOOKPOD.
aaeaa9a9
RO
4972 * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
4973 Hooks to @menu.
4974 (@node Miscellaneous Register Hooks): New node.
4975 (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
4976 * doc/tm.texi: Regenerate.
4977
c2ac23fe
MP
49782014-05-05 Marek Polacek <polacek@redhat.com>
4979
4980 PR driver/61065
4981 * opts.c (common_handle_option): Call error_at instead of warning_at.
4982
0db74577
RB
49832014-05-05 Richard Biener <rguenther@suse.de>
4984
4985 * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
4986 from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
4987 under the TODO_verify_il umbrella.
4988
7e7f8713
RB
49892014-05-05 Richard Biener <rguenther@suse.de>
4990
4991 * passes.c (execute_function_todo): Move TODO_verify_flow under
4992 the TODO_verify_ul umbrella.
4993
7e2c9f14
RB
49942014-05-05 Richard Biener <rguenther@suse.de>
4995
4996 PR middle-end/61010
b6db8af6
UB
4997 * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
4998 X & CST away from a CST that is the mask of a mode.
7e2c9f14 4999
33ecf108
JBG
50002014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5001
5002 * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
5003 int argument to enum machine_mode.
5004 (picochip_class_max_nregs): Ditto.
5005 * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
5006 (picochip_class_max_nregs): Ditto.
5007
d56a43a0
AK
50082014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5009
5010 * target.def: Add new target hook.
5011 * doc/tm.texi: Regenerate.
5012 * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
5013 * targhooks.c (default_keep_leaf_when_profiled): New function.
5014
5015 * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
5016 (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
5017
cb8f1a57
BC
50182014-05-05 Bin Cheng <bin.cheng@arm.com>
5019
5020 PR tree-optimization/60363
5021 * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
5022 (copy_phi_args): New parameters. Call get_value_locus_in_path.
5023 (update_destination_phis): New parameter.
5024 (create_edge_and_update_destination_phis): Ditto.
5025 (ssa_fix_duplicate_block_edges): Pass new arguments.
5026 (thread_single_edge): Ditto.
5027
f93bc5b3
PB
50282014-05-04 Peter Bergner <bergner@vnet.ibm.com>
5029
5030 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
5031 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
5032 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
5033 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
5034 Use RS6000_BTM_HARD_FLOAT.
5035 (BU_MISC_2): Likewise.
5036 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
5037 RS6000_BTM_HARD_FLOAT.
5038 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
5039 is explicitly used.
5040 (rs6000_invalid_builtin): Add hard floating builtin support.
5041 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
5042 hard float builtins.
5043 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
5044
579f4e64
OE
50452014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5046
5047 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
5048 Add missing function* argument.
5049
0be7287d
RS
50502014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
5051
5052 * lra-constraints.c (valid_address_p): Move earlier in file.
5053 Add a constraint argument to the address_info version.
5054 (satisfies_memory_constraint_p): New function.
5055 (satisfies_address_constraint_p): Likewise.
5056 (process_alt_operands, curr_insn_transform): Use them.
5057 (process_address): Pass the constraint to valid_address_p when
5058 checking address operands.
5059
ad782bc9
RS
50602014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
5061
5062 * config/mips/mips.c (mips_isa_rev): New variable.
5063 (mips_set_architecture): Set it.
5064 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
5065 from mips_isa_rev.
5066 (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
5067 (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
5068 (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
5069 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
5070 (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
5071 conditions in terms of mips_isa_rev.
5072 (mips_isa_rev): Declare.
5073
45731f37
OE
50742014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5075
5076 * config/sh/sh-mem.cc: Use tabs instead of spaces.
5077 (prob_unlikely, prob_likely): Make variables const.
5078
c61dfa63
DC
50792014-05-03 Denis Chertykov <chertykov@gmail.com>
5080
5081 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
5082
1b8da635
OE
50832014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5084
5085 * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
5086
f6982a08
OE
50872014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5088
5089 * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
5090 (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
5091 * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
5092 functions.
5093 (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
5094 sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
5095 sh_pass_in_reg_p.
5096 Replace usage of ROUND_REG with sh_round_reg.
5097 Use CEIL instead of ROUND_ADVANCE.
5098
0bcf70f8
OE
50992014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5100
5101 PR target/61026
5102 * config/sh/sh.c: Include stdlib headers before everything else.
5103
95782571
JJ
51042014-05-02 Jakub Jelinek <jakub@redhat.com>
5105
5106 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
5107 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
5108 (gimplify_adjust_omp_clauses): Simd region is never
5109 directly nested in combined parallel. Instead, for linear
5110 with copyin/copyout, if in combined for simd loop, make decl
5111 firstprivate/lastprivate on OMP_FOR.
5112 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
5113 expand_omp_for_static_chunk): When setting endvar, also set
5114 fd->loop.v to the same value.
5115
e13b3dfd
RS
51162014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
5117
5118 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
5119
0696116a
AL
51202014-05-02 Alan Lawrence <alan.lawrence@arm.com>
5121
5122 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
5123 expression.
5124
fb90f9f3
MP
51252014-05-02 Marek Polacek <polacek@redhat.com>
5126
5127 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
5128
153df826 51292014-05-02 Kito Cheng <kito@0xlab.org>
ed15c598
KC
5130
5131 * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
5132 to a C expression marco.
5133 * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
5134 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
5135 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
5136 * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
5137 HONOR_REG_ALLOC_ORDER.
5138 * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
5139
53c8d5a7
JBG
51402014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5141
5142 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
5143
486c559b
JBG
51442014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5145
5146 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
5147
944052b9
YR
51482014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
5149
5150 * tree-if-conv.c (is_cond_scalar_reduction): New function.
5151 (convert_scalar_cond_reduction): Likewise.
5152 (predicate_scalar_phi): Add recognition and transformation
5153 of simple conditioanl reduction to be vectorizable.
5154
d00887e8
MP
51552014-05-01 Marek Polacek <polacek@redhat.com>
5156
5157 PR c/43245
5158 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
5159
7211512a
AL
51602014-04-30 Alan Lawrence <alan.lawrence@arm.com>
5161
5162 * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
5163 vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
5164 vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
5165 vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
5166 vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
5167 vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
5168 vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
5169 vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
5170
e5bd20a4
JR
51712014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
5172
5173 * config/arc/arc.opt (mlra): Move comment above option name
5174 to avoid mis-parsing as language options.
5175
2cf03b11
RO
51762014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5177
5178 * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
5179 * config/sol2.h: ... here.
5180 * config/sol2-10.h: Remove.
5181
5182 * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
5183 (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
5184 (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
5185 (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
5186 (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
5187 * config/sol2.h: ... here.
5188 (SECTION_NAME_FORMAT): Don't redefine.
5189 (STARTFILE_ARCH32_SPEC): Rename to ...
5190 (STARTFILE_ARCH_SPEC): ... this.
5191 (ASM_OUTPUT_ALIGNED_COMMON): Move ...
5192 * config/sparc/sol2.h: ... here.
5193 (SECTION_NAME_FORMAT): Don't undef.
5194 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
5195 (SUBTARGET_EXTRA_SPECS): Remove.
5196 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
5197
5198 * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
5199 (MD_STARTFILE_PREFIX): Remove.
5200 (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
5201 (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
5202 (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
5203 (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
5204 (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
5205 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
5206 * config/i386/sol2.h: ... here.
5207 (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
5208 * config/i386/sol2-bi.h: Remove.
5209 * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
5210 (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
5211
5212 * config/i386/t-sol2-64: Rename to ...
5213 * config/i386/t-sol2: ... this.
5214 * config/sparc/t-sol2-64: Rename to ...
5215 * config/sparc/t-sol2: ... this.
5216
5217 * config.gcc (*-*-solaris2*): Split sol2_tm_file into
5218 sol2_tm_file_head, sol2_tm_file_tail.
5219 Include ${cpu_type}/sol2.h before sol2.h.
5220 Remove sol2-10.h.
5221 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
5222 i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
5223 Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
5224 Reflect i386/t-sol2-64 renaming.
5225 (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
5226 Reflect sparc/t-sol2-64 renaming.
5227
e9ff9caf
RB
52282014-04-30 Richard Biener <rguenther@suse.de>
5229
5230 * passes.c (execute_function_todo): Move TODO_verify_stmts
5231 and TODO_verify_ssa under the TODO_verify_il umbrella.
5232 * tree-ssa.h (verify_ssa): Adjust prototype.
5233 * tree-ssa.c (verify_ssa): Add parameter to tell whether
5234 we should verify SSA operands.
5235 * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
5236 * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
5237 whether we should verify whether not throwing stmts have EH info.
5238 * graphite-scop-detection.c (create_sese_edges): Adjust.
5239 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
5240 * tree-eh.c (lower_try_finally_switch): Do not add the
5241 default case label twice.
5242
f8ed5150
MP
52432014-04-30 Marek Polacek <polacek@redhat.com>
5244
5245 * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
5246 * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
5247 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
5248 * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
5249
7cb0403f
AL
52502014-04-29 Alan Lawrence <alan.lawrence@arm.com>
5251
5252 * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
5253 vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
5254 vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
5255 vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
5256 vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
5257 vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
5258 vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
5259 vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
5260
3979649a
DM
52612014-04-29 David Malcolm <dmalcolm@redhat.com>
5262
5263 * tree-cfg.c (dump_function_to_file): Dump the return type of
5264 functions, in a line to itself before the function body, mimicking
5265 the layout of a C function.
5266
62fb101e
JJ
52672014-04-29 Jakub Jelinek <jakub@redhat.com>
5268
5269 PR tree-optimization/60971
5270 * tree-tailcall.c (process_assignment): Reject conversions which
5271 reduce precision.
5272
3d9684ae
JG
52732014-04-29 James Greenhalgh <james.greenhalgh@arm.com>
5274
5275 * calls.c (initialize_argument_information): Always treat
5276 PUSH_ARGS_REVERSED as 1, simplify code accordingly.
5277 (expand_call): Likewise.
5278 (emit_library_call_calue_1): Likewise.
5279 * expr.c (PUSH_ARGS_REVERSED): Do not define.
5280 (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
5281 code accordingly.
5282
d77f7b19
NC
52832014-04-29 Nick Clifton <nickc@redhat.com>
5284
5285 * config/msp430/msp430.md (umulsidi): Fix typo.
5286 (mulhisi3): Enable even inside interrupt handlers.
5287 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
5288 bigger return address pushed in large mode.
5289
f8d91e80
NC
52902014-04-29 Nick Clifton <nickc@redhat.com>
5291
5292 * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
5293 (arc_init_reg_tables): Use a machine_mode enum to iterate over
5294 available modes.
5295 * config/m32r/m32r.c (init_reg_tables): Likewise.
5296 * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
5297 enum to hold the modes.
5298
e3f613cb
RB
52992014-04-29 Richard Biener <rguenther@suse.de>
5300
5301 * dominance.c (free_dominance_info): Add overload with
5302 function parameter.
5303 (dom_info_state): Likewise.
5304 (dom_info_available_p): Likewise.
5305 * basic-block.h (free_dominance_info, dom_info_state,
5306 dom_info_available_p): Declare overloads.
5307 * passes.c (execute_function_todo): Verify that verifiers
5308 don't change dominator info state. Drop dominator info
5309 for IPA pass invocations.
5310 * cgraph.c (release_function_body): Restore asserts that
5311 dominator information is released.
5312
36f291f7
PP
53132014-04-29 Patrick Palka <patrick@parcs.ath.cx>
5314
5315 * doc/invoke.texi: Fix typo.
5316 * tree-vrp.c: Fix typos.
b6db8af6 5317 * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
36f291f7 5318
d3a3182b
ZC
53192014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
5320
5321 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
5322
ba081b77
JG
53232014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
5324
5325 * config/aarch64/aarch64-builtins.c
5326 (aarch64_types_storestruct_lane_qualifiers): New.
5327 (TYPES_STORESTRUCT_LANE): Likewise.
5328 * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
5329 (st3_lane): Likewise.
5330 (st4_lane): Likewise.
5331 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
5332 (vec_store_lanesci_lane<mode>): Likewise.
5333 (vec_store_lanesxi_lane<mode>): Likewise.
5334 (aarch64_st2_lane<VQ:mode>): Likewise.
5335 (aarch64_st3_lane<VQ:mode>): Likewise.
5336 (aarch64_st4_lane<VQ:mode>): Likewise.
5337 * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
5338 * config/aarch64/arm_neon.h
5339 (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
5340 use new macro arguments.
5341 (__ST3_LANE_FUNC): Likewise.
5342 (__ST4_LANE_FUNC): Likewise.
5343 * config/aarch64/iterators.md (V_TWO_ELEM): New.
5344 (V_THREE_ELEM): Likewise.
5345 (V_FOUR_ELEM): Likewise.
5346
1bc6d43c
DM
53472014-04-28 David Malcolm <dmalcolm@redhat.com>
5348
5349 * doc/gimple.texi: Replace the description of the now-defunct
5350 union gimple_statement_d with a diagram showing the
5351 gimple_statement_base class hierarchy and its relationships to
5352 the GSS_ and GIMPLE_ enums.
5353
97e1ad78
JG
53542014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
5355
5356 * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
5357 * config/aarch64/aarch64.c
5358 (aarch64_cannot_change_mode_class): Weaken conditions.
5359 (aarch64_modes_tieable_p): New.
5360 * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
5361
bf245bf4
PH
53622014-04-28 Pat Haugen <pthaugen@us.ibm.com>
5363
5364 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
5365 (loadsync_<mode>): Change mode.
5366 (load_quadpti, store_quadpti): New.
5367 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
5368 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
5369
28151221
MJ
53702014-04-28 Martin Jambor <mjambor@suse.cz>
5371
5372 * tree-sra.c (sra_modify_expr): Generate new memory accesses with
5373 same alias type as the original statement.
5374 (subreplacement_assignment_data): New type.
5375 (handle_unscalarized_data_in_subtree): New type of parameter,
5376 generate new memory accesses with same alias type as the original
5377 statement.
5378 (load_assign_lhs_subreplacements): Likewise.
5379 (sra_modify_constructor_assign): Generate new memory accesses with
5380 same alias type as the original statement.
5381
9ba5fb43
RB
53822014-04-28 Richard Biener <rguenther@suse.de>
5383
5384 * tree-pass.h (TODO_verify_il): Define.
5385 (TODO_verify_all): Complete properly.
5386 * passes.c (execute_function_todo): Move existing loop-closed
5387 SSA verification under TODO_verify_il.
5388 (execute_one_pass): Trigger TODO_verify_il at todo-after time.
5389 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
5390 Fix tree sharing issue.
5391
22869a37
RB
53922014-04-28 Richard Biener <rguenther@suse.de>
5393
5394 PR middle-end/60092
5395 * builtins.def (DEF_C11_BUILTIN): Add.
5396 (BUILT_IN_ALIGNED_ALLOC): Likewise.
5397 * coretypes.h (enum function_class): Add function_c11_misc.
5398 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
5399 BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
5400 (call_may_clobber_ref_p_1): Likewise.
5401 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
5402 (mark_all_reaching_defs_necessary_1): Likewise.
5403 (propagate_necessity): Likewise.
5404 (eliminate_unnecessary_stmts): Likewise.
5405 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
5406
771c9501
RB
54072014-04-28 Richard Biener <rguenther@suse.de>
5408
5409 * tree-vrp.c (vrp_var_may_overflow): Remove.
5410 (vrp_visit_phi_node): Rather than bumping to +-INF possibly
5411 with overflow immediately bump to one before that value and
5412 let iteration figure out overflow status.
5413
279a935f
RB
54142014-04-28 Richard Biener <rguenther@suse.de>
5415
5416 * configure.ac: Do valgrind header checks unconditionally.
5417 Add --enable-valgrind-annotations.
5418 * system.h: Guard valgrind header inclusion with
5419 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
5420 * alloc-pool.c (pool_alloc, pool_free): Use
5421 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
5422 to guard possibly dead code.
5423 * config.in: Regenerated.
5424 * configure: Likewise.
5425
07357f2f
JL
54262014-04-28 Jeff Law <law@redhat.com>
5427
5428 PR tree-optimization/60902
5429 * tree-ssa-threadedge.c
5430 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
5431 over real defs when invalidating outputs from statements that do not
5432 produce useful outputs for threading.
5433
6c6aa8e6
RB
54342014-04-28 Richard Biener <rguenther@suse.de>
5435
5436 PR tree-optimization/60979
5437 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
5438 SCOPs that end in a block with a successor with abnormal
5439 predecessors.
5440
2cbf2d95
RB
54412014-04-28 Richard Biener <rguenther@suse.de>
5442
5443 * tree-pass.h (execute_pass_list): Adjust prototype.
b6db8af6 5444 * passes.c (pass_manager::execute_early_local_passes): Adjust.
2cbf2d95
RB
5445 (do_per_function): Change callback signature, push all actual
5446 work to the callbals.
5447 (do_per_function_toporder): Likewise.
5448 (execute_function_dump): Adjust.
5449 (execute_function_todo): Likewise.
5450 (clear_last_verified): Likewise.
5451 (verify_curr_properties): Likewise.
5452 (update_properties_after_pass): Likewise.
5453 (execute_pass_list_1): Split out from ...
5454 (execute_pass_list): ... here. Adjust.
5455 (execute_ipa_pass_list): Likewise.
5456 * cgraphunit.c (cgraph_add_new_function): Adjust.
5457 (analyze_function): Likewise.
5458 (expand_function): Likewise.
5459 * cgraph.c (release_function_body): Free dominance info
5460 here instead of asserting it was magically freed elsewhere.
5461
ba21a04a
EB
54622014-04-28 Eric Botcazou <ebotcazou@adacore.com>
5463
5464 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
5465 * configure: Regenerate.
5466 * config/sparc/sparc.opt (muser-mode): New option.
5467 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
5468 for LEON3.
5469 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
5470 * doc/invoke.texi (SPARC options): Document -muser-mode.
5471
f956adb9
RS
54722014-04-27 Richard Sandiford <rdsandiford@googlemail.com>
5473
5474 * cselib.c (find_slot_memmode): Delete.
5475 (cselib_hasher): Change compare_type to a struct.
5476 (cselib_hasher::equal): Update accordingly. Don't expect wrapped
5477 constants.
5478 (preserve_constants_and_equivs): Adjust for new compare_type.
5479 (cselib_find_slot): Likewise. Take the mode of the rtx as argument.
5480 (wrap_constant): Delete.
5481 (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
5482
167c3e96
MT
54832014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
5484
5485 * doc/install.texi (Building with profile feedback): Remove
5486 outdated sentence.
5487
4148ef5f
TV
54882014-04-26 Tom de Vries <tom@codesourcery.com>
5489
5490 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
5491 array accesses.
5492
8d8ffd86
CC
54932014-04-25 Cary Coutant <ccoutant@google.com>
5494
b6db8af6 5495 PR debug/60929
8d8ffd86 5496 * dwarf2out.c (should_move_die_to_comdat): A type definition
b6db8af6
UB
5497 can contain a subprogram definition, but don't move it to a
5498 comdat unit.
8d8ffd86 5499 (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
b6db8af6
UB
5500 (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
5501 from original DIE.
8d8ffd86
CC
5502 (clone_tree_hash): Rename to...
5503 (clone_tree_partial): ...this; change callers. Copy
b6db8af6 5504 DW_TAG_subprogram DIEs as declarations.
8d8ffd86 5505 (copy_decls_walk): Don't copy children of a declaration into a
b6db8af6 5506 type unit.
8d8ffd86 5507
255671b0
L
55082014-04-25 H.J. Lu <hongjiu.lu@intel.com>
5509
5510 PR target/60969
5511 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
5512 alternative 12.
5513
10432733
JW
55142014-04-25 Jiong Wang <jiong.wang@arm.com>
5515
5516 * config/arm/predicates.md (call_insn_operand): Add long_call check.
5517 * config/arm/arm.md (sibcall, sibcall_value): Force the address to
5518 reg for long_call.
5519 * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
5520 restriction.
5521
0e4c913f
KT
55222014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5523
b6db8af6 5524 * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
0e4c913f 5525
61ba7329
BS
55262014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5527
5528 PR tree-optimization/60930
5529 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
5530 creating a multiply candidate by folding two constant
5531 multiplicands when the result overflows.
5532
2b332829
JJ
55332014-04-25 Jakub Jelinek <jakub@redhat.com>
5534
5535 PR tree-optimization/60960
5536 * tree-vect-generic.c (expand_vector_operation): Only call
5537 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
5538
97891c11
TV
55392014-04-25 Tom de Vries <tom@codesourcery.com>
5540
5541 * expr.c (clobber_reg_mode): New function.
5542 * expr.h (clobber_reg): New function.
5543
3ee634fd
TV
55442014-04-25 Tom de Vries <tom@codesourcery.com>
5545
5546 * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
5547 clobbers.
5548
356bf593 55492014-04-25 Radovan Obradovic <robradovic@mips.com>
b6db8af6 5550 Tom de Vries <tom@codesourcery.com>
356bf593
RO
5551
5552 * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
5553 handle.
5554 * rtl.h (find_all_hard_reg_sets): Add bool parameter.
5555 * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
5556 new argument to find_all_hard_reg_sets call.
5557
fe65a7ed
KT
55582014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5559
5560 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
5561 Use HOST_WIDE_INT_C for mask literal.
5562 (aarch_rev16_shleft_mask_imm_p): Likewise.
5563
b357d40d
EB
55642014-04-25 Eric Botcazou <ebotcazou@adacore.com>
5565
5566 PR target/60941
5567 * config/sparc/sparc.md (ashlsi3_extend): Delete.
5568
30c0a59a
MG
55692014-04-25 Marc Glisse <marc.glisse@inria.fr>
5570
5571 PR preprocessor/56540
5572 * config/i386/i386-c.c (ix86_target_macros): Define
5573 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
5574
c02f59e2
RO
55752014-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5576
5577 * configure.ac (tga_func): Remove.
5578 (LIB_TLS_SPEC): Remove.
5579 * configure: Regenerate.
5580 * config.in: Regenerate.
5581 * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
5582
92b3326b
RB
55832014-04-25 Richard Biener <rguenther@suse.de>
5584
5585 PR ipa/60912
5586 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
5587 call stmt use/clobber sets during stmt walk instead of
5588 walking the possibly incomplete set of caller edges.
5589
78422fb1
RB
55902014-04-25 Richard Biener <rguenther@suse.de>
5591
5592 PR ipa/60911
5593 * passes.c (apply_ipa_transforms): Inline into only caller ...
5594 (execute_one_pass): ... here. Properly bring in function
5595 bodies for nodes we want to apply IPA transforms to.
5596
56f8faae
CH
55972014-04-24 Cong Hou <congh@google.com>
5598
5599 PR tree-optimization/60896
5600 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
5601 all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
5602 (vect_mark_pattern_stmts): Set the def type of all statements in
5603 PATTERN_DEF_SEQ as vect_internal_def.
5604
06b39289
MM
56052014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
5606
5607 * doc/extend.texi (PowerPC Built-in Functions): Document new
b6db8af6 5608 powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
06b39289
MM
5609 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
5610
5611 * config/rs6000/predicates.md (const_0_to_3_operand): New
5612 predicate to match 0..3 integer constants.
5613
5614 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
5615 to support adding miscellaneous builtin functions.
5616 (BU_DFP_MISC_2): Likewise.
5617 (BU_P7_MISC_1): Likewise.
5618 (BU_P7_MISC_2): Likewise.
5619 (BU_P8V_MISC_3): Likewise.
5620 (BU_MISC_1): Likewise.
5621 (BU_MISC_2): Likewise.
5622 (DIVWE): Add extended divide builtin functions.
5623 (DIVWEO): Likewise.
5624 (DIVWEU): Likewise.
5625 (DIVWEUO): Likewise.
5626 (DIVDE): Likewise.
5627 (DIVDEO): Likewise.
5628 (DIVDEU): Likewise.
5629 (DIVDEUO): Likewise.
5630 (DXEX): Add decimal floating-point builtin functions.
5631 (DXEXQ): Likewise.
5632 (DDEDPD): Likewise.
5633 (DDEDPDQ): Likewise.
5634 (DENBCD): Likewise.
5635 (DENBCDQ): Likewise.
5636 (DIEX): Likewise.
5637 (DIEXQ): Likewise.
5638 (DSCLI): Likewise.
5639 (DSCLIQ): Likewise.
5640 (DSCRI): Likewise.
5641 (DSCRIQ): Likewise.
5642 (CDTBCD): Add new BCD builtin functions.
5643 (CBCDTD): Likewise.
5644 (ADDG6S): Likewise.
5645 (BCDADD): Likewise.
5646 (BCDADD_LT): Likewise.
5647 (BCDADD_EQ): Likewise.
5648 (BCDADD_GT): Likewise.
5649 (BCDADD_OV): Likewise.
5650 (BCDSUB): Likewise.
5651 (BCDSUB_LT): Likewise.
5652 (BCDSUB_EQ): Likewise.
5653 (BCDSUB_GT): Likewise.
5654 (BCDSUB_OV): Likewise.
5655 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
5656 (UNPACK_TD): Likewise.
5657 (PACK_TF): Likewise.
5658 (UNPACK_TF): Likewise.
5659 (UNPACK_TF_0): Likewise.
5660 (UNPACK_TF_1): Likewise.
5661 (PACK_V1TI): Likewise.
5662 (UNPACK_V1TI): Likewise.
5663
5664 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
5665 support for decimal floating point builtin functions.
5666 (rs6000_expand_ternop_builtin): Add checks for the new builtin
5667 functions that take constant arguments.
b6db8af6 5668 (rs6000_invalid_builtin): Add decimal floating point builtin support.
06b39289
MM
5669 (rs6000_init_builtins): Setup long double, _Decimal64, and
5670 _Decimal128 types for new builtin functions.
5671 (builtin_function_type): Set the unsigned flags appropriately for
5672 the new builtin functions.
5673 (rs6000_opt_masks): Add support for decimal floating point builtin
5674 functions.
5675
5676 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
5677 floating point builtin functions.
5678 (RS6000_BTM_COMMON): Likewise.
5679 (RS6000_BTI_long_double): Likewise.
5680 (RS6000_BTI_dfloat64): Likewise.
5681 (RS6000_BTI_dfloat128): Likewise.
5682 (long_double_type_internal_node): Likewise.
5683 (dfloat64_type_internal_node): Likewise.
5684 (dfloat128_type_internal_node): Likewise.
5685
5686 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
5687 2.07 bcd arithmetic instructions.
5688 (UNSPEC_BCDSUB): Likewise.
5689 (UNSPEC_BCD_OVERFLOW): Likewise.
5690 (UNSPEC_BCD_ADD_SUB): Likewise.
5691 (bcd_add_sub): Likewise.
5692 (BCD_TEST): Likewise.
5693 (bcd<bcd_add_sub>): Likewise.
5694 (bcd<bcd_add_sub>_test): Likewise.
5695 (bcd<bcd_add_sub>_test2): Likewise.
5696 (bcd<bcd_add_sub>_<code>): Likewise.
5697 (peephole2 for combined bcd ops): Likewise.
5698
5699 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
5700 decimal floating point builtin functions.
5701 (UNSPEC_DENBCD): Likewise.
5702 (UNSPEC_DXEX): Likewise.
5703 (UNSPEC_DIEX): Likewise.
5704 (UNSPEC_DSCLI): Likewise.
5705 (UNSPEC_DSCRI): Likewise.
5706 (D64_D128): Likewise.
5707 (dfp_suffix): Likewise.
5708 (dfp_ddedpd_<mode>): Likewise.
5709 (dfp_denbcd_<mode>): Likewise.
5710 (dfp_dxex_<mode>): Likewise.
5711 (dfp_diex_<mode>): Likewise.
5712 (dfp_dscli_<mode>): Likewise.
5713 (dfp_dscri_<mode>): Likewise.
5714
5715 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
5716 builtin functions.
5717 (UNSPEC_CDTBCD): Likewise.
5718 (UNSPEC_CBCDTD): Likewise.
b6db8af6 5719 (UNSPEC_DIVE): Add support for new extended divide builtin functions.
06b39289
MM
5720 (UNSPEC_DIVEO): Likewise.
5721 (UNSPEC_DIVEU): Likewise.
5722 (UNSPEC_DIVEUO): Likewise.
5723 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
5724 pack/unpack 128-bit types.
5725 (UNSPEC_PACK_128BIT): Likewise.
5726 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
5727 (udiv<mode>3): Use idiv_ldiv mode attribute.
5728 (div<mode>3): Likewise.
5729 (addg6s): Add new BCD builtin functions.
5730 (cdtbcd): Likewise.
5731 (cbcdtd): Likewise.
b6db8af6 5732 (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
06b39289
MM
5733 (div_extend): Likewise.
5734 (div<div_extend>_<mode>"): Likewise.
5735 (FP128_64): Add support for new builtin functions to pack/unpack
5736 128-bit types.
5737 (unpack<mode>): Likewise.
5738 (unpacktf_0): Likewise.
5739 (unpacktf_1): Likewise.
5740 (unpack<mode>_dm): Likewise.
5741 (unpack<mode>_nodm): Likewise.
5742 (pack<mode>): Likewise.
5743 (unpackv1ti): Likewise.
5744 (packv1ti): Likewise.
5745
6e4f81db
V
57462014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
5747
5748 * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
5749 is disabled.
5750
f7468577
JJ
57512014-04-24 Jakub Jelinek <jakub@redhat.com>
5752
5753 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
5754 * gimplify.c (omp_is_private): Change last argument's type to int.
5755 Only diagnose lastprivate if the simd argument is 1, only diagnose
5756 linear if the simd argument is 2.
5757 (gimplify_omp_for): Adjust omp_is_private callers. When adding
5758 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
5759 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
5760 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
5761 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
5762 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
5763 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
5764 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
5765 * tree-nested.c (convert_nonlocal_omp_clauses,
5766 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
5767
2f7ac5ce
JL
57682014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
5769
5770 PR target/60822
5771 * config/m68k/m68k.md (extendplussidi): Don't allow memory for
5772 operand 1.
5773
dcaaa5a0
DP
57742014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
5775
5776 * flag-types.h (enum ivar_visibility): Add.
5777
78c7d18e
TS
57782014-04-24 Trevor Saunders <tsaunders@mozilla.com>
5779
5780 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
5781 function * argument.
5782
fbbde65e
AL
57832014-04-24 Alan Lawrence <alan.lawrence@arm.com>
5784
5785 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
5786
4f660b15 57872014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 5788 Tom de Vries <tom@codesourcery.com>
4f660b15
RO
5789
5790 * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
5791 * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
5792 reg-note.
5793 * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
5794 * emit-rtl.c (try_split): Same.
5795
d996e61a 57962014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 5797 Tom de Vries <tom@codesourcery.com>
d996e61a
RO
5798
5799 * common.opt (fuse-caller-save): New option.
5800
bbcc9c00
TB
58012014-04-24 Tejas Belagod <tejas.belagod@arm.com>
5802
b6db8af6
UB
5803 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
5804 elements for big-endian.
bbcc9c00 5805
d2d11532
RB
58062014-04-24 Richard Biener <rguenther@suse.de>
5807
5808 * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
5809 during TER and instead use the sepops interface for expanding
5810 non-GIMPLE_SINGLE_RHS.
5811
8117ef98
RO
58122014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5813
5814 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
5815 if not HAVE_AS_IX86_DIFF_SECT_DELTA.
5816
ab0afae3
RO
58172014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5818
5819 * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
5820 assembler 64-bit option.
5821 * configure: Regenerate.
5822
683e3333
KT
58232014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5824
5825 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
5826 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
5827 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
5828 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
5829 (TARGET_CRYPTO): Take TARGET_SIMD into account.
5830
c7f28cd5
KT
58312014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5832
5833 * config/aarch64/aarch64-builtins.c
5834 (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
5835 BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
5836 * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
5837 * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
5838 builtins.
5839 * config/aarch64/iterator.md (VDQHSD): New mode iterator.
5840 (Vrevsuff): New mode attribute.
5841
b0419491
TG
58422014-04-24 Terry Guo <terry.guo@arm.com>
5843
5844 * config/arm/arm.h (machine_function): Define variable
5845 after_arm_reorg here.
5846 * config/arm/arm.c (after_arm_reorg): Remove the definition.
5847 (arm_split_constant): Update the way to access variable
5848 after_arm_reorg.
5849 (arm_reorg): Ditto.
5850 (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
5851
74e4d71a
TV
58522014-04-23 Tom de Vries <tom@codesourcery.com>
5853
5854 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
5855
7de90a6c
DM
58562014-04-23 David Malcolm <dmalcolm@redhat.com>
5857
5858 * is-a.h: Update comments to reflect the following changes to the
5859 "pointerness" of the API, making the template parameter match the
5860 return type, allowing use of is-a.h with typedefs of pointers.
5861 (is_a_helper::cast): Return a T rather then a pointer to a T, so
5862 that the return type matches the parameter to the is_a_helper.
5863 (as_a): Likewise.
5864 (dyn_cast): Likewise.
5865
5866 * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
5867 pointer from the is-a.h API.
5868
5869 * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
5870 (is_a_helper <cgraph_node *>::test): ...this, matching change to
5871 is-a.h API.
5872 (is_a_helper <varpool_node>::test): Likewise, convert to...
5873 (is_a_helper <varpool_node *>::test): ...this.
5874
5875 (varpool_first_variable): Update for removal of implicit pointer
5876 from the is-a.h API.
5877 (varpool_next_variable): Likewise.
5878 (varpool_first_static_initializer): Likewise.
5879 (varpool_next_static_initializer): Likewise.
5880 (varpool_first_defined_variable): Likewise.
5881 (varpool_next_defined_variable): Likewise.
5882 (cgraph_first_defined_function): Likewise.
5883 (cgraph_next_defined_function): Likewise.
5884 (cgraph_first_function): Likewise.
5885 (cgraph_next_function): Likewise.
5886 (cgraph_first_function_with_gimple_body): Likewise.
5887 (cgraph_next_function_with_gimple_body): Likewise.
5888 (cgraph_alias_target): Likewise.
5889 (varpool_alias_target): Likewise.
5890 (cgraph_function_or_thunk_node): Likewise.
5891 (varpool_variable_node): Likewise.
5892 (symtab_real_symbol_p): Likewise.
5893 * cgraphunit.c (referred_to_p): Likewise.
5894 (analyze_functions): Likewise.
5895 (handle_alias_pairs): Likewise.
5896 * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
5897 * gimple-ssa.h (gimple_vuse_op): Likewise.
5898 (gimple_vdef_op): Likewise.
5899 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
5900 * gimple.c (gimple_build_asm_1): Likewise.
5901 (gimple_build_try): Likewise.
5902 (gimple_build_resx): Likewise.
5903 (gimple_build_eh_dispatch): Likewise.
5904 (gimple_build_omp_for): Likewise.
5905 (gimple_omp_for_set_clauses): Likewise.
5906
5907 * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
5908 (is_a_helper <gimple_statement_asm *>::test): ...this.
5909 (is_a_helper <gimple_statement_bind>::test): Convert to...
5910 (is_a_helper <gimple_statement_bind *>::test): ...this.
5911 (is_a_helper <gimple_statement_call>::test): Convert to...
5912 (is_a_helper <gimple_statement_call *>::test): ...this.
5913 (is_a_helper <gimple_statement_catch>::test): Convert to...
5914 (is_a_helper <gimple_statement_catch *>::test): ...this.
5915 (is_a_helper <gimple_statement_resx>::test): Convert to...
5916 (is_a_helper <gimple_statement_resx *>::test): ...this.
5917 (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
5918 (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
5919 (is_a_helper <gimple_statement_eh_else>::test): Convert to...
5920 (is_a_helper <gimple_statement_eh_else *>::test): ...this.
5921 (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
5922 (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
5923 (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
5924 (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
5925 (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
5926 (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
5927 (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
5928 (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
5929 (is_a_helper <gimple_statement_omp_return>::test): Convert to...
5930 (is_a_helper <gimple_statement_omp_return *>::test): ...this.
5931 (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
5932 (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
5933 (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
5934 (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
5935 (is_a_helper <gimple_statement_omp_for>::test): Convert to...
5936 (is_a_helper <gimple_statement_omp_for *>::test): ...this.
5937 (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
5938 (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
5939 (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
5940 (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
5941 (is_a_helper <gimple_statement_omp_target>::test): Convert to...
5942 (is_a_helper <gimple_statement_omp_target *>::test): ...this.
5943 (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
5944 (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
5945 (is_a_helper <gimple_statement_omp_single>::test): Convert to...
5946 (is_a_helper <gimple_statement_omp_single *>::test): ...this.
5947 (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
5948 (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
5949 (is_a_helper <gimple_statement_omp_task>::test): Convert to...
5950 (is_a_helper <gimple_statement_omp_task *>::test): ...this.
5951 (is_a_helper <gimple_statement_phi>::test): Convert to...
5952 (is_a_helper <gimple_statement_phi *>::test): ...this.
5953 (is_a_helper <gimple_statement_transaction>::test): Convert to...
5954 (is_a_helper <gimple_statement_transaction *>::test): ...this.
5955 (is_a_helper <gimple_statement_try>::test): Convert to...
5956 (is_a_helper <gimple_statement_try *>::test): ...this.
5957 (is_a_helper <gimple_statement_wce>::test): Convert to...
5958 (is_a_helper <gimple_statement_wce *>::test): ...this.
5959 (is_a_helper <const gimple_statement_asm>::test): Convert to...
5960 (is_a_helper <const gimple_statement_asm *>::test): ...this.
5961 (is_a_helper <const gimple_statement_bind>::test): Convert to...
5962 (is_a_helper <const gimple_statement_bind *>::test): ...this.
5963 (is_a_helper <const gimple_statement_call>::test): Convert to...
5964 (is_a_helper <const gimple_statement_call *>::test): ...this.
5965 (is_a_helper <const gimple_statement_catch>::test): Convert to...
5966 (is_a_helper <const gimple_statement_catch *>::test): ...this.
5967 (is_a_helper <const gimple_statement_resx>::test): Convert to...
5968 (is_a_helper <const gimple_statement_resx *>::test): ...this.
b6db8af6
UB
5969 (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
5970 (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
5971 (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
7de90a6c
DM
5972 (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
5973 (is_a_helper <const gimple_statement_omp_atomic_load>::test):
5974 Convert to...
5975 (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
5976 ...this.
5977 (is_a_helper <const gimple_statement_omp_atomic_store>::test):
5978 Convert to...
5979 (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
5980 ...this.
b6db8af6 5981 (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
7de90a6c
DM
5982 (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
5983 (is_a_helper <const gimple_statement_omp_continue>::test): Convert
5984 to...
5985 (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
5986 (is_a_helper <const gimple_statement_omp_critical>::test): Convert
5987 to...
5988 (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
5989 (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
5990 (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
b6db8af6 5991 (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
7de90a6c
DM
5992 (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
5993 (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
5994 to...
5995 (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
b6db8af6 5996 (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
7de90a6c
DM
5997 (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
5998 (is_a_helper <const gimple_statement_omp_sections>::test): Convert
5999 to...
6000 (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
b6db8af6 6001 (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
7de90a6c 6002 (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
b6db8af6 6003 (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
7de90a6c 6004 (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
b6db8af6 6005 (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
7de90a6c
DM
6006 (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
6007 (is_a_helper <const gimple_statement_phi>::test): Convert to...
6008 (is_a_helper <const gimple_statement_phi *>::test): ...this.
b6db8af6 6009 (is_a_helper <const gimple_statement_transaction>::test): Convert to...
7de90a6c 6010 (is_a_helper <const gimple_statement_transaction *>::test): ...this.
b6db8af6 6011 (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
7de90a6c
DM
6012 (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
6013 (is_a_helper <gimple_statement_with_ops>::test): Convert to...
6014 (is_a_helper <gimple_statement_with_ops *>::test): ...this.
b6db8af6
UB
6015 (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
6016 to...
7de90a6c
DM
6017 (is_a_helper <const gimple_statement_with_memory_ops *>::test):
6018 ...this.
b6db8af6 6019 (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
7de90a6c
DM
6020 (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
6021
6022 (gimple_use_ops): Update for removal of implicit pointer from the
6023 is-a.h API.
6024 (gimple_set_use_ops): Likewise.
6025 (gimple_vuse): Likewise.
6026 (gimple_vdef): Likewise.
6027 (gimple_vuse_ptr): Likewise.
6028 (gimple_vdef_ptr): Likewise.
6029 (gimple_set_vuse): Likewise.
6030 (gimple_set_vdef): Likewise.
6031 (gimple_omp_return_set_lhs): Likewise.
6032 (gimple_omp_return_lhs): Likewise.
6033 (gimple_omp_return_lhs_ptr): Likewise.
6034 (gimple_call_fntype): Likewise.
6035 (gimple_call_set_fntype): Likewise.
6036 (gimple_call_set_internal_fn): Likewise.
6037 (gimple_call_use_set): Likewise.
6038 (gimple_call_clobber_set): Likewise.
6039 (gimple_bind_vars): Likewise.
6040 (gimple_bind_set_vars): Likewise.
6041 (gimple_bind_body_ptr): Likewise.
6042 (gimple_bind_set_body): Likewise.
6043 (gimple_bind_add_stmt): Likewise.
6044 (gimple_bind_block): Likewise.
6045 (gimple_bind_set_block): Likewise.
6046 (gimple_asm_ninputs): Likewise.
6047 (gimple_asm_noutputs): Likewise.
6048 (gimple_asm_nclobbers): Likewise.
6049 (gimple_asm_nlabels): Likewise.
6050 (gimple_asm_input_op): Likewise.
6051 (gimple_asm_input_op_ptr): Likewise.
6052 (gimple_asm_output_op): Likewise.
6053 (gimple_asm_output_op_ptr): Likewise.
6054 (gimple_asm_set_output_op): Likewise.
6055 (gimple_asm_clobber_op): Likewise.
6056 (gimple_asm_set_clobber_op): Likewise.
6057 (gimple_asm_label_op): Likewise.
6058 (gimple_asm_set_label_op): Likewise.
6059 (gimple_asm_string): Likewise.
6060 (gimple_catch_types): Likewise.
6061 (gimple_catch_types_ptr): Likewise.
6062 (gimple_catch_handler_ptr): Likewise.
6063 (gimple_catch_set_types): Likewise.
6064 (gimple_catch_set_handler): Likewise.
6065 (gimple_eh_filter_types): Likewise.
6066 (gimple_eh_filter_types_ptr): Likewise.
6067 (gimple_eh_filter_failure_ptr): Likewise.
6068 (gimple_eh_filter_set_types): Likewise.
6069 (gimple_eh_filter_set_failure): Likewise.
6070 (gimple_eh_must_not_throw_fndecl): Likewise.
6071 (gimple_eh_must_not_throw_set_fndecl): Likewise.
6072 (gimple_eh_else_n_body_ptr): Likewise.
6073 (gimple_eh_else_e_body_ptr): Likewise.
6074 (gimple_eh_else_set_n_body): Likewise.
6075 (gimple_eh_else_set_e_body): Likewise.
6076 (gimple_try_eval_ptr): Likewise.
6077 (gimple_try_cleanup_ptr): Likewise.
6078 (gimple_try_set_eval): Likewise.
6079 (gimple_try_set_cleanup): Likewise.
6080 (gimple_wce_cleanup_ptr): Likewise.
6081 (gimple_wce_set_cleanup): Likewise.
6082 (gimple_phi_capacity): Likewise.
6083 (gimple_phi_num_args): Likewise.
6084 (gimple_phi_result): Likewise.
6085 (gimple_phi_result_ptr): Likewise.
6086 (gimple_phi_set_result): Likewise.
6087 (gimple_phi_arg): Likewise.
6088 (gimple_phi_set_arg): Likewise.
6089 (gimple_resx_region): Likewise.
6090 (gimple_resx_set_region): Likewise.
6091 (gimple_eh_dispatch_region): Likewise.
6092 (gimple_eh_dispatch_set_region): Likewise.
6093 (gimple_omp_critical_name): Likewise.
6094 (gimple_omp_critical_name_ptr): Likewise.
6095 (gimple_omp_critical_set_name): Likewise.
6096 (gimple_omp_for_clauses): Likewise.
6097 (gimple_omp_for_clauses_ptr): Likewise.
6098 (gimple_omp_for_set_clauses): Likewise.
6099 (gimple_omp_for_collapse): Likewise.
6100 (gimple_omp_for_index): Likewise.
6101 (gimple_omp_for_index_ptr): Likewise.
6102 (gimple_omp_for_set_index): Likewise.
6103 (gimple_omp_for_initial): Likewise.
6104 (gimple_omp_for_initial_ptr): Likewise.
6105 (gimple_omp_for_set_initial): Likewise.
6106 (gimple_omp_for_final): Likewise.
6107 (gimple_omp_for_final_ptr): Likewise.
6108 (gimple_omp_for_set_final): Likewise.
6109 (gimple_omp_for_incr): Likewise.
6110 (gimple_omp_for_incr_ptr): Likewise.
6111 (gimple_omp_for_set_incr): Likewise.
6112 (gimple_omp_for_pre_body_ptr): Likewise.
6113 (gimple_omp_for_set_pre_body): Likewise.
6114 (gimple_omp_parallel_clauses): Likewise.
6115 (gimple_omp_parallel_clauses_ptr): Likewise.
6116 (gimple_omp_parallel_set_clauses): Likewise.
6117 (gimple_omp_parallel_child_fn): Likewise.
6118 (gimple_omp_parallel_child_fn_ptr): Likewise.
6119 (gimple_omp_parallel_set_child_fn): Likewise.
6120 (gimple_omp_parallel_data_arg): Likewise.
6121 (gimple_omp_parallel_data_arg_ptr): Likewise.
6122 (gimple_omp_parallel_set_data_arg): Likewise.
6123 (gimple_omp_task_clauses): Likewise.
6124 (gimple_omp_task_clauses_ptr): Likewise.
6125 (gimple_omp_task_set_clauses): Likewise.
6126 (gimple_omp_task_child_fn): Likewise.
6127 (gimple_omp_task_child_fn_ptr): Likewise.
6128 (gimple_omp_task_set_child_fn): Likewise.
6129 (gimple_omp_task_data_arg): Likewise.
6130 (gimple_omp_task_data_arg_ptr): Likewise.
6131 (gimple_omp_task_set_data_arg): Likewise.
6132 (gimple_omp_taskreg_clauses): Likewise.
6133 (gimple_omp_taskreg_clauses_ptr): Likewise.
6134 (gimple_omp_taskreg_set_clauses): Likewise.
6135 (gimple_omp_taskreg_child_fn): Likewise.
6136 (gimple_omp_taskreg_child_fn_ptr): Likewise.
6137 (gimple_omp_taskreg_set_child_fn): Likewise.
6138 (gimple_omp_taskreg_data_arg): Likewise.
6139 (gimple_omp_taskreg_data_arg_ptr): Likewise.
6140 (gimple_omp_taskreg_set_data_arg): Likewise.
6141 (gimple_omp_task_copy_fn): Likewise.
6142 (gimple_omp_task_copy_fn_ptr): Likewise.
6143 (gimple_omp_task_set_copy_fn): Likewise.
6144 (gimple_omp_task_arg_size): Likewise.
6145 (gimple_omp_task_arg_size_ptr): Likewise.
6146 (gimple_omp_task_set_arg_size): Likewise.
6147 (gimple_omp_task_arg_align): Likewise.
6148 (gimple_omp_task_arg_align_ptr): Likewise.
6149 (gimple_omp_task_set_arg_align): Likewise.
6150 (gimple_omp_single_clauses): Likewise.
6151 (gimple_omp_single_clauses_ptr): Likewise.
6152 (gimple_omp_single_set_clauses): Likewise.
6153 (gimple_omp_target_clauses): Likewise.
6154 (gimple_omp_target_clauses_ptr): Likewise.
6155 (gimple_omp_target_set_clauses): Likewise.
6156 (gimple_omp_target_child_fn): Likewise.
6157 (gimple_omp_target_child_fn_ptr): Likewise.
6158 (gimple_omp_target_set_child_fn): Likewise.
6159 (gimple_omp_target_data_arg): Likewise.
6160 (gimple_omp_target_data_arg_ptr): Likewise.
6161 (gimple_omp_target_set_data_arg): Likewise.
6162 (gimple_omp_teams_clauses): Likewise.
6163 (gimple_omp_teams_clauses_ptr): Likewise.
6164 (gimple_omp_teams_set_clauses): Likewise.
6165 (gimple_omp_sections_clauses): Likewise.
6166 (gimple_omp_sections_clauses_ptr): Likewise.
6167 (gimple_omp_sections_set_clauses): Likewise.
6168 (gimple_omp_sections_control): Likewise.
6169 (gimple_omp_sections_control_ptr): Likewise.
6170 (gimple_omp_sections_set_control): Likewise.
6171 (gimple_omp_for_set_cond): Likewise.
6172 (gimple_omp_for_cond): Likewise.
6173 (gimple_omp_atomic_store_set_val): Likewise.
6174 (gimple_omp_atomic_store_val): Likewise.
6175 (gimple_omp_atomic_store_val_ptr): Likewise.
6176 (gimple_omp_atomic_load_set_lhs): Likewise.
6177 (gimple_omp_atomic_load_lhs): Likewise.
6178 (gimple_omp_atomic_load_lhs_ptr): Likewise.
6179 (gimple_omp_atomic_load_set_rhs): Likewise.
6180 (gimple_omp_atomic_load_rhs): Likewise.
6181 (gimple_omp_atomic_load_rhs_ptr): Likewise.
6182 (gimple_omp_continue_control_def): Likewise.
6183 (gimple_omp_continue_control_def_ptr): Likewise.
6184 (gimple_omp_continue_set_control_def): Likewise.
6185 (gimple_omp_continue_control_use): Likewise.
6186 (gimple_omp_continue_control_use_ptr): Likewise.
6187 (gimple_omp_continue_set_control_use): Likewise.
6188 (gimple_transaction_body_ptr): Likewise.
6189 (gimple_transaction_label): Likewise.
6190 (gimple_transaction_label_ptr): Likewise.
6191 (gimple_transaction_set_body): Likewise.
6192 (gimple_transaction_set_label): Likewise.
6193
6194 * ipa-devirt.c (build_type_inheritance_graph): Likewise.
6195 * ipa-inline-analysis.c (inline_write_summary): Likewise.
6196 * ipa-ref.c (ipa_record_reference): Likewise.
6197 * ipa-reference.c (analyze_function): Likewise.
6198 (ipa_reference_write_optimization_summary): Likewise.
6199 * ipa.c (symtab_remove_unreachable_nodes): Likewise.
6200 (address_taken_from_non_vtable_p): Likewise.
6201 (comdat_can_be_unshared_p_1): Likewise.
6202 * lto-cgraph.c (lto_output_ref): Likewise.
6203 (add_references): Likewise.
6204 (compute_ltrans_boundary): Likewise.
6205 (output_symtab): Likewise.
6206 (input_ref): Likewise.
6207 (input_cgraph_1): Likewise.
6208 (output_cgraph_opt_summary): Likewise.
6209 * lto-streamer-out.c (lto_output): Likewise.
6210 (output_symbol_p): Likewise.
6211 * lto-streamer.h (lsei_next_function_in_partition): Likewise.
6212 (lsei_start_function_in_partition): Likewise.
6213 (lsei_next_variable_in_partition): Likewise.
6214 (lsei_start_variable_in_partition): Likewise.
6215 * symtab.c (insert_to_assembler_name_hash): Likewise.
6216 (unlink_from_assembler_name_hash): Likewise.
6217 (symtab_unregister_node): Likewise.
6218 (symtab_remove_node): Likewise.
6219 (dump_symtab_node): Likewise.
6220 (verify_symtab_base): Likewise.
6221 (verify_symtab_node): Likewise.
6222 (symtab_make_decl_local): Likewise.
6223 (symtab_alias_ultimate_target): Likewise.
6224 (symtab_resolve_alias): Likewise.
6225 (symtab_get_symbol_partitioning_class): Likewise.
6226 * tree-phinodes.c (allocate_phi_node): Likewise.
6227 (reserve_phi_args_for_new_edge): Likewise.
6228 (remove_phi_args): Likewise.
6229 * varpool.c (varpool_node_for_asm): Likewise.
6230 (varpool_remove_unreferenced_decls): Likewise.
6231
9219922e
JL
62322014-04-23 Jeff Law <law@redhat.com>
6233
6234 PR tree-optimization/60902
6235 * tree-ssa-threadedge.c
6236 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
6237 invalidate outputs from statements that do not produce useful
6238 outputs for threading.
6239
b6db8af6 62402014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
36e17020
VK
6241
6242 * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
6243 (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
6244 machine descriptions for Stack Smashing Protector.
6245
57b77d46
RE
62462014-04-23 Richard Earnshaw <rearnsha@arm.com>
6247
6248 * aarch64.md (<optab>_rol<mode>3): New pattern.
6249 (<optab>_rolsi3_uxtw): Likewise.
6250 * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
6251
984c2f30
JG
62522014-04-23 James Greenhalgh <james.greenhalgh@arm.com>
6253
6254 * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
6255 (arm_cortex_a12_tune): Likewise.
6256
18b42b2a
KT
62572014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6258
6259 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
6260
ea1e9168
KT
62612014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6262
6263 * config/arm/arm.md (arm_rev16si2): New pattern.
6264 (arm_rev16si2_alt): Likewise.
6265 * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
6266
f7d5cf8d
KT
62672014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6268
b6db8af6
UB
6269 * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
6270 (rev16<mode>2_alt): Likewise.
6271 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
6272 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
6273 (aarch_rev16_shleft_mask_imm_p): Likewise.
6274 (aarch_rev16_p_1): Likewise.
6275 (aarch_rev16_p): Likewise.
6276 * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
6277 (aarch_rev16_shright_mask_imm_p): Likewise.
6278 (aarch_rev16_shleft_mask_imm_p): Likewise.
f7d5cf8d 6279
9ac05ae5
KT
62802014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6281
b6db8af6
UB
6282 * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
6283 * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
6284 rev cost.
6285 (cortex_a53_extra_costs): Likewise.
6286 (cortex_a57_extra_costs): Likewise.
6287 * config/arm/arm.c (cortexa9_extra_costs): Likewise.
6288 (cortexa7_extra_costs): Likewise.
6289 (cortexa8_extra_costs): Likewise.
6290 (cortexa12_extra_costs): Likewise.
6291 (cortexa15_extra_costs): Likewise.
6292 (v7m_extra_costs): Likewise.
6293 (arm_new_rtx_costs): Handle BSWAP.
9ac05ae5 6294
e0d8c86c
KT
62952013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6296
b6db8af6
UB
6297 * config/arm/arm.c (cortexa8_extra_costs): New table.
6298 (arm_cortex_a8_tune): New tuning struct.
6299 * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
e0d8c86c 6300
ba9b1a63
KT
63012014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6302
b6db8af6 6303 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
ba9b1a63 6304
da4cfeac
RB
63052014-04-23 Richard Biener <rguenther@suse.de>
6306
6307 * Makefile.in (OBJS): Remove loop-unswitch.o.
da4cfeac
RB
6308 * tree-pass.h (make_pass_rtl_unswitch): Remove.
6309 * passes.def (pass_rtl_unswitch): Likewise.
6310 * loop-init.c (gate_rtl_unswitch): Likewise.
6311 (rtl_unswitch): Likewise.
6312 (pass_data_rtl_unswitch): Likewise.
6313 (pass_rtl_unswitch): Likewise.
6314 (make_pass_rtl_unswitch): Likewise.
6315 * rtl.h (reversed_condition): Likewise.
6316 (compare_and_jump_seq): Likewise.
6317 * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
6318 and make static.
6319 * loop-unroll.c (compare_and_jump_seq): Likewise.
6320
22718afe
RB
63212014-04-23 Richard Biener <rguenther@suse.de>
6322
6323 PR tree-optimization/60903
6324 * tree-ssa-loop-im.c (analyze_memory_references): Remove
6325 commented code block.
6326 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
6327 loop flags to newly created BBs and edges.
6328
f7961364
NC
63292014-04-23 Nick Clifton <nickc@redhat.com>
6330
6331 * config/msp430/msp430.c (msp430_handle_option): Move function
6332 to msp430-common.c
6333 (msp430_option_override): Simplify mcu and mcpu option handling.
6334 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
6335 support for -mhwmult command line option.
6336 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
6337 -mhwmult command line option.
6338 (msp430_hwmult_enabled): Delete.
b6db8af6 6339 (msp43o_output_labelref): Add support for -mhwmult command line option.
f7961364
NC
6340 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
6341 (umulsidi3): Likewise.
6342 * config/msp430/msp430.opt (mmcu): Add Report attribute.
6343 (mcpu, mlarge, msmall): Likewise.
6344 (mhwmult): New option.
6345 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
6346 prototype.
6347 (msp430_is_f5_mcu): Remove prototype.
6348 (msp430_use_f5_series_hwmult): Add prototype.
6349 * config/msp430/msp430-opts.h: New file.
6350 * common/config/msp430: New directory.
6351 * common/config/msp430/msp430-common.c: New file.
6352 * config.gcc (msp430): Remove target_has_targetm_common.
6353 * doc/invoke.texi: Document -mhwmult command line option.
6354
f70df035
NC
63552014-04-23 Nick Clifton <nickc@redhat.com>
6356
6357 * config/i386/cygwin.h (ENDFILE_SPEC): Include
6358 default-manifest.o if it can be found in the search path.
6359 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
6360
6a9accca
TG
63612014-04-23 Terry Guo <terry.guo@arm.com>
6362
6363 * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
6364
62ba699e
RB
63652014-04-23 Richard Biener <rguenther@suse.de>
6366
6367 PR middle-end/60895
6368 * tree-inline.c (declare_return_variable): Use mark_addressable.
6369
92562f88
RB
63702014-04-23 Richard Biener <rguenther@suse.de>
6371
6372 PR middle-end/60891
6373 * loop-init.c (loop_optimizer_init): Make sure to apply
6374 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
6375
1c33c9b7
JJ
63762014-04-22 Jakub Jelinek <jakub@redhat.com>
6377
6378 PR sanitizer/60275
6379 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
6380 New options.
6381 * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
6382 if flag_sanitize_undefined_trap_on_error.
6383 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
6384 BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
6385 BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
6386 BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
6387 BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
6388 BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
6389 BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
6390 BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
6391 BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
6392 * ubsan.c (ubsan_instrument_unreachable): Return
6393 __builtin_trap () if flag_sanitize_undefined_trap_on_error.
6394 (ubsan_expand_null_ifn): Emit __builtin_trap ()
6395 if flag_sanitize_undefined_trap_on_error and
6396 __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
6397 (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
6398 instrument_bool_enum_load): Emit __builtin_trap () if
6399 flag_sanitize_undefined_trap_on_error and
6400 __builtin_handle_*_abort () if !flag_sanitize_recover.
6401 * doc/invoke.texi (-fsanitize-recover,
6402 -fsanitize-undefined-trap-on-error): Document.
6403
5e66b2e5
CB
64042014-04-22 Christian Bruel <christian.bruel@st.com>
6405
6406 * config/sh/sh.md (mov<mode>): Replace movQIHI.
6407 Force immediates to SImode.
6408
aa221564
SL
64092014-04-22 Sandra Loosemore <sandra@codesourcery.com>
6410
6411 * config/nios2/nios2.md (UNSPEC_ROUND): New.
6412 (lroundsfsi2): New.
6413 * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
6414 * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
6415 * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
6416 (nios2_fpu_insn): Add entry for round.
6417 (N2FPU_NO_ERRNO_P): Define.
6418 (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
6419 flag_errno_math.
6420 * doc/invoke.texi (Nios II Options): Document -mcustom-round.
6421
2195867f
RH
64222014-04-22 Richard Henderson <rth@redhat.com>
6423
6424 * config/aarch64/aarch64 (addti3, subti3): New expanders.
6425 (add<GPI>3_compare0): Remove leading * from name.
6426 (add<GPI>3_carryin): Likewise.
6427 (sub<GPI>3_compare0): Likewise.
6428 (sub<GPI>3_carryin): Likewise.
6429 (<su_optab>mulditi3): New expander.
6430 (multi3): New expander.
6431 (madd<GPI>): Remove leading * from name.
6432
c6d43074
MJ
64332014-04-22 Martin Jambor <mjambor@suse.cz>
6434
6435 * cgraphclones.c (cgraph_function_versioning): Copy
6436 ipa_transforms_to_apply instead of asserting it is empty.
6437
e54c2dd3
L
64382014-04-22 H.J. Lu <hongjiu.lu@intel.com>
6439
6440 PR target/60868
f70df035 6441 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
e54c2dd3
L
6442 on count_exp to get mode.
6443
621ad2de
AP
64442014-04-22 Andrew Pinski <apinski@cavium.com>
6445
6446 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
6447 Handle TLS for ILP32.
6448 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
6449 (tlsie_small_<mode>): this and handle PTR.
6450 (tlsie_small_sidi): New pattern.
6451 (tlsle_small): Change to an expand to handle ILP32.
6452 (tlsle_small_<mode>): New pattern.
6453 (tlsdesc_small): Rename to ...
6454 (tlsdesc_small_<mode>): this and handle PTR.
6455
5cb74e90
RR
64562014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6457
6458 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
6459
bcd48995
AV
64602014-04-22 Alex Velenko <Alex.Velenko@arm.com>
6461
6462 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
6463 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
6464 (aarch64_types_signed_poly_qualifiers): Likewise.
6465 (aarch64_types_unsigned_signed_qualifiers): Likewise.
6466 (aarch64_types_poly_signed_qualifiers): Likewise.
6467 (TYPES_REINTERP_SS): Type macro added.
6468 (TYPES_REINTERP_SU): Likewise.
6469 (TYPES_REINTERP_SP): Likewise.
6470 (TYPES_REINTERP_US): Likewise.
6471 (TYPES_REINTERP_PS): Likewise.
6472 (aarch64_fold_builtin): New expression folding added.
6473 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
6474 Declarations removed.
6475 (REINTERP_SS): Declarations added.
6476 (REINTERP_US): Likewise.
6477 (REINTERP_PS): Likewise.
6478 (REINTERP_SU): Likewise.
6479 (REINTERP_SP): Likewise.
6480 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
6481 (vreinterpretq_p8_f64): Likewise.
6482 (vreinterpret_p16_f64): Likewise.
6483 (vreinterpretq_p16_f64): Likewise.
6484 (vreinterpret_f32_f64): Likewise.
6485 (vreinterpretq_f32_f64): Likewise.
6486 (vreinterpret_f64_f32): Likewise.
6487 (vreinterpret_f64_p8): Likewise.
6488 (vreinterpret_f64_p16): Likewise.
6489 (vreinterpret_f64_s8): Likewise.
6490 (vreinterpret_f64_s16): Likewise.
6491 (vreinterpret_f64_s32): Likewise.
6492 (vreinterpret_f64_s64): Likewise.
6493 (vreinterpret_f64_u8): Likewise.
6494 (vreinterpret_f64_u16): Likewise.
6495 (vreinterpret_f64_u32): Likewise.
6496 (vreinterpret_f64_u64): Likewise.
6497 (vreinterpretq_f64_f32): Likewise.
6498 (vreinterpretq_f64_p8): Likewise.
6499 (vreinterpretq_f64_p16): Likewise.
6500 (vreinterpretq_f64_s8): Likewise.
6501 (vreinterpretq_f64_s16): Likewise.
6502 (vreinterpretq_f64_s32): Likewise.
6503 (vreinterpretq_f64_s64): Likewise.
6504 (vreinterpretq_f64_u8): Likewise.
6505 (vreinterpretq_f64_u16): Likewise.
6506 (vreinterpretq_f64_u32): Likewise.
6507 (vreinterpretq_f64_u64): Likewise.
6508 (vreinterpret_s64_f64): Likewise.
6509 (vreinterpretq_s64_f64): Likewise.
6510 (vreinterpret_u64_f64): Likewise.
6511 (vreinterpretq_u64_f64): Likewise.
6512 (vreinterpret_s8_f64): Likewise.
6513 (vreinterpretq_s8_f64): Likewise.
6514 (vreinterpret_s16_f64): Likewise.
6515 (vreinterpretq_s16_f64): Likewise.
6516 (vreinterpret_s32_f64): Likewise.
6517 (vreinterpretq_s32_f64): Likewise.
6518 (vreinterpret_u8_f64): Likewise.
6519 (vreinterpretq_u8_f64): Likewise.
6520 (vreinterpret_u16_f64): Likewise.
6521 (vreinterpretq_u16_f64): Likewise.
6522 (vreinterpret_u32_f64): Likewise.
6523 (vreinterpretq_u32_f64): Likewise.
6524
0bf3afc1
AV
65252014-04-22 Alex Velenko <Alex.Velenko@arm.com>
6526
6527 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
6528 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
6529 (vreinterpret_p8_s8): Likewise.
6530 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
6531 (vreinterpret_p8_s16): Likewise.
6532 (vreinterpret_p8_s32): Likewise.
6533 (vreinterpret_p8_s64): Likewise.
6534 (vreinterpret_p8_f32): Likewise.
6535 (vreinterpret_p8_u8): Likewise.
6536 (vreinterpret_p8_u16): Likewise.
6537 (vreinterpret_p8_u32): Likewise.
6538 (vreinterpret_p8_u64): Likewise.
6539 (vreinterpret_p8_p16): Likewise.
6540 (vreinterpretq_p8_s8): Likewise.
6541 (vreinterpretq_p8_s16): Likewise.
6542 (vreinterpretq_p8_s32): Likewise.
6543 (vreinterpretq_p8_s64): Likewise.
6544 (vreinterpretq_p8_f32): Likewise.
6545 (vreinterpretq_p8_u8): Likewise.
6546 (vreinterpretq_p8_u16): Likewise.
6547 (vreinterpretq_p8_u32): Likewise.
6548 (vreinterpretq_p8_u64): Likewise.
6549 (vreinterpretq_p8_p16): Likewise.
6550 (vreinterpret_p16_s8): Likewise.
6551 (vreinterpret_p16_s16): Likewise.
6552 (vreinterpret_p16_s32): Likewise.
6553 (vreinterpret_p16_s64): Likewise.
6554 (vreinterpret_p16_f32): Likewise.
6555 (vreinterpret_p16_u8): Likewise.
6556 (vreinterpret_p16_u16): Likewise.
6557 (vreinterpret_p16_u32): Likewise.
6558 (vreinterpret_p16_u64): Likewise.
6559 (vreinterpret_p16_p8): Likewise.
6560 (vreinterpretq_p16_s8): Likewise.
6561 (vreinterpretq_p16_s16): Likewise.
6562 (vreinterpretq_p16_s32): Likewise.
6563 (vreinterpretq_p16_s64): Likewise.
6564 (vreinterpretq_p16_f32): Likewise.
6565 (vreinterpretq_p16_u8): Likewise.
6566 (vreinterpretq_p16_u16): Likewise.
6567 (vreinterpretq_p16_u32): Likewise.
6568 (vreinterpretq_p16_u64): Likewise.
6569 (vreinterpretq_p16_p8): Likewise.
6570 (vreinterpret_f32_s8): Likewise.
6571 (vreinterpret_f32_s16): Likewise.
6572 (vreinterpret_f32_s32): Likewise.
6573 (vreinterpret_f32_s64): Likewise.
6574 (vreinterpret_f32_u8): Likewise.
6575 (vreinterpret_f32_u16): Likewise.
6576 (vreinterpret_f32_u32): Likewise.
6577 (vreinterpret_f32_u64): Likewise.
6578 (vreinterpret_f32_p8): Likewise.
6579 (vreinterpret_f32_p16): Likewise.
6580 (vreinterpretq_f32_s8): Likewise.
6581 (vreinterpretq_f32_s16): Likewise.
6582 (vreinterpretq_f32_s32): Likewise.
6583 (vreinterpretq_f32_s64): Likewise.
6584 (vreinterpretq_f32_u8): Likewise.
6585 (vreinterpretq_f32_u16): Likewise.
6586 (vreinterpretq_f32_u32): Likewise.
6587 (vreinterpretq_f32_u64): Likewise.
6588 (vreinterpretq_f32_p8): Likewise.
6589 (vreinterpretq_f32_p16): Likewise.
6590 (vreinterpret_s64_s8): Likewise.
6591 (vreinterpret_s64_s16): Likewise.
6592 (vreinterpret_s64_s32): Likewise.
6593 (vreinterpret_s64_f32): Likewise.
6594 (vreinterpret_s64_u8): Likewise.
6595 (vreinterpret_s64_u16): Likewise.
6596 (vreinterpret_s64_u32): Likewise.
6597 (vreinterpret_s64_u64): Likewise.
6598 (vreinterpret_s64_p8): Likewise.
6599 (vreinterpret_s64_p16): Likewise.
6600 (vreinterpretq_s64_s8): Likewise.
6601 (vreinterpretq_s64_s16): Likewise.
6602 (vreinterpretq_s64_s32): Likewise.
6603 (vreinterpretq_s64_f32): Likewise.
6604 (vreinterpretq_s64_u8): Likewise.
6605 (vreinterpretq_s64_u16): Likewise.
6606 (vreinterpretq_s64_u32): Likewise.
6607 (vreinterpretq_s64_u64): Likewise.
6608 (vreinterpretq_s64_p8): Likewise.
6609 (vreinterpretq_s64_p16): Likewise.
6610 (vreinterpret_u64_s8): Likewise.
6611 (vreinterpret_u64_s16): Likewise.
6612 (vreinterpret_u64_s32): Likewise.
6613 (vreinterpret_u64_s64): Likewise.
6614 (vreinterpret_u64_f32): Likewise.
6615 (vreinterpret_u64_u8): Likewise.
6616 (vreinterpret_u64_u16): Likewise.
6617 (vreinterpret_u64_u32): Likewise.
6618 (vreinterpret_u64_p8): Likewise.
6619 (vreinterpret_u64_p16): Likewise.
6620 (vreinterpretq_u64_s8): Likewise.
6621 (vreinterpretq_u64_s16): Likewise.
6622 (vreinterpretq_u64_s32): Likewise.
6623 (vreinterpretq_u64_s64): Likewise.
6624 (vreinterpretq_u64_f32): Likewise.
6625 (vreinterpretq_u64_u8): Likewise.
6626 (vreinterpretq_u64_u16): Likewise.
6627 (vreinterpretq_u64_u32): Likewise.
6628 (vreinterpretq_u64_p8): Likewise.
6629 (vreinterpretq_u64_p16): Likewise.
6630 (vreinterpret_s8_s16): Likewise.
6631 (vreinterpret_s8_s32): Likewise.
6632 (vreinterpret_s8_s64): Likewise.
6633 (vreinterpret_s8_f32): Likewise.
6634 (vreinterpret_s8_u8): Likewise.
6635 (vreinterpret_s8_u16): Likewise.
6636 (vreinterpret_s8_u32): Likewise.
6637 (vreinterpret_s8_u64): Likewise.
6638 (vreinterpret_s8_p8): Likewise.
6639 (vreinterpret_s8_p16): Likewise.
6640 (vreinterpretq_s8_s16): Likewise.
6641 (vreinterpretq_s8_s32): Likewise.
6642 (vreinterpretq_s8_s64): Likewise.
6643 (vreinterpretq_s8_f32): Likewise.
6644 (vreinterpretq_s8_u8): Likewise.
6645 (vreinterpretq_s8_u16): Likewise.
6646 (vreinterpretq_s8_u32): Likewise.
6647 (vreinterpretq_s8_u64): Likewise.
6648 (vreinterpretq_s8_p8): Likewise.
6649 (vreinterpretq_s8_p16): Likewise.
6650 (vreinterpret_s16_s8): Likewise.
6651 (vreinterpret_s16_s32): Likewise.
6652 (vreinterpret_s16_s64): Likewise.
6653 (vreinterpret_s16_f32): Likewise.
6654 (vreinterpret_s16_u8): Likewise.
6655 (vreinterpret_s16_u16): Likewise.
6656 (vreinterpret_s16_u32): Likewise.
6657 (vreinterpret_s16_u64): Likewise.
6658 (vreinterpret_s16_p8): Likewise.
6659 (vreinterpret_s16_p16): Likewise.
6660 (vreinterpretq_s16_s8): Likewise.
6661 (vreinterpretq_s16_s32): Likewise.
6662 (vreinterpretq_s16_s64): Likewise.
6663 (vreinterpretq_s16_f32): Likewise.
6664 (vreinterpretq_s16_u8): Likewise.
6665 (vreinterpretq_s16_u16): Likewise.
6666 (vreinterpretq_s16_u32): Likewise.
6667 (vreinterpretq_s16_u64): Likewise.
6668 (vreinterpretq_s16_p8): Likewise.
6669 (vreinterpretq_s16_p16): Likewise.
6670 (vreinterpret_s32_s8): Likewise.
6671 (vreinterpret_s32_s16): Likewise.
6672 (vreinterpret_s32_s64): Likewise.
6673 (vreinterpret_s32_f32): Likewise.
6674 (vreinterpret_s32_u8): Likewise.
6675 (vreinterpret_s32_u16): Likewise.
6676 (vreinterpret_s32_u32): Likewise.
6677 (vreinterpret_s32_u64): Likewise.
6678 (vreinterpret_s32_p8): Likewise.
6679 (vreinterpret_s32_p16): Likewise.
6680 (vreinterpretq_s32_s8): Likewise.
6681 (vreinterpretq_s32_s16): Likewise.
6682 (vreinterpretq_s32_s64): Likewise.
6683 (vreinterpretq_s32_f32): Likewise.
6684 (vreinterpretq_s32_u8): Likewise.
6685 (vreinterpretq_s32_u16): Likewise.
6686 (vreinterpretq_s32_u32): Likewise.
6687 (vreinterpretq_s32_u64): Likewise.
6688 (vreinterpretq_s32_p8): Likewise.
6689 (vreinterpretq_s32_p16): Likewise.
6690 (vreinterpret_u8_s8): Likewise.
6691 (vreinterpret_u8_s16): Likewise.
6692 (vreinterpret_u8_s32): Likewise.
6693 (vreinterpret_u8_s64): Likewise.
6694 (vreinterpret_u8_f32): Likewise.
6695 (vreinterpret_u8_u16): Likewise.
6696 (vreinterpret_u8_u32): Likewise.
6697 (vreinterpret_u8_u64): Likewise.
6698 (vreinterpret_u8_p8): Likewise.
6699 (vreinterpret_u8_p16): Likewise.
6700 (vreinterpretq_u8_s8): Likewise.
6701 (vreinterpretq_u8_s16): Likewise.
6702 (vreinterpretq_u8_s32): Likewise.
6703 (vreinterpretq_u8_s64): Likewise.
6704 (vreinterpretq_u8_f32): Likewise.
6705 (vreinterpretq_u8_u16): Likewise.
6706 (vreinterpretq_u8_u32): Likewise.
6707 (vreinterpretq_u8_u64): Likewise.
6708 (vreinterpretq_u8_p8): Likewise.
6709 (vreinterpretq_u8_p16): Likewise.
6710 (vreinterpret_u16_s8): Likewise.
6711 (vreinterpret_u16_s16): Likewise.
6712 (vreinterpret_u16_s32): Likewise.
6713 (vreinterpret_u16_s64): Likewise.
6714 (vreinterpret_u16_f32): Likewise.
6715 (vreinterpret_u16_u8): Likewise.
6716 (vreinterpret_u16_u32): Likewise.
6717 (vreinterpret_u16_u64): Likewise.
6718 (vreinterpret_u16_p8): Likewise.
6719 (vreinterpret_u16_p16): Likewise.
6720 (vreinterpretq_u16_s8): Likewise.
6721 (vreinterpretq_u16_s16): Likewise.
6722 (vreinterpretq_u16_s32): Likewise.
6723 (vreinterpretq_u16_s64): Likewise.
6724 (vreinterpretq_u16_f32): Likewise.
6725 (vreinterpretq_u16_u8): Likewise.
6726 (vreinterpretq_u16_u32): Likewise.
6727 (vreinterpretq_u16_u64): Likewise.
6728 (vreinterpretq_u16_p8): Likewise.
6729 (vreinterpretq_u16_p16): Likewise.
6730 (vreinterpret_u32_s8): Likewise.
6731 (vreinterpret_u32_s16): Likewise.
6732 (vreinterpret_u32_s32): Likewise.
6733 (vreinterpret_u32_s64): Likewise.
6734 (vreinterpret_u32_f32): Likewise.
6735 (vreinterpret_u32_u8): Likewise.
6736 (vreinterpret_u32_u16): Likewise.
6737 (vreinterpret_u32_u64): Likewise.
6738 (vreinterpret_u32_p8): Likewise.
6739 (vreinterpret_u32_p16): Likewise.
6740 (vreinterpretq_u32_s8): Likewise.
6741 (vreinterpretq_u32_s16): Likewise.
6742 (vreinterpretq_u32_s32): Likewise.
6743 (vreinterpretq_u32_s64): Likewise.
6744 (vreinterpretq_u32_f32): Likewise.
6745 (vreinterpretq_u32_u8): Likewise.
6746 (vreinterpretq_u32_u16): Likewise.
6747 (vreinterpretq_u32_u64): Likewise.
6748 (vreinterpretq_u32_p8): Likewise.
6749 (vreinterpretq_u32_p16): Likewise.
6750
9551c7ec
AV
67512014-04-22 Alex Velenko <Alex.Velenko@arm.com>
6752
6753 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
6754 Pattern extended.
b6db8af6 6755 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
9551c7ec
AV
6756 (sqabs): Likewise.
6757 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
6758 (vqnegd_s64): Likewise.
6759 (vqabs_s64): Likewise.
6760 (vqabsd_s64): Likewise.
6761
f2a2c4b5
RH
67622014-04-22 Richard Henderson <rth@redhat.com>
6763
6764 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
6765 computation to the top of the loop.
6766
53e5ace2
RL
67672014-04-22 Renlin <renlin.li@arm.com>
6768 Jiong Wang <jiong.wang@arm.com>
6769
6770 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
6771 * config/aarch64/aarch64.c (aarch64_layout_frame)
6772 (aarch64_initial_elimination_offset): Likewise.
6773
78c29983
MS
67742014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
6775
6776 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
6777 Fix indentation.
6778
dbf23a79
RS
67792014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
6780
6781 * machmode.h (bitwise_mode_for_mode): Declare.
6782 * stor-layout.h (bitwise_type_for_mode): Likewise.
6783 * stor-layout.c (bitwise_mode_for_mode): New function.
6784 (bitwise_type_for_mode): Likewise.
6785 * builtins.c (fold_builtin_memory_op): Use it instead of
6786 int_mode_for_mode and build_nonstandard_integer_type.
6787
d9f069ab
RO
67882014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6789
6790 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
6791 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
6792 (*-*-solaris2*): Simplify.
6793 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
6794 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
6795 *-*-solaris2.9* handling.
6796
6797 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
6798 as bug.
6799 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
6800 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
6801 handling, simplify.
6802 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
6803 * configure: Regenerate.
6804
6805 * config/i386/sol2-9.h: Remove.
6806
6807 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
6808 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
6809 Remove Solaris 9 references.
6810
0d35c5c2
VP
68112014-04-22 Vidya Praveen <vidyapraveen@arm.com>
6812
6813 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
6814 (floatuns<GPI:mode><GPF:mode>2): Remove.
6815 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
6816 and floatuns conversions.
6817 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
6818 and floatuns conversions.
6819 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
6820 (w1,w2): New mode attributes for inequal width conversions.
6821
16a3246f
RL
68222014-04-22 Renlin Li <Renlin.Li@arm.com>
6823
6824 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
6825 the output asm format.
6826
110e1ccc
JG
68272014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
6828
6829 * config/aarch64/aarch64-simd.md
6830 (aarch64_cm<optab>di): Always split.
6831 (*aarch64_cm<optab>di): New.
6832 (aarch64_cmtstdi): Always split.
6833 (*aarch64_cmtstdi): New.
6834
2044a4c3
JJ
68352014-04-22 Jakub Jelinek <jakub@redhat.com>
6836
6837 PR tree-optimization/60823
6838 * omp-low.c (ipa_simd_modify_function_body): Go through
6839 all SSA_NAMEs and for those refering to vector arguments
6840 which are going to be replaced adjust SSA_NAME_VAR and,
6841 if it is a default definition, change it into a non-default
6842 definition assigned at the beginning of function from new_decl.
6843 (ipa_simd_modify_stmt_ops): Rewritten.
6844 * tree-dfa.c (set_ssa_default_def): When removing default def,
6845 check for NULL loc instead of NULL *loc.
6846
9d8b4d1c
RR
68472014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6848
6849 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
6850 restrictions on core registers for DImode values in Thumb2.
6851
a01be1ae
IB
68522014-04-22 Ian Bolton <ian.bolton@arm.com>
6853
6854 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
6855 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
6856
80d3417b
IB
68572014-04-22 Ian Bolton <ian.bolton@arm.com>
6858
6859 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
6860 (*iordi_notzesidi_di): Likewise.
6861 (*iordi_notsesidi_di): Likewise.
6862
46fbb3eb
IB
68632014-04-22 Ian Bolton <ian.bolton@arm.com>
6864
6865 * config/arm/arm-protos.h (tune_params): New struct members.
6866 * config/arm/arm.c: Initialise tune_params per processor.
6867 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
6868 for speed, based on new tune_params.
6869
74dc11ed
AV
68702014-04-22 Alex Velenko <Alex.Velenko@arm.com>
6871
b6db8af6
UB
6872 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
6873 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
6874 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
74dc11ed
AV
6875 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
6876 * config/aarch64/arm_neon.h (vrnd_f64): Added.
6877 (vrnda_f64): Likewise.
6878 (vrndi_f64): Likewise.
6879 (vrndm_f64): Likewise.
6880 (vrndn_f64): Likewise.
6881 (vrndp_f64): Likewise.
6882 (vrndx_f64): Likewise.
6883
35923e46
ZC
68842014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6885
6886 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
6887 GET_MODE_SIZE argument is enum machine_mode.
6888
4552e70c
JJ
68892014-04-22 Jakub Jelinek <jakub@redhat.com>
6890
6891 PR target/60910
6892 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
6893 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
6894
e5dcd695
LZ
68952014-04-22 Lin Zuojian <manjian2006@gmail.com>
6896
6897 PR middle-end/60281
6898 * asan.c (asan_emit_stack_protection): Force the base to align to
6899 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
6900 appropriate bits if STRICT_ALIGNMENT.
6901 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
6902 when asan is on.
6903 (expand_used_vars): Leave a space in the stack frame for alignment
6904 if STRICT_ALIGNMENT.
6905
7455080c
DM
69062014-04-21 David Malcolm <dmalcolm@redhat.com>
6907
6908 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
6909 than a gimple.
6910 (gimple_store_p): Likewise.
6911 (gimple_assign_load_p): Likewise.
6912 (gimple_assign_cast_p): Likewise.
6913 (gimple_clobber_p): Likewise.
6914
6915 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
6916 rather than a gimple.
6917 (gimple_assign_cast_p): Likewise.
6918
aeb9579a
MM
69192014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
6920
6921 PR target/60735
6922 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
6923 If mode is DDmode and TARGET_E500_DOUBLE allow move.
6924
6925 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
6926 more debug information for E500 if -mdebug=reg.
6927
b15d92bf
UB
69282014-04-21 Uros Bizjak <ubizjak@gmail.com>
6929
6930 PR target/60909
6931 * config/i386/i386.c (ix86_expand_builtin)
6932 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
6933 register for target RTX.
6934 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
6935
d367387c
CH
69362014-04-18 Cong Hou <congh@google.com>
6937
6938 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
b15d92bf
UB
6939 the widen-mult pattern by handling two operands with different sizes,
6940 and operands whose size is smaller than half of the result type.
d367387c 6941
b6d627e4
JH
69422014-04-18 Jan Hubicka <hubicka@ucw.cz>
6943
6944 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
6945 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
6946 (do_estimate_edge_time): Compute it.
6947 * ipa-inline.c (want_inline_small_function_p): Bypass
b15d92bf 6948 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
b6d627e4 6949
e86a910f
JH
69502014-04-18 Jan Hubicka <hubicka@ucw.cz>
6951
6952 * ipa-inline.c (spec_rem): New static variable.
6953 (dump_overall_stats): New function.
6954 (dump_inline_stats): New function.
6955
8a3a7e67
RH
69562014-04-18 Richard Henderson <rth@redhat.com>
6957
6958 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
6959 to GET_MODE_SIZE, not a reg_class_t.
6960
ed79f4d0
BS
69612014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6962
b15d92bf 6963 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
ed79f4d0
BS
6964 (vsx_xxmrglw_<mode>): Likewise.
6965
fe799eea
MM
69662014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
6967
6968 PR target/60876
6969 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
b15d92bf 6970 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
fe799eea
MM
6971 (rs6000_init_hard_regno_mode_ok): Likewise.
6972
5e750dc6
JH
69732014-04-17 Jan Hubicka <hubicka@ucw.cz>
6974
6975 * ipa-inline.c (inline_small_functions): Account only non-cold
6976 functions.
6977 * doc/invoke.texi (inline-unit-growth): Update documentation.
6978
32337f10
PH
69792014-04-17 Pat Haugen <pthaugen@us.ibm.com>
6980
6981 * config/rs6000/rs6000.md (addti3, subti3): New.
6982
40ed344a
L
69832014-04-17 H.J. Lu <hongjiu.lu@intel.com>
6984
6985 PR target/60863
6986 * config/i386/i386.c (ix86_expand_clear): Remove outdated
6987 comment. Check optimize_insn_for_size_p instead of
6988 optimize_insn_for_speed_p.
6989
104cb50b
MJ
69902014-04-17 Martin Jambor <mjambor@suse.cz>
6991
6992 * gimple-iterator.c (gsi_start_edge): New function.
6993 * gimple-iterator.h (gsi_start_edge): Declare.
6994 * tree-sra.c (single_non_eh_succ): New function.
6995 (disqualify_ops_if_throwing_stmt): Renamed to
6996 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
6997 having one non-EH successor BB.
6998 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
6999 generate loads into replacements.
7000 (sra_modify_assign): Likewise and and also use the simple path for
7001 such statements.
7002 (sra_modify_function_body): Commit statements on edges.
7003
b94970bc
RB
70042014-04-17 Richard Biener <rguenther@suse.de>
7005
7006 PR middle-end/60849
7007 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
7008 comparison results and add clarifying comment.
7009
92f0f3ec
JJ
70102014-04-17 Jakub Jelinek <jakub@redhat.com>
7011
7012 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
7013 (blank_mode): Initialize it.
7014 (emit_mode_size_inline, emit_mode_nunits_inline,
7015 emit_mode_inner_inline): New functions.
7016 (emit_insn_modes_h): Call them and surround their output with
7017 #if GCC_VERSION >= 4001 ... #endif.
7018 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
7019 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
7020 mode_* arrays if the argument is __builtin_constant_p.
7021 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
7022 is enum machine_mode.
7023
be55bfe6
TS
70242014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7025
7026 * passes.c (opt_pass::execute): Adjust.
7027 (pass_manager::execute_pass_mode_switching): Likewise.
7028 (early_local_passes::execute): Likewise.
7029 (execute_one_pass): Pass cfun to the pass's execute method.
7030 * tree-pass.h (opt_pass::execute): Add function * argument.
7031 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
7032 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
7033 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
7034 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
7035 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
7036 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
7037 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
7038 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
7039 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
7040 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
7041 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
7042 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
7043 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
7044 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
7045 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
7046 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
7047 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
7048 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
7049 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
7050 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
7051 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
7052 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
7053 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
7054 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
7055 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
7056 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
7057 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
7058 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
7059 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
7060 Adjust.
7061
1a3d085c
TS
70622014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7063
7064 * passes.c (opt_pass::gate): Take function * argument.
7065 (gate_all_early_local_passes): Merge into
7066 (early_local_passes::gate): this.
7067 (gate_all_early_optimizations): Merge into
7068 (all_early_optimizations::gate): this.
7069 (gate_all_optimizations): Mege into
7070 (all_optimizations::gate): this.
7071 (gate_all_optimizations_g): Merge into
7072 (all_optimizations_g::gate): this.
7073 (gate_rest_of_compilation): Mege into
7074 (rest_of_compilation::gate): this.
7075 (gate_postreload): Merge into
7076 (postreload::gate): this.
7077 (dump_one_pass): Pass cfun to the pass's gate method.
7078 (execute_ipa_summary_passes): Likewise.
7079 (execute_one_pass): Likewise.
7080 (ipa_write_summaries_2): Likewise.
7081 (ipa_write_optimization_summaries_1): Likewise.
7082 (ipa_read_summaries_1): Likewise.
7083 (ipa_read_optimization_summaries_1): Likewise.
7084 (execute_ipa_stmt_fixups): Likewise.
7085 * tree-pass.h (opt_pass::gate): Add function * argument.
7086 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
7087 combine-stack-adj.c, combine.c, compare-elim.c,
7088 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
7089 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
7090 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
7091 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
7092 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
7093 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
7094 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
7095 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
7096 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
7097 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
7098 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
7099 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
7100 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
7101 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
7102 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
7103 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
7104 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
7105 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
7106 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
7107 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
7108 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
7109 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
7110 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
7111 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
7112 var-tracking.c, vtable-verify.c, web.c: Adjust.
7113
45887209
TS
71142014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7115
7116 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
7117 * configure: Regenerate.
7118
0481253d 71192014-04-17 Trevor Saunders <tsaunders@mozilla.com>
b15d92bf 7120
0481253d
TS
7121 * passes.c (dump_one_pass): don't check pass->has_gate.
7122 (execute_ipa_summary_passes): Likewise.
7123 (execute_one_pass): Likewise.
7124 (ipa_write_summaries_2): Likewise.
7125 (ipa_write_optimization_summaries_1): Likewise.
7126 (ipa_read_optimization_summaries_1): Likewise.
7127 (execute_ipa_stmt_fixups): Likewise.
7128 * tree-pass.h (pass_data::has_gate): Remove.
7129 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
7130 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
7131 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
7132 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
7133 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
7134 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
7135 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
7136 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
7137 gimple-low.c, gimple-ssa-isolate-paths.c,
7138 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
7139 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
7140 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
7141 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
7142 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
7143 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
7144 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
7145 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
7146 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
7147 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
7148 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
7149 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
7150 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
7151 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
7152 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
7153 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
7154 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
7155 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
7156 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
7157 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
7158 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
7159 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
7160 Adjust.
7161
a23c217d
TS
71622014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7163
b15d92bf
UB
7164 * pass_manager.h (pass_manager::register_dump_files_1): Remove
7165 declaration.
a23c217d
TS
7166 * passes.c (pass_manager::register_dump_files_1): Merge into
7167 (pass_manager::register_dump_files): this, and remove its handling of
7168 properties since the pass always has the properties anyway.
7169 (pass_manager::pass_manager): Adjust.
7170
0cd11b40
TS
71712014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7172
7173 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
7174 * passes.c (pass_manager::register_dump_files_1): Remove dead code
7175 dealing with properties.
7176 (pass_manager::register_dump_files): Adjust.
7177
79896351
MW
71782014-03-20 Mark Wielaard <mjw@redhat.com>
7179
7180 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
7181 then represent the bound as normal constant value.
7182
5a65129e
JJ
71832014-04-17 Jakub Jelinek <jakub@redhat.com>
7184
7185 PR target/60847
7186 Forward port from 4.8 branch
7187 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
7188
7189 * config/i386/bmiintrin.h (_blsi_u32): New.
7190 (_blsi_u64): Ditto.
7191 (_blsr_u32): Ditto.
7192 (_blsr_u64): Ditto.
7193 (_blsmsk_u32): Ditto.
7194 (_blsmsk_u64): Ditto.
7195 (_tzcnt_u32): Ditto.
7196 (_tzcnt_u64): Ditto.
7197
59b266b1
KC
71982014-04-17 Kito Cheng <kito@0xlab.org>
7199
7200 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
7201
83ad208e
RB
72022014-04-17 Richard Biener <rguenther@suse.de>
7203
7204 PR middle-end/60849
7205 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
7206 boolean results for comparisons.
7207
730e78b0
RB
72082014-04-17 Richard Biener <rguenther@suse.de>
7209
7210 PR tree-optimization/60836
7211 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
7212 initial PHI args to be gimple values.
7213
40c0a159 72142014-04-17 Richard Biener <rguenther@suse.de>
1428105c
RB
7215
7216 PR tree-optimization/60841
7217 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
7218 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
7219 of stmts to SLP build.
7220 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
7221 (vect_analyze_slp): Likewise.
7222 (vect_analyze_slp_instance): Likewise.
7223 (vect_build_slp_tree): Limit overall SLP tree growth.
7224 * tree-vectorizer.h (vect_analyze_data_refs,
7225 vect_analyze_slp): Adjust prototypes.
7226
170c1776
ES
72272014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
7228
7229 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
7230 Silvermont.
7231
a4ef7f3e
ES
72322014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
7233
7234 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
7235 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
7236 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
7237 for TARGET_SLOW_PSHUFB
7238
cf055f6e
ES
72392014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
7240
7241 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
7242 * config/i386/i386.c (intel_cost): Ditto.
7243
eeee2277
JY
72442014-04-17 Joey Ye <joey.ye@arm.com>
7245
7246 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
7247
1c58fe29
JH
72482014-04-16 Jan Hubicka <hubicka@ucw.cz>
7249
7250 * opts.c (common_handle_option): Disable -fipa-reference coorectly
7251 with -fuse-profile.
7252
2d1644bf
JH
72532014-04-16 Jan Hubicka <hubicka@ucw.cz>
7254
7255 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
7256 (type_all_derivations_known_p): New predicate.
7257 (type_all_ctors_visible_p): New predicate.
7258 (type_possibly_instantiated_p): New predicate.
7259 (get_odr_type): Compute all_derivations_known.
7260 (dump_odr_type): Dump the flag.
7261 (maybe_record_type): Cleanup.
7262 (record_target_from_binfo): Add bases_to_consider array;
7263 record bases for types w/o instances and skip CXX destructor.
7264 (possible_polymorphic_call_targets_1): Add bases_to_consider
b15d92bf 7265 and consider_construction parameters; check if type may have instance.
2d1644bf
JH
7266 (get_polymorphic_call_info): Set maybe_in_construction to true
7267 when we know nothing.
7268 (record_targets_from_bases): Skip CXX destructors; they are
7269 never called for types in construction.
7270 (possible_polymorphic_call_targets): Do not record target when
7271 type may not have instance.
7272
789c2741
JH
72732014-04-16 Jan Hubicka <hubicka@ucw.cz>
7274
7275 PR ipa/60854
7276 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
7277 external aliases alive, too.
7278
9950a4f2
AP
72792014-04-16 Andrew Pinski <apinski@cavium.com>
7280
7281 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
b15d92bf 7282 definition.
9950a4f2 7283
82b9c015
EB
72842014-04-16 Eric Botcazou <ebotcazou@adacore.com>
7285
7286 * final.c (compute_alignments): Do not apply loop alignment to a block
7287 falling through to the exit.
7288
d2dfaca3
CM
72892014-04-16 Catherine Moore <clm@codesourcery.com>
7290
7291 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
7292 Adjust constraints for microMIPS store patterns.
7293
10353a79
PS
72942014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
7295
7296 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
7297
61c7fb30
EB
72982014-04-16 Eric Botcazou <ebotcazou@adacore.com>
7299
7300 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
7301 (append_use): Run at -O0.
7302 (append_vdef): Likewise.
7303 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
7304 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
7305
42fae17c
JJ
73062014-04-16 Jakub Jelinek <jakub@redhat.com>
7307
7308 PR tree-optimization/60844
7309 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
7310 (propagate_op_to_single_use, remove_visited_stmt_chain,
7311 linearize_expr, repropagate_negates, reassociate_bb): Use it
7312 instead of gsi_remove.
7313
ca860d03
MJ
73142014-04-16 Martin Jambor <mjambor@suse.cz>
7315
7316 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
7317 ipa_transforms_to_apply.
7318 (cgraph_function_versioning): Assert that old_node has empty
7319 ipa_transforms_to_apply.
7320 * trans-mem.c (ipa_tm_create_version): Likewise.
7321 * tree-inline.c (tree_function_versioning): Do not duplicate
7322 ipa_transforms_to_apply.
7323
fe4e71e4
RO
73242014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7325
7326 PR target/60817
7327 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
7328 x86_64-*-* cases.
7329 Pass necessary as flags on 64-bit Solaris/x86.
7330 Use lowercase relocs for x86_64-*-*.
7331 * configure: Regenerate.
7332
ccb05ef2
JH
73332014-04-15 Jan Hubicka <jh@suse.cz>
7334
7335 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
7336 (maybe_record_node, likely_target_p): Use it.
7337
dfe449d1
BS
73382014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7339
7340 PR target/60839
7341 Revert following patch
7342
7343 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
7344
7345 PR target/60735
7346 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
7347 software floating point or no floating point registers, do not
7348 allow any type in the FPRs. Eliminate a test for SPE SIMD types
7349 in GPRs that occurs after we tested for GPRs that would never be
7350 true.
7351
7352 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
7353 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
7354 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
7355 specifically allow DDmode, since that does not use the SPE SIMD
7356 instructions.
7357
25dce5c6
MW
73582014-03-21 Mark Wielaard <mjw@redhat.com>
7359
7360 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
7361 as unsigned or int depending on type and value used.
7362
8d3c076f
RB
73632014-04-15 Richard Biener <rguenther@suse.de>
7364
7365 PR rtl-optimization/56965
7366 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
7367 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
7368 ... here.
7369 * alias.c (true_dependence_1): Do not call
7370 nonoverlapping_component_refs_p.
7371 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
7372 nonoverlapping_component_refs_p.
7373 (indirect_refs_may_alias_p): Likewise.
7374
d00e4baa
TJ
73752014-04-15 Teresa Johnson <tejohnson@google.com>
7376
7377 * cfg.c (dump_bb_info): Fix flags check.
7378 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
7379
98a2fdfb
KT
73802014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7381
7382 PR rtl-optimization/60663
7383 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
7384 avoid 0 cost.
7385
b9ed2c2c
RB
73862014-04-15 Richard Biener <rguenther@suse.de>
7387
7388 * lto-streamer.h (LTO_major_version): Bump to 4.
7389
783dab6b
RB
73902014-04-15 Richard Biener <rguenther@suse.de>
7391
7392 * common.opt (lto_partition_model): New enum.
7393 (flto-partition=): Merge separate options with a single with argument,
7394 add -flto-partition=one support.
7395 * flag-types.h (enum lto_partition_model): Declare.
7396 * opts.c (finish_options): Remove duplicate -flto-partition=
7397 option check.
7398 * lto-wrapper.c (run_gcc): Adjust.
7399
d8e4ce6d
RB
74002014-04-15 Richard Biener <rguenther@suse.de>
7401
7402 * alias.c (ncr_compar): New function.
7403 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
7404
1999fd7d
RB
74052014-04-15 Richard Biener <rguenther@suse.de>
7406
7407 * alias.c (record_component_aliases): Do not walk BINFOs.
7408
628169e0
RB
74092014-04-15 Richard Biener <rguenther@suse.de>
7410
7411 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
7412 Add struct function argument and adjust.
7413 (find_func_aliases_for_call): Likewise.
7414 (find_func_aliases): Likewise.
7415 (find_func_clobbers): Likewise.
7416 (intra_create_variable_infos): Likewise.
7417 (compute_points_to_sets): Likewise.
7418 (ipa_pta_execute): Adjust. Do not push/pop cfun.
7419
349e6210
RB
74202014-04-15 Richard Biener <rguenther@suse.de>
7421
7422 * tree.c (iterative_hash_expr): Use enum tree_code_class
7423 to store TREE_CODE_CLASS.
7424 (tree_block): Likewise.
7425 (tree_set_block): Likewise.
7426 * tree.h (fold_build_pointer_plus_loc): Use
7427 convert_to_ptrofftype_loc.
7428
4f0ddb6f
JJ
74292014-04-15 Jakub Jelinek <jakub@redhat.com>
7430
7431 PR plugins/59335
7432 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
7433 added in 4.9.
7434
718c4601
EB
74352014-04-15 Eric Botcazou <ebotcazou@adacore.com>
7436
7437 * cfgloop.h (struct loop): Move force_vectorize down.
7438 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
7439 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
7440 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
7441 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
7442 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
7443 * tree-core.h (enum annot_expr_kind): Add new kind values.
7444 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
7445 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
7446 kinds.
7447 * tree.def (ANNOTATE_EXPR): Tweak comment.
7448
88f592e3
JH
74492014-04-14 Jan Hubicka <hubicka@ucw.cz>
7450
7451 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
7452 cxa_pure_virtual).
7453
9dba4b55
PC
74542014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
7455
7456 * tree.h (TYPE_IDENTIFIER): Declare.
7457 * tree.c (subrange_type_for_debug_p): Use it.
7458 * godump.c (go_format_type): Likewise.
7459 * dwarf2out.c (is_cxx_auto, modified_type_die,
7460 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
7461 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
7462
40c0a159 74632014-04-14 Jan Hubicka <hubicka@ucw.cz>
006202e8
JH
7464
7465 PR lto/60820
7466 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
7467
e0a81db1
UB
74682014-04-14 Uros Bizjak <ubizjak@gmail.com>
7469
7470 * config/i386/i386.c (examine_argument): Return bool. Return true if
7471 parameter should be passed in memory.
7472 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
7473 (construct_container): Update calls to examine_argument.
7474 (function_arg_advance_64): Ditto.
7475 (return_in_memory_32): Merge with ix86_return_in_memory.
7476 (return_in_memory_64): Ditto.
7477 (return_in_memory_ms_64): Ditto.
7478
cb90235d
JH
74792014-04-14 Jan Hubicka <hubicka@ucw.cz>
7480
7481 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
7482 * coverage.c (coverage_compute_profile_id): Handle externally visible
7483 symbols.
7484
7b3b340e
MJ
74852014-04-14 Martin Jambor <mjambor@suse.cz>
7486
7487 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
7488 DECL_DISREGARD_INLINE_LIMITS functions.
7489
2ed3b4ee
L
74902014-04-14 H.J. Lu <hongjiu.lu@intel.com>
7491
7492 PR target/60827
e0a81db1 7493 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 7494
10fa463f
L
74952014-04-14 H.J. Lu <hongjiu.lu@intel.com>
7496
7497 PR target/60827
7498 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
7499 optimize_insn_for_speed_p instead of
7500 optimize_function_for_speed_p.
7501
b621e875
YZ
75022014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
7503
7504 * doc/invoke.texi (free): Document AArch64.
7505
cddaefa3
RB
75062014-04-14 Richard Biener <rguenther@suse.de>
7507
7508 PR tree-optimization/60042
7509 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
7510 (insert_into_preds_of_block): Do not prevent PHI insertion
7511 for REFERENCE exprs here ...
7512 (eliminate_dom_walker::before_dom_children): ... but prevent
7513 their use here under similar conditions when applied to the
7514 IL after PRE optimizations.
7515
a9e4c82f
RB
75162014-04-14 Richard Biener <rguenther@suse.de>
7517
7518 * passes.def: Move early points-to after early SRA.
7519
7b4cae1b
RB
75202014-04-14 Richard Biener <rguenther@suse.de>
7521
7522 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
7523 check for which sign-changes we allow when forwarding
7524 a converted value into a switch.
7525
cb27986c
EB
75262014-04-14 Eric Botcazou <ebotcazou@adacore.com>
7527
7528 * stor-layout.c (place_field): Finalize non-constant offset for the
7529 field, if any.
7530
72798784
RB
75312014-04-14 Richard Biener <rguenther@suse.de>
7532
7533 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
7534 as argument.
7535 (expand_switch_using_bit_tests_p): Likewise.
7536 (process_switch): Compute and pass on speed_p based on the
7537 switch stmt.
7538 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
7539 optimize_bb_for_speed_p.
7540
b15b5979
EB
75412014-04-14 Eric Botcazou <ebotcazou@adacore.com>
7542
7543 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
7544 * function.h (struct function): Rename has_force_vect_loops into
7545 has_force_vectorize_loops.
7546 * lto-streamer-in.c (input_cfg): Adjust for renaming.
7547 (input_struct_function_base): Likewise.
7548 * lto-streamer-out.c (output_cfg): Likewise.
7549 (output_struct_function_base): Likewise.
7550 * omp-low.c (expand_omp_simd): Likewise.
7551 * tree-cfg.c (move_sese_region_to_fn): Likewise.
7552 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
7553 (version_loop_for_if_conversion): Likewise.
7554 (tree_if_conversion): Likewise.
7555 (main_tree_if_conversion): Likewise.
7556 (gate_tree_if_conversion): Likewise.
7557 * tree-inline.c (copy_loops): Likewise.
7558 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
7559 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
7560 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
7561 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
7562 * tree-vectorizer.c (vectorize_loops): Likewise.
7563 * tree-vectorizer.h (unlimited_cost_model): Likewise.
7564
8359c87e
RB
75652014-04-14 Richard Biener <rguenther@suse.de>
7566
7567 PR lto/60720
7568 * lto-streamer-out.c (wrap_refs): New function.
7569 (lto_output): Wrap symbol references in global initializes in
7570 type-preserving MEM_REFs.
7571
9447df74
CB
75722014-04-14 Christian Bruel <christian.bruel@st.com>
7573
b15d92bf 7574 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
9447df74 7575
fa1aecc1
CB
75762014-04-14 Christian Bruel <christian.bruel@st.com>
7577
7578 * config/sh/sh.md (setmemqi): New expand pattern.
7579 * config/sh/sh.h (CLEAR_RATIO): Define.
7580 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
7581 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
7582
a3c77ce9
RB
75832014-04-14 Richard Biener <rguenther@suse.de>
7584
7585 PR middle-end/55022
7586 * fold-const.c (negate_expr_p): Don't negate directional rounding
7587 division.
7588 (fold_negate_expr): Likewise.
7589
033aa406
RB
75902014-04-14 Richard Biener <rguenther@suse.de>
7591
7592 PR tree-optimization/59817
7593 PR tree-optimization/60453
7594 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
7595 recursion to catch all CHRECs in the scalar evolution and restrict
7596 the predicate for the remains appropriately.
7597
5e7d8b4c
RS
75982014-04-12 Catherine Moore <clm@codesourcery.com>
7599
7600 * config/mips/constraints.md: Add new register constraint "kb".
7601 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
7602 (*movhi_internal): Likewise.
7603 (*movqi_internal): Likewise.
7604 * config/mips/mips.h (M16_STORE_REGS): New register class.
7605 (REG_CLASS_NAMES): Add M16_STORE_REGS.
7606 (REG_CLASS_CONTENTS): Likewise.
7607 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
7608
cbbd2b1c
TB
76092014-04-11 Tobias Burnus <burnus@net-b.de>
7610
7611 PR c/60194
7612 * doc/invoke.texi (-Wformat-signedness): Document it.
7613 (Wformat=2): Mention that this enables -Wformat-signedness.
7614
d9bb5800
JR
76152014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
7616
7617 * common/config/epiphany/epiphany-common.c
7618 (epiphany_option_optimization_table): Enable section anchors by
7619 default at -O1 or higher.
7620 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
7621 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
7622 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
7623 carries no extra cost.
7624 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
7625 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
7626 * config/epiphany/predicates.md (memclob_operand): New predicate.
7627 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
7628 Use memclob_operand predicate and X constraint for operand 3.
7629
b5d0ecea
JR
76302014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
7631
7632 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
7633 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
7634 its operands.
7635
473fd99a
JR
76362014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
7637
7638 PR rtl-optimization/60651
7639 * mode-switching.c (optimize_mode_switching): Make sure to emit
7640 sets of a lower numbered entity before sets of a higher numbered
7641 entity to a mode of the same or lower priority.
7642 When creating a seginfo for a basic block that starts with a code
7643 label, move the insertion point past the code label.
7644 (new_seginfo): Document and enforce requirement that
7645 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
7646 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
7647 * doc/tm.texi: Regenerate.
7648
6ace1161
JR
76492014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
7650
7651 PR target/60811
7652 * config/arc/arc.c (arc_save_restore): Fix assert typo.
7653
89eb97de
JJ
76542013-04-11 Jakub Jelinek <jakub@redhat.com>
7655
6602e7fc 7656 * BASE-VER: Set to 4.10.0.
89eb97de 7657
9d0c7214
TB
76582014-04-11 Tobias Burnus <burnus@net-b.de>
7659
7660 PR other/59055
e0a81db1 7661 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
7662 * doc/gcc.texi (Service): Update description in the @menu
7663 * doc/invoke.texi (Option Summary): Remove misplaced and
7664 duplicated @menu.
7665
3662b277
SE
76662014-04-11 Steve Ellcey <sellcey@mips.com>
7667 Jakub Jelinek <jakub@redhat.com>
7668
7669 PR middle-end/60556
7670 * expr.c (convert_move): Use emit_store_flag_force instead of
7671 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
7672 argument to it.
7673
8330537b
RB
76742014-04-11 Richard Biener <rguenther@suse.de>
7675
7676 PR middle-end/60797
7677 * varasm.c (assemble_alias): Avoid endless error reporting
7678 recursion by setting TREE_ASM_WRITTEN.
7679
3c91f126
AK
76802014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7681
7682 * config/s390/s390.md: Add a splitter for NOT rtx.
7683
d8d6ea53
JJ
76842014-04-11 Jakub Jelinek <jakub@redhat.com>
7685
7686 PR rtl-optimization/60663
e0a81db1 7687 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 7688
fa5866c0
JJ
76892014-04-10 Jan Hubicka <hubicka@ucw.cz>
7690 Jakub Jelinek <jakub@redhat.com>
073afca6 7691
fa5866c0 7692 PR lto/60567
e0a81db1
UB
7693 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
7694 flag from decl_node to node.
073afca6 7695
b322c36a
RR
76962014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7697
7698 PR debug/60655
7699 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
7700 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
7701 ameliorating the cases where it can be.
7702
8267f6bb
DE
77032014-04-09 David Edelsohn <dje.gcc@gmail.com>
7704
7705 Revert
7706 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
7707
7708 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
7709 (loadsync_<mode>): Change mode.
7710 (load_quadpti, store_quadpti): New.
7711 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
7712 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
7713 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
7714
5d1a5a53
CH
77152014-04-09 Cong Hou <congh@google.com>
7716
7717 PR testsuite/60773
7718 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
7719 documentation.
7720
da90fa4c
BS
77212014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7722
7723 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
7724 instead of vnor to exploit possible fusion opportunity in the
7725 future.
7726 (altivec_expand_vec_perm_const_le): Likewise.
7727
98e6ecab
PH
77282014-04-08 Pat Haugen <pthaugen@us.ibm.com>
7729
7730 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
7731 (loadsync_<mode>): Change mode.
7732 (load_quadpti, store_quadpti): New.
7733 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
7734 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
7735
8418cf33
RS
77362014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
7737
7738 PR target/60763
7739 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
7740 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
7741 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
7742
3fa68ccb
RB
77432014-04-08 Richard Biener <rguenther@suse.de>
7744
7745 PR middle-end/60706
7746 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
7747 a 64bit widest int print double-int similar to on HWI64 hosts.
7748
9038ae48
RB
77492014-04-08 Richard Biener <rguenther@suse.de>
7750
7751 PR tree-optimization/60785
7752 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
7753 default defs properly.
7754
38f09da3
NS
77552014-04-08 Nathan Sidwell <nathan@codesourcery.com>
7756
7757 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
7758 (Weffc++): Likewise.
7759
0439a947
JH
77602014-04-07 Jan Hubicka <hubcika@ucw.cz>
7761
7762 * ipa-devirt.c (maybe_record_node): When node is not recorded,
7763 set completep to false rather than true.
7764
3f2f838e
EB
77652014-04-07 Douglas B Rupp <rupp@adacore.com>
7766
7767 PR target/60504
7768 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
7769 ARM_TARGET2_DWARF_FORMAT.
7770
e75c1617
CB
77712014-04-07 Charles Baylis <charles.baylis@linaro.org>
7772
7773 PR target/60609
7774 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
7775 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
7776 ADDR_DIFF_VEC.
7777
d6adff07
RB
77782014-04-07 Richard Biener <rguenther@suse.de>
7779
7780 PR tree-optimization/60766
3f2f838e
EB
7781 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
7782 (may_eliminate_iv): Convert cand_value_at result to desired type.
d6adff07 7783
da34ade5
JM
77842014-04-07 Jason Merrill <jason@redhat.com>
7785
7786 PR c++/60731
7787 * common.opt (-fno-gnu-unique): Add.
7788 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
7789
151e9aac
KT
77902014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7791
7792 * haifa-sched.c: Fix outdated function reference and minor
7793 grammar errors in introductory comment.
7794
308173e3
RB
77952014-04-07 Richard Biener <rguenther@suse.de>
7796
7797 PR middle-end/60750
7798 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
7799 for noreturn calls.
7800 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
7801
a9a302d9
JDA
78022014-04-06 John David Anglin <danglin@gcc.gnu.org>
7803
7804 PR debug/55794
7805 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
7806 size accounting for thunks.
7807 (pa_asm_output_mi_thunk): Use final_start_function() and
7808 final_end_function() to output function start and end directives.
7809
576ba35c
PS
78102014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
7811
e0a81db1
UB
7812 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
7813 device specific ISA/ feature information. Remove short_sp and
7814 errata_skip ds. Add avr_device_specific_features enum to have device
7815 specific info.
576ba35c
PS
7816 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
7817 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
7818 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
7819 updated device specific info.
7820 * config/avr/avr-mcus.def: Merge device specific details to
7821 dev_attribute field.
7822 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
7823 errata_skip.
7824 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
7825 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
7826 assembler if RMW isa supported by current device.
7827 * config/avr/genmultilib.awk: Update as device info structure changed.
7828 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
7829
ebc047a2
CH
78302014-04-04 Cong Hou <congh@google.com>
7831
7832 PR tree-optimization/60656
7833 * tree-vect-stmts.c (supportable_widening_operation):
7834 Fix a bug that elements in a vector with vect_used_by_reduction
7835 property are incorrectly reordered when the operation on it is not
7836 consistant with the one in reduction operation.
7837
b6808818
JDA
78382014-04-04 John David Anglin <danglin@gcc.gnu.org>
7839
7840 PR rtl-optimization/60155
7841 * gcse.c (record_set_data): New function.
7842 (single_set_gcse): New function.
7843 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
7844 (hoist_code): Likewise.
7845 (get_pressure_class_and_nregs): Likewise.
7846
eabcc725
EB
78472014-04-04 Eric Botcazou <ebotcazou@adacore.com>
7848
7849 * explow.c (probe_stack_range): Emit a final optimization blockage.
7850
e005b753
AG
78512014-04-04 Anthony Green <green@moxielogic.com>
7852
7853 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
7854 typos.
7855
8fe91ca8
JH
78562014-04-04 Jan Hubicka <hubicka@ucw.cz>
7857
7858 PR ipa/59626
7859 * lto-cgraph.c (input_overwrite_node): Check that partitioning
7860 flags are set only during streaming.
7861 * ipa.c (process_references, walk_polymorphic_call_targets,
7862 symtab_remove_unreachable_nodes): Drop bodies of always inline
7863 after early inlining.
7864 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
576ba35c 7865
88d94632
RR
78662014-04-04 Jakub Jelinek <jakub@redhat.com>
7867 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7868
7869 PR debug/60655
7870 * dwarf2out.c (const_ok_for_output_1): Reject expressions
7871 containing a NOT.
7872
094bc219
KT
78732014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7874
7875 PR bootstrap/60743
7876 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
7877 duration.
7878 (cortex_a53_fdivd): Likewise.
7879
610c8ef0
MJ
78802014-04-04 Martin Jambor <mjambor@suse.cz>
7881
7882 PR ipa/60640
b15d92bf
UB
7883 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
7884 Adjust all callers.
610c8ef0
MJ
7885 * cgraph.c (clone_of_p): Also return true if thunks match.
7886 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
7887 cgraph_function_or_thunk_node and an obsolete comment.
b15d92bf
UB
7888 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
7889 file.
7890 (build_function_decl_skip_args): Likewise.
610c8ef0 7891 (set_new_clone_decl_and_node_flags): New function.
b15d92bf
UB
7892 (duplicate_thunk_for_node): Likewise.
7893 (redirect_edge_duplicating_thunks): Likewise.
7894 (cgraph_clone_node): New parameter args_to_skip, pass it to
7895 redirect_edge_duplicating_thunks which is called instead of
7896 cgraph_redirect_edge_callee.
7897 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
610c8ef0
MJ
7898 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
7899
fc02bcca
JL
79002014-04-04 Jeff Law <law@redhat.com>
7901
57ef133b 7902 PR target/60657
fc02bcca
JL
7903 * config/arm/predicates.md (const_int_I_operand): New predicate.
7904 (const_int_M_operand): Similarly.
7905 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
7906 const_int_operand.
7907 (insv_t2, extv_reg, extzv_t2): Likewise.
7908 (load_multiple_with_writeback): Similarly for const_int_I_operand.
7909 (pop_multiple_with_writeback_and_return): Likewise.
7910 (vfp_pop_multiple_with_writeback): Likewise
7911
45b62594
RB
79122014-04-04 Richard Biener <rguenther@suse.de>
7913
7914 PR ipa/60746
7915 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
7916 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
7917 non-GIMPLE_LABELs.
7918 * gimplify.h (gimple_add_tmp_var_fn): Declare.
7919 * gimplify.c (gimple_add_tmp_var_fn): New function.
7920 * gimple-expr.h (create_tmp_reg_fn): Declare.
7921 * gimple-expr.c (create_tmp_reg_fn): New function.
7922 * gimple-low.c (record_vars_into): Don't change cfun.
7923 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
7924 code generation without cfun.
7925
bb609c35
TS
79262014-04-04 Thomas Schwinge <thomas@codesourcery.com>
7927
7928 PR bootstrap/60719
7929 * Makefile.in (install-driver): Fix shell scripting.
7930
090cd8dc
CH
79312014-04-03 Cong Hou <congh@google.com>
7932
7933 PR tree-optimization/60505
7934 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
e0a81db1
UB
7935 threshold of number of iterations below which no vectorization
7936 will be done.
090cd8dc
CH
7937 * tree-vect-loop.c (new_loop_vec_info):
7938 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
7939 * tree-vect-loop.c (vect_analyze_loop_operations):
7940 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
7941 * tree-vect-loop.c (vect_transform_loop):
7942 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
7943 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
7944 of iterations of the loop and see if we should build the epilogue.
7945
bdc67fd6
RB
79462014-04-03 Richard Biener <rguenther@suse.de>
7947
e0a81db1 7948 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
7949 (streamer_tree_cache_create): Adjust.
7950 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
7951 to allow optional nodes array.
7952 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
7953 (streamer_tree_cache_append): Likewise.
7954 (streamer_tree_cache_create): Create nodes array optionally
7955 as specified by parameter.
7956 * lto-streamer-out.c (create_output_block): Avoid maintaining
7957 the node array in the writer cache.
7958 (DFS_write_tree): Remove assertion.
e0a81db1 7959 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
7960 * lto-streamer-in.c (lto_data_in_create): Adjust for
7961 streamer_tree_cache_create prototype change.
7962
a0daf659
RB
79632014-04-03 Richard Biener <rguenther@suse.de>
7964
7965 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
7966 set TREE_CHAIN to NULL_TREE.
7967
f16c88d2
RB
79682014-04-03 Richard Biener <rguenther@suse.de>
7969
7970 PR tree-optimization/60740
7971 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
7972 over all GIMPLE_COND operands.
7973
880a467b
NS
79742014-04-03 Nathan Sidwell <nathan@codesourcery.com>
7975
7976 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
7977 (Weffc++): Remove Scott's numbering, merge lists and reference
7978 Wnon-virtual-dtor.
7979
08866760
NC
79802014-04-03 Nick Clifton <nickc@redhat.com>
7981
7982 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
7983 properly.
7984
5bed50e8
MJ
79852014-04-03 Martin Jambor <mjambor@suse.cz>
7986
7987 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
7988 mention gcc_unreachable before failing.
7989 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
7990 removed symbols.
7991
3e86c6a8
JH
79922014-04-02 Jan Hubicka <hubicka@ucw.cz>
7993
7994 PR ipa/60659
e0a81db1
UB
7995 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
7996 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
7997 (possible_polymorphic_call_targets): For inconsistent contexts
7998 return empty complete list.
7999
2b9912aa
AG
80002014-04-02 Anthony Green <green@moxielogic.com>
8001
8002 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
8003 (extendqisi2, extendhisi2): Define.
8004 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
8005 (WCHAR_TYPE): Change to unsigned int.
8006
1e386bb8
BS
80072014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8008
8009 PR tree-optimization/60733
8010 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
8011 insertion point for PHI candidates to be the end of the feeding
8012 block for the PHI argument.
8013
f4581282
VM
80142014-04-02 Vladimir Makarov <vmakarov@redhat.com>
8015
8016 PR rtl-optimization/60650
8017 * lra-constraints.c (process_alt_operands): Decrease reject for
8018 earlyclobber matching.
8019
a9d46e32
AK
80202014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8021
8022 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
8023
7c40228a
UW
80242014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8025
8026 * config/spu/spu.c (pad_bb): Do not crash when the last
8027 insn is CODE_FOR_blockage.
8028
c6596193
UW
80292014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8030
8031 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
8032 lies outside the target mode.
8033
690c229f
MM
80342014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
8035
8036 PR target/60735
8037 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
8038 software floating point or no floating point registers, do not
8039 allow any type in the FPRs. Eliminate a test for SPE SIMD types
8040 in GPRs that occurs after we tested for GPRs that would never be
8041 true.
8042
8043 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
8044 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
8045 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
8046 specifically allow DDmode, since that does not use the SPE SIMD
8047 instructions.
8048
dad16761
RB
80492014-04-02 Richard Biener <rguenther@suse.de>
8050
8051 PR middle-end/60729
8052 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
8053 MODE_INTs. Properly use negv_optab.
8054 (expand_abs): Likewise.
8055
a1ce39be
RB
80562014-04-02 Richard Biener <rguenther@suse.de>
8057
8058 PR bootstrap/60719
8059 * Makefile.in (install-driver): Guard extra installs with special
8060 names properly.
8061
6fb619e4
MM
80622014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
8063
8064 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
8065 Document vec_vgbbd.
8066
2a1ffd6d
RH
80672014-04-01 Richard Henderson <rth@redhat.com>
8068
8069 PR target/60704
8070 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
8071 alternative enabled before register allocation.
8072
98e8dd4d
CLT
80732014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
8074
8075 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
8076 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
8077 typo.
8078 (nios2_large_got_address): Remove unneeded 'sym' parameter.
8079 (nios2_got_address): Update nios2_large_got_address call site.
8080 (nios2_delegitimize_address): New function.
8081 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
8082 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
8083 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
8084
8785c60a
MH
80852014-04-01 Martin Husemann <martin@duskware.de>
8086
8087 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
8088 for -mabi=32.
8089
3343cf6a
RS
80902014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
8091
8092 PR rtl-optimization/60604
8093 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
8094 check from register_operand.
8095 (register_operand): Redefine in terms of general_operand.
8096 (nonmemory_operand): Use register_operand for the non-constant cases.
8097
1503cb6b
RB
80982014-04-01 Richard Biener <rguenther@suse.de>
8099
e0a81db1 8100 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 8101
cded08ea
SH
81022014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
8103
8104 * doc/invoke.texi (mapp-regs): Clarify.
8105
7d9088c2
UD
81062014-03-31 Ulrich Drepper <drepper@gmail.com>
8107
8108 * config/i386/avx512fintrin.h (__v32hi): Define type.
8109 (__v64qi): Likewise.
8110 (_mm512_set1_epi8): Define.
8111 (_mm512_set1_epi16): Define.
8112 (_mm512_set4_epi32): Define.
8113 (_mm512_set4_epi64): Define.
8114 (_mm512_set4_pd): Define.
8115 (_mm512_set4_ps): Define.
8116 (_mm512_setr4_epi64): Define.
8117 (_mm512_setr4_epi32): Define.
8118 (_mm512_setr4_pd): Define.
8119 (_mm512_setr4_ps): Define.
8120 (_mm512_setzero_epi32): Define.
8121
c18ff8a4
MJ
81222014-03-31 Martin Jambor <mjambor@suse.cz>
8123
8124 PR middle-end/60647
8125 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
8126 callsite_arguments_match_p. Updated all callers. Also check types of
8127 corresponding formal parameters and actual arguments.
8128 (not_all_callers_have_enough_arguments_p) Renamed to
8129 some_callers_have_mismatched_arguments_p.
8130
9a96d5b7
YR
81312014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
8132
8133 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
8134
6c031d8d
KV
81352014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
8136
8137 PR target/60034
8138 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
8139 section anchor.
8140
429749e2
UB
81412014-03-30 Uros Bizjak <ubizjak@gmail.com>
8142
8143 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
8144 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
8145 Split out
8146 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
8147 Use FMAMODE_NOVF512 mode iterator.
8148 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
8149 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
8150 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
8151 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
8152 Split out
8153 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
8154 Use VF_128_256 mode iterator.
8155 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
8156 Ditto.
8157
1f91035f
JH
81582014-03-28 Jan Hubicka <hubicka@ucw.cz>
8159
8160 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
8161 static chain if needed.
8162
6e071b1e
VM
81632014-03-28 Vladimir Makarov <vmakarov@redhat.com>
8164
8165 PR target/60697
8166 * lra-constraints.c (index_part_to_reg): New.
8167 (process_address): Use it.
8168
e7f31789 81692014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 8170 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
8171
8172 PR target/60648
4bb66ef3
JJ
8173 * expr.c (do_tablejump): Use simplify_gen_binary rather than
8174 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 8175
4bb66ef3
JJ
8176 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
8177 creating non-canonical RTL.
e7f31789 8178
4cd8957f
JH
81792014-03-28 Jan Hubicka <hubicka@ucw.cz>
8180
8181 PR ipa/60243
8182 * ipa-inline.c (want_inline_small_function_p): Short circuit large
8183 functions; reorganize to make cheap checks first.
8184 (inline_small_functions): Do not estimate growth when dumping;
8185 it is expensive.
8186 * ipa-inline.h (inline_summary): Add min_size.
8187 (growth_likely_positive): New function.
8188 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
8189 (set_cond_stmt_execution_predicate): Cleanup.
8190 (estimate_edge_size_and_time): Compute min_size.
8191 (estimate_calls_size_and_time): Likewise.
8192 (estimate_node_size_and_time): Likewise.
8193 (inline_update_overall_summary): Update min_size.
8194 (do_estimate_edge_time): Likewise.
8195 (do_estimate_edge_size): Update.
8196 (do_estimate_edge_hints): Update.
8197 (growth_likely_positive): New function.
8198
ff76f4e2
JJ
81992014-03-28 Jakub Jelinek <jakub@redhat.com>
8200
8201 PR target/60693
8202 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
8203 also if addr has VOIDmode.
8204
ed6eb6dc
KT
82052014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8206
8207 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
8208 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
8209 Declare extern.
8210 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
8211 instructions as well as AdvancedSIMD loads.
8212
b10baa95
KT
82132014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8214
8215 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
8216 Use crypto_aese type.
8217 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
8218 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
8219 crypto_aese, crypto_aesmc. Move to types.md.
8220 * config/arm/types.md (crypto_aes): Split into crypto_aese,
8221 crypto_aesmc.
8222 * config/arm/iterators.md (crypto_type): Likewise.
8223
23a04216
JH
82242014-03-28 Jan Hubicka <hubicka@ucw.cz>
8225
8226 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
8227 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
8228 remove LHS.
23a04216 8229
a4971e68
VM
82302014-03-28 Vladimir Makarov <vmakarov@redhat.com>
8231
8232 PR target/60675
8233 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
8234 regs from checking multi-reg pseudos.
8235
7ac84c02
RR
82362014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8237
8238 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
8239
bd302a18
UW
82402014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8241
8242 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
8243 if it would clobber the stack pointer, even temporarily.
8244
cee9defb
EB
82452014-03-28 Eric Botcazou <ebotcazou@adacore.com>
8246
8247 * mode-switching.c: Make small adjustments to the top comment.
8248
117f16fb
MM
82492014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
8250
8251 * config/rs6000/constraints.md (wD constraint): New constraint to
8252 match the constant integer to get the top DImode/DFmode out of a
8253 vector in a VSX register.
8254
8255 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
8256 match the constant integer to get the top DImode/DFmode out of a
8257 vector in a VSX register.
8258
8259 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
8260 for ISA 2.07.
8261
8262 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
8263 vbpermq builtins.
8264
8265 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
8266 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
8267
8268 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
8269 Optimize vec_extract of 64-bit values, where the value being
8270 extracted is in the top word, where we can use scalar
8271 instructions. Add direct move and store support. Combine the big
429749e2 8272 endian/little endian vector select load support into a single insn.
117f16fb
MM
8273 (vsx_extract_<mode>_internal1): Likewise.
8274 (vsx_extract_<mode>_internal2): Likewise.
8275 (vsx_extract_<mode>_load): Likewise.
8276 (vsx_extract_<mode>_store): Likewise.
8277 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
8278 combined into vsx_extract_<mode>_load.
8279 (vsx_extract_<mode>_one_le): Likewise.
8280
8281 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
8282 define the top 64-bit vector element.
8283
8284 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
8285 constraint.
8286
6788164b
MM
8287 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
8288 Document vec_vbpermq builtin.
8289
117f16fb
MM
8290 PR target/60672
8291 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
8292 enable use of xxsldwi and xxpermdi builtin functions.
8293 (vec_xxpermdi): Likewise.
8294
8295 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
8296 Document use of vec_xxsldwi and vec_xxpermdi builtins.
8297
9e038952
VM
82982014-03-27 Vladimir Makarov <vmakarov@redhat.com>
8299
8300 PR rtl-optimization/60650
f4581282 8301 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
8302 first_p. Use it.
8303 (find_spills_for): New.
8304 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
8305 Spill all pseudos on the second iteration.
8306
324dc401
MP
83072014-03-27 Marek Polacek <polacek@redhat.com>
8308
8309 PR c/50347
8310 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
8311 types.
8312
6e77facf
AK
83132014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8314
8315 * config/s390/s390.c (s390_can_use_return_insn): Check for
8316 call-saved FPRs on 31 bit.
8317
47519a14
JJ
83182014-03-27 Jakub Jelinek <jakub@redhat.com>
8319
8320 PR middle-end/60682
8321 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
8322 if they need regimplification, just drop them instead of
8323 calling gimple_regimplify_operands on them.
8324
0b7f8166
MS
83252014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
8326
8327 PR target/60580
8328 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
8329 (aarch64_frame_pointer_required): Adjust logic.
8330 (aarch64_can_eliminate): Adjust logic.
8331 (aarch64_override_options_after_change): Adjust logic.
8332
2f2a7d15
DC
83332014-03-27 Dehao Chen <dehao@google.com>
8334
8335 * ipa-inline.c (early_inliner): Update node's inline info.
8336
a0dbf285
DC
83372014-03-26 Dehao Chen <dehao@google.com>
8338
8339 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
8340 compiler inserted conditional jumps for NAN float check.
8341
ed0ca1e1
JJ
83422014-03-26 Jakub Jelinek <jakub@redhat.com>
8343
07d72e1d
JJ
8344 * ubsan.h (ubsan_create_data): Change second argument's type
8345 to const location_t *.
8346 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
8347 _("<unknown>").
8348 (ubsan_create_data): Change second argument to const location_t *PLOC.
8349 Create Loc field whenever PLOC is non-NULL.
8350 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
8351 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
8352 callers.
8353
ed0ca1e1
JJ
8354 PR other/59545
8355 * real.c (real_to_integer2): Change type of low to UHWI.
8356
b9487dd8
TB
83572014-03-26 Tobias Burnus <burnus@net-b.de>
8358
8359 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
8360 (CILK_SELF_SPECS): New define.
8361 (driver_self_specs): Use it.
8362
3a2700f6
RB
83632014-03-26 Richard Biener <rguenther@suse.de>
8364
8365 * tree-pretty-print.c (percent_K_format): Implement special
8366 case for LTO and its stripped down BLOCK tree.
8367
368b454d
JJ
83682014-03-26 Jakub Jelinek <jakub@redhat.com>
8369
aa6b742f
JJ
8370 PR sanitizer/60636
8371 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
8372
368b454d
JJ
8373 * tree-vrp.c (simplify_internal_call_using_ranges): If only
8374 one range is range_int_cst_p, but not both, at least optimize
8375 addition/subtraction of 0 and multiplication by 0 or 1.
8376 * gimple-fold.c (gimple_fold_call): Fold
8377 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
8378 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
8379 INTEGER_CSTs, try to fold at least x * 0 and y - y.
8380
c7e30a96
EB
83812014-03-26 Eric Botcazou <ebotcazou@adacore.com>
8382
8383 PR rtl-optimization/60452
8384 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
8385 <case REG>: Return 1 for invalid offsets from the frame pointer.
8386
d615d763
MP
83872014-03-26 Marek Polacek <polacek@redhat.com>
8388
8389 PR c/37428
8390 * doc/extend.texi (C Extensions): Mention variable-length arrays in
8391 a structure/union.
8392
1b226529
MP
83932014-03-26 Marek Polacek <polacek@redhat.com>
8394
8395 PR c/39525
8396 * doc/extend.texi (Designated Inits): Describe what happens to omitted
8397 field members.
8398
6686e0bc
MP
83992014-03-26 Marek Polacek <polacek@redhat.com>
8400
8401 PR other/59545
8402 * ira-color.c (update_conflict_hard_regno_costs): Perform the
8403 multiplication in unsigned type.
8404
d4fbc3ae
CJW
84052014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
8406
8407 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
8408
dfa6c87b
CJW
84092014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
8410
8411 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
8412
9de6f6c3
JH
84132014-03-25 Jan Hubicka <hubicka@ucw.cz>
8414
8415 PR ipa/60315
8416 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
8417 * ipa-inline.c (inline_small_functions): Skip edges to
8418 __builtlin_unreachable.
9de6f6c3
JH
8419 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
8420 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
8421 predicate to __bulitin_unreachable.
429749e2
UB
8422 (set_cond_stmt_execution_predicate): Fix issue when
8423 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
8424 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
8425 propagate to inline clones.
8426 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
8427 to unreachable.
8428 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
8429 * cgraphclones.c (cgraph_clone_node): If call destination is already
8430 ureachable, do not redirect it back.
8431 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
8432 unreachable.
8433
d7636f56
JH
84342014-03-25 Jan Hubicka <hubicka@ucw.cz>
8435
8436 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
8437 Do not modify inline clones.
8438
d1873c57
JJ
84392014-03-25 Jakub Jelinek <jakub@redhat.com>
8440
8441 * config/i386/i386.md (general_sext_operand): New mode attr.
8442 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
8443 don't generate (sign_extend (const_int)).
8444 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
429749e2
UB
8445 operands[2]. Use We constraint instead of <i> and
8446 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
8447 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
8448 * config/i386/constraints.md (We): New constraint.
8449 * config/i386/predicates.md (x86_64_sext_operand,
8450 sext_operand): New predicates.
8451
b5165eb0
MJ
84522014-03-25 Martin Jambor <mjambor@suse.cz>
8453
8454 PR ipa/60600
8455 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
8456 inconsistent devirtualizations to __builtin_unreachable.
8457
3102858d
MP
84582014-03-25 Marek Polacek <polacek@redhat.com>
8459
8460 PR c/35449
8461 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
8462
4b1e108c
AL
84632014-03-25 Alan Lawrence <alan.lawrence@arm.com>
8464
8465 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
8466 order of elements for big-endian.
8467
40b0722f
RB
84682014-03-25 Richard Biener <rguenther@suse.de>
8469
8470 PR middle-end/60635
8471 * gimplify-me.c (gimple_regimplify_operands): Update the
8472 re-gimplifed stmt.
8473
4a5798de
MJ
84742014-03-25 Martin Jambor <mjambor@suse.cz>
8475
8476 PR ipa/59176
8477 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
8478 (lto_output_varpool_node): Likewise.
8479 (input_overwrite_node): Likewise.
8480 (input_varpool_node): Likewise.
8481
585d0088
RB
84822014-03-25 Richard Biener <rguenther@suse.de>
8483
429749e2 8484 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
8485 (run_gcc): Likewise.
8486
a8acccdd
JJ
84872014-03-25 Jakub Jelinek <jakub@redhat.com>
8488
51ee05d0
JJ
8489 * combine.c (simplify_compare_const): Add MODE argument.
8490 Handle mode_width 0 as very large mode_width.
8491 (try_combine, simplify_comparison): Adjust callers.
8492
a8acccdd
JJ
8493 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
8494 type to avoid signed integer overflow.
8495 * explow.c (plus_constant): Likewise.
8496
57fc74a4
DV
84972014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
8498
8499 * doc/generic.texi: Correct typos.
8500
09f15d1b
TB
85012014-03-24 Tobias Burnus <burnus@net-b.de>
8502
8503 * doc/invoke.texi (-flto): Expand section about
8504 using static libraries with LTO.
8505
72a4ddf2
AK
85062014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8507
8508 PR rtl-optimization/60501
8509 * optabs.def (addptr3_optab): New optab.
8510 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
8511 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
8512 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
8513
8514 * lra.c (emit_add3_insn): Use the addptr pattern if available.
8515
8516 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
8517
0b192937
UD
85182014-03-24 Ulrich Drepper <drepper@gmail.com>
8519
2b2384e8
UD
8520 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
8521 _mm512_set1_pd.
8522
0b192937
UD
8523 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
8524 (_mm256_undefined_ps): Define.
8525 (_mm256_undefined_pd): Define.
8526 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
8527 (_mm_undefined_pd): Define.
8528 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
8529 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
8530 (_mm512_undefined_ps): Define.
8531 (_mm512_undefined_pd): Define.
8532 Use _mm*_undefined_*.
8533 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
8534
252c7556
AV
85352014-03-24 Alex Velenko <Alex.Velenko@arm.com>
8536
8537 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
8538 (lshr_simd): DI mode added.
8539 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
8540 (aarch64_ushr_simddi): Likewise.
8541 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
8542 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
8543 (vshrd_n_u64): Likewise.
8544
15e3d4f1
RO
85452014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8546
8547 * Makefile.in (s-macro_list): Depend on cc1.
8548
1858c2d3
TJ
85492014-03-23 Teresa Johnson <tejohnson@google.com>
8550
8551 * ipa-utils.c (ipa_print_order): Use specified dump file.
8552
f87604f8
EB
85532014-03-23 Eric Botcazou <ebotcazou@adacore.com>
8554
8555 PR rtl-optimization/60601
8556 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
8557
8558 * gcc.c (eval_spec_function): Initialize save_growing_value.
8559
3db31fd1
JJ
85602014-03-22 Jakub Jelinek <jakub@redhat.com>
8561
f451d3a8
JJ
8562 PR sanitizer/60613
8563 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
8564 code == MINUS_EXPR, never swap op0 with op1.
8565
3db31fd1
JJ
8566 * toplev.c (init_local_tick): Avoid signed integer multiplication
8567 overflow.
8568 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
8569 shift by first operand's bitsize.
8570
e49080ec
JJ
85712014-03-21 Jakub Jelinek <jakub@redhat.com>
8572
8573 PR target/60610
8574 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
8575 redefine to 1 or 0.
8576 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
8577 TARGET_ISA_64BIT_P(x).
8578
44eb6c40
BS
85792014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8580
8581 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
8582 pattern for vector nor instead of subtract from splat(-1).
8583 (altivec_expand_vec_perm_const_le): Likewise.
8584
ec6f831a
RH
85852014-03-21 Richard Henderson <rth@twiddle.net>
8586
8587 PR target/60598
8588 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
8589 related insns after epilogue_completed.
8590
3d8d0043
MJ
85912014-03-21 Martin Jambor <mjambor@suse.cz>
8592
8593 PR ipa/59176
8594 * cgraph.h (symtab_node): New flag body_removed.
8595 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
8596 when removing bodies.
8597 * symtab.c (dump_symtab_base): Dump body_removed flag.
8598 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
8599 had their bodies removed.
8600
d833415c
MJ
86012014-03-21 Martin Jambor <mjambor@suse.cz>
8602
8603 PR ipa/60419
8604 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
8605 in the border.
8606
400a4f6c
RB
86072014-03-21 Richard Biener <rguenther@suse.de>
8608
8609 PR tree-optimization/60577
8610 * tree-core.h (struct tree_base): Document nothrow_flag use
8611 in VAR_DECL_NONALIASED.
8612 * tree.h (VAR_DECL_NONALIASED): New.
8613 (may_be_aliased): Adjust.
8614 * coverage.c (build_var): Set VAR_DECL_NONALIASED.
8615
c6c2314f
EB
86162014-03-20 Eric Botcazou <ebotcazou@adacore.com>
8617
8618 * expr.c (expand_expr_real_1): Remove outdated comment.
8619
d02b6ac7
JJ
86202014-03-20 Jakub Jelinek <jakub@redhat.com>
8621
b8f045e2
JJ
8622 PR middle-end/60597
8623 * ira.c (adjust_cleared_regs): Call copy_rtx on
8624 *reg_equiv[REGNO (loc)].src_p before passing it to
8625 simplify_replace_fn_rtx.
8626
d02b6ac7
JJ
8627 PR target/60568
8628 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
8629 into CONST, put pic register as first operand of PLUS. Use
8630 gen_const_mem for both 32-bit and 64-bit PIC got loads.
8631
e2f98c01
RR
86322014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8633
8634 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
8635
7075c792
EB
86362014-03-20 Eric Botcazou <ebotcazou@adacore.com>
8637
8638 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
8639 around for store forwarding issue in the FPU on the UT699.
8640 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
8641 loads and operations if -mfix-ut699 is specified.
8642 (divtf3_hq): Tweak attribute.
8643 (sqrttf2_hq): Likewise.
8644
9ee5337d
EB
86452014-03-20 Eric Botcazou <ebotcazou@adacore.com>
8646
8647 * calls.c (store_one_arg): Remove incorrect const qualification on the
8648 type of the temporary.
8649 * cfgexpand.c (expand_return): Likewise.
8650 * expr.c (expand_constructor): Likewise.
8651 (expand_expr_real_1): Likewise.
8652
a69e09c8
ZC
86532014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
8654
8655 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
8656 of parts.
8657
8659d57b
KK
86582014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
8659
8660 PR target/60039
8661 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
8662
985e0d33
JG
86632014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
8664
8665 * config/arm/aarch-common-protos.h
8666 (alu_cost_table): Fix spelling of "extend".
8667 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
8668
ce2f49b3
RB
86692014-03-19 Richard Biener <rguenther@suse.de>
8670
8671 PR middle-end/60553
8672 * tree-core.h (tree_type_common): Re-order pointer members
8673 to reduce recursion depth during GC walks.
8674
6daa2d91
MP
86752014-03-19 Marek Polacek <polacek@redhat.com>
8676
8677 PR sanitizer/60569
8678 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
8679 before accessing it.
8680
8c9cfbe6
RB
86812014-03-19 Richard Biener <rguenther@suse.de>
8682
8683 PR lto/59543
8684 * lto-streamer-in.c (input_function): In WPA stage do not drop
8685 debug stmts.
8686
3efe2e2c
JJ
86872014-03-19 Jakub Jelinek <jakub@redhat.com>
8688
8689 PR tree-optimization/60559
8690 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
8691 with build_zero_cst assignment.
8692
234f76cb
KT
86932014-03-18 Kai Tietz <ktietz@redhat.com>
8694
8695 PR rtl-optimization/56356
8696 * sdbout.c (sdbout_parms): Verify that parms'
8697 incoming argument is valid.
8698 (sdbout_reg_parms): Likewise.
8699
58ca6edf
RH
87002014-03-18 Richard Henderson <rth@redhat.com>
8701
8702 PR target/60562
8703 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
8704 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 8705 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
8706
87072014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
8708
4bb66ef3 8709 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 8710 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 8711 Italicize plugin event names in description. Explain that
429749e2
UB
8712 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
8713 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 8714 Explain what pragmas with expansion are.
b318e404 8715
eb14a79f
ML
87162014-03-18 Martin Liska <mliska@suse.cz>
8717
8718 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
8719 gimple call statement is update.
8720 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
8721 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
8722
415e2e6b
JJ
87232014-03-18 Jakub Jelinek <jakub@redhat.com>
8724
ead96f13
JJ
8725 PR sanitizer/60557
8726 * ubsan.c (ubsan_instrument_unreachable): Call
8727 initialize_sanitizer_builtins.
8728 (ubsan_pass): Likewise.
8729
415e2e6b
JJ
8730 PR sanitizer/60535
8731 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
8732 varpool_finalize_decl instead of rest_of_decl_compilation.
8733
4ca40f52
RB
87342014-03-18 Richard Biener <rguenther@suse.de>
8735
8736 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
8737 by using bitmap_and_compl instead of bitmap_and_compl_into.
8738 (df_rd_transfer_function): Likewise.
8739
6404e190
RB
87402014-03-18 Richard Biener <rguenther@suse.de>
8741
8742 * doc/lto.texi (fresolution): Fix typo.
8743
b9abf793
RB
87442014-03-18 Richard Biener <rguenther@suse.de>
8745
8746 * doc/invoke.texi (flto): Update for changes in 4.9.
8747
3f00cf18
RB
87482014-03-18 Richard Biener <rguenther@suse.de>
8749
8750 * doc/loop.texi: Remove section on the removed lambda framework.
8751 Update loop docs with recent changes in preserving loop structure.
8752
c2679d84
RB
87532014-03-18 Richard Biener <rguenther@suse.de>
8754
8755 * doc/lto.texi (-fresolution): Document.
8756
c07990cc
RB
87572014-03-18 Richard Biener <rguenther@suse.de>
8758
8759 * doc/contrib.texi: Adjust my name.
8760
ed9c79e1
JJ
87612014-03-18 Jakub Jelinek <jakub@redhat.com>
8762
8763 PR ipa/58721
8764 * internal-fn.c: Include diagnostic-core.h.
8765 (expand_BUILTIN_EXPECT): New function.
8766 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
8767 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
8768 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
8769 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
8770 IFN_BUILTIN_EXPECT.
8771 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
8772 Revert 3 argument __builtin_expect code.
8773 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
8774 * gimple-fold.c (gimple_fold_call): Likewise.
8775 * tree.h (fold_builtin_expect): New prototype.
8776 * builtins.c (build_builtin_expect_predicate): Add predictor
8777 argument, if non-NULL, create 3 argument __builtin_expect.
8778 (fold_builtin_expect): No longer static. Add ARG2 argument,
8779 pass it through to build_builtin_expect_predicate.
8780 (fold_builtin_2): Adjust caller.
8781 (fold_builtin_3): Handle BUILT_IN_EXPECT.
8782 * internal-fn.def (BUILTIN_EXPECT): New.
8783
87842014-03-18 Tobias Burnus <burnus@net-b.de>
8785
8786 PR ipa/58721
8787 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
8788 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
8789 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
8790
87912014-03-18 Jan Hubicka <hubicka@ucw.cz>
8792
8793 PR ipa/58721
8794 * predict.c (combine_predictions_for_bb): Fix up formatting.
8795 (expr_expected_value_1, expr_expected_value): Add predictor argument,
8796 fill what it points to if non-NULL.
8797 (tree_predict_by_opcode): Adjust caller, use the predictor.
8798 * predict.def (PRED_COMPARE_AND_SWAP): Add.
8799
e33da4a1
EB
88002014-03-18 Eric Botcazou <ebotcazou@adacore.com>
8801
8802 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
8803 proper constant for the store mode.
8804
1fed15fc
IE
88052014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
8806
8807 * symtab.c (change_decl_assembler_name): Fix transparent alias
8808 chain construction.
8809
454fdba9
RL
88102014-03-16 Renlin Li <Renlin.Li@arm.com>
8811
8812 * config/aarch64/aarch64.c: Correct the comments about the
8813 aarch64 stack layout.
8814
e2110f8f
TS
88152014-03-18 Thomas Schwinge <thomas@codesourcery.com>
8816
8817 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
8818 check for GF_OMP_FOR_KIND_FOR.
8819
7c831c4d
KY
88202013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
8821
8822 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
8823 ymm and zmm register names.
8824
e318c1e1
JJ
88252014-03-17 Jakub Jelinek <jakub@redhat.com>
8826
8827 PR target/60516
8828 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
8829 note creation for the 2010-08-31 changes.
8830
ab2ffbeb
MP
88312014-03-17 Marek Polacek <polacek@redhat.com>
8832
8833 PR middle-end/60534
8834 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
8835 as -fno-tree-loop-vectorize.
8836 (expand_omp_simd): Likewise.
8837
890fa568
EB
88382014-03-15 Eric Botcazou <ebotcazou@adacore.com>
8839
8840 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
8841 (eligible_for_call_delay): New prototype.
8842 * config/sparc/sparc.c (tls_call_delay): Rename into...
8843 (eligible_for_call_delay): ...this. Return false if the instruction
8844 cannot be put in the delay slot of a branch.
8845 (eligible_for_restore_insn): Simplify.
8846 (eligible_for_return_delay): Return false if the instruction cannot be
8847 put in the delay slot of a branch and simplify.
8848 (eligible_for_sibcall_delay): Return false if the instruction cannot be
8849 put in the delay slot of a branch.
8850 * config/sparc/sparc.md (fix_ut699): New attribute.
8851 (tls_call_delay): Delete.
8852 (in_call_delay): Reimplement.
8853 (eligible_for_sibcall_delay): Rename into...
8854 (in_sibcall_delay): ...this.
8855 (eligible_for_return_delay): Rename into...
8856 (in_return_delay): ...this.
8857 (in_branch_delay): Reimplement.
8858 (in_uncond_branch_delay): Delete.
8859 (in_annul_branch_delay): Delete.
8860
cfce90ac
RH
88612014-03-14 Richard Henderson <rth@redhat.com>
8862
8863 PR target/60525
8864 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
8865 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
8866 (*floathi<X87MODEF>2_i387_with_temp): Remove.
8867 (floathi splitters): Remove.
8868 (float<SWI48x>xf2): New pattern.
8869 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
8870 code that tried to handle DImode for 32-bit, but which was excluded
8871 by the pattern's condition. Drop allocation of stack temporary.
8872 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
8873 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
8874 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
8875 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
8876 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
8877 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
8878 (*float<SWI48><MODEF>2_sse_interunit): Remove.
8879 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
8880 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
8881 (*float<SWI48x><X87MODEF>2_i387): Remove.
8882 (all float _with_temp splitters): Remove.
8883 (*float<SWI48x><MODEF>2_i387): New pattern.
8884 (*float<SWI48><MODEF>2_sse): New pattern.
8885 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
8886 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
8887
91035653
JJ
88882014-03-14 Jakub Jelinek <jakub@redhat.com>
8889 Marek Polacek <polacek@redhat.com>
8890
8891 PR middle-end/60484
8892 * common.opt (dump_base_name_prefixed): New Variable.
8893 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
8894 if x_dump_base_name_prefixed is already set, set it at the end.
8895
95921002
VM
88962014-03-14 Vladimir Makarov <vmakarov@redhat.com>
8897
8898 PR rtl-optimization/60508
8899 * lra-constraints.c (get_reload_reg): Add new parameter
8900 in_subreg_p.
8901 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
8902 Pass the new parameter values.
8903
25e57622
RB
89042014-03-14 Richard Biener <rguenther@suse.de>
8905
8906 * common.opt: Revert unintented changes from r205065.
8907 * opts.c: Likewise.
8908
1f3388fe
RB
89092014-03-14 Richard Biener <rguenther@suse.de>
8910
8911 PR middle-end/60518
8912 * cfghooks.c (split_block): Properly adjust all loops the
8913 block was a latch of.
8914
89152014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
8916
8917 PR lto/60461
8918 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
8919 and simplify it.
8920
2832dc22
GJL
89212014-03-14 Georg-Johann Lay <avr@gjlay.de>
8922
8923 PR target/59396
8924 * config/avr/avr.c (avr_set_current_function): Pass function name
8925 through default_strip_name_encoding before sanity checking instead
8926 of skipping the first char of the assembler name.
8927
3386d77e
RH
89282014-03-13 Richard Henderson <rth@redhat.com>
8929
8930 PR debug/60438
8931 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
8932 (ix86_force_to_memory, ix86_free_from_memory): Remove.
8933 * config/i386/i386-protos.h: Likewise.
8934 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
8935 in the expander instead of a splitter.
8936 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
8937 any possibility of requiring a memory.
8938 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
8939 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
8940 (fp branch splitters): Update for ix86_split_fp_branch.
8941 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
8942 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
8943 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
8944 (*fop_<MODEF>_2_i387): Remove f/r alternative.
8945 (*fop_<MODEF>_3_i387): Likewise.
8946 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
8947 (splitters for the fop_* register patterns): Remove.
8948 (fscalexf4_i387): Rename from *fscalexf4_i387.
8949 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
4bb66ef3 8950
5b5d7f31
JJ
89512014-03-13 Jakub Jelinek <jakub@redhat.com>
8952
8953 PR tree-optimization/59779
8954 * tree-dfa.c (get_ref_base_and_extent): Use double_int
8955 type for bitsize and maxsize instead of HOST_WIDE_INT.
8956
bdc6e1ae
SB
89572014-03-13 Steven Bosscher <steven@gcc.gnu.org>
8958
8959 PR rtl-optimization/57320
8960 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
8961 the CFG after thread_prologue_and_epilogue_insns.
8962
7891065a
VM
89632014-03-13 Vladimir Makarov <vmakarov@redhat.com>
8964
8965 PR rtl-optimization/57189
8966 * lra-constraints.c (process_alt_operands): Disfavor spilling
8967 vector pseudos.
8968
eba14fca
CP
89692014-03-13 Cesar Philippidis <cesar@codesourcery.com>
8970
429749e2 8971 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 8972
f661b085
JJ
89732014-03-13 Jakub Jelinek <jakub@redhat.com>
8974
8975 PR tree-optimization/59025
8976 PR middle-end/60418
8977 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
8978 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
8979
8f3a3138
GJL
89802014-03-13 Georg-Johann Lay <avr@gjlay.de>
8981
8982 PR target/60486
8983 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
8984 calls of avr_out_plus_1.
8985
d731ee04
BC
89862014-03-13 Bin Cheng <bin.cheng@arm.com>
8987
8988 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
8989 BB's single pred and update the father loop's latch info later.
8990
a16a872d
MM
89912014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
8992
8993 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
8994 (VEC_M): Likewise.
8995 (VEC_N): Likewise.
8996 (VEC_R): Likewise.
8997 (VEC_base): Likewise.
8998 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
8999 registers, we need to swap double words in little endian mode.
9000
9001 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
9002 to be a container mode for 128-bit integer operations added in ISA
9003 2.07. Unlike TImode and PTImode, the preferred register set is
9004 the Altivec/VMX registers for the 128-bit operations.
9005
9006 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
9007 declarations.
9008 (rs6000_split_128bit_ok_p): Likewise.
9009
9010 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
9011 macros for creating ISA 2.07 normal and overloaded builtin
9012 functions with 3 arguments.
9013 (BU_P8V_OVERLOAD_3): Likewise.
9014 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
9015 for use as overloaded functions.
9016 (VPERM_1TI_UNS): Likewise.
9017 (VSEL_1TI): Likewise.
9018 (VSEL_1TI_UNS): Likewise.
9019 (ST_INTERNAL_1ti): Likewise.
9020 (LD_INTERNAL_1ti): Likewise.
9021 (XXSEL_1TI): Likewise.
9022 (XXSEL_1TI_UNS): Likewise.
9023 (VPERM_1TI): Likewise.
9024 (VPERM_1TI_UNS): Likewise.
9025 (XXPERMDI_1TI): Likewise.
9026 (SET_1TI): Likewise.
9027 (LXVD2X_V1TI): Likewise.
9028 (STXVD2X_V1TI): Likewise.
9029 (VEC_INIT_V1TI): Likewise.
9030 (VEC_SET_V1TI): Likewise.
9031 (VEC_EXT_V1TI): Likewise.
9032 (EQV_V1TI): Likewise.
9033 (NAND_V1TI): Likewise.
9034 (ORC_V1TI): Likewise.
9035 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
9036 added in ISA 2.07. Add both normal 'altivec' builtins, and the
9037 overloaded builtin.
9038 (VADDUQM): Likewise.
9039 (VSUBCUQ): Likewise.
9040 (VADDEUQM): Likewise.
9041 (VADDECUQ): Likewise.
9042 (VSUBEUQM): Likewise.
9043 (VSUBECUQ): Likewise.
9044
9045 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
9046 __int128_t and __uint128_t types.
9047 (__uint128_type): Likewise.
9048 (altivec_categorize_keyword): Add support for vector __int128_t,
9049 vector __uint128_t, vector __int128, and vector unsigned __int128
9050 as a container type for TImode operations that need to be done in
9051 VSX/Altivec registers.
9052 (rs6000_macro_to_expand): Likewise.
9053 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
9054 to support 128-bit integer instructions vaddcuq, vadduqm,
9055 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
9056 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
9057
9058 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
9059 for V1TImode, and set up preferences to use VSX/Altivec registers.
9060 Setup VSX reload handlers.
a16a872d
MM
9061 (rs6000_debug_reg_global): Likewise.
9062 (rs6000_init_hard_regno_mode_ok): Likewise.
9063 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 9064 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
9065 (easy_altivec_constant): Likewise.
9066 (output_vec_const_move): Likewise.
9067 (rs6000_expand_vector_set): Convert V1TImode set and extract to
9068 simple move.
9069 (rs6000_expand_vector_extract): Likewise.
9070 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
9071 addressing.
9072 (rs6000_const_vec): Add support for V1TImode.
9073 (rs6000_emit_le_vsx_load): Swap double words when loading or
9074 storing TImode/V1TImode.
9075 (rs6000_emit_le_vsx_store): Likewise.
9076 (rs6000_emit_le_vsx_move): Likewise.
9077 (rs6000_emit_move): Add support for V1TImode.
9078 (altivec_expand_ld_builtin): Likewise.
9079 (altivec_expand_st_builtin): Likewise.
9080 (altivec_expand_vec_init_builtin): Likewise.
9081 (altivec_expand_builtin): Likewise.
9082 (rs6000_init_builtins): Add support for V1TImode type. Add
9083 support for ISA 2.07 128-bit integer builtins. Define type names
9084 for the VSX/Altivec vector types.
9085 (altivec_init_builtins): Add support for overloaded vector
9086 functions with V1TImode type.
0bb29a05 9087 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
9088 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
9089 external function.
9090 (rs6000_split_128bit_ok_p): Likewise.
9091 (rs6000_handle_altivec_attribute): Create V1TImode from vector
9092 __int128_t and vector __uint128_t.
9093
9094 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
9095 and mode attributes.
9096 (VSX_M): Likewise.
9097 (VSX_M2): Likewise.
9098 (VSm): Likewise.
9099 (VSs): Likewise.
9100 (VSr): Likewise.
9101 (VSv): Likewise.
9102 (VS_scalar): Likewise.
9103 (VS_double): Likewise.
0bb29a05 9104 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 9105
0bb29a05
UB
9106 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
9107 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
9108 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
9109 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
9110 and TImode types for use with the builtin functions.
9111 (V1TI_type_node): Likewise.
9112 (unsigned_V1TI_type_node): Likewise.
9113 (intTI_type_internal_node): Likewise.
9114 (uintTI_type_internal_node): Likewise.
9115
0bb29a05
UB
9116 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
9117 128-bit builtin functions.
a16a872d
MM
9118 (UNSPEC_VADDEUQM): Likewise.
9119 (UNSPEC_VADDECUQ): Likewise.
9120 (UNSPEC_VSUBCUQ): Likewise.
9121 (UNSPEC_VSUBEUQM): Likewise.
9122 (UNSPEC_VSUBECUQ): Likewise.
9123 (VM): Add V1TImode to vector mode iterators.
9124 (VM2): Likewise.
9125 (VI_unit): Likewise.
9126 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
9127 (altivec_vaddcuq): Likewise.
9128 (altivec_vsubuqm): Likewise.
9129 (altivec_vsubcuq): Likewise.
9130 (altivec_vaddeuqm): Likewise.
9131 (altivec_vaddecuq): Likewise.
9132 (altivec_vsubeuqm): Likewise.
9133 (altivec_vsubecuq): Likewise.
9134
9135 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
9136 mode iterators.
9137 (BOOL_128): Likewise.
9138 (BOOL_REGS_OUTPUT): Likewise.
9139 (BOOL_REGS_OP1): Likewise.
9140 (BOOL_REGS_OP2): Likewise.
9141 (BOOL_REGS_UNARY): Likewise.
9142 (BOOL_REGS_AND_CR0): Likewise.
9143
9144 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
9145 128-bit integer builtin support.
9146 (vec_vadduqm): Likewise.
9147 (vec_vaddecuq): Likewise.
9148 (vec_vaddeuqm): Likewise.
9149 (vec_vsubecuq): Likewise.
9150 (vec_vsubeuqm): Likewise.
9151 (vec_vsubcuq): Likewise.
9152 (vec_vsubuqm): Likewise.
9153
9154 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
9155 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
9156 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
9157 128-bit integer add/subtract to ISA 2.07.
9158
eeac7d15
JR
91592014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
9160
9161 * config/arc/arc.c (arc_predicate_delay_insns):
9162 Fix third argument passed to conditionalize_nonjump.
9163
bf0f324e
YZ
91642014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
9165
9166 * config/aarch64/aarch64-builtins.c
9167 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
9168 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
9169 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
9170 instead of __builtin_lfloor.
9171 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
9172
bf4787b2
JJ
91732014-03-12 Jakub Jelinek <jakub@redhat.com>
9174
9175 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
9176 (tree_ssa_ifcombine_bb_1): New function.
9177 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
9178 is an empty forwarder block to then_bb or vice versa and then_bb
9179 and else_bb are effectively swapped.
9180
7d55b948
CB
91812014-03-12 Christian Bruel <christian.bruel@st.com>
9182
9183 PR target/60264
0bb29a05
UB
9184 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
9185 REG_CFA_DEF_CFA note.
7d55b948
CB
9186 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
9187 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
9188
882a5fbe
TP
91892014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
9190
9191 PR tree-optimization/60454
9192 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
9193
a3cd0246
KT
91942014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9195
9196 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
9197 Do not define target_cpu_default2 to generic.
9198 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
9199 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
9200 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
9201
c888139c
JJ
92022014-03-12 Jakub Jelinek <jakub@redhat.com>
9203 Marc Glisse <marc.glisse@inria.fr>
9204
9205 PR tree-optimization/60502
9206 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
9207 instead of build_low_bits_mask.
9208
b24ca895
JJ
92092014-03-12 Jakub Jelinek <jakub@redhat.com>
9210
9211 PR middle-end/60482
9212 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
9213 if there are multiple uses, but op doesn't live on E edge.
9214 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
9215 clobber stmts before __builtin_unreachable.
9216
f1257268
RS
92172014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
9218
9219 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
9220 hard_frame_pointer_rtx.
9221 * cse.c (cse_insn): Remove volatile check.
9222 * cselib.c (cselib_process_insn): Likewise.
9223 * dse.c (scan_insn): Likewise.
9224
bae56bbb
JR
92252014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
9226
0bb29a05
UB
9227 * config/arc/arc.c (conditionalize_nonjump): New function,
9228 broken out of ...
9229 (arc_ifcvt): ... this.
bae56bbb
JR
9230 (arc_predicate_delay_insns): Use it.
9231
167ba5b9
JR
92322014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
9233
9234 * config/arc/predicates.md (extend_operand): During/after reload,
9235 allow const_int_operand.
9236 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
9237 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
9238 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
9239 to "i".
9240 (umulsi3_highpart_i): Likewise.
9241
dfd7d2d6
RB
92422014-03-11 Richard Biener <rguenther@suse.de>
9243
9244 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
9245 Add asserts to guard possible wrong-code bugs.
9246
af1ab449
RB
92472014-03-11 Richard Biener <rguenther@suse.de>
9248
9249 PR tree-optimization/60429
9250 PR tree-optimization/60485
9251 * tree-ssa-structalias.c (set_union_with_increment): Properly
9252 take into account all fields that overlap the shifted vars.
9253 (do_sd_constraint): Likewise.
9254 (do_ds_constraint): Likewise.
9255 (get_constraint_for_ptr_offset): Likewise.
9256
747425d0
CLT
92572014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
9258
9259 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
9260 (nios2_compute_frame_layout):
9261 Add calculation of cfun->machine->fp_save_offset.
9262 (nios2_expand_prologue): Correct setting of frame pointer register
9263 in prologue.
9264 (nios2_expand_epilogue): Update recovery of stack pointer from
9265 frame pointer accordingly.
9266 (nios2_initial_elimination_offset): Update calculation of offset
9267 for eliminating to HARD_FRAME_POINTER_REGNUM.
9268
31dad809
JJ
92692014-03-10 Jakub Jelinek <jakub@redhat.com>
9270
9271 PR ipa/60457
9272 * ipa.c (symtab_remove_unreachable_nodes): Don't call
9273 cgraph_get_create_node on VAR_DECLs.
9274
3c1c08d6
RB
92752014-03-10 Richard Biener <rguenther@suse.de>
9276
9277 PR middle-end/60474
9278 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
9279
21d89690
DR
92802014-03-08 Douglas B Rupp <rupp@gnat.com>
9281
9282 * config/vms/vms.opt (vms_float_format): New variable.
9283
634b8e9b
TB
92842014-03-08 Tobias Burnus <burnus@net-b.de>
9285
0bb29a05 9286 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 9287
f42c637e
PM
92882014-03-08 Paulo Matos <paulo@matos-sorge.com>
9289 Richard Biener <rguenther@suse.de>
9290
9291 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
9292 consistently accross all TUs.
9293 (run_gcc): Enable -fshort-double automatically at link at link-time
9294 and disallow override.
9295
bd65fc87
RS
92962014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
9297
9298 PR target/58271
9299 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
9300 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
9301 if they can't be used.
9302
040c446d
RO
93032014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9304
0bb29a05
UB
9305 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
9306 for Solaris 11/x86 ld.
040c446d
RO
9307 * configure: Regenerate.
9308
caa16d41
RO
93092014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9310
9311 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
9312 (LIB_TLS_SPEC): Save as ld_tls_libs.
9313 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
9314 (HAVE_AS_IX86_TLSLDM): New test.
9315 * configure, config.in: Regenerate.
9316 * config/i386/i386.c (legitimize_tls_address): Fall back to
9317 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
9318 cannot support TLS_MODEL_LOCAL_DYNAMIC.
9319 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
9320 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
9321
f3d83ffe
PM
93222014-03-07 Paulo Matos <paulo@matos-sorge.com>
9323
9324 * common.opt (fira-loop-pressure): Mark as optimization.
9325
b17a8b07
TS
93262014-03-07 Thomas Schwinge <thomas@codesourcery.com>
9327
9328 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
9329 an OpenMP mappable type.
9330
4973b0f9
MK
93312014-03-06 Matthias Klose <doko@ubuntu.com>
9332
9333 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
9334 MULTILIB_OSDIRNAMES is not defined.
9335
ab19cc6c
JJ
93362014-03-06 Jakub Jelinek <jakub@redhat.com>
9337 Meador Inge <meadori@codesourcery.com>
9338
9339 PR target/58595
9340 * config/arm/arm.c (arm_tls_symbol_p): Remove.
9341 (arm_legitimize_address): Call legitimize_tls_address for any
9342 arm_tls_referenced_p expression, handle constant addend. Call it
9343 before testing for !TARGET_ARM.
9344 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
9345
a74158c7
RB
93462014-03-06 Richard Biener <rguenther@suse.de>
9347
9348 PR middle-end/60445
9349 PR lto/60424
9350 PR lto/60427
9351 Revert
9352 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
9353
0bb29a05
UB
9354 * tree-streamer.c (record_common_node): Assert we don't record
9355 nodes with type double.
9356 (preload_common_node): Skip type double, complex double and double
9357 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 9358
f3ba16d0
RB
93592014-03-06 Richard Biener <rguenther@suse.de>
9360
9361 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
9362 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
9363 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
9364 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
9365 * lto-wrapper.c (merge_and_complain): Merge compile-time
9366 optimization levels.
9367 (run_gcc): And pass it through to the link options.
9368
4bb66ef3 93692014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
9370
9371 PR debug/60381
9372 Revert:
4bb66ef3 9373 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
9374 PR debug/59992
9375 * cselib.c (remove_useless_values): Skip to avoid quadratic
9376 behavior if the condition moved from...
9377 (cselib_process_insn): ... here holds.
9378
a05cca9b
JJ
93792014-03-05 Jakub Jelinek <jakub@redhat.com>
9380
487125e7
JJ
9381 PR plugins/59335
9382 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
9383 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
9384
a05cca9b
JJ
9385 PR plugins/59335
9386 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
9387 (TM_H): Add x86-tune.def.
9388
4e2cd668
KT
93892014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9390
9391 * config/aarch64/aarch64.c (generic_tunings):
9392 Use cortexa57_extra_costs.
9393
5525ed38
JJ
93942014-03-05 Jakub Jelinek <jakub@redhat.com>
9395
9396 PR lto/60404
9397 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
9398 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
9399 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
9400 cost for in_lto_p.
9401
0c72fa78
H
94022014-03-04 Heiher <r@hev.cc>
9403
9404 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
9405 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
9406
66b03f81
UB
94072014-03-04 Uros Bizjak <ubizjak@gmail.com>
9408
9409 * config/i386/predicates.md (const2356_operand): Change to ...
9410 (const2367_operand): ... this.
9411 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
9412 const2367_operand.
9413 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
9414 (*avx512pf_scatterpf<mode>sf): Ditto.
9415 (avx512pf_scatterpf<mode>df): Ditto.
9416 (*avx512pf_scatterpf<mode>df_mask): Ditto.
9417 (*avx512pf_scatterpf<mode>df): Ditto.
9418 * config/i386/i386.c (ix86_expand_builtin): Update
9419 incorrect hint operand error message.
9420
3c24e842
RB
94212014-03-04 Richard Biener <rguenther@suse.de>
9422
9423 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 9424
3740bda6
PM
94252014-03-04 Paulo Matos <paulo@matos-sorge.com>
9426
0bb29a05
UB
9427 * tree-streamer.c (record_common_node): Assert we don't record
9428 nodes with type double.
9429 (preload_common_node): Skip type double, complex double and double
9430 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 9431
91856735
RB
94322014-03-04 Richard Biener <rguenther@suse.de>
9433
9434 PR lto/60405
66b03f81 9435 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
9436 (lto_input_toplevel_asms): Likewise.
9437 * lto-section-in.c (lto_get_section_data): Instead do it here
9438 for every section.
66b03f81 9439
b75f28e1
RB
94402014-03-04 Richard Biener <rguenther@suse.de>
9441
9442 PR tree-optimization/60382
9443 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
9444 dead PHIs a reduction.
9445
dd96e83a
UB
94462014-03-03 Uros Bizjak <ubizjak@gmail.com>
9447
9448 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
9449 hint value.
9450 (_mm_prefetch): Move out of GCC target("sse") pragma.
9451 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
9452 GCC target("prfchw") pragma.
9453 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
9454 for locality <= 2.
9455 * config/i386/i386.c (ix86_option_override_internal): Enable
9456 -mprfchw with -mprefetchwt1.
9457
220c1a51
JR
94582014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
9459
9460 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
9461 Mark as varying.
9462
212bfe71
JR
94632014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
9464
9465 * opts.h (CL_PCH_IGNORE): Define.
9466 * targhooks.c (option_affects_pch_p):
9467 Return false for options that have CL_PCH_IGNORE set.
9468 * opt-functions.awk: Process PchIgnore.
9469 * doc/options.texi: Document PchIgnore.
9470
7a3d0a39
JR
9471 * config/arc/arc.opt (misize): Add PchIgnore property.
9472
b46ed885
BS
94732014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9474
9475 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
9476 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
9477 constraint on constants to permit them being loaded into
9478 GENERAL_REGS or BASE_REGS.
9479
c6f709ec
NC
94802014-03-03 Nick Clifton <nickc@redhat.com>
9481
9482 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
9483 anti-cacnonical alternatives.
9484 (negandhi3_real): New pattern.
9485 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
9486
5752f78f
SKS
94872014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
9488
9489 * config/avr/avr-mcus.def: Remove atxmega16x1.
9490 * config/avr/avr-tables.opt: Regenerate.
9491 * config/avr/t-multilib: Regenerate.
9492 * doc/avr-mmcu.texi: Regenerate.
9493
0afe7332 94942014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 9495 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
9496
9497 PR tree-optimization/58028
9498 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
9499 scalar dimensions.
9500
3416dd87
RR
95012014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9502
9503 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
9504 not handled by recognizers.
9505
79c7fda6
JJ
95062014-03-03 Jakub Jelinek <jakub@redhat.com>
9507
9508 PR middle-end/60175
9509 * function.c (expand_function_end): Don't emit
9510 clobber_return_register sequence if clobber_after is a BARRIER.
9511 * cfgexpand.c (construct_exit_block): Append instructions before
9512 return_label to prev_bb.
9513
715a5c85
BS
95142014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9515
9516 * config/rs6000/constraints.md: Document reserved use of "wc".
9517
9ffbf271
JH
95182014-03-02 Jan Hubicka <hubicka@ucw.cz>
9519
9520 PR ipa/60150
9521 * ipa.c (function_and_variable_visibility): When dissolving comdat
9522 group, also set all symbols to local.
9523
993df21e 95242014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 9525
993df21e
JH
9526 PR ipa/60306
9527
9528 Revert:
40c0a159 9529 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
9530 PR middle-end/58477
9531 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 9532
9b0af790
JB
95332014-03-02 Jon Beniston <jon@beniston.com>
9534
9535 PR bootstrap/48230
9536 PR bootstrap/50927
9537 PR bootstrap/52466
9538 PR target/46898
9539 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 9540 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 9541 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 9542 (simple_return, *simple_return): New patterns
9b0af790
JB
9543 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
9544 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
9545
c582aac9
PC
95462014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
9547
9548 * dwarf2out.c (gen_subprogram_die): Tidy.
9549
19305875
OE
95502014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
9551
9552 PR target/60071
9553 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
9554 (*mov_t_msb_neg_negc): ... this new insn.
9555
570215f9
JM
95562014-02-28 Jason Merrill <jason@redhat.com>
9557
9558 PR c++/58678
9559 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
9560 function.
9561
c5b001b5
PC
95622014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
9563
9564 PR c++/60314
9565 * dwarf2out.c (decltype_auto_die): New static.
9566 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
9567 (gen_type_die_with_usage): Handle 'decltype(auto)'.
9568 (is_cxx_auto): Likewise.
9569
5750e120
IB
95702014-02-28 Ian Bolton <ian.bolton@arm.com>
9571
9572 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
9573 we are not using general regs only.
9574
fba7c564
RB
95752014-02-28 Richard Biener <rguenther@suse.de>
9576
9577 PR target/60280
9578 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
9579 previous fix and only allow to remove trivial pre-headers
9580 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 9581 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 9582
4bb66ef3 95832014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
9584
9585 PR debug/59992
9586 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
9587 (cselib_preserved_hash_table): New.
9588 (preserve_constants_and_equivs): Move preserved vals to it.
9589 (cselib_find_slot): Look it up first.
9590 (cselib_init): Initialize it.
9591 (cselib_finish): Release it.
9592 (dump_cselib_table): Dump it.
9593
4bb66ef3 95942014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
9595
9596 PR debug/59992
9597 * cselib.c (remove_useless_values): Skip to avoid quadratic
9598 behavior if the condition moved from...
9599 (cselib_process_insn): ... here holds.
9600
4bb66ef3 96012014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
9602
9603 PR debug/57232
9604 * var-tracking.c (vt_initialize): Apply the same condition to
9605 preserve the CFA base value.
9606
9910c53c
JY
96072014-02-28 Joey Ye <joey.ye@arm.com>
9608
9609 PR target/PR60169
9610 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
9611 if reload in progress or completed.
9612
ef271341
TB
96132014-02-28 Tobias Burnus <burnus@net-b.de>
9614
9615 PR middle-end/60147
9616 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
9617 NAMELIST_DECL.
9618
c4f6267b
L
96192014-02-27 H.J. Lu <hongjiu.lu@intel.com>
9620
9621 * doc/tm.texi.in (Condition Code Status): Update documention for
9622 relative locations of cc0-setter and cc0-user.
9623
7a76df7f
JL
96242014-02-27 Jeff Law <law@redhat.com>
9625
9626 PR rtl-optimization/52714
9627 * combine.c (try_combine): When splitting an unrecognized PARALLEL
9628 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 9629 pattern we place into I3 is a (set (pc) ...).
7a76df7f 9630
728acca0
MP
96312014-02-27 Mikael Pettersson <mikpe@it.uu.se>
9632 Jeff Law <law@redhat.com>
9633
9634 PR rtl-optimization/49847
9635 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
9636 are in different blocks.
9637 * doc/tm.texi (Condition Code Status): Update documention for
9638 relative locations of cc0-setter and cc0-user.
9639
93aaa05d
VM
96402014-02-27 Vladimir Makarov <vmakarov@redhat.com>
9641
9642 PR target/59222
9643 * lra.c (lra_emit_add): Check SUBREG too.
9644
1ee6eb01
AS
96452014-02-27 Andreas Schwab <schwab@suse.de>
9646
9647 * config/m68k/m68k.c (m68k_option_override): Disable
9648 -flive-range-shrinkage for classic m68k.
9649 (m68k_override_options_after_change): Likewise.
9650
bb0d8e84
MP
96512014-02-27 Marek Polacek <polacek@redhat.com>
9652
9653 PR middle-end/59223
9654 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
9655 -Wmaybe-uninitialized.
9656
3157b879
AM
96572014-02-27 Alan Modra <amodra@gmail.com>
9658
3e17cad2 9659 PR target/57936
3157b879
AM
9660 * reload1.c (emit_input_reload_insns): When reload_override_in,
9661 set old to rl->in_reg when rl->in_reg is a subreg.
9662
bb750f4f
RB
96632014-02-26 Richard Biener <rguenther@suse.de>
9664
9665 PR bootstrap/60343
9666 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
9667
22c8aab3
IT
96682014-02-25 Ilya Tocar <ilya.tocar@intel.com>
9669
9670 * common/config/i386/predicates.md (const1256_operand): Remove.
9671 (const2356_operand): New.
9672 (const_1_to_2_operand): Remove.
9673 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
9674 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
9675 (*avx512pf_gatherpf<mode>sf): Ditto.
9676 (avx512pf_gatherpf<mode>df): Ditto.
9677 (*avx512pf_gatherpf<mode>df_mask): Ditto.
9678 (*avx512pf_gatherpf<mode>df): Ditto.
9679 (avx512pf_scatterpf<mode>sf): Ditto.
9680 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
9681 (*avx512pf_scatterpf<mode>sf): Ditto.
9682 (avx512pf_scatterpf<mode>df): Ditto.
9683 (*avx512pf_scatterpf<mode>df_mask): Ditto.
9684 (*avx512pf_scatterpf<mode>df): Ditto.
9685 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
9686
260d3642
IT
96872014-02-26 Ilya Tocar <ilya.tocar@intel.com>
9688
9689 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
9690 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
9691 (_mm512_mask_testn_epi64_mask): Move to ...
9692 * config/i386/avx512cdintrin.h: Here.
9693 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
9694 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
9695 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
9696 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
9697 TARGET_AVX512F from TARGET_AVX512CD.
9698
477145c8
RB
96992014-02-26 Richard Biener <rguenther@suse.de>
9700
9701 PR ipa/60327
9702 * ipa.c (walk_polymorphic_call_targets): Properly guard
9703 call to inline_update_overall_summary.
9704
a3afdbb8
BC
97052014-02-26 Bin Cheng <bin.cheng@arm.com>
9706
9707 PR target/60280
84d7e312
UB
9708 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
9709 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
9710 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
9711 LOOPS_HAVE_PREHEADERS.
9712
b8a542c6
AP
97132014-02-25 Andrew Pinski <apinski@cavium.com>
9714
9715 * builtins.c (expand_builtin_thread_pointer): Create a new target
9716 when the target is NULL.
9717
88def637
VM
97182014-02-25 Vladimir Makarov <vmakarov@redhat.com>
9719
9720 PR rtl-optimization/60317
9721 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
9722 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
9723 * lra-assigns.c: Include params.h.
9724 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
9725 other reload pseudos considerations.
9726
68908a06
BS
97272014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9728
cf36d2cc
WS
9729 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
9730 to use canonical form for nor<mode>3.
68908a06 9731
db57bbc9
KT
97322014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9733
9734 PR target/55426
9735 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
9736 conversions.
9737
43b3f52f
IT
97382014-02-25 Ilya Tocar <ilya.tocar@intel.com>
9739
9740 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
9741 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
9742 (ix86_handle_option): Handle OPT_mprefetchwt1.
9743 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
9744 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
9745 PREFETCHWT1 CPUID.
9746 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
9747 OPTION_MASK_ISA_PREFETCHWT1.
9748 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
9749 (PTA_PREFETCHWT1): New.
9750 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
9751 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 9752 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
9753 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
9754 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 9755 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
9756 * config/i386/i386.opt (mprefetchwt1): New.
9757 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
9758 (_mm_prefetch): Handle intent to write.
9759 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
9760
84053e02
RB
97612014-02-25 Richard Biener <rguenther@suse.de>
9762
9763 PR middle-end/60291
9764 * emit-rtl.c (mem_attrs_htab): Remove.
9765 (mem_attrs_htab_hash): Likewise.
9766 (mem_attrs_htab_eq): Likewise.
84d7e312 9767 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
9768 (init_emit_once): Do not allocate mem_attrs_htab.
9769
4094757e
RB
97702014-02-25 Richard Biener <rguenther@suse.de>
9771
9772 PR lto/60319
9773 * lto-opts.c (lto_write_options): Output non-explicit conservative
9774 -fwrapv, -fno-trapv and -fno-strict-overflow.
9775 * lto-wrapper.c (merge_and_complain): Handle merging those options.
9776 (run_gcc): And pass them through.
9777
41b2d514 97782014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 9779
41b2d514
AB
9780 * sel-sched.c (calculate_new_fences): New parameter ptime.
9781 Calculate it as a maximum over all fence cycles.
9782 (sel_sched_region_2): Adjust the call to calculate_new_fences.
9783 Print the final schedule timing when sched_verbose.
9784
c1c99405
AB
97852014-02-25 Andrey Belevantsev <abel@ispras.ru>
9786
9787 PR rtl-optimization/60292
9788 * sel-sched.c (fill_vec_av_set): Do not reset target availability
9789 bit fot the fence instruction.
9790
1d9def42
AD
97912014-02-24 Alangi Derick <alangiderick@gmail.com>
9792
9793 * calls.h: Fix typo in comment.
9794
325fefe0
JDA
97952014-02-24 John David Anglin <danglin@gcc.gnu.org>
9796
9797 * config/pa/pa.c (pa_output_move_double): Don't valididate when
9798 adjusting offsetable addresses.
9799
ad43b47a
GW
98002014-02-24 Guozhi Wei <carrot@google.com>
9801
9802 * sparseset.h (sparseset_pop): Fix the wrong index.
9803
341c653c
WL
98042014-02-24 Walter Lee <walt@tilera.com>
9805
9806 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
9807 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
9808 triplet.
9809 * common/config/tilegx/tilegx-common.c
9810 (TARGET_DEFAULT_TARGET_FLAGS): Define.
9811 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
9812 (LINK_SPEC): Ditto.
9813 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
9814 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
9815 (tilegx_gimplify_va_arg_expr): Handle big endian.
9816 (tilegx_expand_unaligned_load): Ditto.
9817 (tilegx_expand_unaligned_store): Ditto.
9818 (TARGET_RETURN_IN_MSB): New.
9819 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
9820 (TARGET_ENDIAN_DEFAULT): New.
9821 (TARGET_BIG_ENDIAN): Handle big endian.
9822 (BYTES_BIG_ENDIAN): Ditto.
9823 (WORDS_BIG_ENDIAN): Ditto.
9824 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
9825 (ENDIAN_SPEC): New.
9826 (EXTRA_SPECS): New.
9827 * config/tilegx/tilegx.md (extv): Handle big endian.
9828 (extzv): Ditto.
9829 (insn_st<n>): Ditto.
9830 (insn_st<n>_add<bitsuffix>): Ditto.
9831 (insn_stnt<n>): Ditto.
9832 (insn_stnt<n>_add<bitsuffix>):Ditto.
9833 (vec_interleave_highv8qi): Handle big endian.
9834 (vec_interleave_highv8qi_be): New.
9835 (vec_interleave_highv8qi_le): New.
9836 (insn_v1int_h): Handle big endian.
9837 (vec_interleave_lowv8qi): Handle big endian.
9838 (vec_interleave_lowv8qi_be): New.
9839 (vec_interleave_lowv8qi_le): New.
9840 (insn_v1int_l): Handle big endian.
9841 (vec_interleave_highv4hi): Handle big endian.
9842 (vec_interleave_highv4hi_be): New.
9843 (vec_interleave_highv4hi_le): New.
9844 (insn_v2int_h): Handle big endian.
9845 (vec_interleave_lowv4hi): Handle big endian.
9846 (vec_interleave_lowv4hi_be): New.
9847 (vec_interleave_lowv4hi_le): New.
9848 (insn_v2int_l): Handle big endian.
9849 (vec_interleave_highv2si): Handle big endian.
9850 (vec_interleave_highv2si_be): New.
9851 (vec_interleave_highv2si_le): New.
9852 (insn_v4int_h): Handle big endian.
9853 (vec_interleave_lowv2si): Handle big endian.
9854 (vec_interleave_lowv2si_be): New.
9855 (vec_interleave_lowv2si_le): New.
9856 (insn_v4int_l): Handle big endian.
9857 * config/tilegx/tilegx.opt (mbig-endian): New option.
9858 (mlittle-endian): New option.
9859 * doc/install.texi: Document tilegxbe-linux.
9860 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
9861
f3fec19f
MJ
98622014-02-24 Martin Jambor <mjambor@suse.cz>
9863
9864 PR ipa/60266
9865 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
9866 there are no parameter descriptors.
9867
9039622a
AB
98682014-02-24 Andrey Belevantsev <abel@ispras.ru>
9869
9870 PR rtl-optimization/60268
9871 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
9872 initialization to ...
9873 (sched_rgn_init): ... here.
9874 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
9875
4bb66ef3 98762014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 9877
9039622a
AB
9878 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
9879 names.
e7e7bc4b 9880
4bb66ef3 98812014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
9882
9883 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
9884 definition.
9885
4bb66ef3 98862014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 9887
84d7e312
UB
9888 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
9889 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 9890
4bb66ef3 98912014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
9892
9893 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 9894 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 9895 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 9896 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
9897 to microblaze_expand_conditional_branch and consolidate logic.
9898 (microblaze_expand_conditional_branch): emit branch_compare
9899 insn instead of handling cmp op separate from branch insn.
9900
34c25d23
BS
99012014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9902
9903 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
9904 to permit subregs.
9905
a6eecdc1
BS
99062014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9907
d5a19af1
DH
9908 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
9909 define_insn with define_expand and new define_insn
9910 *altivec_lve<VI_char>x_internal.
9911 (altivec_stve<VI_char>x): Replace define_insn with define_expand
9912 and new define_insn *altivec_stve<VI_char>x_internal.
9913 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
9914 prototype.
9915 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
9916 lve*x built-ins.
9917 (altivec_expand_stvex_be): New function.
a6eecdc1 9918
8aa7d1fc
JR
99192014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
9920
9921 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 9922 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
9923 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
9924 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
9925
a810ee82
VM
99262014-02-21 Vladimir Makarov <vmakarov@redhat.com>
9927
9928 PR target/60298
9929 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
9930 instead of emit_move_insn.
9931
b90ab1ba
BS
99322014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9933
9934 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
9935 vspltw with vsldoi.
9936 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
9937 gen_altivec_vsumsws.
9938
1af73690
WS
99392014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9940
9941 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 9942 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
9943 (altivec_lvxl_<mode>): New define_expand incorporating
9944 -maltivec=be semantics where needed.
9945 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
9946 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
9947 semantics where needed.
9948 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
9949 (altivec_stvx_<mode>): New define_expand incorporating
9950 -maltivec=be semantics where needed.
9951 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
9952 VM2 iterator instead of V4SI.
9953 (altivec_stvxl_<mode>): New define_expand incorporating
9954 -maltivec=be semantics where needed.
9955 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
9956 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
9957 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
9958 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
9959 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
9960 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
9961 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
9962 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
9963 ALTIVEC_BUILTIN_STVXL.
84d7e312 9964 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
9965 (altivec_expand_stvx_be): Likewise.
9966 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
9967 (altivec_expand_lvx_be): Likewise.
9968 (altivec_expand_stvx_be): Likewise.
9969 (altivec_expand_builtin): Add cases for
9970 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
9971 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
9972 (altivec_init_builtins): Add definitions for
9973 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 9974 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 9975
0a39d07b
CM
99762014-02-21 Catherine Moore <clm@codesourcery.com>
9977
9978 * doc/invoke.texi (mvirt, mno-virt): Document.
9979 * config/mips/mips.opt (mvirt): New option.
9980 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
9981
f2556b68
RB
99822014-02-21 Richard Biener <rguenther@suse.de>
9983
9984 PR tree-optimization/60276
9985 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
9986 (STMT_VINFO_MIN_NEG_DIST): New macro.
9987 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
9988 STMT_VINFO_MIN_NEG_DIST.
9989 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
9990 made for negative dependence distances still hold.
9991
32417082
RB
99922014-02-21 Richard Biener <rguenther@suse.de>
9993
9994 PR middle-end/60291
9995 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
9996 DECL_INITIAL for globals not in the current function context.
9997
92261ce0
JJ
99982014-02-21 Jakub Jelinek <jakub@redhat.com>
9999
10000 PR tree-optimization/56490
10001 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
10002 * tree-ssa-uninit.c: Include params.h.
10003 (compute_control_dep_chain): Add num_calls argument, return false
10004 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
10005 num_calls to recursive call.
10006 (find_predicates): Change dep_chain into normal array,
10007 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
10008 variable and adjust compute_control_dep_chain caller.
10009 (find_def_preds): Likewise.
10010
aa6ef874
TS
100112014-02-21 Thomas Schwinge <thomas@codesourcery.com>
10012
10013 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
10014 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
10015
4b156fd0
NC
100162014-02-21 Nick Clifton <nickc@redhat.com>
10017
10018 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
10019 (pushhi1): Likewise.
10020 (popqi1): Add mode to pre_dec.
10021 (pophi1): Likewise.
10022
dffd569e
JJ
100232014-02-21 Jakub Jelinek <jakub@redhat.com>
10024
10025 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
10026 mode for mask of V8SFmode permutation.
10027
2fdc29e8
RH
100282014-02-20 Richard Henderson <rth@redhat.com>
10029
10030 PR c++/60272
10031 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
10032 a new pseudo for OLDVAL.
10033
aa637f66
JJ
100342014-02-20 Jakub Jelinek <jakub@redhat.com>
10035
10036 PR target/57896
10037 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
10038 gen_reg_rtx if d->testing_p.
10039 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
10040 if d->testing_p and we will certainly return true.
10041 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
10042 if d->testing_p.
10043
004a7e45
UB
100442014-02-20 Uros Bizjak <ubizjak@gmail.com>
10045
10046 * emit-rtl.c (gen_reg_rtx): Assert that
10047 crtl->emit.regno_pointer_align_length is non-zero.
10048
100492014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
10050
10051 PR c++/60272
10052 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
10053 on failure the store back into EXPECT.
10054
95ce7613
CLT
100552014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
10056 Sandra Loosemore <sandra@codesourcery.com>
10057
10058 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
10059 * config/nios2/nios2.c (nios2_function_profiler): Add
10060 -fPIC (flag_pic == 2) support.
95ce7613
CLT
10061 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
10062 (nios2_large_offset_p): New function.
10063 (nios2_unspec_reloc_p): Move up position, update to use
10064 nios2_large_offset_p.
10065 (nios2_unspec_address): Remove function.
10066 (nios2_unspec_offset): New function.
10067 (nios2_large_got_address): New function.
10068 (nios2_got_address): Add large offset support.
10069 (nios2_legitimize_tls_address): Update usage of removed and new
10070 functions.
10071 (nios2_symbol_binds_local_p): New function.
10072 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
10073 (nios2_legitimize_address): Update to use nios2_large_offset_p.
10074 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
10075 (nios2_print_operand): Merge H/L processing, add hiadj/lo
10076 processing for (const (unspec ...)).
10077 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
10078
efd2d3c8
RB
100792014-02-20 Richard Biener <rguenther@suse.de>
10080
10081 * tree-cfg.c (replace_uses_by): Mark altered BBs before
10082 doing the substitution.
004a7e45 10083 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 10084
9576e7b1
MJ
100852014-02-20 Martin Jambor <mjambor@suse.cz>
10086
10087 PR ipa/55260
10088 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
10089 info when checking whether lattices are bottom.
10090
25fe40b0
RB
100912014-02-20 Richard Biener <rguenther@suse.de>
10092
10093 PR middle-end/60221
10094 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
10095 regions at -O0.
10096
bd936951
JH
100972014-02-20 Jan Hubicka <hubicka@ucw.cz>
10098
10099 PR ipa/58555
004a7e45
UB
10100 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
10101 parameter specifying the scaling.
bd936951
JH
10102 (inline_call): Update.
10103 (want_inline_recursively): Guard division by zero.
10104 (recursive_inlining): Update.
10105 * ipa-inline.h (clone_inlined_nodes): Update.
10106
3c898e1a
IT
101072014-02-20 Ilya Tocar <ilya.tocar@intel.com>
10108
10109 PR target/60204
10110 * config/i386/i386.c (classify_argument): Pass structures of size
10111 64 bytes or less in register.
10112
df62b4af 101132014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 10114 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
10115
10116 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
10117 (_mm_rcp28_round_ss): Ditto.
10118 (_mm_rsqrt28_round_sd): Ditto.
10119 (_mm_rsqrt28_round_ss): Ditto.
10120 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
10121 (_mm_rcp14_round_ss): Ditto.
10122 (_mm_rsqrt14_round_sd): Ditto.
10123 (_mm_rsqrt14_round_ss): Ditto.
10124 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
10125 the first input operand, get rid of match_dup.
10126 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
10127 attribute to sse.
10128 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
10129 Ditto.
10130 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
10131 operand as the first input operand, set type attribute.
10132 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
10133 Set type attribute.
10134 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
10135 operand as the first input operand, set type attribute.
10136
9254148e
BS
101372014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10138
10139 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
10140 bit of zero.
10141
fff91793
L
101422014-02-19 H.J. Lu <hongjiu.lu@intel.com>
10143
10144 PR target/60207
10145 * config/i386/i386.c (construct_container): Remove TFmode check
10146 for X86_64_INTEGER_CLASS.
10147
6aa5b4b8
UB
101482014-02-19 Uros Bizjak <ubizjak@gmail.com>
10149
10150 PR target/59794
10151 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
10152 only when -Wpsabi is enabled.
10153
aadc1c43
MHD
101542014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
10155
10156 PR target/59799
10157 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
10158 passing arrays in registers are the same as for structs, so remove the
10159 special case for them.
10160
322913f8
EB
101612014-02-19 Eric Botcazou <ebotcazou@adacore.com>
10162
10163 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
10164 destination type, extract only the valid bits if the source type is not
10165 integral and has a different mode.
10166
fd9710dc
RB
101672014-02-19 Richard Biener <rguenther@suse.de>
10168
10169 PR ipa/60243
10170 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
10171 for all calls.
10172
4df65a85
RB
101732014-02-19 Richard Biener <rguenther@suse.de>
10174
10175 PR ipa/60243
10176 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
10177 (ipa_modify_call_arguments): Emit an argument load explicitely and
10178 preserve virtual SSA form there and for the replacement call.
10179 Do not update SSA form nor free dominance info.
10180
7fea98d8
JH
101812014-02-18 Jan Hubicka <hubicka@ucw.cz>
10182
10183 * ipa.c (function_and_variable_visibility): Also clear WEAK
10184 flag when disolving COMDAT_GROUP.
10185
0a2550e7
JH
101862014-02-18 Jan Hubicka <hubicka@ucw.cz>
10187
10188 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
10189 * ipa-prop.c (ipa_set_jf_known_type): Return early when
10190 not devirtualizing.
10191 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
10192 do more sanity checks.
10193 (detect_type_change): Return true when giving up early.
10194 (compute_complex_assign_jump_func): Fix type parameter of
10195 ipa_set_ancestor_jf.
10196 (compute_complex_ancestor_jump_func): Likewise.
10197 (update_jump_functions_after_inlining): Fix updating of
10198 ancestor function.
6aa5b4b8 10199 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 10200
2dbe8b70
JH
102012014-02-18 Jan Hubicka <hubicka@ucw.cz>
10202
10203 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
10204 inline clones when edge disappears.
10205
b9809dc4
MM
102062014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
10207
10208 PR target/60203
10209 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
10210 Split 64-bit moves into 2 patterns. Do not allow the use of
10211 direct move for TDmode in little endian, since the decimal value
10212 has little endian bytes within a word, but the 64-bit pieces are
10213 ordered in a big endian fashion, and normal subreg's of TDmode are
10214 not allowed.
10215 (mov<mode>_64bit_dm): Likewise.
10216 (movtd_64bit_nodm): Likewise.
10217
bababbfb
EB
102182014-02-18 Eric Botcazou <ebotcazou@adacore.com>
10219
10220 PR tree-optimization/60174
10221 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
10222 statement of an SSA_NAME that occurs in an abnormal PHI node.
10223
70aacc97
JJ
102242014-02-18 Jakub Jelinek <jakub@redhat.com>
10225
10226 PR sanitizer/60142
10227 * final.c (SEEN_BB): Remove.
10228 (SEEN_NOTE, SEEN_EMITTED): Renumber.
10229 (final_scan_insn): Don't force_source_line on second
10230 NOTE_INSN_BASIC_BLOCK.
10231
223cdd15
UB
102322014-02-18 Uros Bizjak <ubizjak@gmail.com>
10233
10234 PR target/60205
10235 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
10236 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
10237 (type_natural_mode): Warn ABI change when %zmm register is not
10238 available for AVX512F vector value passing.
10239
48810be0
KT
102402014-02-18 Kai Tietz <ktietz@redhat.com>
10241
10242 PR target/60193
223cdd15
UB
10243 * config/i386/i386.c (ix86_expand_prologue): Use value in
10244 rax register as displacement when restoring %r10 or %rax.
10245 Fix wrong offset when restoring both registers.
48810be0 10246
20afe640
EB
102472014-02-18 Eric Botcazou <ebotcazou@adacore.com>
10248
10249 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
10250 assertion with conditional return.
10251
d0b50387
JJ
102522014-02-18 Jakub Jelinek <jakub@redhat.com>
10253 Uros Bizjak <ubizjak@gmail.com>
10254
10255 PR driver/60233
10256 * config/i386/driver-i386.c (host_detect_local_cpu): If
10257 YMM state is not saved by the OS, also clear has_f16c. Move
10258 CPUID 0x80000001 handling before YMM state saving checking.
10259
c4cd7435
AB
102602014-02-18 Andrey Belevantsev <abel@ispras.ru>
10261
10262 PR rtl-optimization/58960
10263 * haifa-sched.c (alloc_global_sched_pressure_data): New,
10264 factored out from ...
10265 (sched_init): ... here.
10266 (free_global_sched_pressure_data): New, factored out from ...
10267 (sched_finish): ... here.
10268 * sched-int.h (free_global_sched_pressure_data): Declare.
10269 * sched-rgn.c (nr_regions_initial): New static global.
10270 (haifa_find_rgns): Initialize it.
10271 (schedule_region): Disable sched-pressure for the newly
10272 generated regions.
10273
f0281fde
RB
102742014-02-17 Richard Biener <rguenther@suse.de>
10275
10276 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
10277 release SSA defs of pattern stmts.
10278
c742772c
RB
102792014-02-17 Richard Biener <rguenther@suse.de>
10280
10281 * tree-inline.c (expand_call_inline): Release the virtual
10282 operand defined by the call we are about to inline.
10283
0492158e
RB
102842014-02-17 Richard Biener <rguenther@suse.de>
10285
10286 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
10287
583a9919
KY
102882014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
10289 Ilya Tocar <ilya.tocar@intel.com>
10290
10291 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
10292 arguments order in builtin.
10293 (_mm512_permutexvar_epi64): Ditto.
10294 (_mm512_mask_permutexvar_epi64): Ditto
10295 (_mm512_maskz_permutexvar_epi32): Ditto
10296 (_mm512_permutexvar_epi32): Ditto
10297 (_mm512_mask_permutexvar_epi32): Ditto
10298
d737743f
BS
102992014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10300
223cdd15 10301 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
10302 (p8_vmrgow): Likewise.
10303
54c4bfd7
BS
103042014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10305
10306 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
10307 endian targets.
10308
518fea64
MM
103092014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
10310
10311 PR target/60203
10312 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
10313 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
10314 into 64-bit and 32-bit moves. On 64-bit moves, add support for
10315 using direct move instructions on ISA 2.07. Also adjust
10316 instruction length for 64-bit.
10317 (mov<mode>_64bit, TFmode/TDmode): Likewise.
10318 (mov<mode>_32bit, TFmode/TDmode): Likewise.
10319
61640916
AM
103202014-02-15 Alan Modra <amodra@gmail.com>
10321
10322 PR target/58675
10323 PR target/57935
10324 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
10325 find_replacement on parts of insn rtl that might be reloaded.
10326
a2b33cc3
RB
103272014-02-15 Richard Biener <rguenther@suse.de>
10328
10329 PR tree-optimization/60183
223cdd15 10330 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
10331 (tree_ssa_phiprop): Calculate and free post-dominators.
10332
059742a4
JL
103332014-02-14 Jeff Law <law@redhat.com>
10334
10335 PR rtl-optimization/60131
10336 * ree.c (get_extended_src_reg): New function.
223cdd15 10337 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
10338 (find_and_remove_re): Verify first operand of extension is
10339 a REG before adding the insns to the copy list.
10340
88f7c49a
RM
103412014-02-14 Roland McGrath <mcgrathr@google.com>
10342
10343 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
10344 * configure: Regenerated.
10345 * config.in: Regenerated.
10346 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
10347 instead of ASM_SHORT.
10348
2ae577fd
VM
103492014-02-14 Vladimir Makarov <vmakarov@redhat.com>
10350 Richard Earnshaw <rearnsha@arm.com>
10351
10352 PR rtl-optimization/59535
10353 * lra-constraints.c (process_alt_operands): Encourage alternative
10354 when unassigned pseudo class is superset of the alternative class.
10355 (inherit_reload_reg): Don't inherit when optimizing for code size.
10356 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
10357 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
10358 modes not less than 4 for Thumb1.
10359
5d88af08
KM
103602014-02-14 Kyle McMartin <kyle@redhat.com>
10361
10362 PR pch/60010
10363 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
10364
3069b421
RB
103652014-02-14 Richard Biener <rguenther@suse.de>
10366
10367 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
10368 (get_frame_arg): Drop the assert with langhook types_compatible_p.
10369 Do not strip INDIRECT_REFs.
10370
1966fd99
RB
103712014-02-14 Richard Biener <rguenther@suse.de>
10372
10373 PR lto/60179
10374 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
10375 DECL_FUNCTION_SPECIFIC_TARGET.
10376 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
10377 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 10378 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
10379 (write_ts_function_decl_tree_pointers): Do not stream
10380 DECL_FUNCTION_SPECIFIC_TARGET.
10381 * tree-streamer-in.c (unpack_ts_target_option): Remove.
10382 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
10383 (lto_input_ts_function_decl_tree_pointers): Do not stream
10384 DECL_FUNCTION_SPECIFIC_TARGET.
10385
b010d601
JJ
103862014-02-14 Jakub Jelinek <jakub@redhat.com>
10387
223cdd15 10388 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
10389 (get_initial_def_for_induction, vectorizable_induction): Ignore
10390 debug stmts when looking for exit_phi.
10391 (vectorizable_live_operation): Fix up condition.
10392
f2dafb91
CJW
103932014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
10394
10395 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
10396 nreverse() because it changes the content of original tree list.
10397
59043e75
CJW
103982014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
10399
10400 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
10401 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
10402
810f736f
CJW
104032014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
10404
10405 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
10406 GNU coding standards.
10407
1a025bbf
JJ
104082014-02-13 Jakub Jelinek <jakub@redhat.com>
10409
10410 PR debug/60152
10411 * dwarf2out.c (gen_subprogram_die): Don't call
10412 add_calling_convention_attribute if subr_die is old_die.
10413
69479ebd
SS
104142014-02-13 Sharad Singhai <singhai@google.com>
10415
10416 * doc/optinfo.texi: Fix order of nodes.
10417
1287ae50
UB
104182014-02-13 Uros Bizjak <ubizjak@gmail.com>
10419
10420 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
10421 operands[2], not operands[3].
10422
43372236
RB
104232014-02-13 Richard Biener <rguenther@suse.de>
10424
10425 PR bootstrap/59878
10426 * doc/install.texi (ISL): Update recommended version to 0.12.2,
10427 mention the possibility of an in-tree build.
10428 (CLooG): Update recommended version to 0.18.1, mention the
10429 possibility of an in-tree build and clarify that the ISL
10430 bundled with CLooG does not work.
10431
a4d70cfa
JJ
104322014-02-13 Jakub Jelinek <jakub@redhat.com>
10433
10434 PR target/43546
10435 * expr.c (compress_float_constant): If x is a hard register,
10436 extend into a pseudo and then move to x.
10437
e697d119
DV
104382014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
10439
10440 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
10441 caused by bad second argument to warning_at() with -mhotpatch and
10442 nested functions (e.g. with gfortran).
10443
9f8da907
RS
104442014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
10445
10446 * opts.c (option_name): Remove "enabled by default" rider.
10447
0fdd1196
JDA
104482014-02-12 John David Anglin <danglin@gcc.gnu.org>
10449
10450 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
10451
0544c448
L
104522014-02-12 H.J. Lu <hongjiu.lu@intel.com>
10453 Uros Bizjak <ubizjak@gmail.com>
10454
10455 PR target/60151
1287ae50 10456 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
10457 * configure: Regenerated.
10458
3a938d75
RB
104592014-02-12 Richard Biener <rguenther@suse.de>
10460
10461 * vec.c (vec_prefix::calculate_allocation): Move as
10462 inline variant to vec.h.
10463 (vec_prefix::calculate_allocation_1): New out-of-line version.
10464 * vec.h (vec_prefix::calculate_allocation_1): Declare.
10465 (vec_prefix::m_has_auto_buf): Rename to ...
10466 (vec_prefix::m_using_auto_storage): ... this.
10467 (vec_prefix::calculate_allocation): Inline the easy cases
10468 and dispatch to calculate_allocation_1 which doesn't need the
10469 prefix address.
10470 (va_heap::reserve): Use gcc_checking_assert.
10471 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
10472 m_using_auto_storage.
10473 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
10474 member and adjust.
10475 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
10476 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
10477 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
10478
ad0188be
RB
104792014-02-12 Richard Biener <rguenther@suse.de>
10480
10481 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
10482 when we found a dependence.
10483
64e5ace5
TS
104842014-02-12 Thomas Schwinge <thomas@codesourcery.com>
10485
88ac13da
TS
10486 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
10487 common code...
10488 (maybe_fold_stmt): ... into this new function.
10489 * omp-low.c (lower_omp): Update comment.
10490
bae729a2
TS
10491 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
10492 last use.
10493
64e5ace5
TS
10494 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
10495 dereference.
10496
7b40f5cf
JG
104972014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
10498
10499 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
10500 identifiers in comments.
10501 (cortexa53_extra_costs): Likewise.
1287ae50 10502 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
10503 (cortexa7_extra_costs): Likewise.
10504 (cortexa12_extra_costs): Likewise.
10505 (cortexa15_extra_costs): Likewise.
10506 (v7m_extra_costs): Likewise.
10507
c4c8514e
RB
105082014-02-12 Richard Biener <rguenther@suse.de>
10509
10510 PR middle-end/60092
10511 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
10512 of posix_memalign being successful.
10513 (lower_stmt): Restrict lowering of posix_memalign to when
10514 -ftree-bit-ccp is enabled.
10515
8eb651bd
SKS
105162014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10517
10518 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
10519 arg_loc.
10520 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
10521
62b03553
EB
105222014-02-12 Eric Botcazou <ebotcazou@adacore.com>
10523
10524 PR rtl-optimization/60116
10525 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
10526 other_insn once the combination has been validated.
10527
ec77d61f
JH
105282014-02-11 Jan Hubicka <hubicka@ucw.cz>
10529
10530 PR lto/59468
10531 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
10532 and wrapper.
10533 * ipa-devirt.c: Include demangle.h
10534 (odr_violation_reported): New static variable.
10535 (add_type_duplicate): Update odr_violations.
10536 (maybe_record_node): Add completep parameter; update it.
10537 (record_target_from_binfo): Add COMPLETEP parameter;
10538 update it as needed.
10539 (possible_polymorphic_call_targets_1): Likewise.
10540 (struct polymorphic_call_target_d): Add nonconstruction_targets;
10541 rename FINAL to COMPLETE.
10542 (record_targets_from_bases): Sanity check we found the binfo;
10543 fix COMPLETEP updating.
10544 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
10545 parameter, fix computing of COMPLETEP.
1287ae50
UB
10546 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
10547 at LTO time do demangling.
ec77d61f
JH
10548 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
10549 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
10550 parameter.
10551 (gimple_get_virt_method_for_binfo): Likewise.
10552 * gimple-fold.h (gimple_get_virt_method_for_binfo,
10553 gimple_get_virt_method_for_vtable): Update prototypes.
10554
5a4dcd9b
VM
105552014-02-11 Vladimir Makarov <vmakarov@redhat.com>
10556
10557 PR target/49008
10558 * genautomata.c (add_presence_absence): Fix typo with
10559 {final_}presence_list.
10560
69b7afed
MM
105612014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
10562
10563 PR target/60137
10564 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
10565 for VSX/Altivec vectors that land in GPR registers.
10566
8268ad5c
JJ
105672014-02-11 Richard Henderson <rth@redhat.com>
10568 Jakub Jelinek <jakub@redhat.com>
10569
10570 PR debug/59776
10571 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
10572 around drhs if type conversion to lacc->type is not useless.
10573
4fd92af6
KT
105742014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10575
10576 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
10577 tuning struct.
10578 (cortex-a57.cortex-a53): Likewise.
10579 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
10580
7cb14cb8
KT
105812014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10582
10583 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
10584 arm_restrict_it.
10585
6d3715b9
RL
105862014-02-11 Renlin Li <Renlin.Li@arm.com>
10587
10588 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
10589 add_options_for_arm_vfp3.
10590
cddddfff
JL
105912014-02-11 Jeff Law <law@redhat.com>
10592
10593 PR middle-end/54041
10594 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
10595 object with an undesirable mode.
10596
7c1aef7e
RO
105972014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10598
10599 PR libgomp/60107
10600 * config/i386/sol2-9.h: New file.
10601 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
10602 *-*-solaris2.9*): Use it.
10603
4bb66ef3 106042014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
10605
10606 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
10607 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
10608
4bb66ef3 106092014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
10610
10611 * config/microblaze/microblaze.c: Extend mcpu version format
10612
4bb66ef3 106132014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
10614
10615 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
10616
004a7e45 106172014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
10618
10619 PR target/59927
10620 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
10621 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
10622 ms-abi vs -mno-accumulate-outgoing-args.
10623 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
10624 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
10625 respect to ms-abi.
10626
e2fc3b4f
BE
106272014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
10628
10629 PR middle-end/60080
10630 * cfgexpand.c (expand_asm_operands): Attach source location to
10631 ASM_INPUT rtx objects.
10632 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
10633
3a22ad89
NC
106342014-02-10 Nick Clifton <nickc@redhat.com>
10635
10636 * config/mn10300/mn10300.c (popcount): New function.
10637 (mn10300_expand_prologue): Include saved registers in stack usage
10638 count.
10639
f27be550
JL
106402014-02-10 Jeff Law <law@redhat.com>
10641
10642 PR middle-end/52306
10643 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 10644 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 10645
e15e3815
UW
106462014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10647
10648 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
10649 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
10650 -mcall-openbsd, or -mcall-linux.
10651 (CC1_ENDIAN_BIG_SPEC): Remove.
10652 (CC1_ENDIAN_LITTLE_SPEC): Remove.
10653 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
10654 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
10655 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
10656 and %cc1_endian_default.
10657 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
10658
4e1f39e4
RB
106592014-02-10 Richard Biener <rguenther@suse.de>
10660
10661 PR tree-optimization/60115
10662 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
10663 MEM_REF handling. Properly verify that the accesses are not
10664 out of the objects bound.
10665
e7af1c22
KT
106662014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10667
10668 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
10669 coretex to cortex.
10670
79c7de84
EB
106712014-02-10 Eric Botcazou <ebotcazou@adacore.com>
10672
10673 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
10674 proper constants and fix formatting.
10675 (possible_polymorphic_call_targets): Fix formatting.
10676
cf73ee60
KY
106772014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
10678 Ilya Tocar <ilya.tocar@intel.com>
10679
10680 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
10681 (_mm512_loadu_epi32): Renamed into...
10682 (_mm512_loadu_si512): This.
10683 (_mm512_storeu_epi32): Renamed into...
10684 (_mm512_storeu_si512): This.
10685 (_mm512_maskz_ceil_ps): Removed.
10686 (_mm512_maskz_ceil_pd): Ditto.
10687 (_mm512_maskz_floor_ps): Ditto.
10688 (_mm512_maskz_floor_pd): Ditto.
10689 (_mm512_floor_round_ps): Ditto.
10690 (_mm512_floor_round_pd): Ditto.
10691 (_mm512_ceil_round_ps): Ditto.
10692 (_mm512_ceil_round_pd): Ditto.
10693 (_mm512_mask_floor_round_ps): Ditto.
10694 (_mm512_mask_floor_round_pd): Ditto.
10695 (_mm512_mask_ceil_round_ps): Ditto.
10696 (_mm512_mask_ceil_round_pd): Ditto.
10697 (_mm512_maskz_floor_round_ps): Ditto.
10698 (_mm512_maskz_floor_round_pd): Ditto.
10699 (_mm512_maskz_ceil_round_ps): Ditto.
10700 (_mm512_maskz_ceil_round_pd): Ditto.
10701 (_mm512_expand_pd): Ditto.
10702 (_mm512_expand_ps): Ditto.
10703 * config/i386/i386.c (ix86_builtins): Remove
10704 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
10705 (bdesc_args): Ditto.
10706 * config/i386/predicates.md (const1256_operand): New.
10707 (const_1_to_2_operand): Ditto.
10708 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
10709 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
10710 (*avx512pf_gatherpf<mode>sf): Ditto.
10711 (avx512pf_gatherpf<mode>df): Ditto.
10712 (*avx512pf_gatherpf<mode>df_mask): Ditto.
10713 (*avx512pf_gatherpf<mode>df): Ditto.
10714 (avx512pf_scatterpf<mode>sf): Ditto.
10715 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
10716 (*avx512pf_scatterpf<mode>sf): Ditto.
10717 (avx512pf_scatterpf<mode>df): Ditto.
10718 (*avx512pf_scatterpf<mode>df_mask): Ditto.
10719 (*avx512pf_scatterpf<mode>df): Ditto.
10720 (avx512f_expand<mode>): Removed.
10721 (<shift_insn><mode>3<mask_name>): Change predicate type.
10722
8fcbce72
JJ
107232014-02-08 Jakub Jelinek <jakub@redhat.com>
10724
41475e96
JJ
10725 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
10726 not at the end of datarefs vector use ordered_remove to avoid
10727 reordering datarefs vector.
10728
c74559df
JJ
10729 PR c/59984
10730 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
10731 mark local addressable non-static vars as GOVD_PRIVATE
10732 instead of GOVD_LOCAL.
10733 * omp-low.c (lower_omp_for): Move gimple_bind_vars
10734 and BLOCK_VARS of gimple_bind_block to new_stmt rather
10735 than copying them.
10736
8fcbce72
JJ
10737 PR middle-end/60092
10738 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
10739 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
10740 assume_aligned or alloc_align attributes.
10741 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
10742 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
10743 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
10744 calls to functions with assume_aligned or alloc_align attributes.
10745 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 10746
451bdd23
TG
107472014-02-08 Terry Guo <terry.guo@arm.com>
10748
10749 * doc/invoke.texi: Document ARM -march=armv7e-m.
10750
d31d42c7
JJ
107512014-02-08 Jakub Jelinek <jakub@redhat.com>
10752
d71dfeb7
JJ
10753 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
10754 flag on __cilkrts_rethrow builtin.
10755
d31d42c7
JJ
10756 PR ipa/60026
10757 * ipa-cp.c (determine_versionability): Fail at -O0
10758 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
10759 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
10760
10761 Revert:
10762 2014-02-04 Jakub Jelinek <jakub@redhat.com>
10763
10764 PR ipa/60026
10765 * tree-inline.c (copy_forbidden): Fail for
10766 __attribute__((optimize (0))) functions.
10767
a0a98fef
JH
107682014-02-07 Jan Hubicka <hubicka@ucw.cz>
10769
10770 * varpool.c: Include pointer-set.h.
10771 (varpool_remove_unreferenced_decls): Variables in other partitions
10772 will not be output; be however careful to not lose information
10773 about partitioning.
10774
8c311b50
JH
107752014-02-07 Jan Hubicka <hubicka@ucw.cz>
10776
10777 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
10778 lookup in the vtable constructor.
10779
7ba03e5e
JL
107802014-02-07 Jeff Law <law@redhat.com>
10781
63e6247d
JL
10782 PR target/40977
10783 * config/m68k/m68k.md (ashldi_extsi): Turn into a
10784 define_insn_and_split.
10785
7ba03e5e
JL
10786 * ipa-inline.c (inline_small_functions): Fix typos.
10787
177bc204
RS
107882014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10789
10790 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
10791 (s390_can_use_return_insn): Declare.
10792 * config/s390/s390.h (EPILOGUE_USES): Define.
10793 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
10794 instructions.
10795 (s390_chunkify_start): Handle return JUMP_LABELs.
10796 (s390_early_mach): Emit a main_pool instruction on the entry edge.
10797 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
10798 (s390_can_use_return_insn): New functions.
10799 (s390_fix_long_loop_prediction): Handle conditional returns.
10800 (TARGET_SET_UP_BY_PROLOGUE): Define.
10801 * config/s390/s390.md (ANY_RETURN): New code iterator.
10802 (*creturn, *csimple_return, return, simple_return): New patterns.
10803
0621cf3c
RS
108042014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10805
10806 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
10807 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
10808 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
10809 REG_CFA_RESTORE list when deciding not to restore a register.
10810
4099494d
RS
108112014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10812
10813 * config/s390/s390.c: Include tree-pass.h and context.h.
10814 (s390_early_mach): New function, split out from...
10815 (s390_emit_prologue): ...here.
10816 (pass_data_s390_early_mach): New pass structure.
10817 (pass_s390_early_mach): New class.
10818 (s390_option_override): Create and register early_mach pass.
10819 Move to end of file.
10820
3489cc33
RS
108212014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10822
10823 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
10824 to match for the exit block.
10825
75cc21e2
AK
108262014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10827
10828 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
10829 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
10830 Reject misaligned operands.
10831
8bd7070a
AK
108322014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10833
1287ae50 10834 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 10835
831806cb
RB
108362014-02-07 Richard Biener <rguenther@suse.de>
10837
10838 PR middle-end/60092
10839 * gimple-low.c (lower_builtin_posix_memalign): New function.
10840 (lower_stmt): Call it to lower posix_memalign in a way
10841 to make alignment info accessible.
10842
7ee9c16f
JJ
108432014-02-07 Jakub Jelinek <jakub@redhat.com>
10844
10845 PR c++/60082
10846 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
10847 __builtin_setjmp_receiver.
10848
32cab212
RB
108492014-02-07 Richard Biener <rguenther@suse.de>
10850
10851 PR middle-end/60092
10852 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
10853 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
10854 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
10855 Handle BUILT_IN_POSIX_MEMALIGN.
10856 (find_func_clobbers): Likewise.
10857 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
10858 (call_may_clobber_ref_p_1): Likewise.
10859
6d6af792
JH
108602014-02-06 Jan Hubicka <hubicka@ucw.cz>
10861
10862 PR ipa/59918
1287ae50
UB
10863 * ipa-devirt.c (record_target_from_binfo): Remove overactive
10864 sanity check.
6d6af792 10865
3c0f1105
JH
108662014-02-06 Jan Hubicka <hubicka@ucw.cz>
10867
10868 PR ipa/59469
10869 * lto-cgraph.c (lto_output_node): Use
10870 symtab_get_symbol_partitioning_class.
10871 (lto_output_varpool_node): likewise.
10872 (symtab_get_symbol_partitioning_class): Move here from
10873 lto/lto-partition.c
10874 * cgraph.h (symbol_partitioning_class): Likewise.
10875 (symtab_get_symbol_partitioning_class): Declare.
10876
b3bb0eb9
JH
108772014-02-06 Jan Hubicka <hubicka@ucw.cz>
10878
10879 * ggc.h (ggc_internal_cleared_alloc): New macro.
10880 * vec.h (vec_safe_copy): Handle memory stats.
10881 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
10882 * target-globals.c (save_target_globals): Likewise.
10883
108842014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
10885
10886 PR target/60077
10887 * expr.c (emit_move_resolve_push): Export; be bit more selective
10888 on when to clear alias set.
10889 * expr.h (emit_move_resolve_push): Declare.
10890 * function.h (struct function): Add tail_call_marked.
10891 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
10892 * config/i386/i386-protos.h (ix86_expand_push): Remove.
10893 * config/i386/i386.md (TImode move expander): De not call
10894 ix86_expand_push.
10895 (FP push expanders): Preserve memory attributes.
10896 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 10897 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
10898 (ix86_expand_push): Remove.
10899 * config/i386/mmx.md (push<mode>1): Remove.
10900
47d552eb
JJ
109012014-02-06 Jakub Jelinek <jakub@redhat.com>
10902
10903 PR rtl-optimization/60030
10904 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
10905 lopart with paradoxical subreg before shifting it up by hprec.
10906
45c75ea7
KT
109072014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10908
10909 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
10910 Remove extra newline at end of file.
10911 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
10912 (arm_issue_rate): Handle cortexa57.
10913 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
10914 (cortex-a57.cortex-a53): Likewise.
10915
af116cae
JJ
109162014-02-06 Jakub Jelinek <jakub@redhat.com>
10917
652a3e3a
JJ
10918 PR target/59575
10919 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
10920 don't record in REG_FRAME_RELATED_EXPR registers not set in that
10921 bitmask.
10922 (arm_expand_prologue): Adjust all callers.
10923 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
10924 info, registers also at the lowest numbered registers side. Use
10925 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
10926 XEXP.
10927
af116cae 10928 PR debug/59992
1287ae50
UB
10929 * var-tracking.c (adjust_mems): Before adding a SET to
10930 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 10931
fdcee33b
AM
109322014-02-06 Alan Modra <amodra@gmail.com>
10933
10934 PR target/60032
10935 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
10936 change SDmode to DDmode when lra_in_progress.
10937
251901a0
JJ
109382014-02-06 Jakub Jelinek <jakub@redhat.com>
10939
d3ef8c53
JJ
10940 PR middle-end/59150
10941 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
10942 free_data_ref on the dr first, and before goto again also set dr
10943 to the next dr. For simd_lane_access, free old datarefs[i] before
10944 overwriting it. For get_vectype_for_scalar_type failure, don't
10945 free_data_ref if simd_lane_access.
10946
2754b38f
JJ
10947 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
10948
251901a0
JJ
10949 PR target/60062
10950 * tree.h (opts_for_fn): New inline function.
10951 (opt_for_fn): Define.
10952 * config/i386/i386.c (ix86_function_regparm): Use
10953 opt_for_fn (decl, optimize) instead of optimize.
10954
4a985a37
MS
109552014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
10956
10957 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
10958 for SYMBOL_REF in large memory model.
10959
c366d38c
KT
109602014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10961
10962 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
10963 and crypto support.
10964 (cortex-a57): Likewise.
10965 (cortex-a57.cortex-a53): Likewise.
10966
c801e246
YG
109672014-02-06 Yury Gribov <y.gribov@samsung.com>
10968 Kugan Vivekanandarajah <kuganv@linaro.org>
10969
10970 * config/arm/arm.c (arm_vector_alignment_reachable): Check
10971 unaligned_access.
10972 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
10973
d50f7b84
RB
109742014-02-06 Richard Biener <rguenther@suse.de>
10975
10976 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
10977 set_loop_copy and initialize_original_copy_tables.
10978
179d2941
AV
109792014-02-06 Alex Velenko <Alex.Velenko@arm.com>
10980
10981 * config/aarch64/aarch64-simd.md
10982 (aarch64_ashr_simddi): Change QI to SI.
10983
78b1469d
JH
109842014-02-05 Jan Hubicka <hubicka@ucw.cz>
10985 Jakub Jelinek <jakub@redhat.com>
10986
10987 PR middle-end/60013
10988 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
10989 of the dataflow.
10990
d85f364c
BS
109912014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10992
10993 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
10994 CODE_FOR_altivec_vpku[hw]um to
10995 CODE_FOR_altivec_vpku[hw]um_direct.
10996 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
10997 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
10998 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
10999 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
11000
7b1cd427
BS
110012014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11002
11003 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
11004 generation for -maltivec=be.
11005 (altivec_vsumsws): Simplify redundant test.
11006
52a93551
BS
110072014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11008
11009 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
11010 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
11011 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
11012 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
11013 gen_altivec_vpkuwum.
11014 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
11015 BYTES_BIG_ENDIAN.
11016 (altivec_vpks<VI_char>ss): Likewise.
11017 (altivec_vpks<VI_char>us): Likewise.
11018 (altivec_vpku<VI_char>us): Likewise.
11019 (altivec_vpku<VI_char>um): Likewise.
11020 (altivec_vpku<VI_char>um_direct): New (copy of
11021 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
11022 internal use).
11023 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
11024 target is little endian and -maltivec=be is not specified.
11025 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 11026 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
11027 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
11028 target is little endian and -maltivec=be is not specified.
11029 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 11030 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
11031 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
11032 little endian and -maltivec=be is not specified.
11033 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
11034 little endian and -maltivec=be is not specified.
11035
004a7e45 110362014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
11037
11038 PR debug/52727
11039 * combine-stack-adj.c: Revert r206943.
11040 * sched-int.h (struct deps_desc): Add last_args_size.
11041 * sched-deps.c (init_deps): Initialize it.
11042 (sched_analyze_insn): Add OUTPUT dependencies between insns that
11043 contain REG_ARGS_SIZE notes.
11044
f300e7b8
JH
110452014-02-05 Jan Hubicka <hubicka@ucw.cz>
11046
11047 * lto-cgraph.c (asm_nodes_output): Make global.
11048 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 11049 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
11050 (driver_handle_option): Handle OPT_fwpa.
11051
609524d2
JJ
110522014-02-05 Jakub Jelinek <jakub@redhat.com>
11053
add5c763
JJ
11054 PR ipa/59947
11055 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
11056 a comment typo and formatting issue. If odr_hash hasn't been
11057 created, return vNULL and set *completep to false.
11058
609524d2
JJ
11059 PR middle-end/57499
11060 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
11061 bb with no successors.
11062
05ab6e21
JG
110632014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
11064
11065 PR target/59718
11066 * doc/invoke.texi (-march): Clarify documentation for ARM.
11067 (-mtune): Likewise.
11068 (-mcpu): Likewise.
11069
d55d9ed0
RB
110702014-02-05 Richard Biener <rguenther@suse.de>
11071
11072 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
11073 when not vectorizing because of too many alias checks.
11074 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
11075 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
11076
c70da878
NC
110772014-02-05 Nick Clifton <nickc@redhat.com>
11078
11079 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 11080 accept extended registers in any mode when compiling for the MN10300.
c70da878 11081
25a07c7e
YG
110822014-02-05 Yury Gribov <y.gribov@samsung.com>
11083
11084 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
11085 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
11086 sanitization attributes.
11087 (can_inline_edge_p): Likewise.
11088 (sanitize_attrs_match_for_inline_p): New function.
11089
4bf2a588
JH
110902014-02-04 Jan Hubicka <hubicka@ucw.cz>
11091
11092 * ipa-prop.c (detect_type_change): Shor circuit testing of
11093 type changes on THIS pointer.
11094
d92f4df0
JDA
110952014-02-04 John David Anglin <danglin@gcc.gnu.org>
11096
11097 PR target/59777
11098 * config/pa/pa.c (legitimize_tls_address): Return original address
11099 if not passed a SYMBOL_REF rtx.
11100 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
11101 addresses.
11102 (pa_emit_move_sequence): Simplify TLS source operands.
11103 (pa_legitimate_constant_p): Reject all TLS constants.
11104 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
11105 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
11106
d665f8dd
JH
111072014-02-04 Jan Hubicka <hubicka@ucw.cz>
11108
11109 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
11110 groups when we know they are controlled by LTO.
11111 * varasm.c (default_binds_local_p_1): If object is in other partition,
11112 it will be resolved locally.
11113
6a071860
BE
111142014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
11115
e2fc3b4f 11116 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 11117 use SSIZE_MAX because it is not always defined.
6a071860 11118
8e9d68a9
VM
111192014-02-04 Vladimir Makarov <vmakarov@redhat.com>
11120
11121 PR bootstrap/59913
11122 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
11123 threshold for pseudo splitting.
11124 (update_ebb_live_info): Process call argument hard registers and
11125 hard registers from insn definition too.
11126 (max_small_class_regs_num): New constant.
11127 (inherit_in_ebb): Update live hard regs through EBBs. Update
11128 reloads_num only for small register classes. Don't split for
11129 outputs of jumps.
11130
8472fa80
MT
111312014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
11132
11133 PR ipa/60058
11134 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
11135 is non-null.
11136
df98e37f
JH
111372014-02-04 Jan Hubicka <hubicka@ucw.cz>
11138
1287ae50
UB
11139 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
11140 visibility is safe.
df98e37f 11141
71e55f04
MP
111422014-02-04 Marek Polacek <polacek@redhat.com>
11143
11144 * gdbinit.in (pel): Define.
11145
229e56f9
BE
111462014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
11147
11148 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
11149 behavior.
11150
c39276b8
RB
111512014-02-04 Richard Biener <rguenther@suse.de>
11152
11153 PR lto/59723
11154 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
11155 in function context local.
11156 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
11157 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
11158 similar to LTO_imported_decl_ref.
11159
66b3ed5f
JJ
111602014-02-04 Jakub Jelinek <jakub@redhat.com>
11161
029ce7a2
JJ
11162 PR tree-optimization/60002
11163 * cgraphclones.c (build_function_decl_skip_args): Clear
11164 DECL_LANG_SPECIFIC.
11165
8e91d222
JJ
11166 PR tree-optimization/60023
11167 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
11168 false to gsi_replace.
11169 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
11170 has been in some EH region and vec_stmt could throw, add
11171 vec_stmt into the same EH region.
11172 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
11173 has no lhs, ignore it.
11174 * internal-fn.c (expand_MASK_LOAD): Likewise.
11175
eb259c4a
JJ
11176 PR ipa/60026
11177 * tree-inline.c (copy_forbidden): Fail for
11178 __attribute__((optimize (0))) functions.
11179
92d05580
JJ
11180 PR other/58712
11181 * omp-low.c (simd_clone_struct_copy): If from->inbranch
11182 is set, copy one less argument.
30540e79
JJ
11183 (expand_simd_clones): Don't subtract clone_info->inbranch
11184 from simd_clone_struct_alloc argument.
92d05580 11185
be3afd67
JJ
11186 PR rtl-optimization/57915
11187 * recog.c (simplify_while_replacing): If all unary/binary/relational
11188 operation arguments are constant, attempt to simplify those.
11189
66b3ed5f
JJ
11190 PR middle-end/59261
11191 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
11192 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
11193
5961d779
RB
111942014-02-04 Richard Biener <rguenther@suse.de>
11195
11196 PR tree-optimization/60012
11197 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
11198 TBAA disambiguation to all DDRs.
11199
91da0481
RO
112002014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11201
11202 PR target/59788
11203 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
11204 (LINK_SPEC): Use it for -shared, -shared-libgcc.
11205
39960d1c
JH
112062014-02-03 Jan Hubicka <hubicka@ucw.cz>
11207
11208 PR ipa/59882
11209 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
11210
112112014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
11212
11213 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
11214 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
11215
39960d1c 112162014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
11217
11218 PR ipa/59831
11219 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
11220 to figure out targets of polymorphic calls with known decl.
11221 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
11222 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
11223 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
11224 (get_polymorphic_call_info): ... here.
11225 (get_polymorphic_call_info_from_invariant): New function.
11226
39960d1c 112272014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
11228
11229 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
11230 lookup via vtable pointer; check for type consistency
11231 and turn inconsitent facts into UNREACHABLE.
11232 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
11233 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
11234 type inconsistent querries; return UNREACHABLE instead.
9de2f554 11235
ade3ff24
RH
112362014-02-03 Richard Henderson <rth@twiddle.net>
11237
11238 PR tree-opt/59924
11239 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
11240 already processed this node.
11241 (normalize_one_pred_1): Pass along mark_set.
11242 (normalize_one_pred): Create and destroy a pointer_set_t.
11243 (normalize_one_pred_chain): Likewise.
11244
55428cc3
LA
112452014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
11246
11247 PR gcov-profile/58602
1287ae50 11248 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 11249
85942f45
JH
112502014-02-03 Jan Hubicka <hubicka@ucw.cz>
11251
11252 PR ipa/59831
1287ae50
UB
11253 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
11254 -fno-devirtualize; try to devirtualize by the knowledge of
11255 virtual table pointer given by aggregate propagation.
85942f45 11256 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 11257 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
11258 is relevant for polymorphic calls.
11259 (determine_known_aggregate_parts): Add arg_type parameter; use it
11260 instead of determining the type from pointer type.
11261 (ipa_compute_jump_functions_for_edge): Update call of
11262 determine_known_aggregate_parts.
11263 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
11264 (gimple_get_virt_method_for_binfo): ... here; simplify using
11265 vtable_pointer_value_to_vtable.
11266 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
11267 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 11268 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
11269 (vtable_pointer_value_to_vtable): Break out from ...; handle also
11270 POINTER_PLUS_EXPR.
11271 (vtable_pointer_value_to_binfo): ... here.
11272 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
11273
bddc974e
TJ
112742014-02-03 Teresa Johnson <tejohnson@google.com>
11275
11276 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
11277 redef of outer loop index variable.
11278
5d77fb19
MG
112792014-02-03 Marc Glisse <marc.glisse@inria.fr>
11280
11281 PR c++/53017
11282 PR c++/59211
11283 * doc/extend.texi (Function Attributes): Typo.
11284
cf5b2be2
CH
112852014-02-03 Cong Hou <congh@google.com>
11286
11287 PR tree-optimization/60000
11288 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
11289 if the vectorized statement is a store. A store statement can only
11290 appear at the end of pattern statements.
11291
a2a1ddb5
L
112922014-02-03 H.J. Lu <hongjiu.lu@intel.com>
11293
11294 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
11295 (ix86_option_override_internal): Default long double to 64-bit for
11296 32-bit Bionic and to 128-bit for 64-bit Bionic.
11297
11298 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
11299 TARGET_LONG_DOUBLE_128 is true.
11300 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
11301
11302 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
11303 (mlong-double-64): Negate -mlong-double-128.
11304 (mlong-double-128): New option.
11305
11306 * config/i386/i386-c.c (ix86_target_macros): Define
11307 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
11308
11309 * doc/invoke.texi: Document -mlong-double-128.
11310
f742cf90
L
113112014-02-03 H.J. Lu <hongjiu.lu@intel.com>
11312
11313 PR rtl-optimization/60024
11314 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
11315
8f36fd30
MT
113162014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
11317
1287ae50 11318 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 11319
861ec4f3
AB
113202014-02-03 Andrey Belevantsev <abel@ispras.ru>
11321
11322 PR rtl-optimization/57662
11323 * sel-sched.c (code_motion_path_driver): Do not mark already not
11324 existing blocks in the visiting bitmap.
11325
fe08255d
AB
113262014-02-03 Andrey Belevantsev <abel@ispras.ru>
11327
11328 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
11329 on the insn being emitted.
11330
96d3a240
JG
113312014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
11332 Will Deacon <will.deacon@arm.com>
11333
11334 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
11335
9dd6c9f7
KT
113362014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11337
11338 * config/arm/arm-tables.opt: Regenerate.
11339
60331d00
BS
113402014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11341
11342 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
11343 for vector types other than V16QImode.
11344 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
11345 define_expand, and call altivec_expand_vec_perm_le when producing
11346 code with little endian element order.
11347 (*altivec_vperm_<mode>_internal): New insn having previous
11348 behavior of altivec_vperm_<mode>.
11349 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
11350 altivec_expand_vec_perm_le when producing code with little endian
11351 element order.
11352 (*altivec_vperm_<mode>_uns_internal): New insn having previous
11353 behavior of altivec_vperm_<mode>_uns.
11354
b80afde9
BS
113552014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11356
11357 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
11358 (altivec_vsumsws): Add handling for -maltivec=be with a little
11359 endian target.
11360 (altivec_vsumsws_direct): New.
11361 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
11362 gen_altivec_vsumsws.
11363
39960d1c 113642014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
11365
11366 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
11367 vtable_pointer_value_to_binfo): New functions.
11368 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
11369 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
11370
02b67731
SL
113712014-02-02 Sandra Loosemore <sandra@codesourcery.com>
11372
11373 * config/nios2/nios2.md (load_got_register): Initialize GOT
11374 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
11375 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
11376
2ace77c2
JH
113772014-02-02 Jan Hubicka <hubicka@ucw.cz>
11378
11379 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
11380 preserverd by passthrough, do not propagate the type.
11381
70b2d364
RS
113822014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
11383
11384 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
11385 (mips_atomic_assign_expand_fenv): New function.
11386 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
11387
a90c0245
RS
113882014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
11389
11390 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
11391 (__builtin_mips_set_fcsr): Likewise.
11392 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
11393 MIPS_USI_FTYPE_VOID.
11394 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
11395 (mips16_expand_set_fcsr): Likewise.
11396 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
11397 (mips16_set_fcsr_stub): Likewise.
11398 (mips16_get_fcsr_one_only_stub): New class.
11399 (mips16_set_fcsr_one_only_stub): Likewise.
11400 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
11401 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
11402 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
11403 (hard_float): New availability predicate.
11404 (mips_builtins): Add get_fcsr and set_fcsr.
11405 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
11406 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
11407 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
11408 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
11409 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
11410 patterns.
11411
6d51cc90
RS
114122014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
11413
11414 * config/mips/mips.c (mips_one_only_stub): New class.
11415 (mips_need_mips16_rdhwr_p): Replace with...
11416 (mips16_rdhwr_stub): ...this new variable.
11417 (mips16_stub_call_address): New function.
11418 (mips16_rdhwr_one_only_stub): New class.
11419 (mips_expand_thread_pointer): Use mips16_stub_call_address.
11420 (mips_output_mips16_rdhwr): Delete.
11421 (mips_finish_stub): New function.
11422 (mips_code_end): Use it to handle rdhwr stubs.
11423
6c90f137
UB
114242014-02-02 Uros Bizjak <ubizjak@gmail.com>
11425
11426 PR target/60017
11427 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
11428 when calculating size of integer atomic types.
11429
5e64bbbb
L
114302014-02-02 H.J. Lu <hongjiu.lu@intel.com>
11431
11432 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
11433
021293cb
JJ
114342014-02-01 Jakub Jelinek <jakub@redhat.com>
11435
11436 PR tree-optimization/60003
11437 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
11438 * profile.c (branch_prob): Use gimple_call_builtin_p
11439 to check for BUILT_IN_SETJMP_RECEIVER.
11440 * tree-inline.c (copy_bb): Call notice_special_calls.
11441
6334f3e9
VM
114422014-01-31 Vladimir Makarov <vmakarov@redhat.com>
11443
11444 PR bootstrap/59985
11445 * lra-constraints.c (process_alt_operands): Update reload_sum only
11446 on the first pass.
11447
efa7882f
RH
114482014-01-31 Richard Henderson <rth@redhat.com>
11449
11450 PR middle-end/60004
11451 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
11452 until after else_eh is processed.
11453
de72ea02
IT
114542014-01-31 Ilya Tocar <ilya.tocar@intel.com>
11455
11456 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
11457 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
11458 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
11459 in smmintrin.h, remove them.
11460 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
11461 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
11462 * config/i386/i386.md (ROUND_SAE): Fix value.
11463 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
11464 (const48_operand): New.
11465 * config/i386/subst.md (round), (round_expand): Use
11466 const_4_or_8_to_11_operand.
11467 (round_saeonly), (round_saeonly_expand): Use const48_operand.
11468
be792bce
IT
114692014-01-31 Ilya Tocar <ilya.tocar@intel.com>
11470
11471 * config/i386/constraints.md (Yk): Swap meaning with k.
11472 * config/i386/i386.md (movhi_internal): Change Yk to k.
11473 (movqi_internal): Ditto.
11474 (*k<logic><mode>): Ditto.
11475 (*andhi_1): Ditto.
11476 (*andqi_1): Ditto.
11477 (kandn<mode>): Ditto.
11478 (*<code>hi_1): Ditto.
11479 (*<code>qi_1): Ditto.
11480 (kxnor<mode>): Ditto.
11481 (kortestzhi): Ditto.
11482 (kortestchi): Ditto.
11483 (kunpckhi): Ditto.
11484 (*one_cmplhi2_1): Ditto.
11485 (*one_cmplqi2_1): Ditto.
11486 * config/i386/sse.md (): Change k to Yk.
11487 (avx512f_load<mode>_mask): Ditto.
11488 (avx512f_blendm<mode>): Ditto.
11489 (avx512f_store<mode>_mask): Ditto.
11490 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
11491 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
11492 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
11493 Ditto.
be792bce
IT
11494 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
11495 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
11496 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
11497 (avx512f_maskcmp<mode>3): Ditto.
11498 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
11499 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
11500 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
11501 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
11502 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
11503 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
11504 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
11505 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
11506 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
11507 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
11508 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
11509 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
11510 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
11511 (vec_extract_lo_<mode>_maskm): Ditto.
11512 (vec_extract_hi_<mode>_maskm): Ditto.
11513 (avx512f_vternlog<mode>_mask): Ditto.
11514 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
11515 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
11516 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
11517 (avx512f_<code>v8div16qi2_mask): Ditto.
11518 (avx512f_<code>v8div16qi2_mask_store): Ditto.
11519 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
11520 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
11521 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
11522 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
11523 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
11524 (*avx512pf_gatherpf<mode>df_mask): Ditto.
11525 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
11526 (*avx512pf_scatterpf<mode>df_mask): Ditto.
11527 (avx512cd_maskb_vec_dupv8di): Ditto.
11528 (avx512cd_maskw_vec_dupv16si): Ditto.
11529 (avx512f_vpermi2var<mode>3_maskz): Ditto.
11530 (avx512f_vpermi2var<mode>3_mask): Ditto.
11531 (avx512f_vpermi2var<mode>3_mask): Ditto.
11532 (avx512f_vpermt2var<mode>3_maskz): Ditto.
11533 (*avx512f_gathersi<mode>): Ditto.
11534 (*avx512f_gathersi<mode>_2): Ditto.
11535 (*avx512f_gatherdi<mode>): Ditto.
11536 (*avx512f_gatherdi<mode>_2): Ditto.
11537 (*avx512f_scattersi<mode>): Ditto.
11538 (*avx512f_scatterdi<mode>): Ditto.
11539 (avx512f_compress<mode>_mask): Ditto.
11540 (avx512f_compressstore<mode>_mask): Ditto.
11541 (avx512f_expand<mode>_mask): Ditto.
11542 * config/i386/subst.md (mask): Change k to Yk.
11543 (mask_scalar_merge): Ditto.
11544 (sd): Ditto.
11545
0878d68a
MG
115462014-01-31 Marc Glisse <marc.glisse@inria.fr>
11547
11548 * doc/extend.texi (Vector Extensions): Document ?: in C++.
11549
fdfd537b
RB
115502014-01-31 Richard Biener <rguenther@suse.de>
11551
11552 PR middle-end/59990
11553 * builtins.c (fold_builtin_memory_op): Make sure to not
11554 use a floating-point mode or a boolean or enumeral type for
11555 the copy operation.
11556
4f50b9ff
DD
115572014-01-30 DJ Delorie <dj@redhat.com>
11558
11559 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
11560 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
11561 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
11562 whenever main() has an epilogue.
11563
c3e96073
BS
115642014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11565
11566 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
11567 unused variable "field".
11568 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
11569 (vsx_mergeh_<mode>): Likewise.
11570 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
11571 (altivec_vmrghh): Likewise.
11572 (altivec_vmrghw): Likewise.
11573 (altivec_vmrglb): Likewise.
11574 (altivec_vmrglh): Likewise.
11575 (altivec_vmrglw): Likewise.
11576 (altivec_vspltb): Add missing uses.
11577 (altivec_vsplth): Likewise.
11578 (altivec_vspltw): Likewise.
11579 (altivec_vspltsf): Likewise.
11580
4bb9c32d
JJ
115812014-01-30 Jakub Jelinek <jakub@redhat.com>
11582
11583 PR target/59923
11584 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
11585 frame related instructions.
11586
7613fa50
VM
115872014-01-30 Vladimir Makarov <vmakarov@redhat.com>
11588
11589 PR rtl-optimization/59959
11590 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
11591 any reload of register whose subreg is invalid.
11592
6fb82517
JJ
115932014-01-30 Jakub Jelinek <jakub@redhat.com>
11594
33425d6c 11595 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
11596 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
11597 Add missing return type - void.
11598
bf53d4b8
BS
115992014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11600
11601 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
11602 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
11603 remove element index adjustment for endian (now handled in vsx.md
11604 and altivec.md).
11605 (altivec_expand_vec_perm_const): Use
11606 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
11607 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
11608 (vsx_xxspltw_<mode>): Adjust element index for little endian.
11609 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
11610 define_expand and a new define_insn *altivec_vspltb_internal;
11611 adjust for -maltivec=be on a little endian target.
11612 (altivec_vspltb_direct): New.
11613 (altivec_vsplth): Divide into a define_expand and a new
11614 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
11615 little endian target.
11616 (altivec_vsplth_direct): New.
11617 (altivec_vspltw): Divide into a define_expand and a new
11618 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
11619 little endian target.
11620 (altivec_vspltw_direct): New.
11621 (altivec_vspltsf): Divide into a define_expand and a new
11622 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
11623 a little endian target.
11624
c965e187
RB
116252014-01-30 Richard Biener <rguenther@suse.de>
11626
11627 PR tree-optimization/59993
11628 * tree-ssa-forwprop.c (associate_pointerplus): Check we
11629 can propagate form the earlier stmt and avoid the transform
11630 when the intermediate result is needed.
11631
ba117645
AD
116322014-01-30 Alangi Derick <alangiderick@gmail.com>
11633
11634 * README.Portability: Fix typo.
11635
4bb66ef3 116362014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
11637
11638 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
11639 comparison_operator with ordered_comparison_operator.
11640
c345a0b1
NC
116412014-01-30 Nick Clifton <nickc@redhat.com>
11642
11643 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
11644 Rename to mn10300_store_multiple_regs.
11645 * config/mn10300/mn10300.c: Likewise.
11646 * config/mn10300/mn10300.md (store_movm): Fix typo: call
11647 store_multiple_regs.
11648 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
11649 Call mn10300_store_multiple_regs.
11650
2d70f6d4
NC
116512014-01-30 Nick Clifton <nickc@redhat.com>
11652 DJ Delorie <dj@redhat.com>
11653
11654 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
11655 %fp 2 to keep registers after it properly word-aligned.
11656 (rl78_alloc_physical_registers_umul): Handle the case where both
11657 input operands are the same.
11658
c972624e
RB
116592014-01-30 Richard Biener <rguenther@suse.de>
11660
11661 PR tree-optimization/59903
11662 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
11663 check properly.
11664
fc044323
JM
116652014-01-30 Jason Merrill <jason@redhat.com>
11666
404c2aea
JM
11667 PR c++/59633
11668 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
11669
fc044323
JM
11670 PR c++/59645
11671 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
11672
f30a0ba5
RB
116732014-01-30 Richard Biener <rguenther@suse.de>
11674
11675 PR tree-optimization/59951
33425d6c 11676 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 11677
aad8816f
SZ
116782014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
11679
11680 PR target/59784
11681 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
11682 SFmode to DFmode case.
11683
3b16363e
DD
116842014-01-29 DJ Delorie <dj@redhat.com>
11685
11686 * config/msp430/msp430.opt (-minrt): New.
11687 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
11688 if -minrt given.
11689 (ENDFILE_SPEC): Likewise.
11690
39960d1c 116912014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
11692
11693 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
11694 (estimate_function_body_sizes): Use it.
11695
1200933c
PC
116962014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
11697
11698 PR c++/58561
11699 * dwarf2out.c (is_cxx_auto): New.
11700 (is_base_type): Use it.
11701 (gen_type_die_with_usage): Likewise.
11702
68d3bacf
BS
117032014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11704
11705 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
11706 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
11707 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
11708 -maltivec=be with LE targets.
11709 (vsx_mergeh_<mode>): Likewise.
33425d6c 11710 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
11711 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
11712 (altivec_vmrghb): Replace with define_expand and new
33425d6c 11713 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11714 (altivec_vmrghb_direct): New define_insn.
11715 (altivec_vmrghh): Replace with define_expand and new
33425d6c 11716 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11717 (altivec_vmrghh_direct): New define_insn.
11718 (altivec_vmrghw): Replace with define_expand and new
33425d6c 11719 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11720 (altivec_vmrghw_direct): New define_insn.
11721 (*altivec_vmrghsf): Adjust for endianness.
11722 (altivec_vmrglb): Replace with define_expand and new
33425d6c 11723 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11724 (altivec_vmrglb_direct): New define_insn.
11725 (altivec_vmrglh): Replace with define_expand and new
33425d6c 11726 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11727 (altivec_vmrglh_direct): New define_insn.
11728 (altivec_vmrglw): Replace with define_expand and new
33425d6c 11729 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11730 (altivec_vmrglw_direct): New define_insn.
11731 (*altivec_vmrglsf): Adjust for endianness.
11732 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
11733 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
11734 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
11735 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
11736 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
11737 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
11738 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
11739 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
11740
aef66c94
MS
117412014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
11742
11743 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
11744 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
11745 whitespace.
11746
77574c35
RB
117472014-01-29 Richard Biener <rguenther@suse.de>
11748
11749 PR tree-optimization/58742
11750 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
11751 associate_pointerplus_align.
11752 (associate_pointerplus_diff): New function.
11753 (associate_pointerplus): Likewise. Call associate_pointerplus_align
11754 and associate_pointerplus_diff.
11755
15b25b24
RB
117562014-01-29 Richard Biener <rguenther@suse.de>
11757
11758 * lto-streamer.h (LTO_major_version): Bump to 3.
11759 (LTO_minor_version): Reset to 0.
11760
eb6006ad
RL
117612014-01-29 Renlin Li <Renlin.Li@arm.com>
11762
11763 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
11764 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
11765 (arm_file_start): Generate correct asm header for armv7ve.
11766 * config/arm/bpabi.h: Add multilib support for armv7ve.
11767 * config/arm/driver-arm.c: Change the architectures of cortex-a7
11768 and cortex-a15 to armv7ve.
11769 * config/arm/t-aprofile: Add multilib support for armv7ve.
11770 * doc/invoke.texi: Document -march=armv7ve.
11771
4bfb2fa2
RB
117722014-01-29 Richard Biener <rguenther@suse.de>
11773
11774 PR tree-optimization/58742
11775 * tree-ssa-forwprop.c (associate_plusminus): Return true
11776 if we changed sth, defer EH cleanup to ...
11777 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
11778 (simplify_mult): New function.
11779
42eb8bd1
JJ
117802014-01-29 Jakub Jelinek <jakub@redhat.com>
11781
09b22f48
JJ
11782 PR middle-end/59917
11783 PR tree-optimization/59920
11784 * tree.c (build_common_builtin_nodes): Remove
11785 __builtin_setjmp_dispatcher initialization.
11786 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
11787 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
11788 instead of gsi_after_labels + manually skipping debug stmts.
11789 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
11790 ignore bbs with IFN_ABNORMAL_DISPATCHER.
11791 * tree-inline.c (copy_edges_for_bb): Remove
11792 can_make_abnormal_goto argument, instead add abnormal_goto_dest
11793 argument. Ignore computed_goto_p stmts. Don't call
11794 make_abnormal_goto_edges. If a call might need abnormal edges
11795 for non-local gotos, see if it already has an edge to
11796 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
11797 with true argument, don't do anything then, otherwise add
11798 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
11799 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
11800 caller.
11801 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
11802 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
11803 (lower_stmt): Don't set data->calls_builtin_setjmp.
11804 (lower_builtin_setjmp): Adjust comment.
11805 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
11806 * tree-cfg.c (found_computed_goto): Remove.
11807 (factor_computed_gotos): Remove.
11808 (make_goto_expr_edges): Return bool, true for computed gotos.
11809 Don't call make_abnormal_goto_edges.
11810 (build_gimple_cfg): Don't set found_computed_goto, don't call
11811 factor_computed_gotos.
11812 (computed_goto_p): No longer static.
11813 (make_blocks): Don't set found_computed_goto.
11814 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
11815 (make_edges): If make_goto_expr_edges returns true, push bb
11816 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
11817 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
11818 vector. Record mapping between bbs and OpenMP regions if there
11819 are any, adjust make_gimple_omp_edges caller. Call
11820 handle_abnormal_edges.
11821 (make_abnormal_goto_edges): Remove.
11822 * tree-cfg.h (make_abnormal_goto_edges): Remove.
11823 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
11824 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 11825 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
11826 * internal-fn.def (ABNORMAL_DISPATCHER): New.
11827 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
11828 filling *region also set *region_idx to (*region)->entry->index.
11829
42eb8bd1
JJ
11830 PR other/58712
11831 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
11832 For REGs set ORIGINAL_REGNO.
11833
4a271b7e
BM
118342014-01-29 Bingfeng Mei <bmei@broadcom.com>
11835
33425d6c 11836 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
11837 vec_widen_(s|u)mul_even/odd pair if it is less efficient
11838 than hi/lo pair.
11839
3d54b29d
JJ
118402014-01-29 Jakub Jelinek <jakub@redhat.com>
11841
11842 PR tree-optimization/59594
11843 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
11844 a copy of the datarefs vector rather than the vector itself.
11845
2e5e7103
JM
118462014-01-28 Jason Merrill <jason@redhat.com>
11847
11848 PR c++/53756
11849 * dwarf2out.c (auto_die): New static.
11850 (gen_type_die_with_usage): Handle C++1y 'auto'.
11851 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
11852 on definition.
11853
d5d618b5
L
118542014-01-28 H.J. Lu <hongjiu.lu@intel.com>
11855
11856 PR target/59672
11857 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
11858 (SPEC_X32): Likewise.
11859 (SPEC_64): Likewise.
11860 * config/i386/i386.c (ix86_option_override_internal): Turn off
11861 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
11862 for TARGET_16BIT.
11863 (x86_file_start): Output .code16gcc for TARGET_16BIT.
11864 * config/i386/i386.h (TARGET_16BIT): New macro.
11865 (TARGET_16BIT_P): Likewise.
11866 * config/i386/i386.opt: Add m16.
11867 * doc/invoke.texi: Document -m16.
11868
367c8286
DS
118692014-01-28 Jakub Jelinek <jakub@redhat.com>
11870
11871 PR preprocessor/59935
11872 * input.c (location_get_source_line): Bail out on when line number
33425d6c 11873 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 11874
07ec81f9
RB
118752014-01-28 Richard Biener <rguenther@suse.de>
11876
11877 PR tree-optimization/58742
11878 * tree-ssa-forwprop.c (associate_plusminus): Handle
11879 pointer subtraction of the form (T)(P + A) - (T)P.
11880
5facb998
KT
118812014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11882
11883 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
11884 at const_int_cost.
11885
e04faf24
RB
118862014-01-28 Richard Biener <rguenther@suse.de>
11887
11888 Revert
11889 2014-01-28 Richard Biener <rguenther@suse.de>
11890
11891 PR rtl-optimization/45364
11892 PR rtl-optimization/59890
11893 * var-tracking.c (local_get_addr_clear_given_value): Handle
11894 already cleared slot.
11895 (val_reset): Handle not allocated local_get_addr_cache.
11896 (vt_find_locations): Use post-order on the inverted CFG.
11897
6593260b
RB
118982014-01-28 Richard Biener <rguenther@suse.de>
11899
33425d6c 11900 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 11901
9ec2d2c1
RB
119022014-01-28 Richard Biener <rguenther@suse.de>
11903
11904 PR rtl-optimization/45364
11905 PR rtl-optimization/59890
11906 * var-tracking.c (local_get_addr_clear_given_value): Handle
11907 already cleared slot.
11908 (val_reset): Handle not allocated local_get_addr_cache.
11909 (vt_find_locations): Use post-order on the inverted CFG.
11910
2ceb362d
AM
119112014-01-28 Alan Modra <amodra@gmail.com>
11912
11913 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
11914 * configure.ac <recursive call for build != host>: Define
11915 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
11916 and LD_FOR_BUILD too.
11917 * configure: Regenerate.
11918
0ebe2584
ASJ
119192014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
11920
11921 * config/i386/i386.c (get_builtin_code_for_version): Separate
11922 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
11923 Broadwell from Haswell.
11924
a33fc7fe
SE
119252014-01-27 Steve Ellcey <sellcey@mips.com>
11926
11927 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
11928 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
11929 * config/mips/mips.c (mips_option_override): Change setting
11930 of TARGET_DSP.
11931 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
11932 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
11933 Change from Mask to Var.
a33fc7fe 11934
a99be3c9
JL
119352014-01-27 Jeff Law <law@redhat.com>
11936
11937 * ipa-inline.c (inline_small_functions): Fix typo.
11938
d256b866
IT
119392014-01-27 Ilya Tocar <ilya.tocar@intel.com>
11940
11941 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
11942 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
11943 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
11944 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
11945 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
11946 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
11947 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
11948 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
11949 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
11950 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
11951 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
11952 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
11953 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
11954 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
11955 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
11956 (_mm512_storeu_epi64): Ditto.
11957 (_mm512_cmpge_epi32_mask): Ditto.
11958 (_mm512_cmpge_epu32_mask): Ditto.
11959 (_mm512_cmpge_epi64_mask): Ditto.
11960 (_mm512_cmpge_epu64_mask): Ditto.
11961 (_mm512_cmple_epi32_mask): Ditto.
11962 (_mm512_cmple_epu32_mask): Ditto.
11963 (_mm512_cmple_epi64_mask): Ditto.
11964 (_mm512_cmple_epu64_mask): Ditto.
11965 (_mm512_cmplt_epi32_mask): Ditto.
11966 (_mm512_cmplt_epu32_mask): Ditto.
11967 (_mm512_cmplt_epi64_mask): Ditto.
11968 (_mm512_cmplt_epu64_mask): Ditto.
11969 (_mm512_cmpneq_epi32_mask): Ditto.
11970 (_mm512_cmpneq_epu32_mask): Ditto.
11971 (_mm512_cmpneq_epi64_mask): Ditto.
11972 (_mm512_cmpneq_epu64_mask): Ditto.
11973 (_mm512_expand_pd): Ditto.
11974 (_mm512_expand_ps): Ditto.
11975 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
11976 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
11977 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
11978 * config/i386/i386.c (ix86_builtins): Add
11979 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
11980 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
11981 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
11982 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
11983 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
11984 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
11985 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
11986 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
11987 IX86_BUILTIN_PMOVUSQW512_MEM.
11988 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
11989 __builtin_ia32_pmovsqd512mem_mask,
11990 __builtin_ia32_pmovqd512mem_mask,
11991 __builtin_ia32_pmovusqw512mem_mask,
11992 __builtin_ia32_pmovsqw512mem_mask,
11993 __builtin_ia32_pmovqw512mem_mask,
11994 __builtin_ia32_pmovusdw512mem_mask,
11995 __builtin_ia32_pmovsdw512mem_mask,
11996 __builtin_ia32_pmovdw512mem_mask,
11997 __builtin_ia32_pmovqb512mem_mask,
11998 __builtin_ia32_pmovusqb512mem_mask,
11999 __builtin_ia32_pmovsqb512mem_mask,
12000 __builtin_ia32_pmovusdb512mem_mask,
12001 __builtin_ia32_pmovsdb512mem_mask,
12002 __builtin_ia32_pmovdb512mem_mask.
12003 (bdesc_args): Add __builtin_ia32_expanddf512,
12004 __builtin_ia32_expandsf512.
12005 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
12006 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
12007 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
12008 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
12009 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
12010 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
12011 (avx512f_<code>v8div16qi2_mask_store): This.
12012 (avx512f_expand<mode>): New.
12013
e711dffd
KY
120142014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
12015
1287ae50 12016 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 12017 New.
e711dffd
KY
12018 (_mm512_mask_prefetch_i64gather_pd): Ditto.
12019 (_mm512_prefetch_i32scatter_pd): Ditto.
12020 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
12021 (_mm512_prefetch_i64scatter_pd): Ditto.
12022 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
12023 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
12024 (_mm512_mask_prefetch_i64gather_ps): Ditto.
12025 (_mm512_prefetch_i32scatter_ps): Ditto.
12026 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
12027 (_mm512_prefetch_i64scatter_ps): Ditto.
12028 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
12029 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
12030 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
12031 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
12032 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
12033 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
12034 IX86_BUILTIN_SCATTERPFQPD.
12035 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
12036 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
12037 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
12038 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
12039 __builtin_ia32_scatterpfqps.
12040 (ix86_expand_builtin): Expand new built-ins.
12041 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
12042 fix memory access data type.
12043 (*avx512pf_gatherpf<mode>_mask): Ditto.
12044 (*avx512pf_gatherpf<mode>): Ditto.
12045 (avx512pf_scatterpf<mode>): Ditto.
12046 (*avx512pf_scatterpf<mode>_mask): Ditto.
12047 (*avx512pf_scatterpf<mode>): Ditto.
12048 (GATHER_SCATTER_SF_MEM_MODE): New.
12049 (avx512pf_gatherpf<mode>df): Ditto.
12050 (*avx512pf_gatherpf<mode>df_mask): Ditto.
12051 (*avx512pf_scatterpf<mode>df): Ditto.
12052
904e5ccd
JJ
120532014-01-27 Jakub Jelinek <jakub@redhat.com>
12054
12055 PR bootstrap/59934
12056 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
12057 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
12058 reached.
12059
84e90123
JG
120602014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
12061
12062 * common/config/arm/arm-common.c
12063 (arm_rewrite_mcpu): Handle multiple names.
12064 * config/arm/arm.h
12065 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
12066
c6f6157a
JG
120672014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
12068
12069 * gimple-builder.h (create_gimple_tmp): Delete.
12070
770516c9
CB
120712014-01-27 Christian Bruel <christian.bruel@st.com>
12072
12073 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
12074 words comparisons.
12075
cc5cec10
JDA
120762014-01-26 John David Anglin <danglin@gcc.gnu.org>
12077
5aa3c762
JDA
12078 * config/pa/pa.md (call): Generate indirect long calls to non-local
12079 functions when outputing 32-bit code.
12080 (call_value): Likewise except for special call to buggy powf function.
12081
cc5cec10
JDA
12082 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
12083 portable runtime and PIC indirect calls.
12084 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
12085 and PIC call sequences. Use ldo instead of blr to set return register
12086 in PIC call sequence.
12087
6bb0e248
WL
120882014-01-25 Walter Lee <walt@tilera.com>
12089
12090 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
12091 avoid clobbering a live register.
12092
dab03fe3
WL
120932014-01-25 Walter Lee <walt@tilera.com>
12094
770516c9 12095 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 12096 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 12097 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
12098 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
12099
905c20c1
WL
121002014-01-25 Walter Lee <walt@tilera.com>
12101
12102 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
12103 arguments on even registers.
12104 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
12105 STACK_BOUNDARY.
12106 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
12107 (BIGGEST_ALIGNMENT): Ditto.
12108 (BIGGEST_FIELD_ALIGNMENT): Ditto.
12109
8e90a625
WL
121102014-01-25 Walter Lee <walt@tilera.com>
12111
12112 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
12113 insns before bundling.
0ebe2584 12114 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 12115
450c1ffe
WL
121162014-01-25 Walter Lee <walt@tilera.com>
12117
12118 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
12119 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
12120 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 12121
450c1ffe 121222014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 12123
317a951f
RS
12124 * config/mips/constraints.md (kl): Delete.
12125 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
12126 define expands, using...
12127 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
12128 instructions for MIPS16.
12129 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
12130 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
12131
3abe9053
WL
121322014-01-25 Walter Lee <walt@tilera.com>
12133
0ebe2584 12134 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
12135 (clzdi2): Ditto.
12136 (ffsdi2): Ditto.
12137
b0e0fe41
WL
121382014-01-25 Walter Lee <walt@tilera.com>
12139
12140 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
12141 (TARGET_EXPAND_TO_RTL_HOOK): Define.
12142
2c8798a2
RS
121432014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
12144
12145 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
12146 Handle XOR.
12147
2105be5a
JJ
121482014-01-25 Jakub Jelinek <jakub@redhat.com>
12149
4def6060
JJ
12150 * print-rtl.c (in_call_function_usage): New var.
12151 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
12152 EXPR_LIST mode as mode and not as reg note name.
12153
2105be5a
JJ
12154 PR middle-end/59561
12155 * cfgloopmanip.c (copy_loop_info): If
12156 loop->warned_aggressive_loop_optimizations, make sure
12157 the flag is set in target loop too.
12158
b72271b9
BI
121592014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
12160
12161 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
12162 flag_cilkplus.
12163 * builtins.def: Likewise.
12164 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
12165 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
12166 * ira.c (ira_setup_eliminable_regset): Likewise.
12167 * omp-low.c (gate_expand_omp): Likewise.
12168 (execute_lower_omp): Likewise.
12169 (diagnose_sb_0): Likewise.
12170 (gate_diagnose_omp_blocks): Likewise.
12171 (simd_clone_clauses_extract): Likewise.
12172 (gate): Likewise.
12173
8adcc78b
BS
121742014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12175
12176 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
12177 correction for little endian...
12178 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
12179 here.
12180
3d750496
JL
121812014-01-24 Jeff Law <law@redhat.com>
12182
12183 PR tree-optimization/59919
12184 * tree-vrp.c (find_assert_locations_1): Do not register asserts
12185 for non-returning calls.
12186
1c05df59
JG
121872014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
12188
12189 * common/config/aarch64/aarch64-common.c
12190 (aarch64_rewrite_mcpu): Handle multiple names.
12191 * config/aarch64/aarch64.h
12192 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
12193
317363b4
DS
121942014-01-24 Dodji Seketeli <dodji@redhat.com>
12195
12196 * input.c (add_file_to_cache_tab): Handle the case where fopen
12197 returns NULL.
12198
16370fa7
L
121992014-01-23 H.J. Lu <hongjiu.lu@intel.com>
12200
12201 PR target/59929
12202 * config/i386/i386.md (pushsf splitter): Get stack adjustment
12203 from push operand if code of push isn't PRE_DEC.
12204
b846c948
MM
122052014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
12206
12207 PR target/59909
12208 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
12209 -mquad-memory-atomic. Update -mquad-memory documentation to say
12210 it is only used for non-atomic loads/stores.
12211
12212 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
12213 -mquad-memory or -mquad-memory-atomic switches.
12214
12215 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
12216 -mquad-memory-atomic to ISA 2.07 support.
12217
12218 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
12219 to separate support of normal quad word memory operations (ldq, stq)
12220 from the atomic quad word memory operations.
b846c948
MM
12221
12222 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
12223 support to separate non-atomic quad word operations from atomic
12224 quad word operations. Disable non-atomic quad word operations in
12225 little endian mode so that we don't have to swap words after the
12226 load and before the store.
12227 (quad_load_store_p): Add comment about atomic quad word support.
12228 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
12229 options printed with -mdebug=reg.
12230
12231 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
12232 -mquad-memory-atomic as the test for whether we have quad word
12233 atomic instructions.
0ebe2584
ASJ
12234 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
12235 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
12236
12237 * config/rs6000/sync.md (load_lockedti): Insure that the address
12238 is a proper indexed or indirect address for the lqarx instruction.
12239 On little endian systems, swap the hi/lo registers after the lqarx
12240 instruction.
12241 (load_lockedpti): Use indexed_or_indirect_operand predicate to
12242 insure the address is valid for the lqarx instruction.
12243 (store_conditionalti): Insure that the address is a proper indexed
12244 or indirect address for the stqcrx. instruction. On little endian
12245 systems, swap the hi/lo registers before doing the stqcrx.
12246 instruction.
12247 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
12248 insure the address is valid for the stqcrx. instruction.
12249
12250 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
12251 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
12252 type of quad memory support is available.
12253
6e23f296
VM
122542014-01-23 Vladimir Makarov <vmakarov@redhat.com>
12255
12256 PR regression/59915
12257 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
12258 there is a danger of looping.
12259
0a4f04e5
PH
122602014-01-23 Pat Haugen <pthaugen@us.ibm.com>
12261
12262 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
12263 force flag_ira_loop_pressure if set via command line.
12264
f9a4c9a6
AV
122652014-01-23 Alex Velenko <Alex.Velenko@arm.com>
12266
12267 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
12268 (ashr_simd): New builtin handling DI mode.
12269 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
12270 (aarch64_sshr_simddi): New match pattern.
12271 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
12272 (vshrd_n_s64): Likewise.
12273 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
12274
949ad971
NC
122752014-01-23 Nick Clifton <nickc@redhat.com>
12276
12277 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
12278 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
12279 favour of mcu specific scripts.
12280 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
12281 430x multilibs.
12282
d5ecead9
JG
122832014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
12284 Alex Velenko <Alex.Velenko@arm.com>
12285
12286 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
12287 (vaddv_s16): Likewise.
12288 (vaddv_s32): Likewise.
12289 (vaddv_u8): Likewise.
12290 (vaddv_u16): Likewise.
12291 (vaddv_u32): Likewise.
12292 (vaddvq_s8): Likewise.
12293 (vaddvq_s16): Likewise.
12294 (vaddvq_s32): Likewise.
12295 (vaddvq_s64): Likewise.
12296 (vaddvq_u8): Likewise.
12297 (vaddvq_u16): Likewise.
12298 (vaddvq_u32): Likewise.
12299 (vaddvq_u64): Likewise.
12300 (vaddv_f32): Likewise.
12301 (vaddvq_f32): Likewise.
12302 (vaddvq_f64): Likewise.
12303 (vmaxv_f32): Likewise.
12304 (vmaxv_s8): Likewise.
12305 (vmaxv_s16): Likewise.
12306 (vmaxv_s32): Likewise.
12307 (vmaxv_u8): Likewise.
12308 (vmaxv_u16): Likewise.
12309 (vmaxv_u32): Likewise.
12310 (vmaxvq_f32): Likewise.
12311 (vmaxvq_f64): Likewise.
12312 (vmaxvq_s8): Likewise.
12313 (vmaxvq_s16): Likewise.
12314 (vmaxvq_s32): Likewise.
12315 (vmaxvq_u8): Likewise.
12316 (vmaxvq_u16): Likewise.
12317 (vmaxvq_u32): Likewise.
12318 (vmaxnmv_f32): Likewise.
12319 (vmaxnmvq_f32): Likewise.
12320 (vmaxnmvq_f64): Likewise.
12321 (vminv_f32): Likewise.
12322 (vminv_s8): Likewise.
12323 (vminv_s16): Likewise.
12324 (vminv_s32): Likewise.
12325 (vminv_u8): Likewise.
12326 (vminv_u16): Likewise.
12327 (vminv_u32): Likewise.
12328 (vminvq_f32): Likewise.
12329 (vminvq_f64): Likewise.
12330 (vminvq_s8): Likewise.
12331 (vminvq_s16): Likewise.
12332 (vminvq_s32): Likewise.
12333 (vminvq_u8): Likewise.
12334 (vminvq_u16): Likewise.
12335 (vminvq_u32): Likewise.
12336 (vminnmv_f32): Likewise.
12337 (vminnmvq_f32): Likewise.
12338 (vminnmvq_f64): Likewise.
12339
1dd055a2
JG
123402014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
12341
12342 * config/aarch64/aarch64-simd.md
12343 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
12344 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
12345 (*aarch64_mul3_elt<mode>): Likewise.
12346 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
12347 (*aarch64_mul3_elt_to_64v2df): Likewise.
12348 (*aarch64_mla_elt<mode>): Likewise.
12349 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
12350 (*aarch64_mls_elt<mode>): Likewise.
12351 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
12352 (*aarch64_fma4_elt<mode>): Likewise.
12353 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
12354 (*aarch64_fma4_elt_to_64v2df): Likewise.
12355 (*aarch64_fnma4_elt<mode>): Likewise.
12356 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
12357 (*aarch64_fnma4_elt_to_64v2df): Likewise.
12358 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
12359 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
12360 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
12361 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
12362 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
12363 (aarch64_sqdmull_lane<mode>_internal): Likewise.
12364 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
12365
dafb9b64
AV
123662013-01-23 Alex Velenko <Alex.Velenko@arm.com>
12367
12368 * config/aarch64/aarch64-simd.md
12369 (aarch64_be_checked_get_lane<mode>): New define_expand.
12370 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 12371 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
12372 New builtin definition.
12373 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
12374 Use new safe be builtin.
12375
89b4515c
AV
123762014-01-23 Alex Velenko <Alex.Velenko@arm.com>
12377
12378 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
12379 New define_insn.
12380 (aarch64_be_st1<mode>): Likewise.
12381 (aarch_ld1<VALL:mode>): Define_expand modified.
12382 (aarch_st1<VALL:mode>): Likewise.
12383 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
12384 (UNSPEC_ST1): Likewise.
12385
4bb66ef3 123862014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
12387
12388 * config/microblaze/microblaze.md: Add trap insn and attribute
12389
7ecc3eb9
DS
123902014-01-23 Dodji Seketeli <dodji@redhat.com>
12391
12392 PR preprocessor/58580
12393 * input.h (location_get_source_line): Take an additional line_size
12394 parameter.
12395 (void diagnostics_file_cache_fini): Declare new function.
12396 * input.c (struct fcache): New type.
12397 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
12398 New static constants.
12399 (diagnostic_file_cache_init, total_lines_num)
12400 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
12401 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
12402 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
12403 (get_next_line, read_next_line, goto_next_line, read_line_num):
12404 New static function definitions.
12405 (diagnostic_file_cache_fini): New function.
12406 (location_get_source_line): Take an additional output line_len
12407 parameter. Re-write using lookup_or_add_file_to_cache_tab and
12408 read_line_num.
12409 * diagnostic.c (diagnostic_finish): Call
12410 diagnostic_file_cache_fini.
12411 (adjust_line): Take an additional input parameter for the length
12412 of the line, rather than calculating it with strlen.
12413 (diagnostic_show_locus): Adjust the use of
12414 location_get_source_line and adjust_line with respect to their new
12415 signature. While displaying a line now, do not stop at the first
12416 null byte. Rather, display the zero byte as a space and keep
12417 going until we reach the size of the line.
12418 * Makefile.in: Add vec.o to OBJS-libcommon
12419
2196a885 124202014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
40c0a159 12421 Ilya Tocar <ilya.tocar@intel.com>
2196a885
KY
12422
12423 * config/i386/avx512fintrin.h (_mm512_kmov): New.
12424 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
12425 (__builtin_ia32_kmov16): Ditto.
12426 * config/i386/i386.md (UNSPEC_KMOV): New.
12427 (kmovw): Ditto.
12428
70473c63
KY
124292014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
12430
12431 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
12432 (_mm512_storeu_si512): Ditto.
12433
f9ae4df8
RS
124342014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
12435
12436 PR target/52125
12437 * rtl.h (get_referenced_operands): Declare.
12438 * recog.c (get_referenced_operands): New function.
12439 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
12440 operands have been referenced when recording LO_SUM references.
12441
4bb66ef3 124422014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
12443
12444 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
12445
39960d1c 124462014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
12447
12448 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
12449 Enable for generic and recent AMD targets.
12450
39960d1c 124512014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
12452
12453 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
12454 ARG_SIZE note when adjustment was eliminated.
12455
bb50b870
JL
124562014-01-22 Jeff Law <law@redhat.com>
12457
12458 PR tree-optimization/59597
12459 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
12460 in file. Accept new argument REGISTERING and use it to modify
12461 dump output appropriately.
12462 (register_jump_thread): Corresponding changes.
12463 (mark_threaded_blocks): Reinstate code to cancel unprofitable
12464 thread paths involving joiner blocks. Add code to dump cancelled
12465 jump threading paths.
12466
df2980be
VM
124672014-01-22 Vladimir Makarov <vmakarov@redhat.com>
12468
12469 PR rtl-optimization/59477
12470 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 12471 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 12472
1bb99900
TT
124732014-01-22 Tom Tromey <tromey@redhat.com>
12474
12475 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
12476 PARAMS.
12477 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
12478
9102dadd
VM
124792014-01-21 Vladimir Makarov <vmakarov@redhat.com>
12480
12481 PR rtl-optimization/59896
12482 * lra-constraints.c (process_alt_operands): Check unused note for
12483 matched operands of insn with no output reloads.
12484
ca376eb8
RS
124852014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
12486
12487 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
12488 (mips_move_from_gpr_cost): Likewise.
12489
a9711f36
VM
124902014-01-21 Vladimir Makarov <vmakarov@redhat.com>
12491
12492 PR rtl-optimization/59858
12493 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
12494 ira_class_hard_regs_num.
12495 (process_alt_operands): Increase reject for dying matched operand.
12496
f8ea7cb0
JJ
124972014-01-21 Jakub Jelinek <jakub@redhat.com>
12498
12499 PR target/59003
12500 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
12501 smaller than size, perform several stores or loads and stores
12502 at dst + count - size to store or copy all of size bytes, rather
12503 than just last modesize bytes.
12504
84db09e3
DD
125052014-01-20 DJ Delorie <dj@redhat.com>
12506
12507 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
12508 that CLOBBERs are REGs before propogating their values.
12509
1cf11770
L
125102014-01-20 H.J. Lu <hongjiu.lu@intel.com>
12511
12512 PR middle-end/59789
12513 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
12514 (cgraph_inline_failed_type): New function.
12515 * cgraph.h (DEFCIFCODE): Add type.
12516 (cgraph_inline_failed_type_t): New enum.
12517 (cgraph_inline_failed_type): New prototype.
12518 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
12519 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
12520 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
12521 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
12522 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
12523 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
12524 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 12525 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
12526 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
12527 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
12528 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
12529 OPTIMIZATION_MISMATCH.
12530 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 12531 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 12532
8586e4bd
UB
125332014-01-20 Uros Bizjak <ubizjak@gmail.com>
12534
12535 PR target/59685
12536 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
12537 mode attribute in insn output.
12538
99482090
EB
125392014-01-20 Eric Botcazou <ebotcazou@adacore.com>
12540
12541 * output.h (output_constant): Delete.
12542 * varasm.c (output_constant): Make private.
12543
ede23272
AV
125442014-01-20 Alex Velenko <Alex.Velenko@arm.com>
12545
12546 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
12547
9a7eefec
JJ
125482014-01-20 Jakub Jelinek <jakub@redhat.com>
12549
12550 PR middle-end/59860
12551 * tree.h (fold_builtin_strcat): New prototype.
12552 * builtins.c (fold_builtin_strcat): No longer static. Add len
12553 argument, if non-NULL, don't call c_strlen. Optimize
12554 directly into __builtin_memcpy instead of __builtin_strcpy.
12555 (fold_builtin_2): Adjust fold_builtin_strcat caller.
12556 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
12557
3e729145
UB
125582014-01-20 Uros Bizjak <ubizjak@gmail.com>
12559
12560 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
12561 for SImode_address_operand operands, having only a REG argument.
12562
eee0e487
MS
125632014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
12564
12565 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
12566 loader name using mbig-endian.
12567 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
12568
9e540e37
JG
125692014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
12570
12571 * doc/invoke.texi (-march): Clarify documentation for AArch64.
12572 (-mtune): Likewise.
12573 (-mcpu): Likewise.
12574
69675d50
TB
125752014-01-20 Tejas Belagod <tejas.belagod@arm.com>
12576
12577 * config/aarch64/aarch64-protos.h
12578 (aarch64_cannot_change_mode_class_ptr): Declare.
12579 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
12580 aarch64_cannot_change_mode_class_ptr): New.
12581 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
12582 backend hook aarch64_cannot_change_mode_class.
12583
ffee7aa9
JG
125842014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
12585
12586 * common/config/aarch64/aarch64-common.c
12587 (aarch64_handle_option): Don't handle any option order logic here.
12588 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
12589 selected_cpu, warn on architecture version mismatch.
12590 (aarch64_override_options): Fix parsing order for option strings.
12591
c7169779
JBG
125922014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12593 Iain Sandoe <iain@codesourcery.com>
12594
12595 PR bootstrap/59496
12596 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
12597 warning. Amend comment to reflect current functionality.
12598
409b6ac1
RB
125992014-01-20 Richard Biener <rguenther@suse.de>
12600
12601 PR middle-end/59860
12602 * builtins.c (fold_builtin_strcat): Remove case better handled
12603 by tree-ssa-strlen.c.
12604
608df31f
AL
126052014-01-20 Alan Lawrence <alan.lawrence@arm.com>
12606
12607 * config/aarch64/aarch64.opt
12608 (mcpu, march, mtune): Make case-insensitive.
12609
0fabe5f3
JJ
126102014-01-20 Jakub Jelinek <jakub@redhat.com>
12611
12612 PR target/59880
12613 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
12614 if operands[1] is a REG or ZERO_EXTEND of a REG.
12615
39960d1c 126162014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
12617
12618 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
12619
925cb97d
JDA
126202014-01-19 John David Anglin <danglin@gcc.gnu.org>
12621
12622 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
12623 long non-pic millicode calls.
12624
f43856db
JBG
126252014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12626
12627 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
12628
d2be9965
ILT
126292014-01-19 Kito Cheng <kito@0xlab.org>
12630
12631 * builtins.c (expand_movstr): Check movstr expand done or fail.
12632
efc90043
UB
126332014-01-18 Uros Bizjak <ubizjak@gmail.com>
12634 H.J. Lu <hongjiu.lu@intel.com>
12635
12636 PR target/59379
12637 * config/i386/i386.md (*lea<mode>): Zero-extend return register
12638 to DImode for zero-extended addresses.
12639
8fce217e
JJ
126402014-01-19 Jakub Jelinek <jakub@redhat.com>
12641
12642 PR rtl-optimization/57763
12643 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
12644 on the new indirect jump_insn and increment LABEL_NUSES (label).
12645
efc90043 126462014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
12647
12648 PR bootstrap/59580
12649 PR bootstrap/59583
12650 * config.gcc (x86_archs): New variable.
12651 (x86_64_archs): Likewise.
12652 (x86_cpus): Likewise.
12653 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
12654 --with-arch/--with-cpu= options.
12655 Support --with-arch=/--with-cpu={nehalem,westmere,
12656 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
12657
7f3af6d3
UB
126582014-01-18 Uros Bizjak <ubizjak@gmail.com>
12659
12660 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
12661 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
12662
126632014-01-18 Uros Bizjak <ubizjak@gmail.com>
12664
12665 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
12666
fa5d6c75
JJ
126672014-01-18 Jakub Jelinek <jakub@redhat.com>
12668
12669 PR target/58944
12670 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
12671 clear cpp_get_options (parse_in)->warn_unused_macros for
12672 ix86_target_macros_internal with cpp_define.
12673
04da5680
RS
126742014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
12675
12676 * jump.c (delete_related_insns): Keep (use (insn))s.
12677 * reorg.c (redundant_insn): Check for barriers too.
12678
1e99bee5
L
126792014-01-17 H.J. Lu <hongjiu.lu@intel.com>
12680
7f3af6d3 12681 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 12682
fa7d0c60
JDA
126832014-01-17 John David Anglin <danglin@gcc.gnu.org>
12684
12685 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
12686 call to $$dyncall when TARGET_LONG_CALLS is true.
12687
2043135a
JL
126882014-01-17 Jeff Law <law@redhat.com>
12689
12690 * ree.c (combine_set_extension): Temporarily disable test for
12691 changing number of hard registers.
12692
39960d1c 126932014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
12694
12695 PR middle-end/58125
12696 * ipa-inline-analysis.c (inline_free_summary):
12697 Do not free summary of aliases.
12698
664ceb1e
JJ
126992014-01-17 Jakub Jelinek <jakub@redhat.com>
12700
12701 PR middle-end/59706
12702 * gimplify.c (gimplify_expr): Use create_tmp_var
12703 instead of create_tmp_var_raw. If cond doesn't have
12704 integral type, don't add the IFN_ANNOTATE builtin at all.
12705
aef83682
MJ
127062014-01-17 Martin Jambor <mjambor@suse.cz>
12707
12708 PR ipa/59736
12709 * ipa-cp.c (prev_edge_clone): New variable.
12710 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
12711 Also resize prev_edge_clone vector.
12712 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
12713 (ipcp_edge_removal_hook): New function.
12714 (ipcp_driver): Register ipcp_edge_removal_hook.
12715
4bb66ef3 127162014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
12717 Steve Ellcey <sellcey@mips.com>
12718
12719 PR target/59462
12720 * config/mips/mips.c (mips_print_operand): Check operand mode instead
12721 of operator mode.
12722
4ee5c752
JL
127232014-01-17 Jeff Law <law@redhat.com>
12724
12725 PR middle-end/57904
12726 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
12727 so that pass_ccp runs first.
12728
40cfac7c
L
127292014-01-17 H.J. Lu <hongjiu.lu@intel.com>
12730
12731 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
12732 (ix86_adjust_cost): Use !TARGET_XXX.
12733 (do_reorder_for_imul): Likewise.
12734 (swap_top_of_ready_list): Likewise.
12735 (ix86_sched_reorder): Likewise.
12736
9a7f94d7
L
127372014-01-17 H.J. Lu <hongjiu.lu@intel.com>
12738
12739 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
12740 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
12741 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
12742 (intel_memset): New. Duplicate slm_memset.
12743 (intel_cost): New. Duplicate slm_cost.
12744 (m_INTEL): New macro.
12745 (processor_target_table): Add "intel".
12746 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
12747 with PROCESSOR_INTEL for "intel".
12748 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
12749 PROCESSOR_SILVERMONT.
9a7f94d7
L
12750 (ix86_issue_rate): Likewise.
12751 (ix86_adjust_cost): Likewise.
12752 (ia32_multipass_dfa_lookahead): Likewise.
12753 (swap_top_of_ready_list): Likewise.
12754 (ix86_sched_reorder): Likewise.
8cdcf750
L
12755 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
12756 instead of TARGET_OPT_AGU.
9a7f94d7
L
12757 * config/i386/i386.h (TARGET_INTEL): New.
12758 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
12759 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
12760 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
12761 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 12762
30078c0a
MP
127632014-01-17 Marek Polacek <polacek@redhat.com>
12764
12765 PR c/58346
12766 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
12767 size is zero.
12768
14379e66
RB
127692014-01-17 Richard Biener <rguenther@suse.de>
12770
12771 PR tree-optimization/46590
12772 * opts.c (default_options_table): Add entries for
12773 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
12774 all enabled at -O1 but not for -Og.
12775 * common.opt (fbranch-count-reg): Remove Init(1).
12776 (fmove-loop-invariants): Likewise.
12777 (ftree-pta): Likewise.
12778
f7d594d2
JJ
127792014-01-17 Jakub Jelinek <jakub@redhat.com>
12780
88e18bd5
JJ
12781 * config/i386/i386.c (ix86_data_alignment): For compatibility with
12782 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
12783 decls to at least the GCC 4.8 used alignments.
12784
f7d594d2
JJ
12785 PR fortran/59440
12786 * tree-nested.c (convert_nonlocal_reference_stmt,
12787 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
12788 of GIMPLE_BIND stmts, adjust associated decls.
12789
32500433
RB
127902014-01-17 Richard Biener <rguenther@suse.de>
12791
12792 PR tree-optimization/46590
12793 * vec.h (vec<>::bseach): New member function implementing
12794 binary search according to C89 bsearch.
12795 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
12796 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
12797 bitmap pointer again. Make accesses_in_loop a flat array.
12798 (mem_ref_obstack): New global.
12799 (outermost_indep_loop): Adjust for mem_ref->stored changes.
12800 (mark_ref_stored): Likewise.
12801 (ref_indep_loop_p_2): Likewise.
12802 (set_ref_stored_in_loop): New helper function.
12803 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
12804 (memref_free): Adjust.
12805 (record_mem_ref_loc): Simplify.
12806 (gather_mem_refs_stmt): Adjust.
12807 (sort_locs_in_loop_postorder_cmp): New function.
12808 (analyze_memory_references): Sort accesses_in_loop after
12809 loop postorder number.
12810 (find_ref_loc_in_loop_cmp): New function.
12811 (for_all_locs_in_loop): Find relevant cluster of locs in
12812 accesses_in_loop and iterate without recursion.
12813 (execute_sm): Avoid uninit warning.
12814 (struct ref_always_accessed): Simplify.
12815 (ref_always_accessed::operator ()): Likewise.
12816 (ref_always_accessed_p): Likewise.
12817 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
12818 loop postorder numbers here.
12819 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
12820 numbers.
12821
24fcf4bc
JJ
128222014-01-17 Jan Hubicka <hubicka@ucw.cz>
12823
12824 PR c++/57945
12825 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
12826 on decls for which assemble_alias has been called.
12827
d4f283a1
NC
128282014-01-17 Nick Clifton <nickc@redhat.com>
12829
12830 * config/msp430/msp430.opt: (mcpu): New option.
12831 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
12832 (msp430_option_override): Parse target_cpu. If the MCU name
12833 matches a generic string, clear target_mcu.
12834 (msp430_attr): Allow numeric interrupt values up to 63.
12835 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
12836 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
12837 option.
12838 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
12839 Add mcpu matches.
12840 * config/msp430/msp430.md (popm): Use %J rather than %I.
12841 (addsi3): Use msp430_nonimmediate_operand for operand 2.
12842 (addhi_cy_i): Use immediate_operand for operand 2.
12843 * doc/invoke.texi: Document -mcpu option.
12844
7be64667
RB
128452014-01-17 Richard Biener <rguenther@suse.de>
12846
12847 PR rtl-optimization/38518
12848 * df.h (df_analyze_loop): Declare.
12849 * df-core.c: Include cfgloop.h.
12850 (df_analyze_1): Split out main part of df_analyze.
12851 (df_analyze): Adjust.
12852 (loop_inverted_post_order_compute): New function.
12853 (loop_post_order_compute): Likewise.
12854 (df_analyze_loop): New function avoiding whole-function
12855 postorder computes.
12856 * loop-invariant.c (find_defs): Use df_analyze_loop.
12857 (find_invariants): Adjust.
12858 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
12859
82a197a2
ZC
128602014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
12861
12862 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
12863 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
12864
c68b3f52
IE
128652014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
12866
12867 * ipa-ref.c (ipa_remove_stmt_references): Fix references
12868 traversal when removing references.
12869
39960d1c 128702014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
12871
12872 PR ipa/59775
12873 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
12874
9e6f9ad6
BS
128752014-01-16 Bernd Schmidt <bernds@codesourcery.com>
12876
12877 PR middle-end/56791
12878 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
12879 pushing a reload for an autoinc when we had previously reloaded an
12880 inner part of the address.
12881
a611d7cb
JJ
128822014-01-16 Jakub Jelinek <jakub@redhat.com>
12883
d1417442
JJ
12884 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
12885 field.
12886 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
12887 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
12888 when not giving up or versioning for alias only because of
12889 loop->safelen.
12890 (vect_analyze_data_ref_dependences): Set to true.
12891 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
12892 is a GIMPLE_PHI.
12893 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
12894 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
12895 to the condition.
12896
42ed6cde
JJ
12897 PR middle-end/58344
12898 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
12899
a611d7cb 12900 PR target/59839
7f3af6d3
UB
12901 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
12902 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 12903
8f21260c
VM
129042014-01-16 Vladimir Makarov <vmakarov@redhat.com>
12905
12906 PR middle-end/59609
7f3af6d3
UB
12907 * lra-constraints.c (process_alt_operands): Add printing debug info.
12908 Check absence of input/output reloads for matched operands too.
8f21260c 12909
1a788c05
VM
129102014-01-16 Vladimir Makarov <vmakarov@redhat.com>
12911
12912 PR rtl-optimization/59835
12913 * ira.c (ira_init_register_move_cost): Increase cost for
12914 impossible modes.
12915
4cf24d27
AL
129162014-01-16 Alan Lawrence <alan.lawrence@arm.com>
12917
cc3a9f0d 12918 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 12919
030d03b8
RE
129202014-01-16 Richard Earnshaw <rearnsha@arm.com>
12921
12922 PR target/59780
12923 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
12924 non-register objects. Use gen_(high/low)part more consistently.
12925 Fix assertions.
12926
e78f06a8
MM
129272014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
12928
12929 PR target/59844
12930 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
12931 endian support, remove tests for WORDS_BIG_ENDIAN.
12932 (p8_mfvsrd_3_<mode>): Likewise.
12933 (reload_gpr_from_vsx<mode>): Likewise.
12934 (reload_gpr_from_vsxsf): Likewise.
12935 (p8_mfvsrd_4_disf): Likewise.
12936
9d1ae52c
RB
129372014-01-16 Richard Biener <rguenther@suse.de>
12938
12939 PR rtl-optimization/46590
12940 * lcm.c (compute_antinout_edge): Use postorder iteration.
12941 (compute_laterin): Use inverted postorder iteration.
12942
54c7a7f3
NC
129432014-01-16 Nick Clifton <nickc@redhat.com>
12944
12945 PR middle-end/28865
12946 * varasm.c (output_constant): Return the number of bytes actually
12947 emitted.
12948 (output_constructor_array_range): Update the field size with the
12949 number of bytes emitted by output_constant.
12950 (output_constructor_regular_field): Likewise. Also do not
12951 complain if the total number of bytes emitted is now greater
12952 than the expected fieldpos.
7f3af6d3 12953 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 12954
5147d10a
MP
129552014-01-16 Marek Polacek <polacek@redhat.com>
12956
12957 PR middle-end/59827
12958 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
12959 it is error_mark_node.
12960
4ac005ba
UB
129612014-01-15 Uros Bizjak <ubizjak@gmail.com>
12962
12963 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
12964 VALID_AVX256_REG_OR_OI_MODE.
12965
5d7574fa
PH
129662014-01-15 Pat Haugen <pthaugen@us.ibm.com>
12967
12968 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
12969 current procedure should be profiled.
12970
6ee70f81
AP
129712014-01-15 Andrew Pinski <apinski@cavium.com>
12972
12973 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
12974 of moving from/to the STACK_REG register class.
12975
004a7e45 129762014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
12977
12978 PR debug/54694
12979 * reginfo.c (global_regs_decl): Globalize.
12980 * rtl.h (global_regs_decl): Declare.
12981 * ira.c (do_reload): Diagnose frame_pointer_needed and it
12982 reserved via global_regs.
12983
4583fada
TJ
129842014-01-15 Teresa Johnson <tejohnson@google.com>
12985
12986 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
12987
d13dfec8
BS
129882014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
12989
12990 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
12991 and vmulosh rather than call gen_vec_widen_smult_*.
12992 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
12993 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
12994 (vec_widen_smult_even_v16qi): Likewise.
12995 (vec_widen_umult_even_v8hi): Likewise.
12996 (vec_widen_smult_even_v8hi): Likewise.
12997 (vec_widen_umult_odd_v16qi): Likewise.
12998 (vec_widen_smult_odd_v16qi): Likewise.
12999 (vec_widen_umult_odd_v8hi): Likewise.
13000 (vec_widen_smult_odd_v8hi): Likewise.
13001 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
13002 vmuloub rather than call gen_vec_widen_umult_*.
13003 (vec_widen_umult_lo_v16qi): Likewise.
13004 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
13005 vmulosb rather than call gen_vec_widen_smult_*.
13006 (vec_widen_smult_lo_v16qi): Likewise.
13007 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
13008 rather than call gen_vec_widen_umult_*.
13009 (vec_widen_umult_lo_v8hi): Likewise.
13010 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
13011 rather than call gen_vec_widen_smult_*.
13012 (vec_widen_smult_lo_v8hi): Likewise.
13013
a6a2d67b
JL
130142014-01-15 Jeff Law <law@redhat.com>
13015
13016 PR tree-optimization/59747
13017 * ree.c (find_and_remove_re): Properly handle case where a second
13018 eliminated extension requires widening a copy created for elimination
13019 of a prior extension.
13020 (combine_set_extension): Ensure that the number of hard regs needed
13021 for a destination register does not change when we widen it.
13022
aefe4056
SH
130232014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
13024
13025 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
13026 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
13027 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
13028 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
13029 (avr-*-rtems*): Likewise.
13030 (bfin*-rtems*): Likewise.
13031 (moxie-*-rtems*): Likewise.
13032 (h8300-*-rtems*): Likewise.
13033 (i[34567]86-*-rtems*): Likewise.
13034 (lm32-*-rtems*): Likewise.
13035 (m32r-*-rtems*): Likewise.
13036 (m68k-*-rtems*): Likewise.
13037 (microblaze*-*-rtems*): Likewise.
13038 (mips*-*-rtems*): Likewise.
13039 (powerpc-*-rtems*): Likewise.
13040 (sh-*-rtems*): Likewise.
13041 (sparc-*-rtems*): Likewise.
13042 (sparc64-*-rtems*): Likewise.
13043 (v850-*-rtems*): Likewise.
13044 (m32c-*-rtems*): Likewise.
13045
fef37404
VM
130462014-01-15 Vladimir Makarov <vmakarov@redhat.com>
13047
13048 PR rtl-optimization/59511
13049 * ira.c (ira_init_register_move_cost): Use memory costs for some
13050 cases of register move cost calculations.
13051 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
13052 instead of BB frequency.
13053 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
13054 * lra-assigns.c (find_hard_regno_for): Ditto.
13055
6b916b36
RB
130562014-01-15 Richard Biener <rguenther@suse.de>
13057
13058 PR tree-optimization/59822
13059 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
13060 (vectorizable_load): Use it to hoist defs of uses of invariant
13061 loads out of the loop.
13062
d103f29b 130632014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 13064 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
13065
13066 PR target/59695
13067 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
13068 truncation.
13069
95cb8697
RB
130702014-01-15 Richard Biener <rguenther@suse.de>
13071
13072 PR rtl-optimization/59802
13073 * lcm.c (compute_available): Use inverted postorder to seed
13074 the initial worklist.
13075
cb4b6d17
AK
130762014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13077
1c8b5303 13078 PR target/59803
cb4b6d17
AK
13079 * config/s390/s390.c (s390_preferred_reload_class): Don't return
13080 ADDR_REGS for invalid symrefs in non-PIC code.
13081
2738b4c7
JJ
130822014-01-15 Jakub Jelinek <jakub@redhat.com>
13083
13084 PR other/58712
13085 * builtins.c (determine_block_size): Initialize *probable_max_size
13086 even if len_rtx is CONST_INT.
13087
d126a4ae
AP
130882014-01-14 Andrew Pinski <apinski@cavium.com>
13089
13090 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
13091 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
13092 (cortexa53_tunings): Likewise.
13093 (aarch64_sched_issue_rate): New function.
13094 (TARGET_SCHED_ISSUE_RATE): Define.
13095
dc687582
VM
130962014-01-14 Vladimir Makarov <vmakarov@redhat.com>
13097
13098 * ira-costs.c (find_costs_and_classes): Add missed
13099 ira_init_register_move_cost_if_necessary.
13100
e940b2ec
VM
131012014-01-14 Vladimir Makarov <vmakarov@redhat.com>
13102
13103 PR target/59787
13104 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
13105
3292e376
L
131062014-01-14 H.J. Lu <hongjiu.lu@intel.com>
13107
13108 PR target/59794
13109 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
13110 to indicate if type is used for function return value. Warn ABI
13111 change if the vector mode isn't available for function return value.
3292e376
L
13112 (ix86_function_arg_advance): Pass false to type_natural_mode.
13113 (ix86_function_arg): Likewise.
13114 (ix86_gimplify_va_arg): Likewise.
13115 (function_arg_32): Don't warn ABI change.
13116 (ix86_function_value): Pass true to type_natural_mode.
13117 (ix86_return_in_memory): Likewise.
13118 (ix86_struct_value_rtx): Removed.
13119 (TARGET_STRUCT_VALUE_RTX): Likewise.
13120
db930875
RS
131212014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
13122
13123 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
13124 converting a conditional jump into a conditional return.
13125
a0e35eb0
RB
131262014-01-14 Richard Biener <rguenther@suse.de>
13127
13128 PR tree-optimization/58921
13129 PR tree-optimization/59006
13130 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
13131 hoisting invariant stmts.
13132 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
13133 invariant loads on the preheader edge if possible.
13134
a984e92e
JY
131352014-01-14 Joey Ye <joey.ye@arm.com>
13136
13137 * doc/plugin.texi (Building GCC plugins): Update to C++.
13138
c56a42b9
KY
131392014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
13140
3292e376 13141 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
13142 (_mm_rcp28_round_ss): Ditto.
13143 (_mm_rsqrt28_round_sd): Ditto.
13144 (_mm_rsqrt28_round_ss): Ditto.
13145 (_mm_rcp28_sd): Ditto.
13146 (_mm_rcp28_ss): Ditto.
13147 (_mm_rsqrt28_sd): Ditto.
13148 (_mm_rsqrt28_ss): Ditto.
13149 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
13150 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
13151 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
13152 (IX86_BUILTIN_RCP28SD): Ditto.
13153 (IX86_BUILTIN_RCP28SS): Ditto.
13154 (IX86_BUILTIN_RSQRT28SD): Ditto.
13155 (IX86_BUILTIN_RSQRT28SS): Ditto.
13156 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
13157 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
13158 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
13159 (ix86_expand_special_args_builtin): Expand new FTYPE.
13160 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
13161 (srcp14<mode>): Make insn unary.
13162 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
13163 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
13164 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
13165 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
13166 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
13167 Fix rounding: make it SAE only.
4ac005ba
UB
13168 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
13169 Ditto.
13170 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
13171 Ditto.
c56a42b9
KY
13172 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
13173 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
13174 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
13175 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
13176 (round_saeonly_mask_scalar_operand4): Ditto.
13177 (round_saeonly_mask_scalar_op3): Ditto.
13178 (round_saeonly_mask_scalar_op4): Ditto.
13179
09fccb62
BS
131802014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13181
13182 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
13183 Implement -maltivec=be for vec_insert and vec_extract.
13184
fb28dac0
DD
131852014-01-10 DJ Delorie <dj@redhat.com>
13186
13187 * config/msp430/msp430.md (call_internal): Don't allow memory
13188 references with SP as the base register.
13189 (call_value_internal): Likewise.
13190 * config/msp430/constraints.md (Yc): New. For memory references
13191 that don't use SP as a base register.
13192
13193 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
13194 "an integer without a # prefix"
13195 * config/msp430/msp430.md (epilogue_helper): Use it.
13196
19e51b40
JJ
131972014-01-13 Jakub Jelinek <jakub@redhat.com>
13198
03b9e8e4
JJ
13199 PR target/59617
13200 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
13201 AVX512F gather builtins.
13202 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
13203 on gather decls with INTEGER_TYPE masktype.
13204 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
13205 directly into the builtin rather than hoisting it before loop.
13206
19e51b40
JJ
13207 PR tree-optimization/59387
13208 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
13209 (scev_const_prop): If folded_casts and type has undefined overflow,
13210 use force_gimple_operand instead of force_gimple_operand_gsi and
13211 for each added stmt if it is assign with
13212 arith_code_with_undefined_signed_overflow, call
13213 rewrite_to_defined_overflow.
13214 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
13215 gimple-fold.h instead.
13216 (arith_code_with_undefined_signed_overflow,
13217 rewrite_to_defined_overflow): Moved to ...
13218 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
13219 rewrite_to_defined_overflow): ... here. No longer static.
13220 Include gimplify-me.h.
13221 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
13222 rewrite_to_defined_overflow): New prototypes.
13223
cd794ed4
KT
132242014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13225
13226 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
13227
e75fde1a
EB
132282014-01-13 Eric Botcazou <ebotcazou@adacore.com>
13229
13230 * builtins.c (get_object_alignment_2): Minor tweak.
13231 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
13232
eae298d6
CB
132332014-01-13 Christian Bruel <christian.bruel@st.com>
13234
13235 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 13236 optimized non constant lengths.
eae298d6 13237
8175be9a
JJ
132382014-01-13 Jakub Jelinek <jakub@redhat.com>
13239
13240 PR libgomp/59194
13241 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
13242 load as __atomic_load_N if possible.
13243
9c111368
DE
132442014-01-11 David Edelsohn <dje.gcc@gmail.com>
13245
13246 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
13247 target parameter.
13248 (rs6000_expand_builtin): Adjust call.
13249
c82846bc
DE
132502014-01-11 David Edelsohn <dje.gcc@gmail.com>
13251
13252 PR target/58115
13253 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
13254 * config/rs6000/rs6000.c: Include target-globals.h.
13255 (rs6000_set_current_function): Instead of doing target_reinit
13256 unconditionally, use save_target_globals_default_opts and
13257 restore_target_globals.
13258
13259 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
13260 FPSCR.
13261 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
13262 (rs6000_expand_builtin): Handle mffs and mtfsf.
13263 (rs6000_init_builtins): Define mffs and mtfsf.
13264 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
13265 (rs6000_mffs): New pattern.
13266 (rs6000_mtfsf): New pattern.
13267
2c407426
BC
132682014-01-11 Bin Cheng <bin.cheng@arm.com>
13269
13270 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
13271 Start narrowing with START. Apply candidate-use pair
13272 and check overall cost in narrowing.
13273 (iv_ca_prune): Pass new argument.
13274
7e41c852
JL
132752014-01-10 Jeff Law <law@redhat.com>
13276
13277 PR middle-end/59743
13278 * ree.c (combine_reaching_defs): Ensure the defining statement
13279 occurs before the extension when optimizing extensions with
13280 different source and destination hard registers.
13281
39960d1c 132822014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
13283
13284 PR ipa/58585
4ac005ba
UB
13285 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
13286 vtables into the type inheritance graph.
b270b096 13287
0d6d7b9a
JJ
132882014-01-10 Jakub Jelinek <jakub@redhat.com>
13289
13290 PR rtl-optimization/59754
13291 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
13292 modes in the REGNO != REGNO case.
13293
110132c1
BS
132942014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13295
13296 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
13297
5da96960
JJ
132982014-01-10 Jakub Jelinek <jakub@redhat.com>
13299
4f87d581
JJ
13300 PR tree-optimization/59745
13301 * tree-predcom.c (tree_predictive_commoning_loop): Call
13302 free_affine_expand_cache if giving up because components is NULL.
13303
5da96960
JJ
13304 * target-globals.c (save_target_globals): Allocate < 4KB structs using
13305 GC in payload of target_globals struct instead of allocating them on
13306 the heap and the larger structs separately using GC.
13307 * target-globals.h (struct target_globals): Make regs, hard_regs,
13308 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
13309 of GTY((skip)) and change type to void *.
13310 (reset_target_globals): Cast loads from those fields to corresponding
13311 types.
13312
1aa26aac
SE
133132014-01-10 Steve Ellcey <sellcey@mips.com>
13314
13315 PR plugins/59335
13316 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
13317 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
13318 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
13319
1c992d1e
RE
133202014-01-10 Richard Earnshaw <rearnsha@arm.com>
13321
7783a246 13322 PR target/59744
1c992d1e
RE
13323 * aarch64-modes.def (CC_Zmode): New flags mode.
13324 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
13325 represents an equality.
7783a246 13326 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
13327 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
13328
86464cbd
AK
133292014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13330
13331 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
13332 extraction in good case.
13333
5e6667b2
RB
133342014-01-10 Richard Biener <rguenther@suse.de>
13335
13336 PR tree-optimization/59374
13337 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
13338 checking after SLP discovery. Mark stmts not participating
13339 in any SLP instance properly.
13340
5619162c
KT
133412014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13342
13343 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
13344 when handling a SET rtx.
13345
2d17b99f
KT
133462014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13347
13348 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
13349 (cortex-a57): Likewise.
13350 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
13351
bcca645c
KT
133522014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13353
13354 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
13355 non-iwmmxt builtins.
13356
a3788dde
JH
133572014-01-10 Jan Hubicka <hubicka@ucw.cz>
13358
13359 PR ipa/58252
13360 PR ipa/59226
13361 * ipa-devirt.c record_target_from_binfo): Take as argument
13362 stack of binfos and lookup matching one for virtual inheritance.
13363 (possible_polymorphic_call_targets_1): Update.
13364
87ed883e
HC
133652014-01-10 Huacai Chen <chenhc@lemote.com>
13366
13367 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
13368 kernel strings for Loongson-2E/2F/3A.
13369
cd4447e2
JJ
133702014-01-10 Jakub Jelinek <jakub@redhat.com>
13371
13372 PR middle-end/59670
13373 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
13374 is_gimple_call before calling gimple_call_internal_p.
13375
3fadf78a
SE
133762014-01-09 Steve Ellcey <sellcey@mips.com>
13377
13378 * Makefile.in (TREE_FLOW_H): Remove.
13379 (TREE_SSA_H): Add file names from tree-flow.h.
13380 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
13381 * tree.h: Remove tree-flow.h reference.
13382 * hash-table.h: Remove tree-flow.h reference.
13383 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
13384 reference with tree-ssa-loop.h.
13385
6edc217d
BS
133862014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13387
13388 * doc/invoke.texi: Add -maltivec={be,le} options, and document
13389 default element-order behavior for -maltivec.
13390 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
13391 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
13392 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
13393 when targeting big endian, at least for now.
13394 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
13395
a70e9985
JJ
133962014-01-09 Jakub Jelinek <jakub@redhat.com>
13397
3396aba5
JJ
13398 PR middle-end/47735
13399 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
13400 var satisfies use_register_for_decl, just take into account type
13401 alignment, rather than decl alignment.
13402
a70e9985
JJ
13403 PR tree-optimization/59622
13404 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
13405 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
13406 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
13407 Don't devirtualize for inplace at all. For targets.length () == 1,
13408 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
13409
6e9cc565
L
134102014-01-09 H.J. Lu <hongjiu.lu@intel.com>
13411
13412 * config/i386/i386.md (cpu): Remove the unused btver1.
13413
d1c0e4ac
L
134142014-01-09 H.J. Lu <hongjiu.lu@intel.com>
13415
13416 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
13417
e83b8e2e
JJ
134182014-01-09 Jakub Jelinek <jakub@redhat.com>
13419
13420 PR target/58115
13421 * tree-core.h (struct target_globals): New forward declaration.
13422 (struct tree_target_option): Add globals field.
13423 * tree.h (TREE_TARGET_GLOBALS): Define.
13424 (prepare_target_option_nodes_for_pch): New prototype.
13425 * target-globals.h (struct target_globals): Define even if
13426 !SWITCHABLE_TARGET.
13427 * tree.c (prepare_target_option_node_for_pch,
13428 prepare_target_option_nodes_for_pch): New functions.
13429 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
13430 * config/i386/i386.c: Include target-globals.h.
13431 (ix86_set_current_function): Instead of doing target_reinit
13432 unconditionally, use save_target_globals_default_opts and
13433 restore_target_globals.
13434
2aaed0f3
RB
134352014-01-09 Richard Biener <rguenther@suse.de>
13436
13437 PR tree-optimization/59715
13438 * tree-cfg.h (split_critical_edges): Declare.
13439 * tree-cfg.c (split_critical_edges): Export.
13440 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
13441
b5ebc991
MO
134422014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
13443
4ac005ba 13444 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
13445 asan stack protection.
13446 (expand_used_vars): Likewise.
13447 (partition_stack_vars): Likewise.
4ac005ba 13448 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 13449 after return stack usage.
7f3af6d3 13450 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
13451 (instrument_builtin_call): Likewise.
13452 (instrument_strlen_call): Likewise.
7f3af6d3 13453 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
13454 * doc/invoke.texi: Added doc for new options.
13455 * params.def: Added new options.
13456 * params.h: Likewise.
13457
b59e0455
JJ
134582014-01-09 Jakub Jelinek <jakub@redhat.com>
13459
13460 PR rtl-optimization/59724
13461 * ifcvt.c (cond_exec_process_if_block): Don't call
13462 flow_find_head_matching_sequence with 0 longest_match.
13463 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
13464 non-active insns if !stop_after.
13465 (try_head_merge_bb): Revert 2014-01-07 changes.
13466
650c4c85
JL
134672014-01-08 Jeff Law <law@redhat.com>
13468
13469 * ree.c (get_sub_rtx): New function, extracted from...
13470 (merge_def_and_ext): Here.
13471 (combine_reaching_defs): Use get_sub_rtx.
13472
ff36fcbe
EB
134732014-01-08 Eric Botcazou <ebotcazou@adacore.com>
13474
13475 * cgraph.h (varpool_variable_node): Do not choke on null node.
13476
9f9d82aa
CM
134772014-01-08 Catherine Moore <clm@codesourcery.com>
13478
4ac005ba
UB
13479 * config/mips/mips.md (simple_return): Attempt to use JRC
13480 for microMIPS.
9f9d82aa
CM
13481 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
13482
df6c8808
RS
134832014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
13484
13485 PR rtl-optimization/59137
13486 * reorg.c (steal_delay_list_from_target): Call update_block for
13487 elided insns.
13488 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
13489
6170ceff
BS
134902014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13491
13492 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
13493 two duplicate entries.
13494
3f140f32
RS
134952014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
13496
13497 Revert:
13498 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
13499
13500 * config/mips/mips.c (mips_truncated_op_cost): New function.
13501 (mips_rtx_costs): Adjust test for BADDU.
13502 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
13503
13504 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
13505
13506 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
13507 (*baddu_si): ...this new pattern.
13508
c6de6665
JJ
135092014-01-08 Jakub Jelinek <jakub@redhat.com>
13510
13511 PR ipa/59722
13512 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
13513
4c437f02
BE
135142014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
13515
13516 PR middle-end/57748
13517 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
13518 inner_reference_p.
13519 (expand_expr, expand_normal): Adjust.
13520 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
13521 inner_reference_p. Use inner_reference_p to expand inner references.
13522 (store_expr): Adjust.
13523 * cfgexpand.c (expand_call_stmt): Adjust.
13524
4ac005ba 135252014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
13526
13527 * gcov-io.c (gcov_var): Move from gcov-io.h.
13528 (gcov_position): Ditto.
13529 (gcov_is_error): Ditto.
13530 (gcov_rewrite): Ditto.
13531 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
13532 only part to libgcc/libgcov.h.
13533
ab04b46e
MP
135342014-01-08 Marek Polacek <polacek@redhat.com>
13535
13536 PR middle-end/59669
13537 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
13538
06636b32
MP
135392014-01-08 Marek Polacek <polacek@redhat.com>
13540
13541 PR sanitizer/59667
13542 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
13543
c15677b6
JJ
135442014-01-08 Jakub Jelinek <jakub@redhat.com>
13545
13546 PR rtl-optimization/59649
13547 * stor-layout.c (get_mode_bounds): For BImode return
13548 0 and STORE_FLAG_VALUE.
13549
5c944c6c
RB
135502014-01-08 Richard Biener <rguenther@suse.de>
13551
13552 PR middle-end/59630
13553 * gimple.h (is_gimple_builtin_call): Remove.
13554 (gimple_builtin_call_types_compatible_p): New.
13555 (gimple_call_builtin_p): New overload.
13556 * gimple.c (is_gimple_builtin_call): Remove.
13557 (validate_call): Rename to ...
13558 (gimple_builtin_call_types_compatible_p): ... this and export. Also
13559 check return types.
13560 (validate_type): New static function.
13561 (gimple_call_builtin_p): New overload and adjust.
13562 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
13563 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
13564 (gimple_fold_stmt_to_constant_1): Likewise.
13565 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
13566
0bd34ae4
RB
135672014-01-08 Richard Biener <rguenther@suse.de>
13568
13569 PR middle-end/59471
13570 * gimplify.c (gimplify_expr): Gimplify register-register type
13571 VIEW_CONVERT_EXPRs to separate stmts.
13572
04af8ab6
JL
135732014-01-07 Jeff Law <law@redhat.com>
13574
3c92da90
JL
13575 PR middle-end/53623
13576 * ree.c (combine_set_extension): Handle case where source
13577 and destination registers in an extension insn are different.
4ac005ba
UB
13578 (combine_reaching_defs): Allow source and destination registers
13579 in extension to be different under limited circumstances.
3c92da90 13580 (add_removable_extension): Remove restriction that the
4ac005ba 13581 source and destination registers in the extension are the same.
3c92da90
JL
13582 (find_and_remove_re): Emit a copy from the extension's
13583 destination to its source after the defining insn if
13584 the source and destination registers are different.
13585
04af8ab6
JL
13586 PR middle-end/59285
13587 * ifcvt.c (merge_if_block): If we are merging a block with more than
13588 one successor with a block with no successors, remove any BARRIER
13589 after the second block.
13590
4bb66ef3 135912014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
13592
13593 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
13594
55ada375
JDA
135952014-01-07 John David Anglin <danglin@gcc.gnu.org>
13596
13597 PR target/59652
13598 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
13599 for 14-bit register offsets when INT14_OK_STRICT is false.
13600
877c72e7
RS
136012014-01-07 Roland Stigge <stigge@antcom.de>
13602 Michael Meissner <meissner@linux.vnet.ibm.com>
13603
13604 PR 57386/target
13605 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 13606 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 13607
8b2721da
JG
136082014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
13609
13610 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
13611 -mcpu.
13612
5d72b79f
YZ
136132014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
13614
13615 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
13616 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
13617 rtx is const0_rtx or not.
13618
48d53439
RS
136192014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
13620
13621 PR target/58115
13622 * target-globals.c (save_target_globals): Remove this_fn_optab
13623 handling.
13624 * toplev.c: Include optabs.h.
13625 (target_reinit): Temporarily restore the global options if another
13626 set of options are in force.
13627
41626746
JJ
136282014-01-07 Jakub Jelinek <jakub@redhat.com>
13629
a0cbe71e
JJ
13630 PR rtl-optimization/58668
13631 * cfgcleanup.c (flow_find_cross_jump): Don't count
13632 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
13633 to determine what is counted.
13634 (flow_find_head_matching_sequence): Use active_insn_p to determine
13635 what is counted.
13636 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
13637 counting change.
13638 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
13639 determine what is counted.
13640
41626746
JJ
13641 PR tree-optimization/59643
13642 * tree-predcom.c (split_data_refs_to_components): If one dr is
13643 read and one write, determine_offset fails and the write isn't
13644 in the bad component, just put the read into the bad component.
13645
cc349a39
MS
136462014-01-07 Mike Stump <mikestump@comcast.net>
13647 Jakub Jelinek <jakub@redhat.com>
13648
13649 PR pch/59436
13650 * tree-core.h (struct tree_optimization_option): Change optabs
13651 type from unsigned char * to void *.
13652 * optabs.c (init_tree_optimization_optabs): Adjust
13653 TREE_OPTIMIZATION_OPTABS initialization.
13654
529a6471
JJ
136552014-01-06 Jakub Jelinek <jakub@redhat.com>
13656
13657 PR target/59644
13658 * config/i386/i386.h (struct machine_function): Add
13659 no_drap_save_restore field.
13660 * config/i386/i386.c (ix86_save_reg): Use
13661 !cfun->machine->no_drap_save_restore instead of
13662 crtl->stack_realign_needed.
13663 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
13664 this function clears frame_pointer_needed. Set
13665 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
13666 and DRAP reg is needed.
13667
96066ce1
MP
136682014-01-06 Marek Polacek <polacek@redhat.com>
13669
13670 PR c/57773
13671 * doc/implement-c.texi: Mention that other integer types are
13672 permitted as bit-field types in strictly conforming mode.
13673
955b33ed 136742014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
13675
13676 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
13677 is newly allocated.
13678
328402a9
RE
136792014-01-06 Richard Earnshaw <rearnsha@arm.com>
13680
13681 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
13682
a4e33812
MJ
136832014-01-06 Martin Jambor <mjambor@suse.cz>
13684
13685 PR ipa/59008
13686 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
13687 to int.
13688 * ipa-prop.c (ipa_print_node_params): Fix indentation.
13689
b5cd2a02
EB
136902014-01-06 Eric Botcazou <ebotcazou@adacore.com>
13691
13692 PR debug/59350
13693 PR debug/59510
13694 * var-tracking.c (add_stores): Preserve the value of the source even if
13695 we don't record the store.
13696
c7d19c0b
TG
136972014-01-06 Terry Guo <terry.guo@arm.com>
13698
13699 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
13700
e0c70bd7
IS
137012014-01-05 Iain Sandoe <iain@codesourcery.com>
13702
13703 PR bootstrap/59541
13704 * config/darwin.c (darwin_function_section): Adjust return values to
13705 correspond to optimisation changes made in r206070.
13706
c30f016c
UB
137072014-01-05 Uros Bizjak <ubizjak@gmail.com>
13708
13709 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
13710 from prefetch_block tune setting.
13711 (nocona_cost): Correct size of prefetch block to 64.
13712
f2bc252b
EB
137132014-01-04 Eric Botcazou <ebotcazou@adacore.com>
13714
13715 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
13716 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
13717 used to save the static chain register in the computation of the offset
13718 from which the FP registers need to be restored.
13719
dad5ed2e
JJ
137202014-01-04 Jakub Jelinek <jakub@redhat.com>
13721
39719c84
JJ
13722 PR tree-optimization/59519
13723 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
13724 ICE if get_current_def (current_new_name) is already non-NULL, as long
13725 as it is a phi result of some other phi in *new_exit_bb that has
13726 the same argument.
13727
dad5ed2e
JJ
13728 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
13729 or vmovdqu* for misaligned_operand.
13730 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
13731 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
13732 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
13733 aligned_mem for AVX512F masked aligned load and store builtins and for
13734 non-temporal moves.
13735
137362014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
13737
13738 PR tree-optimization/59651
c30f016c 13739 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
13740 Address range for negative step should be added by TYPE_SIZE_UNIT.
13741
e864837a
AS
137422014-01-03 Andreas Schwab <schwab@linux-m68k.org>
13743
13744 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 13745 overlapping registers also for registers other than the stack pointer.
e864837a 13746
56a34230
MP
137472014-01-03 Marek Polacek <polacek@redhat.com>
13748
13749 PR other/59661
13750 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
13751 __builtin_FILE.
13752
039eee3f
JJ
137532014-01-03 Jakub Jelinek <jakub@redhat.com>
13754
3bcdbd50
JJ
13755 PR target/59625
13756 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
13757 asm goto as jump.
13758
039eee3f
JJ
13759 * config/i386/i386.md (MODE_SIZE): New mode attribute.
13760 (push splitter): Use <P:MODE_SIZE> instead of
13761 GET_MODE_SIZE (<P:MODE>mode).
13762 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
13763 (mov -1, reg peephole2): Likewise.
13764 * config/i386/sse.md (*mov<mode>_internal,
13765 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
13766 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
13767 *<code><mode>3, *andnot<mode>3<mask_name>,
13768 <mask_codefor><code><mode>3<mask_name>): Likewise.
13769 * config/i386/subst.md (mask_mode512bit_condition,
13770 sd_mask_mode512bit_condition): Likewise.
13771
927734cf
XDL
137722014-01-02 Xinliang David Li <davidxl@google.com>
13773
13774 PR tree-optimization/59303
039eee3f 13775 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
13776 (dump_predicates): Better output format.
13777 (pred_equal_p): New function.
13778 (is_neq_relop_p): Ditto.
13779 (is_neq_zero_form_p): Ditto.
13780 (pred_expr_equal_p): Ditto.
13781 (pred_neg_p): Ditto.
13782 (simplify_pred): Ditto.
13783 (simplify_preds_2): Ditto.
13784 (simplify_preds_3): Ditto.
13785 (simplify_preds_4): Ditto.
13786 (simplify_preds): Ditto.
13787 (push_pred): Ditto.
13788 (push_to_worklist): Ditto.
13789 (get_pred_info_from_cmp): Ditto.
13790 (is_degenerated_phi): Ditto.
13791 (normalize_one_pred_1): Ditto.
13792 (normalize_one_pred): Ditto.
13793 (normalize_one_pred_chain): Ditto.
13794 (normalize_preds): Ditto.
13795 (normalize_cond_1): Remove function.
13796 (normalize_cond): Ditto.
13797 (is_gcond_subset_of): Ditto.
13798 (is_subset_of_any): Ditto.
13799 (is_or_set_subset_of): Ditto.
13800 (is_and_set_subset_of): Ditto.
13801 (is_norm_cond_subset_of): Ditto.
13802 (pred_chain_length_cmp): Ditto.
13803 (convert_control_dep_chain_into_preds): Type change.
13804 (find_predicates): Ditto.
13805 (find_def_preds): Ditto.
13806 (destroy_predicates_vecs): Ditto.
13807 (find_matching_predicates_in_rest_chains): Ditto.
13808 (use_pred_not_overlap_with_undef_path_pred): Ditto.
13809 (is_pred_expr_subset): Ditto.
13810 (is_pred_chain_subset_of): Ditto.
13811 (is_included_in): Ditto.
13812 (is_superset_of): Ditto.
13813
23a5b65a
RS
138142014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13815
c30f016c 13816 Update copyright years.
23a5b65a 13817
f9030485
RS
138182014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13819
13820 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
13821 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
13822 config/arc/arc.md, config/arc/arc.opt,
13823 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
13824 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
13825 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
13826 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
13827 config/linux-protos.h, config/linux.c, config/winnt-c.c,
13828 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
13829 vtable-verify.c, vtable-verify.h: Use the standard form for the
13830 copyright notice.
f9030485 13831
98db73df
TB
138322014-01-02 Tobias Burnus <burnus@net-b.de>
13833
13834 * gcc.c (process_command): Update copyright notice dates.
13835 * gcov-dump.c: Ditto.
13836 * gcov.c: Ditto.
13837 * doc/cpp.texi: Bump @copying's copyright year.
13838 * doc/cppinternals.texi: Ditto.
13839 * doc/gcc.texi: Ditto.
13840 * doc/gccint.texi: Ditto.
13841 * doc/gcov.texi: Ditto.
13842 * doc/install.texi: Ditto.
13843 * doc/invoke.texi: Ditto.
13844
2898d204 138452014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
13846
13847 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
13848
dfebbdc6 138492014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 13850
726c3546
JJ
13851 * config/i386/sse.md (*mov<mode>_internal): Guard
13852 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
13853
dfebbdc6
JJ
13854 PR rtl-optimization/59647
13855 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
13856 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 13857\f
970c3b33 13858Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
13859
13860Copying and distribution of this file, with or without modification,
13861are permitted in any medium without royalty provided the copyright
13862notice and this notice are preserved.
This page took 7.350269 seconds and 5 git commands to generate.