]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR c/60439 (No warning for case overflow in switch statement.)
[gcc.git] / gcc / ChangeLog
CommitLineData
fedfecef
MP
12014-06-03 Marek Polacek <polacek@redhat.com>
2
3 PR c/60439
4 * doc/invoke.texi: Document -Wswitch-bool.
5 * function.c (stack_protect_epilogue): Cast controlling expression of
6 the switch to int.
7 * gengtype.c (walk_type): Generate switch expression with its
8 controlling expression cast to int.
9
102014-06-03 Vishnu K S <Vishnu.k_s@atmel.com>
e4f36438
DC
11
12 * config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
13 and attiny841.
14 * config/avr/avr-tables.opt: Regenerate.
15 * config/avr/t-multilib: Regenerate.
16 * doc/avr-mmcu.texi: Regenerate.
17
fedfecef
MP
182014-06-03 Vishnu K S <vishnu.k_s@atmel.com>
19 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
e4f36438
DC
20
21 * config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
22 (ata6617c, ata664251): Add new avr35 devices.
23 (ata6612c): Add new avr4 device.
24 (ata6613c, ata6614q): Add new avr5 devices.
25 * config/avr/avr-tables.opt: Regenerate.
26 * config/avr/t-multilib: Regenerate.
27 * doc/avr-mmcu.texi: Regenerate.
28
918621d3
AL
292014-06-03 Alan Lawrence <alan.lawrence@arm.com>
30
31 * gcc/config/aarch64/aarch64-builtins.c
32 (aarch64_types_binop_ssu_qualifiers): New static data.
33 (TYPES_BINOP_SSU): Define.
34 * gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
35 urshr_n, ushll_n): Use appropriate unsigned qualifiers.
36 * gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
37 vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
38 vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
39 vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
40 vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
41 vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
42 vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
43 suffix to builtin function name, remove cast.
44 (vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
45 vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
46 vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.
47
de10bcce
AL
482014-06-03 Alan Lawrence <alan.lawrence@arm.com>
49
50 * gcc/config/aarch64/aarch64-builtins.c
51 (aarch64_types_binop_uus_qualifiers,
52 aarch64_types_shift_to_unsigned_qualifiers,
53 aarch64_types_unsigned_shiftacc_qualifiers): Define.
54 * gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
55 uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
56 sqshlu_n, uqshl_n): Update qualifiers.
57 * gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
58 vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
59 vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
60 vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
61 vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
62 vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
63 vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
64 vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
65 vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
66 vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
67 vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
68 vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
69 vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
70 vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
71 vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
72 vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
73 vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
74 vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
75 vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
76 vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
77 vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
78 vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
79 vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
80 vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
81 vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
82 vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
83 vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.
84
878d3618
TJ
852014-06-03 Teresa Johnson <tejohnson@google.com>
86
87 * tree-sra.c (modify_function): Record caller nodes after rebuild.
88
616abc64
JM
892014-06-02 Jason Merrill <jason@redhat.com>
90
91 PR c++/61020
92 * varpool.c (ctor_for_folding): Handle uninitialized vtables.
93
b31e65bb
AL
942014-06-03 Alan Lawrence <alan.lawrence@arm.com>
95
96 * config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
97 location == 0.
98
923fcec3
AL
992014-06-03 Alan Lawrence <alan.lawrence@arm.com>
100
101 * config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
102 New pattern.
103 * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
104 (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
105 * config/aarch64/iterators.md (REVERSE): New iterator.
106 (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
107 (rev_op): New int_attribute.
108 * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
109 vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
110 vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
111 vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
112 vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
113 vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
114 vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
115 Replace temporary __asm__ with __builtin_shuffle.
116
2b3bd040
AB
1172014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
118
119 * config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
120 mips64r5.
121 * config/mips/mips-tables.opt: Regenerate.
122 * config/mips/mips.c (mips_compute_frame_info): Changed if statement
123 to use mips_isa_rev rather than ISA_MIPS32R2.
124 * config/mips/mips.h (ISA_MIPS32R3): New define.
125 (ISA_MIPS32R5): New define.
126 (ISA_MIPS64R3): New define.
127 (ISA_MIPS64R5): New define.
128 (TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3, ISA_MIPS32R5,
129 ISA_MIPS64R3 and ISA_MIPS64R5.
130 (MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
131 and mips64r5.
132 (MIPS_ISA_SYNCI_SPEC): Likewise.
133 (ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
134 (LINK_SPEC): Added mips32r3 and mips32r5.
135 * config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
136 to mips32r2; and mips64r3 and mips64r5 to mips64r2.
137 * config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
138 * config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
139 * config/mips/t-sde (MULTILIB_MATCHES): Likewise.
140 * config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
141 * doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.
142
35773f53
AB
1432014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
144
145 * doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
146 options.
147 * config/mips/mips.opt (mxpa): New option.
148 * config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the
149 assembler.
150
d3fb5cf0
MJ
1512014-06-03 Martin Jambor <mjambor@suse.cz>
152
153 PR ipa/61160
154 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
155 thunks.
156
3cc272c1
TP
1572014-06-03 Thomas Preud'homme <thomas.preudhomme@arm.com>
158
159 PR tree-optimization/61328
160 * tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
161 initialization from find_bswap_or_nop_1.
162 (find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
163 in source_expr2 before using the size value the function sets. Also
164 make use of init_symbolic_number () in both the old place and
165 find_bswap_or_nop_load () to avoid reading uninitialized memory when
166 doing recursion in the GIMPLE_BINARY_RHS case.
167
597c6315
RB
1682014-06-03 Richard Biener <rguenther@suse.de>
169
170 PR tree-optimization/61383
171 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
172 stmts can't trap.
173
b48e9677
RS
1742014-06-03 Richard Sandiford <rdsandiford@googlemail.com>
175
176 * defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
177 (EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
178 (CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
179 (REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
180 in this file.
181 (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
182 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
183 * system.h: ...here and make it unconditional.
184 * target.def (conditional_register_usage): Mention
185 define_register_constraint instead of old-style constraint macros.
186 * doc/tm.texi.in: Remove documentation for old-style constraint macros.
187 * doc/tm.texi: Regenerate.
188 * genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
189 protected by !USE_MD_CONSTRAINTS.
190 * config/frv/frv.md: Remove quote from old version of documentation.
191 * config/frv/frv.c (frv_conditional_register_usage): Likewise.
192 * config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
193 CONST_DOUBLE_OK_FOR_LETTER.
194 * config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.
195
b94f5533
AP
1962014-06-02 Andrew Pinski <apinski@cavium.com>
197
3a87ac45
AP
198 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
199 /lib/ld-linux32-aarch64.so.1 is used for ILP32.
b94f5533
AP
200 (LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
201 file whose name depends on -mabi= and -mbig-endian.
3a87ac45
AP
202 * config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
203 Handle LP64 better and handle ilp32 too.
b94f5533
AP
204 (MULTILIB_OPTIONS): Delete.
205 (MULTILIB_DIRNAMES): Delete.
206
9b2b7279
AM
2072014-06-02 Andrew MacLeod <amacleod@redhat.com>
208
209 * expr.h: Remove prototypes of functions defined in builtins.c.
210 * tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
211 Remove prototypes of functions defined in builtins.c.
212 * builtins.h: Update prototype list to include all exported functions.
213 * builtins.c: (default_libc_has_function, gnu_libc_has_function,
214 no_c99_libc_has_function): Move to targhooks.c
215 (build_string_literal, build_call_expr_loc_array,
216 build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
217 to tree.c.
218 (expand_builtin_object_size, fold_builtin_object_size): Make static.
219 * targhooks.c (default_libc_has_function, gnu_libc_has_function,
220 no_c99_libc_has_function): Relocate from builtins.c.
221 * tree.c: Include builtins.h.
222 (build_call_expr_loc_array, build_call_expr_loc_vec,
223 build_call_expr_loc, build_call_expr, build_string_literal): Relocate
224 from builtins.c.
225 * fold-const.h (fold_fma): Move prototype to builtins.h.
226 * realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
227 * asan.c: Include builtins.h.
228 * cfgexpand.c: Likewise.
229 * convert.c: Likewise.
230 * emit-rtl.c: Likewise.
231 * except.c: Likewise.
232 * expr.c: Likewise.
233 * fold-const.c: Likewise.
234 * gimple-fold.c: Likewise.
235 * gimple-ssa-strength-reduction.c: Likewise.
236 * gimplify.c: Likewise.
237 * ipa-inline.c: Likewise.
238 * ipa-prop.c: Likewise.
239 * lto-streamer-out.c: Likewise.
240 * stmt.c: Likewise.
241 * tree-inline.c: Likewise.
242 * tree-object-size.c: Likewise.
243 * tree-sra.c: Likewise.
244 * tree-ssa-ccp.c: Likewise.
245 * tree-ssa-forwprop.c: Likewise.
246 * tree-ssa-loop-ivcanon.c: Likewise.
247 * tree-ssa-loop-ivopts.c: Likewise.
248 * tree-ssa-math-opts.c: Likewise.
249 * tree-ssa-reassoc.c: Likewise.
250 * tree-ssa-threadedge.c: Likewise.
251 * tree-streamer-in.c: Likewise.
252 * tree-vect-data-refs.c: Likewise.
253 * tree-vect-patterns.c: Likewise.
254 * tree-vect-stmts.c: Likewise.
255 * config/aarch64/aarch64.c: Likewise.
256 * config/alpha/alpha.c: Likewise.
257 * config/arc/arc.c: Likewise.
258 * config/arm/arm.c: Likewise.
259 * config/avr/avr.c: Likewise.
260 * config/bfin/bfin.c: Likewise.
261 * config/c6x/c6x.c: Likewise.
262 * config/cr16/cr16.c: Likewise.
263 * config/cris/cris.c: Likewise.
264 * config/epiphany/epiphany.c: Likewise.
265 * config/fr30/fr30.c: Likewise.
266 * config/frv/frv.c: Likewise.
267 * config/h8300/h8300.c: Likewise.
268 * config/i386/i386.c: Likewise.
269 * config/i386/winnt.c: Likewise.
270 * config/ia64/ia64.c: Likewise.
271 * config/iq2000/iq2000.c: Likewise.
272 * config/lm32/lm32.c: Likewise.
273 * config/m32c/m32c.c: Likewise.
274 * config/m32r/m32r.c: Likewise.
275 * config/m68k/m68k.c: Likewise.
276 * config/mcore/mcore.c: Likewise.
277 * config/mep/mep.c: Likewise.
278 * config/microblaze/microblaze.c: Likewise.
279 * config/mips/mips.c: Likewise.
280 * config/mmix/mmix.c: Likewise.
281 * config/mn10300/mn10300.c: Likewise.
282 * config/moxie/moxie.c: Likewise.
283 * config/msp430/msp430.c: Likewise.
284 * config/nds32/nds32.c: Likewise.
285 * config/pa/pa.c: Likewise.
286 * config/pdp11/pdp11.c: Likewise.
287 * config/picochip/picochip.c: Likewise.
288 * config/rl78/rl78.c: Likewise.
289 * config/rs6000/rs6000.c: Likewise.
290 * config/rx/rx.c: Likewise.
291 * config/s390/s390.c: Likewise.
292 * config/score/score.c: Likewise.
293 * config/sh/sh.c: Likewise.
294 * config/sparc/sparc.c: Likewise.
295 * config/spu/spu.c: Likewise.
296 * config/stormy16/stormy16.c: Likewise.
297 * config/tilegx/tilegx.c: Likewise.
298 * config/tilepro/tilepro.c: Likewise.
299 * config/v850/v850.c: Likewise.
300 * config/vax/vax.c: Likewise.
301 * config/xtensa/xtensa.c: Likewise.
302
0d732cca
JL
3032014-06-02 Jeff Law <law@redhat.com>
304
305 PR rtl-optimization/61094
306 * ree.c (combine_reaching_defs): Do not reextend an insn if it
307 was marked as do_no_reextend. If a copy is needed to eliminate
308 an extension, then mark it as do_not_reextend.
309
a2adad8b
MS
3102014-06-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
311
312 * config/aarch64/aarch64.md (set_fpcr): Drop ISB after FPCR write.
313
20a951e6
RH
3142014-06-02 Richard Henderson <rth@redhat.com>
315
316 PR target/61336
317 * config/alpha/alpha.c (print_operand_address): Allow symbolic
318 addresses inside asms. Use output_operand_lossage instead of
319 gcc_unreachable.
320
40c0a159
UB
3212014-06-02 Uros Bizjak <ubizjak@gmail.com>
322
323 PR target/61239
324 * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
325 GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
326
94bfa2da
TV
3272014-06-02 Tom de Vries <tom@codesourcery.com>
328
329 * config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
330 case that x has VOIDmode.
331
4a1f940f
BS
3322014-06-02 Bernd Schmidt <bernds@codesourcery.com>
333
334 * varasm.c (copy_constant): Delete function.
335 (build_constant_desc): Don't call it.
336
27e83a44
RR
3372014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
338
339 PR target/61154
340 * config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
341 * config/arm/arm.md (mov64 splitter): Replace const_double_operand
342 with immediate_operand.
343
31815ed7
AS
3442014-06-02 Andreas Schwab <schwab@suse.de>
345
346 * config/ia64/ia64.c
347 (ia64_first_cycle_multipass_dfa_lookahead_guard): Check
348 pending_data_specs first.
349
61dd7fbc
RB
3502014-06-02 Richard Biener <rguenther@suse.de>
351
352 PR tree-optimization/61378
353 * tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
354 valueized_anything.
355
1828d3e6
UB
3562014-06-01 Uros Bizjak <ubizjak@gmail.com>
357
358 * config/i386/constraints.md (Bw): Rename from 'w'.
359 (Bz): Rename from 'z'.
360 * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
361
6041d142
KT
3622014-06-01 Kai Tietz <ktietz@redhat.com>
363
364 PR target/61377
1828d3e6
UB
365 * config/i386/constrains.md (define_constrain): New 'Bs' constraint.
366 * config/i386/i386.md (sibcall_insn_operand): Use Bs
367 instead of m constraint.
6041d142 368
aef1bf3b
AS
3692014-05-31 Andreas Schwab <schwab@linux-m68k.org>
370
371 * config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
372 a separate alternative where the scratch operand 2 is marked as
373 early clobber.
374
f10743d3
KV
3752014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
376
377 * config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
378 (arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
379 (bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
380 and __builtins_arm_get_fpscr.
381 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
382 __builtins_arm_get_fpscr.
383 (arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
384 __builtins_arm_ldfpscr.
385 (arm_atomic_assign_expand_fenv): New function.
386 * config/arm/vfp.md (set_fpscr): New pattern.
387 (get_fpscr) : Likewise.
388 * config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
389 VUNSPEC_SET_FPSCR.
390 * doc/extend.texi (AARCH64 Built-in Functions) : Document
391 __builtins_arm_set_fpscr, __builtins_arm_get_fpscr.
392
40f9f6bb
JJ
3932014-05-30 Jakub Jelinek <jakub@redhat.com>
394
b3f1051b
JJ
395 * asan.c (report_error_func): Add SLOW_P argument, use
396 BUILT_IN_ASAN_*_N if set.
397 (build_check_stmt): Likewise.
398 (instrument_derefs): If T has insufficient alignment,
399 force same handling as for odd sizes.
400
40f9f6bb
JJ
401 * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
402 BUILT_IN_ASAN_REPORT_STORE_N): New.
403 * asan.c (struct asan_mem_ref): Change access_size type to
404 HOST_WIDE_INT.
405 (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
406 update_mem_ref_hash_table): Likewise.
407 (asan_mem_ref_hasher::hash): Hash in a HWI.
408 (report_error_func): Change size_in_bytes argument to HWI.
409 Use *_N builtins if size_in_bytes is larger than 16 or not power of
410 two.
411 (build_shadow_mem_access): New function.
412 (build_check_stmt): Use it. Change size_in_bytes argument to HWI.
413 Handle size_in_bytes not power of two or larger than 16.
414 (instrument_derefs): Don't give up if size_in_bytes is not
415 power of two or is larger than 16.
416
cb105922
KT
4172014-05-30 Kai Tietz <ktietz@redhat.com>
418
419 PR target/60104
420 * config/i386/i386.c (x86_output_mi_thunk): Add memory case
421 for sibling-tail-calls.
422 * config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
423 to its use.
424 * config/i386/predicates.md (sibcall_memory_operand): New predicate.
425 (sibcall_insn_operand): Add check for sibcall_memory_operand.
426
150e0639
PS
4272014-05-30 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
428
429 * config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
430 * config/avr/avr-tables.opt: Regenerate.
431 * config/avr/t-multilib: Regenerate.
432 * doc/avr-mmcu.texi: Regenerate.
433
f9a8f6d9
ILT
4342014-05-30 Ian Lance Taylor <iant@google.com>
435
436 * config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
437 target("sse").
438
5028356f
TV
4392014-05-30 Tom de Vries <tom@codesourcery.com>
440
441 * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
442 Redefine as true.
443
10e1bdb2
TV
4442014-05-30 Tom de Vries <tom@codesourcery.com>
445
446 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
447 * lra.c (initialize_lra_reg_info_element): Add init of
448 actual_call_used_reg_set field.
449 (lra): Call lra_create_live_ranges before lra_inheritance for
450 -fuse-caller-save.
451 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
452 -fuse-caller-save.
453 * lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
454 instead of call_used_reg_set for -fuse-caller-save.
455 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
456
56912037
KT
4572014-05-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
458
459 * config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
460 to mov_imm.
461 * config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.
462
98f2f031
RS
4632014-05-30 Richard Sandiford <rdsandiford@googlemail.com>
464
465 * ira.c (ira_get_dup_out_num): Check for output operands at
466 the start of the loop. Handle cases where an included alternative
467 follows an excluded one.
468
79abf19f
MS
4692014-05-29 Mike Stump <mikestump@comcast.net>
470
471 PR debug/61352
472 * collect2.c (maybe_run_lto_and_relink): Be sure to always run
473 post ld passes when lto is used.
474
cc8849a1
VM
4752014-05-29 Vladimir Makarov <vmakarov@redhat.com>
476
477 PR rtl-optimization/61325
40c0a159 478 * lra-constraints.c (process_address): Rename to process_address_1.
cc8849a1
VM
479 (process_address): New function.
480
ae0533da
AL
4812014-05-29 Alan Lawrence <alan.lawrence@arm.com>
482
483 * config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
484 TYPES_BINOPV): New static data.
40c0a159
UB
485 * config/aarch64/aarch64-simd-builtins.def (im_lane_bound):
486 New builtin.
487 * config/aarch64/aarch64-simd.md (aarch64_ext,
488 aarch64_im_lane_boundsi): New patterns.
ae0533da
AL
489 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
490 patterns for EXT.
491 (aarch64_evpc_ext): New function.
492
493 * config/aarch64/iterators.md (UNSPEC_EXT): New enum element.
494
495 * config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
496 vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
497 vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
498 vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
499 vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.
500
ed00b1fb
TV
5012014-05-29 Tom de Vries <tom@codesourcery.com>
502
503 * rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
504
004d3809 5052014-05-29 Richard Earnshaw <rearnsha@arm.com>
40c0a159 506 Richard Sandiford <rdsandiford@googlemail.com>
004d3809 507
40c0a159
UB
508 * arm/iterators.md (shiftable_ops): New code iterator.
509 (t2_binop0, arith_shift_insn): New code attributes.
004d3809 510 * arm/predicates.md (shift_nomul_operator): New predicate.
40c0a159
UB
511 * arm/arm.md (insn_enabled): Delete.
512 (enabled): Remove insn_enabled test.
513 (*arith_shiftsi): Delete. Replace with ...
514 (*<arith_shift_insn>_multsi): ... new pattern.
004d3809
RE
515 (*<arith_shift_insn>_shiftsi): ... new pattern.
516 * config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
517
c2db3f3d 5182014-05-29 Radovan Obradovic <robradovic@mips.com>
40c0a159 519 Tom de Vries <tom@codesourcery.com>
c2db3f3d
RO
520
521 * config/mips/mips.h (POST_CALL_TMP_REG): Define.
522 * config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
523 clobber.
524 (mips_split_call): Use POST_CALL_TMP_REG.
525 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
526
4b29b965
TV
5272014-05-29 Tom de Vries <tom@codesourcery.com>
528
529 * final.c (collect_fn_hard_reg_usage): Guard variable declaration
530 with #ifdef STACK_REGS.
531
726f0774
JH
5322014-05-28 Jan Hubicka <hubicka@ucw.cz>
533
534 * varasm.c (get_variable_section): Walk aliases.
535 (place_block_symbol): Walk aliases.
536
ea0b381f
TV
5372014-05-28 Tom de Vries <tom@codesourcery.com>
538
539 Revert:
540 2014-05-28 Tom de Vries <tom@codesourcery.com>
541
542 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
543 * lra.c (initialize_lra_reg_info_element): Add init of
544 actual_call_used_reg_set field.
545 (lra): Call lra_create_live_ranges before lra_inheritance for
546 -fuse-caller-save.
547 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
548 -fuse-caller-save.
40c0a159
UB
549 * lra-constraints.c (need_for_call_save_p): Use
550 actual_call_used_reg_set instead of call_used_reg_set for
551 -fuse-caller-save.
ea0b381f
TV
552 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
553
73f793e3
RS
5542014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
555
556 * doc/md.texi: Document that the % constraint character must
557 be at the beginning of the string.
558 * genoutput.c (validate_insn_alternatives): Check that '=',
559 '+' and '%' only appear at the beginning of a constraint.
560 * ira.c (commutative_constraint_p): Delete.
561 (ira_get_dup_out_num): Expect the '%' commutativity marker to be
562 at the start of the string.
563 * config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
564 duplicate '='s.
565 * config/arm/neon.md (bicdi3_neon): Likewise.
566 * config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
567 (slt_si, sltu_si): Likewise.
568 * config/vax/vax.md (sbcdi3): Likewise.
569 * config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
570 * config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
571 (mul64): Move '%' to beginning of constraint.
572 * config/arm/arm.md (*xordi3_insn): Likewise.
573 * config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
574 (xorsi3): Likewise.
575
5a7555ab
RS
5762014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
577
578 * doc/md.texi: Document the restrictions on the "enabled" attribute.
579
d67ff7b7
JM
5802014-05-28 Jason Merrill <jason@redhat.com>
581
582 PR c++/47202
583 * cgraph.h (symtab_node::get_comdat_group_id): New.
584 * cgraphunit.c (analyze_functions): Call it.
585 * symtab.c (dump_symtab_node): Likewise.
586 * tree.c (decl_comdat_group_id): New.
587 * tree.h: Declare it.
588 * lto-streamer-out.c (write_symbol): Use it.
589 * trans-mem.c (ipa_tm_create_version_alias): Likewise.
590
ecc7533a
FXC
5912014-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
592
593 PR bootstrap/PR61146
594 * wide-int.cc: Do not include longlong.h when compiling with clang.
595
6e5799b9
RB
5962014-05-28 Richard Biener <rguenther@suse.de>
597
598 * tree-ssa-propagate.c (add_control_edge): Print less vertical space.
599 * tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
600 (vrp_visit_assignment_or_call): Print less vertical space.
601 (vrp_visit_stmt): Likewise.
602 (vrp_visit_phi_node): Likewise. For a PHI argument with
603 VR_VARYING range consider recording it as copy.
604
47f9fca8
RB
6052014-05-28 Richard Biener <rguenther@suse.de>
606
607 Revert
608 2014-05-28 Richard Biener <rguenther@suse.de>
609
610 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
611
7fbf8a3e
BE
6122014-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
613
614 * expr.c (expand_assignment): Fold the bitpos in the to_rtx if
615 sufficiently aligned and an offset is used at the same time.
616 (expand_expr_real_1): Likewise.
617
b017a174
RB
6182014-05-28 Richard Biener <rguenther@suse.de>
619
620 PR middle-end/61045
621 * fold-const.c (fold_comparison): When folding
622 X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
623 the sign of the remaining constant operand stays the same.
624
96360888
KP
6252014-05-28 Kaushik Phatak <kaushik.phatak@kpit.com>
626
627 * config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
628 __RL78_64BIT_DOUBLES__ or __RL78_32BIT_DOUBLES__.
629 (ASM_SPEC): Pass -m64bit-doubles or -m32bit-doubles on
630 to the assembler.
40c0a159 631 (DOUBLE_TYPE_SIZE): Use 64 bit if TARGET_64BIT_DOUBLES is true.
96360888
KP
632 * gcc/config/rl78/rl78.opt (m64bit-doubles): New option.
633 (m32bit-doubles) Likewise.
634 * gcc/config/rl78/t-rl78: Add 64-bit-double multilib.
635 * doc/invoke.texi: Document -m32bit-doubles and -m64bit-doubles
636 option for RL78.
637
3c698bf0
RO
6382014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
639
640 * configure.ac ($gcc_cv_ld_clearcap): New test.
641 * configure: Regenerate.
642 * config.in: Regenerate.
643 * config/sol2.opt (mclear-hwcap): New option.
644 * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
645 * config/sol2-clearcap.map: Moved here from
646 testsuite/gcc.target/i386/clearcap.map.
647 * config/sol2-clearcapv2.map: Move here from
648 gcc.target/i386/clearcapv2.map.
649 * config/t-sol2 (install): Depend on install-clearcap-map.
650 (install-clearcap-map): New target.
651 * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
652 -mclear-hwcap.
653
4c8bd90f
RB
6542014-05-28 Richard Biener <rguenther@suse.de>
655
656 * hwint.h (*_HALF_WIDE_INT*): Move to ...
657 * wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
658 ... here and remove the rest.
659 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
660
a896172d
RB
6612014-05-28 Richard Biener <rguenther@suse.de>
662
663 PR tree-optimization/61335
664 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and
665 new range fails, drop to varying.
666
b8c6a45a
TV
6672014-05-28 Tom de Vries <tom@codesourcery.com>
668
669 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
670 * lra.c (initialize_lra_reg_info_element): Add init of
671 actual_call_used_reg_set field.
672 (lra): Call lra_create_live_ranges before lra_inheritance for
673 -fuse-caller-save.
674 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
675 -fuse-caller-save.
40c0a159
UB
676 * lra-constraints.c (need_for_call_save_p): Use
677 actual_call_used_reg_set instead of call_used_reg_set for
678 -fuse-caller-save.
b8c6a45a
TV
679 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
680
dbe7d9e3 6812014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 682 Tom de Vries <tom@codesourcery.com>
dbe7d9e3 683
40c0a159
UB
684 * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save
685 to gccoptlist.
dbe7d9e3
RO
686 (@item -fuse-caller-save): New item.
687
5c989bbf 6882014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 689 Tom de Vries <tom@codesourcery.com>
5c989bbf
RO
690
691 * opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
692 OPT_fuse_caller_save.
693
c2ba7e7a 6942014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 695 Tom de Vries <tom@codesourcery.com>
c2ba7e7a
RO
696
697 * df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
698 * caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
699 get_call_reg_set_usage.
700 * resource.c (mark_set_resources, mark_target_live_regs): Use
701 get_call_reg_set_usage.
702 * ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
703 field.
704 (ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
705 * ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
706 Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
707 * ira-build.c (ira_create_allocno): Init
708 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
709 (create_cap_allocno, propagate_allocno_info)
710 (propagate_some_info_from_allocno)
711 (copy_info_to_removed_store_destinations): Handle
712 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
713 * ira-costs.c (ira_tune_allocno_costs): Use
714 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
715
27c07cc5 7162014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 717 Tom de Vries <tom@codesourcery.com>
27c07cc5
RO
718
719 * cgraph.h (struct cgraph_rtl_info): Add function_used_regs
720 and function_used_regs_valid fields.
721 * final.c: Move include of hard-reg-set.h to before rtl.h to declare
722 find_all_hard_reg_sets.
723 (collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
724 (get_call_reg_set_usage): New function.
725 (rest_of_handle_final): Use collect_fn_hard_reg_usage.
726 * regs.h (get_call_reg_set_usage): Declare.
727
ca48e5ef
GJL
7282014-05-28 Georg-Johann Lay <avr@gjlay.de>
729
730 PR libgcc/61152
731 * config/dbx.h (License): Add Runtime Library Exception.
732 * config/newlib-stdint.h (License): Same.
733 * config/rtems.h (License): Same
734 * config/initfini-array.h (License): Same
735 * config/v850/v850.h (License): Same.
736 * config/v850/v850-opts.h (License): Same
737 * config/v850/rtems.h (License): Same.
738
92747f7d
GJL
7392014-05-28 Georg-Johann Lay <avr@gjlay.de>
740
741 PR target/61044
742 * doc/extend.texi (Local Labels): Note that label differences are
743 not supported for AVR.
744
9c6ab05f
AP
7452014-05-27 Andrew Pinski <apinski@cavium.com>
746
747 * config/aarch64/aarch64.md (stack_protect_set_<mode>):
748 Use <w> for the register in assembly template.
40c0a159 749 (stack_protect_test): Use the mode of operands[0] for the result.
9c6ab05f
AP
750 (stack_protect_test_<mode>): Use <w> for the register
751 in assembly template.
752
69c7a374
DD
7532014-05-27 DJ Delorie <dj@redhat.com>
754
755 * config/rx/rx.c (add_vector_labels): New.
756 (rx_output_function_prologue): Call it.
757 (rx_handle_func_attribute): Don't require empty arguments.
758 (rx_handle_vector_attribute): New.
759 (rx_attribute_table): Add "vector" attribute.
760 * doc/extend.texi (interrupt, vector): Document new/changed
761 RX-specific attributes.
762
763 * config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.
764
5e67547d
EB
7652014-05-27 Eric Botcazou <ebotcazou@adacore.com>
766
767 * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
768 predicate to detect a negative quotient.
769
d378c07e
EB
7702014-05-27 Eric Botcazou <ebotcazou@adacore.com>
771
772 * fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
773 to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
774 Add X - Y CMP 0 to X CMP Y transformation.
775 (fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.
776
3ce6c715
SB
7772014-05-27 Segher Boessenkool <segher@kernel.crashing.org>
778
779 * stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
780 before printing.
781
11237229
SE
7822014-05-27 Steve Ellcey <sellcey@mips.com>
783
784 * config/mips/mips.c: Add include of cgraph.h.
785
7ea7f668
RB
7862014-05-27 Richard Biener <rguenther@suse.de>
787
788 * system.h (__STDC_FORMAT_MACROS): Define as very first thing.
789
c7eca9fe
GJL
7902014-05-27 Georg-Johann Lay <avr@gjlay.de>
791
792 PR libgcc/61152
793 * config/arm/arm.h (License): Add note to COPYING.RUNTIME.
794 * config/arm/arm-cores.def (License): Same.
795 * config/arm/arm-opts.h (License): Same.
796 * config/arm/aout.h (License): Same.
797 * config/arm/bpabi.h (License): Same.
798 * config/arm/elf.h (License): Same.
799 * config/arm/linux-elf.h (License): Same.
800 * config/arm/linux-gas.h (License): Same.
801 * config/arm/netbsd-elf.h (License): Same.
802 * config/arm/uclinux-eabi.h (License): Same.
803 * config/arm/uclinux-elf.h (License): Same.
804 * config/arm/vxworks.h (License): Same.
805
7a10ea9f
KT
8062014-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
807
808 * config/arm/neon.md (neon_bswap<mode>): New pattern.
809 * config/arm/arm.c (neon_itype): Add NEON_BSWAP.
810 (arm_init_neon_builtins): Handle NEON_BSWAP.
811 Define required type nodes.
812 (arm_expand_neon_builtin): Handle NEON_BSWAP.
813 (arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
814 * config/arm/arm_neon_builtins.def (bswap): Define builtins.
815 * config/arm/iterators.md (VDQHSD): New mode iterator.
816
597f5997
RB
8172014-05-27 Richard Biener <rguenther@suse.de>
818
819 * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
820 Try using literal operands when comparing value-ranges failed.
821
f571b63f
RS
8222014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
823
824 * ira.c (commutative_operand): Adjust for change to recog_data.
825 [Missing from previous commit.]
826
4cc8d9d2
RS
8272014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
828
829 * system.h (TEST_BIT): New macro.
830 * recog.h (alternative_mask): New type.
831 (ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
832 (recog_data_d): Replace alternative_enabled_p array with
833 enabled_alternatives.
834 (target_recog): New structure.
835 (default_target_recog, this_target_recog): Declare.
836 (get_enabled_alternatives, recog_init): Likewise.
837 * recog.c (default_target_recog, this_target_recog): New variables.
838 (get_enabled_alternatives): New function.
839 (extract_insn): Use it.
840 (recog_init): New function.
841 (preprocess_constraints, constrain_operands): Adjust for change to
842 recog_data.
843 * postreload.c (reload_cse_simplify_operands): Likewise.
844 * reload.c (find_reloads): Likewise.
845 * ira-costs.c (record_reg_classes): Likewise.
846 * ira-lives.c (single_reg_class): Likewise. Fix bug in which
847 all alternatives after a disabled one would be skipped.
848 (ira_implicitly_set_insn_hard_regs): Likewise.
849 * ira.c (ira_setup_alts): Adjust for change to recog_data.
850 * lra-int.h (lra_insn_recog_data): Replace alternative_enabled_p
851 with enabled_alternatives.
852 * lra.c (free_insn_recog_data): Update accordingly.
853 (lra_update_insn_recog_data): Likewise.
854 (lra_set_insn_recog_data): Likewise. Use get_enabled_alternatives.
855 * lra-constraints.c (process_alt_operands): Likewise. Handle
856 only_alternative as part of the enabled mask.
857 * target-globals.h (this_target_recog): Declare.
858 (target_globals): Add a recog field.
859 (restore_target_globals): Restore this_target_recog.
860 * target-globals.c: Include recog.h.
861 (default_target_globals): Initialize recog field.
862 (save_target_globals): Likewise.
863 * reginfo.c (reinit_regs): Call recog_init.
864 * toplev.c (backend_init_target): Likewise.
865
9921417d
RS
8662014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
867
868 * gencodes.c (main): Make LAST_INSN_CODE higher than any insn code,
869 rather than any named insn's code.
870
a5024e01
GJL
8712014-05-27 Georg-Johann Lay <avr@gjlay.de>
872
873 PR libgcc/61152
874 * config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
875 * config/arm/arm-cores.def (License): Same.
876
50efcce1
JH
8772014-05-26 Jan Hubicka <hubicka@ucw.cz>
878
879 * tree.h (decl_comdat_group): Declare.
880 * cgraph.h (symtab_in_same_comdat_p): Move offline to ...
881 * tree.c (decl_comdat_group): Here.
882
3e26c8f6
RS
8832014-05-26 Richard Sandiford <r.sandiford@uk.ibm.com>
884
885 PR rtl-optimization/61222
886 * combine.c (simplify_shift_const_1): When moving a PLUS outside
887 the shift, truncate the PLUS operand to the result mode.
888
b8140cd6
UB
8892014-05-26 Uros Bizjak <ubizjak@gmail.com>
890
891 PR target/61271
892 * config/i386/i386.c (ix86_rtx_costs)
893 <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
894 Fix condition.
895
acea91c9
MJ
8962014-05-26 Martin Jambor <mjambor@suse.cz>
897
898 * ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
899 subreg uses.
900
d93461f7
RB
9012014-05-26 Richard Biener <rguenther@suse.de>
902
903 * wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
904 wi::int_traits <long long>, wi::int_traits <unsigned long long>):
905 Provide specializations.
906 (wi::int_traits <HOST_WIDE_INT>,
907 wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
908
bfe51f42
AM
9092014-05-26 Alan Modra <amodra@gmail.com>
910
911 PR target/61098
912 * config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
913 params and return a bool. Remove dead code. Update comment.
914 Assert we have a const_int source. Remove bogus code from
915 32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
916 handling of constants > 2G and reg_equal note, from..
917 (rs6000_emit_set_long_const): ..here. Remove unneeded param and
918 return value. Update comment. If we can, use a new pseudo
919 for intermediate calculations.
920 * config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
921 prototype.
922 * config/rs6000/rs6000.md (movsi_internal1_single+1): Update
923 call to rs6000_emit_set_const in splitter.
924 (movdi_internal64+2, +3): Likewise.
925
a9243bfc
RB
9262014-05-26 Richard Biener <rguenther@suse.de>
927
928 * system.h: Define __STDC_FORMAT_MACROS before
929 including inttypes.h.
930 * hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
931 HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
932 HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
933 HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
934 HOST_WIDEST_INT_C): Remove.
935 (PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
936 if C99 inttypes.h is not available.
937 * coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
938 * gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
939 * gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
940 * cfgloop.h (struct niter_desc): Use uint64_t for niter field.
941 * bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
942 (struct output_info): Likewise.
943 (print_statistics): Adjust.
944 (dump_bitmap_statistics): Likewise.
945 * bt-load.c (migrate_btr_defs): Print with PRId64.
946 * cfg.c (dump_edge_info, dump_bb_info): Likewise.
947 (MAX_SAFE_MULTIPLIER): Adjust.
948 * cfghooks.c (dump_bb_for_graph): Print with PRId64.
949 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
950 dump_cgraph_node): Likewise.
951 * final.c (dump_basic_block_info): Likewise.
952 * gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
953 * gcov.c (format_gcov): Likewise.
954 * ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
955 for calculation.
956 (get_clone_agg_value): Use HOST_WIDE_INT for offset.
957 * ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
958 (inline_small_functions, dump_overall_stats, dump_inline_stats):
959 Use PRId64 for dumping.
960 * ipa-profile.c (dump_histogram, ipa_profile): Likewise.
961 * ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
962 (add_allocno_hard_regs): Adjust.
963 * loop-doloop.c (doloop_modify): Print using PRId64.
964 * loop-iv.c (inverse): Compute in uint64_t.
965 (determine_max_iter, iv_number_of_iterations): Likewise.
966 * loop-unroll.c (decide_peel_completely, decide_peel_simple):
967 Print using PRId64.
968 * lto-streamer-out.c (write_symbol): Use uint64_t.
969 * mcf.c (CAP_INFINITY): Use int64_t maximum.
970 (dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
971 find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
972 * modulo-sched.c (const_iteration_count): Use int64_t.
973 (sms_schedule): Dump using PRId64.
974 * predict.c (dump_prediction): Likewise.
975 * pretty-print.h (pp_widest_integer): Remove.
976 * profile.c (get_working_sets, is_edge_inconsistent,
977 is_inconsistent, read_profile_edge_counts): Dump using PRId64.
978 * tree-pretty-print.c (pp_double_int): Remove case handling
979 HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
980 * tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
981 and adjust users.
982 (pass_optimize_bswap::execute): Remove restriction on hosts.
983 * tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
984 * tree-streamer-out.c (streamer_write_tree_header): Likewise.
985 * tree.c (widest_int_cst_value): Remove.
986 * tree.h (widest_int_cst_value): Likewise.
987 * value-prof.c (dump_histogram_value): Print using PRId64.
988 * gengtype.c (main): Also inject int64_t.
989 * ggc-page.c (struct max_alignment): Use int64_t.
990 * alloc-pool.c (struct allocation_object_def): Likewise.
991 * ira-conflicts.c (build_conflict_bit_table): Use uint64_t
992 for computation.
993 * doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
994 * doc/tm.texi: Regenerated.
995 * gengtype-lex.l (IWORD): Handle [u]int64_t.
996 * config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
997 * config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
998 mmix_output_register_setting): Use [u]int64_t in prototypes.
999 * config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
1000 mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
1001 mmix_output_octa, mmix_output_shifted_value): Adjust.
1002 (mmix_intval): Adjust. Remove unreachable case.
b8140cd6 1003 * config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use int64_t.
a9243bfc 1004
edf6ddf6
RB
10052014-05-26 Richard Biener <rguenther@suse.de>
1006
1007 * configure.ac: Drop __int64 type check. Insist that we
1008 found uint64_t and int64_t.
1009 * hwint.h (HOST_BITS_PER___INT64): Remove.
b8140cd6 1010 (HOST_BITS_PER_WIDE_INT): Define to 64 and remove __int64 case.
edf6ddf6
RB
1011 (HOST_WIDE_INT_PRINT_*): Remove 32bit case.
1012 (HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
1013 (HOST_WIDEST_FAST_INT): Remove __int64 case.
1014 * vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
1015 for dst_q_src_df_rms_cdt.
1016 * configure: Regenerate.
1017 * config.in: Likewise.
1018
d4082970
MT
10192014-05-26 Michael Tautschnig <mt@debian.org>
1020
1021 PR target/61249
49f002b6
UB
1022 * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
1023 __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
d4082970 1024
d29d688a
ZC
10252014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1026
1027 PR rtl-optimization/61278
1028 * shrink-wrap.c (move_insn_for_shrink_wrap): Check df_live.
1029
88f32f0f
ZC
10302014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1031
1032 PR rtl-optimization/61220
1033 Part of PR rtl-optimization/61225
1034 * shrink-wrap.c (move_insn_for_shrink_wrap): Skip SP and FP adjustment
1035 insn; skip split_edge for a block with only one successor.
1036
97ae6b64
JH
10372014-05-23 Jan Hubicka <hubicka@ucw.cz>
1038
d4082970
MT
1039 * symtab.c (symtab_nonoverwritable_alias): Copy READONLY flag
1040 for variables.
97ae6b64 1041
07990a5e
JH
10422014-05-23 Jan Hubicka <hubicka@ucw.cz>
1043
1044 * ipa-visibility.c (can_replace_by_local_alias_in_vtable): New function.
1045 (update_vtable_references): New function.
1046 (function_and_variable_visibility): Rewrite also vtable initializers.
1047 * varpool.c (cgraph_variable_initializer_availability): Remove assert.
1048
fd1e9302
JH
10492014-05-23 Jan Hubicka <hubicka@ucw.cz>
1050
1051 * ggc.h (ggc_grow): New function.
1052 * ggc-none.c (ggc_grow): New function.
1053 * ggc-page.c (ggc_grow): Likewise.
1054
7f7beb3f
JH
10552014-05-23 Jan Hubicka <hubicka@ucw.cz>
1056
d4082970
MT
1057 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
1058 address_taken_from_non_vtable_p, comdat_can_be_unshared_p_1,
1059 comdat_can_be_unshared_p, cgraph_externally_visible_p,
7f7beb3f
JH
1060 varpool_externally_visible_p, can_replace_by_local_alias,
1061 update_visibility_by_resolution_info, function_and_variable_visibility,
1062 pass_data_ipa_function_and_variable_visibility,
1063 make_pass_ipa_function_and_variable_visibility,
1064 whole_program_function_and_variable_visibility,
1065 pass_data_ipa_whole_program_visibility,
1066 make_pass_ipa_whole_program_visibility): Move to ipa-visibility.c
1067 * cgraph.h (cgraph_local_node_p): Declare.
1068 * ipa-visibility.c: New file.
1069 * Makefile.in (OBJS): Add ipa-visiblity.o
1070
6adda80b
JH
10712014-05-23 Jan Hubicka <hubicka@ucw.cz>
1072
1073 * gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
1074 that var decl is available.
1075
aede2c10
JH
10762014-05-23 Jan Hubicka <hubicka@ucw.cz>
1077
1078 * tree-core.h (tree_decl_with_vis): Replace comdat_group by
1079 symtab_node pointer.
d4082970 1080 * tree.c (copy_node_stat): Be sure to not copy symtab_node pointer.
aede2c10
JH
1081 (find_decls_types_r): Do not walk COMDAT_GROUP.
1082 * tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
1083 * varasm.c (make_decl_one_only): Use set_comdat_group;
1084 create node if needed.
1085 * ipa-inline-transform.c (save_inline_function_body): Update
1086 way we decl->symtab mapping.
1087 * symtab.c (symtab_hash, hash_node, eq_node
1088 symtab_insert_node_to_hashtable): Remove.
1089 (symtab_register_node): Update.
1090 (symtab_unregister_node): Update.
1091 (symtab_get_node): Reimplement as inline function.
1092 (symtab_add_to_same_comdat_group): Update.
1093 (symtab_dissolve_same_comdat_group_list): Update.
1094 (dump_symtab_base): Update.
1095 (verify_symtab_base): Update.
1096 (symtab_make_decl_local): Update.
1097 (fixup_same_cpp_alias_visibility): Update.
1098 (symtab_nonoverwritable_alias): Update.
1099 * cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
1100 * ipa.c (update_visibility_by_resolution_info): UPdate.
1101 * bb-reorder.c: Include cgraph.h
1102 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
1103 with comdat groups.
1104 * ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
1105 * cgraph.c (cgraph_get_create_node): Update.
1106 * cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
1107 and comdat_group_.
1108 (symtab_get_node): Make inline.
1109 (symtab_insert_node_to_hashtable): Remove.
1110 (symtab_can_be_discarded): Update.
1111 (decl_comdat_group): New function.
d4082970
MT
1112 * tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers):
1113 Update.
aede2c10
JH
1114 * lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
1115 comdat group name.
1116 (read_comdat_group): New function.
1117 (input_node, input_varpool_node): Use it.
1118 * trans-mem.c (ipa_tm_create_version_alias): Update code creating
1119 comdat groups.
1120 * mips.c (mips_start_unique_function): Likewise.
1121 (ix86_code_end): Likewise.
1122 (rs6000_code_end): Likweise.
d4082970 1123 * tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream comdat group.
aede2c10 1124
4df199d1
JH
11252014-05-23 Jan Hubicka <hubicka@ucw.cz>
1126
1127 * gengtype-state.c (fatal_reading_state): Bring offline.
1128 * optabs.c (widening_optab_handler): Bring offline.
1129 * optabs.h (widening_optab_handler): Likewise.
1130 * final.c (get_attr_length_1): Likewise.
1131
e0e349f3
JH
11322014-05-23 Jan Hubicka <hubicka@ucw.cz>
1133
1134 * sched-int.h (sd_iterator_cond): Manually tail recurse.
1135
a35dd1fa
SB
11362014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1137
d4082970 1138 * config/rs6000/440.md (ppc440-integer): Include shift without dot.
a35dd1fa 1139 (ppc440-compare): Include shift with dot.
d4082970 1140 * config/rs6000/e300c2c3.md (ppce300c3_iu): Include shift without dot.
a35dd1fa
SB
1141 * config/rs6000/e5500.md (e5500_sfx2): Include constant shift
1142 without dot.
1143 * config/rs6000/e6500.md (e6500_sfx): Exclude constant shift
1144 without dot.
1145 (e6500_sfx2): Include it.
1146 * config/rs6000/rs6000.md ( *zero_extend<mode>di2_internal1,
1147 *zero_extend<mode>di2_internal2, *zero_extend<mode>di2_internal3,
1148 *zero_extendsidi2_lfiwzx, andsi3_mc, andsi3_nomc,
1149 andsi3_internal0_nomc, extzvsi_internal, extzvdi_internal,
1150 *extzvdi_internal1, *extzvdi_internal2, rotlsi3, *rotlsi3_64,
1151 *rotlsi3_internal4, *rotlsi3_internal7le, *rotlsi3_internal7be,
1152 *rotlsi3_internal10le, *rotlsi3_internal10be, rlwinm,
1153 *lshiftrt_internal1le, *lshiftrt_internal1be,
1154 *lshiftrt_internal4le, *lshiftrt_internal4be, rotldi3,
1155 *rotldi3_internal4, *rotldi3_internal7le, *rotldi3_internal7be,
1156 *rotldi3_internal10le, *rotldi3_internal10be,
1157 *rotldi3_internal13le, *rotldi3_internal13be, *ashldi3_internal4,
1158 ashldi3_internal5, *ashldi3_internal6, *ashldi3_internal7,
1159 ashldi3_internal8, *ashldi3_internal9, anddi3_mc, anddi3_nomc,
1160 *anddi3_internal2_mc, *anddi3_internal3_mc, and 4 anonymous
1161 define_insns): Use type "shift" in the appropriate alternatives.
1162
73c076c8
SB
11632014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1164
1165 * config/rs6000/rs6000.md (type): Add "logical". Delete
1166 "fast_compare".
1167 (dot): Adjust comment.
1168 (andsi3_mc, *andsi3_internal2_mc, *andsi3_internal3_mc,
1169 *andsi3_internal4, *andsi3_internal5_mc, *boolsi3_internal2,
1170 *boolsi3_internal3, *boolccsi3_internal2, *boolccsi3_internal3,
1171 anddi3_mc, *anddi3_internal2_mc, *anddi3_internal3_mc,
1172 *booldi3_internal2, *booldi3_internal3, *boolcdi3_internal2,
1173 *boolcdi3_internal3, *boolccdi3_internal2, *boolccdi3_internal3,
d4082970 1174 *mov<mode>_internal2, and 10 anonymous define_insns): Use "logical".
73c076c8
SB
1175 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
1176
d4082970
MT
1177 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
1178 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
1179 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
1180 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
1181 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
1182 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
1183 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
1184 * config/rs6000/8540.md (ppc8540_su): Adjust.
1185 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
73c076c8 1186 cell-cmp-microcoded): Adjust.
d4082970
MT
1187 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
1188 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1189 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
1190 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
1191 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
1192 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
1193 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
1194 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
1195 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
73c076c8 1196 Adjust.
d4082970
MT
1197 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
1198 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare):
73c076c8 1199 Adjust. Adjust comment.
d4082970
MT
1200 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
1201 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
73c076c8 1202
0cbb4f58
SB
12032014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1204
1205 * config/rs6000/rs6000.md (type): Add "add".
1206 (*add<mode>3_internal1, addsi3_high, *add<mode>3_internal2,
1207 *add<mode>3_internal3, *neg<mode>2_internal, and 5 anonymous
1208 define_insns): Use it.
1209 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
1210
1211 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
1212 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
d4082970 1213 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
0cbb4f58
SB
1214 * config/rs6000/601.md (ppc601-integer): Adjust.
1215 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
1216 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
1217 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
1218 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
1219 * config/rs6000/8540.md (ppc8540_su): Adjust.
1220 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
1221 cell-cmp-microcoded): Adjust.
1222 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
1223 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1224 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
1225 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
1226 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
1227 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
1228 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
1229 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
1230 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
1231 Adjust.
1232 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
d4082970 1233 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare): Adjust.
0cbb4f58
SB
1234 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
1235 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
1236
892e7fa6
SB
12372014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1238
1239 * config/rs6000/rs6000.md (type): Delete "var_shift_rotate",
1240 "delayed_compare", "var_delayed_compare".
1241 (var_shift): New attribute.
1242 (cell_micro): Adjust.
1243 (*andsi3_internal2_mc, *andsi3_internal3_mc, *andsi3_internal4,
1244 *andsi3_internal5_mc, *extzvsi_internal1, *extzvsi_internal2,
1245 rotlsi3, *rotlsi3_64, *rotlsi3_internal2, *rotlsi3_internal3,
1246 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
1247 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
1248 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
1249 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
1250 *rotlsi3_internal12be, ashlsi3, *ashlsi3_64, lshrsi3, *lshrsi3_64,
1251 *lshiftrt_internal2le, *lshiftrt_internal2be, *lshiftrt_internal3le,
1252 *lshiftrt_internal3be, *lshiftrt_internal5le, *lshiftrt_internal5be,
1253 *lshiftrt_internal5le, *lshiftrt_internal5be, ashrsi3, *ashrsi3_64,
1254 rotldi3, *rotldi3_internal2, *rotldi3_internal3, *rotldi3_internal4,
1255 *rotldi3_internal5, *rotldi3_internal6, *rotldi3_internal7le,
1256 *rotldi3_internal7be, *rotldi3_internal8le, *rotldi3_internal8be,
1257 *rotldi3_internal9le, *rotldi3_internal9be, *rotldi3_internal10le,
1258 *rotldi3_internal10be, *rotldi3_internal11le, *rotldi3_internal11be,
1259 *rotldi3_internal12le, *rotldi3_internal12be, *rotldi3_internal13le,
1260 *rotldi3_internal13be, *rotldi3_internal14le, *rotldi3_internal14be,
1261 *rotldi3_internal15le, *rotldi3_internal15be, *ashldi3_internal1,
1262 *ashldi3_internal2, *ashldi3_internal3, *lshrdi3_internal1,
1263 *lshrdi3_internal2, *lshrdi3_internal3, *ashrdi3_internal1,
1264 *ashrdi3_internal2, *ashrdi3_internal3, *anddi3_internal2_mc,
1265 *anddi3_internal3_mc, as well as 11 anonymous define_insns): Adjust.
1266 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
1267 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
1268
1269 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
1270 * config/rs6000/440.md (ppc440-integer): Adjust.
d4082970 1271 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
892e7fa6
SB
1272 * config/rs6000/601.md (ppc601-integer, ppc601-compare): Adjust.
1273 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
1274 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
d4082970 1275 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
892e7fa6
SB
1276 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
1277 * config/rs6000/8540.md (ppc8540_su): Adjust.
1278 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
1279 cell-cmp-microcoded): Adjust.
1280 * config/rs6000/e300c2c3.md (ppce300c3_cmp): Adjust.
1281 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1282 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2,
1283 e500mc64_delayed): Adjust.
1284 * config/rs6000/e5500.md (e5500_sfx, e5500_delayed): Adjust.
1285 * config/rs6000/e6500.md (e6500_sfx, e6500_delayed): Adjust.
1286 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
d4082970
MT
1287 * config/rs6000/power4.md (power4-integer, power4-compare): Adjust.
1288 * config/rs6000/power5.md (power5-integer, power5-compare): Adjust.
892e7fa6
SB
1289 * config/rs6000/power6.md (power6-shift, power6-var-rotate,
1290 power6-delayed-compare, power6-var-delayed-compare): Adjust.
d4082970 1291 * config/rs6000/power7.md (power7-integer, power7-compare): Adjust.
892e7fa6
SB
1292 * config/rs6000/power8.md (power8-1cyc, power8-compare): Adjust.
1293 Adjust comment.
1294 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
1295 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
1296
441e02a5
SB
12972014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1298
d4082970 1299 * config/rs6000/rs6000.md (type): Delete "idiv", "ldiv". Add "div".
441e02a5
SB
1300 (bits): New mode_attr.
1301 (idiv_ldiv): Delete mode_attr.
1302 (udiv<mode>3, *div<mode>3, div<div_extend>_<mode>): Adjust.
1303 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
1304 rs6000_adjust_priority, is_nonpipeline_insn,
1305 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
1306
1307 * config/rs6000/40x.md (ppc403-idiv): Adjust.
1308 * config/rs6000/440.md (ppc440-idiv): Adjust.
1309 * config/rs6000/476.md (ppc476-idiv): Adjust.
1310 * config/rs6000/601.md (ppc601-idiv): Adjust.
1311 * config/rs6000/603.md (ppc603-idiv): Adjust.
1312 * config/rs6000/6xx.md (ppc604-idiv, ppc620-idiv, ppc630-idiv,
1313 ppc620-ldiv): Adjust.
1314 * config/rs6000/7450.md (ppc7450-idiv): Adjust.
1315 * config/rs6000/7xx.md (ppc750-idiv): Adjust.
1316 * config/rs6000/8540.md (ppc8540_divide): Adjust.
1317 * config/rs6000/a2.md (ppca2-idiv, ppca2-ldiv): Adjust.
1318 * config/rs6000/cell.md (cell-idiv, cell-ldiv): Adjust.
1319 * config/rs6000/e300c2c3.md (ppce300c3_divide): Adjust.
1320 * config/rs6000/e500mc.md (e500mc_divide): Adjust.
1321 * config/rs6000/e500mc64.md (e500mc64_divide): Adjust.
1322 * config/rs6000/e5500.md (e5500_divide, e5500_divide_d): Adjust.
1323 * config/rs6000/e6500.md (e6500_divide, e6500_divide_d): Adjust.
1324 * config/rs6000/mpc.md (mpccore-idiv): Adjust.
1325 * config/rs6000/power4.md (power4-idiv, power4-ldiv): Adjust.
1326 * config/rs6000/power5.md (power5-idiv, power5-ldiv): Adjust.
1327 * config/rs6000/power6.md (power6-idiv, power6-ldiv): Adjust.
1328 * config/rs6000/power7.md (power7-idiv, power7-ldiv): Adjust.
1329 * config/rs6000/power8.md (power8-idiv, power8-ldiv): Adjust.
1330 * config/rs6000/rs64.md (rs64a-idiv, rs64a-ldiv): Adjust.
1331 * config/rs6000/titan.md (titan_fxu_div): Adjust.
1332
58ee9e66
SB
13332014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1334
1335 * config/rs6000/rs6000.md (type): Delete "insert_word",
1336 "insert_dword". Add "insert".
1337 (size): Update comment.
1338 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
1339 insn_must_be_first_in_group): Adjust.
1340 (insvsi_internal, *insvsi_internal1, *insvsi_internal2,
1341 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
1342 *insvsi_internal6, insvdi_internal): Adjust.
1343
1344 * config/rs6000/40x.md (ppc403-integer): Adjust.
1345 * config/rs6000/440.md (ppc440-integer): Adjust.
1346 * config/rs6000/476.md (ppc476-simple-integer): Adjust.
1347 * config/rs6000/601.md (ppc601-integer): Adjust.
1348 * config/rs6000/603.md (ppc603-integer): Adjust.
1349 * config/rs6000/6xx.md (ppc604-integer): Adjust.
1350 * config/rs6000/7450.md (ppc7450-integer): Adjust.
1351 * config/rs6000/7xx.md (ppc750-integer): Adjust.
1352 * config/rs6000/8540.md (ppc8540_su): Adjust.
1353 * config/rs6000/cell.md (cell-integer, cell-insert): Adjust.
1354 * config/rs6000/e300c2c3.md (ppce300c3_iu): Adjust.
1355 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1356 * config/rs6000/e500mc64.md (e500mc64_su): Adjust.
1357 * config/rs6000/e5500.md (e5500_sfx): Adjust.
1358 * config/rs6000/e6500.md (e6500_sfx): Adjust.
1359 * config/rs6000/mpc.md (mpccore-integer): Adjust.
1360 * config/rs6000/power4.md (power4-integer, power4-insert): Adjust.
1361 * config/rs6000/power5.md (power5-integer, power5-insert): Adjust.
d4082970 1362 * config/rs6000/power6.md (power6-insert, power6-insert-dword): Adjust.
58ee9e66
SB
1363 * config/rs6000/power7.md (power7-integer): Adjust.
1364 * config/rs6000/power8.md (power8-1cyc): Adjust.
1365 * config/rs6000/rs64.md (rs64a-integer): Adjust.
1366 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
1367
e0528ed9
SB
13682014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1369
1370 * config/rs6000/rs6000.md (type): Add "mul". Delete "imul",
1371 "imul2", "imul3", "lmul", "imul_compare", "lmul_compare".
1372 (size): New attribute.
1373 (dot): New attribute.
1374 (cell_micro): Adjust.
1375 (mulsi3, *mulsi3_internal1, *mulsi3_internal2, mulsidi3,
1376 umulsidi3, smulsi3_highpart, umulsi3_highpart, muldi3,
1377 *muldi3_internal1, *muldi3_internal2, smuldi3_highpart,
1378 umuldi3_highpart): Adjust.
1379 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
1380 rs6000_adjust_priority, is_nonpipeline_insn,
1381 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
1382
1383 * config/rs6000/40x.md (ppc403-imul, ppc405-imul, ppc405-imul2,
1384 ppc405-imul3): Adjust.
1385 * config/rs6000/440.md (ppc440-imul, ppc440-imul2): Adjust.
1386 * config/rs6000/476.md (ppc476-imul): Adjust.
1387 * config/rs6000/601.md (ppc601-imul): Adjust.
1388 * config/rs6000/603.md (ppc603-imul, ppc603-imul2): Adjust.
1389 * config/rs6000/6xx.md (ppc604-imul, ppc604e-imul, ppc620-imul,
1390 ppc620-imul2, ppc620-imul3, ppc620-lmul): Adjust.
1391 * config/rs6000/7450.md (ppc7450-imul, ppc7450-imul2): Adjust.
1392 * config/rs6000/7xx.md (ppc750-imul, ppc750-imul2, ppc750-imul3):
1393 Adjust.
1394 * config/rs6000/8540.md (ppc8540_multiply): Adjust.
1395 * config/rs6000/a2.md (ppca2-imul, ppca2-lmul): Adjust.
1396 * config/rs6000/cell.md (cell-lmul, cell-lmul-cmp, cell-imul23,
1397 cell-imul): Adjust.
1398 * config/rs6000/e300c2c3.md (ppce300c3_multiply): Adjust.
1399 * config/rs6000/e500mc.md (e500mc_multiply): Adjust.
1400 * config/rs6000/e500mc64.md (e500mc64_multiply): Adjust.
1401 * config/rs6000/e5500.md (e5500_multiply, e5500_multiply_i): Adjust.
1402 * config/rs6000/e6500.md (e6500_multiply, e6500_multiply_i): Adjust.
1403 * config/rs6000/mpc.md (mpccore-imul): Adjust.
1404 * config/rs6000/power4.md (power4-lmul-cmp, power4-imul-cmp,
1405 power4-lmul, power4-imul, power4-imul3): Adjust.
1406 * config/rs6000/power5.md (power5-lmul-cmp, power5-imul-cmp,
1407 power5-lmul, power5-imul, power5-imul3): Adjust.
1408 * config/rs6000/power6.md (power6-lmul-cmp, power6-imul-cmp,
1409 power6-lmul, power6-imul, power6-imul3): Adjust.
1410 * config/rs6000/power7.md (power7-mul, power7-mul-compare): Adjust.
1411 * config/rs6000/power8.md (power8-mul, power8-mul-compare): Adjust.
1412
1413 * config/rs6000/rs64.md (rs64a-imul, rs64a-imul2, rs64a-imul3,
1414 rs64a-lmul): Adjust.
1415 * config/rs6000/titan.md (titan_imul): Adjust.
1416
1263d642
SB
14172014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1418
1419 * config/rs6000/rs6000.md (type): Add new value "halfmul".
1420 (*macchwc, *macchw, *macchwuc, *macchwu, *machhwc, *machhw,
1421 *machhwuc, *machhwu, *maclhwc, *maclhw, *maclhwuc, *maclhwu,
1422 *nmacchwc, *nmacchw, *nmachhwc, *nmachhw, *nmaclhwc, *nmaclhw,
1423 *mulchwc, *mulchw, *mulchwuc, *mulchwu, *mulhhwc, *mulhhw,
d4082970 1424 *mulhhwuc, *mulhhwu, *mullhwc, *mullhw, *mullhwuc, *mullhwu): Use it.
1263d642
SB
1425 * config/rs6000/40x.md (ppc405-imul3): Add type halfmul.
1426 * config/rs6000/440.md (ppc440-imul2): Add type halfmul.
1427 * config/rs6000/476.md (ppc476-imul): Add type halfmul.
1428 * config/rs6000/titan.md: Delete nonsensical comment.
1429 (titan_imul): Add type imul3.
1430 (titan_mulhw): Remove type imul3; add type halfmul.
1431
1be6301a
SB
14322014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1433
1434 * config/rs6000/rs6000.md (type): Reorder, reformat.
1435
8aab5218
MJ
14362014-05-23 Martin Jambor <mjambor@suse.cz>
1437
1438 PR tree-optimization/53787
1439 * params.def (PARAM_IPA_MAX_AA_STEPS): New param.
1440 * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
1441 analysis_done, update all uses.
1442 * ipa-prop.c: Include domwalk.h
1443 (param_analysis_info): Removed.
1444 (param_aa_status): New type.
1445 (ipa_bb_info): Likewise.
1446 (func_body_info): Likewise.
1447 (ipa_get_bb_info): New function.
1448 (aa_overwalked): Likewise.
1449 (find_dominating_aa_status): Likewise.
1450 (parm_bb_aa_status_for_bb): Likewise.
1451 (parm_preserved_before_stmt_p): Changed to use new param AA info.
1452 (load_from_unmodified_param): Accept func_body_info as a parameter
1453 instead of parms_ainfo.
1454 (parm_ref_data_preserved_p): Changed to use new param AA info.
1455 (parm_ref_data_pass_through_p): Likewise.
1456 (ipa_load_from_parm_agg_1): Likewise. Update callers.
1457 (compute_complex_assign_jump_func): Changed to use new param AA info.
1458 (compute_complex_ancestor_jump_func): Likewise.
1459 (ipa_compute_jump_functions_for_edge): Likewise.
1460 (ipa_compute_jump_functions): Removed.
1461 (ipa_compute_jump_functions_for_bb): New function.
1462 (ipa_analyze_indirect_call_uses): Likewise, moved variable
1463 declarations down.
1464 (ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
1465 and info, moved variable declarations down.
1466 (ipa_analyze_call_uses): Accept and pass on func_body_info instead of
1467 node and info.
1468 (ipa_analyze_stmt_uses): Likewise.
1469 (ipa_analyze_params_uses): Removed.
1470 (ipa_analyze_params_uses_in_bb): New function.
1471 (ipa_analyze_controlled_uses): Likewise.
1472 (free_ipa_bb_info): Likewise.
1473 (analysis_dom_walker): New class.
1474 (ipa_analyze_node): Handle node-specific forbidden analysis,
1475 initialize and free func_body_info, use dominator walker.
1476 (ipcp_modif_dom_walker): New class.
1477 (ipcp_transform_function): Create and free func_body_info, use
1478 ipcp_modif_dom_walker, moved a lot of functionality there.
1479
85a16bf8
MP
14802014-05-23 Marek Polacek <polacek@redhat.com>
1481 Jakub Jelinek <jakub@redhat.com>
1482
1483 * builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
1484 * gcc.c (sanitize_spec_function): Likewise.
1485 * convert.c (convert_to_integer): Include "ubsan.h". Add
1486 floating-point to integer instrumentation.
1487 * doc/invoke.texi: Document -fsanitize=float-cast-overflow.
1488 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
1489 SANITIZE_NONDEFAULT.
1490 * opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
1491 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
1492 BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
1493 * ubsan.c: Include "realmpfr.h" and "dfp.h".
1494 (get_ubsan_type_info_for_type): Handle REAL_TYPEs.
1495 (ubsan_type_descriptor): Set tkind to 0xffff for types other than
1496 float/double/long double.
1497 (ubsan_instrument_float_cast): New function.
1498 * ubsan.h (ubsan_instrument_float_cast): Declare.
1499
40c0a159 15002014-05-23 Jiong Wang <jiong.wang@arm.com>
fee9ba42
JW
1501
1502 * config/aarch64/predicates.md (aarch64_call_insn_operand): New
1503 predicate.
1504 * config/aarch64/constraints.md ("Ucs", "Usf"): New constraints.
1505 * config/aarch64/aarch64.md (*sibcall_insn, *sibcall_value_insn):
1506 Adjust for tailcalling through registers.
1507 * config/aarch64/aarch64.h (enum reg_class): New caller save
1508 register class.
1509 (REG_CLASS_NAMES): Likewise.
1510 (REG_CLASS_CONTENTS): Likewise.
1511 * config/aarch64/aarch64.c (aarch64_function_ok_for_sibcall):
1512 Allow tailcalling without decls.
1513
ed20ae98
TS
15142014-05-23 Thomas Schwinge <thomas@codesourcery.com>
1515
09af4b4c
TS
1516 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
1517 Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.
1518
ed20ae98
TS
1519 * omp-low.c (expand_omp_for_static_chunk): Rename variable si to
1520 gsi, and variables v_* to v*.
1521
4adf63f9
EB
15222014-05-23 Eric Botcazou <ebotcazou@adacore.com>
1523
1524 * varasm.c (output_constructor_bitfield): Fix thinkos in latest change.
1525
a5a5434f
TS
15262014-05-23 Thomas Schwinge <thomas@codesourcery.com>
1527
0aadce73
TS
1528 * gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
1529 * omp-low.c: Update accordingly.
1530
eb63c927
TS
1531 * gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
1532 for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
1533 GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
1534 GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
1535 GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
1536 GF_OMP_TARGET_KIND_UPDATE.
1537
a5a5434f
TS
1538 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
1539 Explicitly enumerate the expected region types.
1540
ee526ea7
PE
15412014-05-23 Paul Eggert <eggert@cs.ucla.edu>
1542
1543 PR other/56955
1544 * doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc))
1545 documentation; the old documentation didn't clearly state the
1546 constraints on the contents of the pointed-to storage.
1547
676cad4d
MK
15482014-05-23 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1549
1550 Fix bootstrap error on ia64
1551 * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
1552 Return default value.
1553
73984f84
TP
15542014-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
1555
1556 PR tree-optimization/54733
1557 * tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
1558 (CMPNOP): Define.
1559 (find_bswap_or_nop_load): New.
1560 (find_bswap_1): Renamed to ...
1561 (find_bswap_or_nop_1): This. Also add support for memory source.
1562 (find_bswap): Renamed to ...
1563 (find_bswap_or_nop): This. Also add support for memory source and
1564 detection of bitwise operations equivalent to load in host endianness.
1565 (execute_optimize_bswap): Likewise. Also move its leading comment back
1566 in place and split statement transformation into ...
1567 (bswap_replace): This.
1568
b17ec42d
VM
15692014-05-22 Vladimir Makarov <vmakarov@redhat.com>
1570
1571 PR rtl-optimization/61215
1572 * lra-elelimination.c (lra_eliminate_regs_1): Don't use
1573 simplify_gen_subreg until final substitution.
1574
ea9364db
AM
15752014-05-23 Alan Modra <amodra@gmail.com>
1576
1577 PR target/61231
1578 * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
1579 * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
1580 Use "Y" constraint rather than "m".
1581
aa87aced
KV
15822014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org>
1583
1584 * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
1585 define.
1586 * config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
1587 New function declaration.
1588 * config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
1589 AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
1590 AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
1591 (aarch64_init_builtins) : Initialize builtins
1592 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
1593 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
1594 (aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
1595 __builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
1596 and __builtins_aarch64_set_fpsr.
1597 (aarch64_atomic_assign_expand_fenv): New function.
1598 * config/aarch64/aarch64.md (set_fpcr): New pattern.
1599 (get_fpcr) : Likewise.
1600 (set_fpsr) : Likewise.
1601 (get_fpsr) : Likewise.
1602 (unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
1603 and UNSPECV_SET_FPSR.
1604 * doc/extend.texi (AARCH64 Built-in Functions) : Document
1605 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
1606 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
1607
0a1eb350
VM
16082014-05-22 Vladimir Makarov <vmakarov@redhat.com>
1609
1610 PR rtl-optimization/60969
1611 * ira-costs.c (record_reg_classes): Process NO_REGS for matching
1612 constraints. Set up mem cost for NO_REGS case.
1613
f6a7cffc
TS
16142014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1615
1616 * builtin-types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
1617
4000360e
BS
16182012-05-22 Bernd Schmidt <bernds@codesourcery.com>
1619
1620 * config/darwin.c: Include "lto-section-names.h".
1621 (LTO_SEGMENT_NAME): Don't define.
1622 * config/i386/winnt.c: Include "lto-section-names.h".
1623 * lto-streamer.c: Include "lto-section-names.h".
1624 * lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define.
1625 * lto-wrapper.c: Include "lto-section-names.h".
1626 (LTO_SECTION_NAME_PREFIX): Don't define.
1627 * lto-section-names.h: New file.
1628 * cgraphunit.c: Include "lto-section-names.h".
1629
c9aee450
PB
16302014-05-22 Peter Bergner <bergner@vnet.ibm.com>
1631
1632 * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
1633
37f2edf5
RE
16342014-05-22 Richard Earnshaw <rearnsha@arm.com>
1635
1636 PR target/61208
1637 * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
1638
1ad47ee5
NC
16392014-05-22 Nick Clifton <nickc@redhat.com>
1640
d4082970 1641 * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
1ad47ee5 1642
1f9c420b
EB
16432014-05-22 Eric Botcazou <ebotcazou@adacore.com>
1644
1645 * tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P
1646 -> (T)A transformation to integer types.
1647
e3f0315f
TJ
16482014-05-22 Teresa Johnson <tejohnson@google.com>
1649
1650 * gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
1651 (gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
1652 (gcov_rewrite): Use gcov_nonruntime_assert.
1653 (gcov_open): Ditto.
1654 (gcov_write_words): Ditto.
1655 (gcov_write_length): Ditto.
1656 (gcov_read_words): Use gcov_nonruntime_assert, and remove
1657 gcc_assert from IN_LIBGCOV code.
1658 (gcov_read_summary): Use gcov_error to flag profile corruption.
1659 (gcov_sync): Use gcov_nonruntime_assert.
1660 (gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
1661 (gcov_histo_index): Use gcov_nonruntime_assert.
1662 (static void gcov_histogram_merge): Ditto.
1663 (compute_working_sets): Ditto.
1664 * gcov-io.h (gcov_nonruntime_assert): Define.
1665 (gcov_error): Define for !IN_LIBGCOV
1666
c8f49949
RB
16672014-05-22 Richard Biener <rguenther@suse.de>
1668
1669 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
1670 BUILT_IN_REALLOC like BUILT_IN_STRDUP.
1671 (call_may_clobber_ref_p_1): Handle BUILT_IN_REALLOC as allocation
1672 and deallocation site.
1673 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
1674 Handle BUILT_IN_REALLOC similar to BUILT_IN_STRDUP with also
1675 passing through the incoming points-to set.
1676 (handle_lhs_call): Use flags argument instead of recomputing it.
1677 (find_func_aliases_for_call): Call handle_lhs_call with proper
1678 call return flags.
1679
a822564d
JJ
16802014-05-22 Jakub Jelinek <jakub@redhat.com>
1681
1682 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
1683 all padding bits in REAL_VALUE_TYPE are cleared.
1684
4960a0cb
MK
16852014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1686
1687 Cleanup and improve multipass_dfa_lookahead_guard
d4082970
MT
1688 * config/i386/i386.c (core2i7_first_cycle_multipass_filter_ready_try,)
1689 (core2i7_first_cycle_multipass_begin,)
1690 (core2i7_first_cycle_multipass_issue,)
1691 (core2i7_first_cycle_multipass_backtrack): Update signature.
1692 * config/ia64/ia64.c
1693 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Remove.
1694 (ia64_first_cycle_multipass_dfa_lookahead_guard): Update signature.
1695 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove
1696 hook definition.
1697 (ia64_first_cycle_multipass_dfa_lookahead_guard): Merge logic from
1698 ia64_first_cycle_multipass_dfa_lookahead_guard_spec. Update return
1699 values.
1700 * config/rs6000/rs6000.c (rs6000_use_sched_lookahead_guard): Update
1701 return values.
1702 * doc/tm.texi: Regenerate.
1703 * doc/tm.texi.in
1704 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove.
1705 * haifa-sched.c (ready_try): Make signed to allow negative values.
1706 (rebug_ready_list_1): Update.
1707 (choose_ready): Simplify.
1708 (sched_extend_ready_list): Update.
4960a0cb 1709
16d83dd6
MK
17102014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1711
1712 Remove IA64 speculation tweaking flags
d4082970
MT
1713 * config/ia64/ia64.c (ia64_set_sched_flags): Delete handling of
1714 speculation tuning flags.
1715 (msched-prefer-non-data-spec-insns,)
1716 (msched-prefer-non-control-spec-insns): Obsolete options.
1717 * haifa-sched.c (choose_ready): Remove handling of
1718 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
1719 * sched-int.h (enum SPEC_SCHED_FLAGS): Remove PREFER_NON_CONTROL_SPEC
1720 and PREFER_NON_DATA_SPEC.
1721 * sel-sched.c (process_spec_exprs): Remove handling of
1722 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
16d83dd6 1723
69da098b
MK
17242014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1725
1726 Improve scheduling debug output
1727 * haifa-sched.c (debug_ready_list): Remove unnecessary prototype.
1728 (advance_one_cycle): Update.
1729 (schedule_insn, queue_to_ready): Add debug printouts.
1730 (debug_ready_list_1): New static function.
1731 (debug_ready_list): Update.
1732 (max_issue): Add debug printouts.
1733 (dump_insn_stream): New static function.
1734 (schedule_block): Use it. Also better indent printouts.
1735
17362014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1737
1738 Fix sched_insn debug counter
1739 * haifa-sched.c (schedule_insn): Update.
1740 (struct haifa_saved_data): Add nonscheduled_insns_begin.
1741 (save_backtrack_point, restore_backtrack_point): Update.
1742 (first_nonscheduled_insn): New static function.
1743 (queue_to_ready, choose_ready): Use it.
1744 (schedule_block): Init nonscheduled_insns_begin.
1745 (sched_emit_insn): Update.
1746
1747
a4a182c6
KV
17482014-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
1749
1750 * config/aarch64/aarch64.c (aarch64_regno_regclass) : Change CORE_REGS
1751 to GENERAL_REGS.
1752 (aarch64_secondary_reload) : LikeWise.
1753 (aarch64_class_max_nregs) : Remove CORE_REGS.
1754 * config/aarch64/aarch64.h (enum reg_class) : Remove CORE_REGS.
1755 (REG_CLASS_NAMES) : Likewise.
1756 (REG_CLASS_CONTENTS) : LikeWise.
1757 (INDEX_REG_CLASS) : Change CORE_REGS to GENERAL_REGS.
1758
9652331a
GW
17592014-05-21 Guozhi Wei <carrot@google.com>
1760
1761 PR target/61202
1762 * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
1763 constraint.
1764 (vqdmulhq_n_s16): Likewise.
1765
0bfba043
SB
17662014-05-21 Segher Boessenkool <segher@kernel.crashing.org>
1767
1768 * config/rs6000/predicates.md (update_indexed_address_mem): Delete.
1769
1edb7356
MP
17702014-05-21 Marek Polacek <polacek@redhat.com>
1771
1772 PR sanitizer/61272
1773 * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
1774
2acb1027
MJ
17752014-05-21 Martin Jambor <mjambor@suse.cz>
1776
1777 * doc/invoke.texi (Optimize Options): Document parameters
1778 ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
1779 ipa-cp-array-index-hint-bonus.
1780
7315daa6
MW
17812014-05-21 Mark Wielaard <mjw@redhat.com>
1782
1783 PR debug/16063
1784 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_type if DWARF
1785 version >= 3 or not strict DWARF.
1786 * langhooks.h (struct lang_hooks_for_types): Add
1787 enum_underlying_base_type.
1788 * langhooks.c (lhd_enum_underlying_base_type): New function.
1789 * gcc/langhooks.h (struct lang_hooks_for_types): Add
1790 enum_underlying_base_type.
1791 * langhooks-def.h (lhd_enum_underlying_base_type): New declaration.
1792 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): New define.
1793 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add new lang hook.
1794
95989e5c
RB
17952014-05-21 Richard Biener <rguenther@suse.de>
1796
d4082970 1797 * doc/invoke.texi (-flto-partition=): Document one and none algorithms.
95989e5c 1798
dbed5a9b
JM
17992014-05-21 John Marino <gnugcc@marino.st>
1800
1801 * config.gcc (*-*-dragonfly*): New target.
1802 * configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
1803 * configure: Regenerate.
1804 * config/dragonfly-stdint.h: New.
1805 * config/dragonfly.h: New.
1806 * config/dragonfly.opt: New.
1807 * config/i386/dragonfly.h: New.
1808 * ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
1809
632f2871
RS
18102014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1811
1812 * tree.def (VOID_CST): New.
1813 * tree-core.h (TI_VOID): New.
1814 * tree.h (void_node): New.
1815 * tree.c (tree_node_structure_for_code, tree_code_size)
1816 (iterative_hash_expr): Handle VOID_CST.
1817 (build_common_tree_nodes): Initialize void_node.
1818
8a9e6b45
BS
18192014-05-21 Bernd Schmidt <bernds@codesourcery.com>
1820
bffe67e7
BS
1821 * reload1.c (remove_init_insns, will_delete_init_insn_p): New static
1822 functions.
1823 (reload, calculate_needs_all_insns, reload_as_needed): Use them.
1824
0836b77f
BS
1825 * config/bfin/bfin.c (split_load_immediate): Use gen_int_mode in a few
1826 more places.
1827
8a9e6b45
BS
1828 * cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
1829 flag_reorder_blocks_and_partition.
1830 * hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.
1831
c4e5de1b
OE
18322014-05-21 Oleg Endo <olegendo@gcc.gnu.org>
1833
1834 PR target/54236
1835 * config/sh/sh.md (*addc_r_1): Rename to addc_t_r. Remove empty
1836 constraints.
1837 (*addc_r_t): Add new insn_and_split.
1838
decaaec8
JJ
18392014-05-21 Jakub Jelinek <jakub@redhat.com>
1840
1841 PR middle-end/61252
1842 * omp-low.c (handle_simd_reference): New function.
1843 (lower_rec_input_clauses): Use it. Defer adding reference
1844 initialization even for reduction without placeholder if in simd,
1845 handle it properly later on.
1846
3aaf0529
JH
18472014-05-20 Jan Hubicka <hubicka@ucw.cz>
1848
1849 PR tree-optimization/60899
1850 * gimple-fold.c (can_refer_decl_in_current_unit_p): Cleanup;
1851 assume all static symbols will have definition wile parsing and
1852 check the do have definition later in compilation; check that
1853 variable referring symbol will be output before concluding that
1854 reference is safe; be conservative for referring local statics;
1855 be more precise about when comdat is output in other partition.
1856
1bbb87c4
JH
18572014-05-20 Jan Hubicka <hubicka@ucw.cz>
1858
1859 PR bootstrap/60984
d4082970
MT
1860 * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
1861 parameter.
1bbb87c4 1862 * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
d4082970
MT
1863 (ipa_inline): Loop inline_to_all_callers until no more aliases
1864 are removed.
1bbb87c4 1865
d5ce4663
JH
18662014-05-20 Jan Hubicka <hubicka@ucw.cz>
1867
1868 * ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
1869 set writeonly flag only for vars actually written to.
1870
98339851
DC
18712014-05-20 Dehao Chen <dehao@google.com>
1872
1873 * ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count
1874 and callee count to get clone count.
1875 * tree-inline.c (expand_call_inline): Use callee count instead of bb
1876 count in copy_body.
1877
ec27069c
RS
18782014-05-20 Richard Sandiford <rdsandiford@googlemail.com>
1879
1880 PR rtl-optimization/61243
1881 * emit-rtl.c (emit_copy_of_insn_after): Copy CROSSING_JUMP_P.
1882
2b5f0895
XDL
18832014-05-20 Xinliang David Li <davidxl@google.com>
1884
1885 * cgraphunit.c (walk_polymorphic_call_targets): Add
1886 dbgcnt and fopt-info support.
1887 * ipa-prop.c (ipa_make_edge_direct_to_target): Ditto.
1888 * ipa-devirt.c (ipa_devirt): Ditto.
d4082970 1889 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Ditto.
2b5f0895
XDL
1890 * ipa.c (walk_polymorphic_call_targets): Ditto.
1891 * gimple-fold.c (fold_gimple_assign): Ditto.
1892 (gimple_fold_call): Ditto.
1893 * dbgcnt.def: New counter.
1894
9c5f6203
DD
18952014-05-20 DJ Delorie <dj@redhat.com>
1896
1897 * config/msp430/msp430.md (split): Don't allow subregs when
1898 splitting SImode adds.
1899 (andneghi): Fix subtraction logic.
1900 * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
1901
cf288ed3
JH
19022014-05-20 Jan Hubicka <hubicka@ucw.cz>
1903
1904 * tree.h (DECL_ONE_ONLY): Return true only for externally visible
1905 symbols.
1906 * except.c (switch_to_exception_section, resolve_unique_section,
d4082970 1907 get_named_text_section, default_function_rodata_section,
cf288ed3
JH
1908 align_variable, get_block_for_decl, default_section_type_flags):
1909 Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.
1910 * symtab.c (symtab_add_to_same_comdat_group,
1911 symtab_make_decl_local, fixup_same_cpp_alias_visibility,
1912 symtab_nonoverwritable_alias, symtab_get_symbol_partitioning_class):
1913 Likewise.
1914 * cgraphclones.c (cgraph_create_virtual_clone): Likewise.
1915 * bb-reorder.c (pass_partition_blocks::gate): Likewise.
1916 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
1917 (c6x_function_in_section_p): Likewise.
1918 * config/darwin.c (machopic_select_section): Likewise.
1919 * config/arm/arm.c (arm_function_in_section_p): Likewise.
1920 * config/mips/mips.c (mips_function_rodata_section): Likewise.
1921 * config/mep/mep.c (mep_select_section): LIkewise.
1922 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
1923
7eab31ed
EB
19242014-05-20 Eric Botcazou <ebotcazou@adacore.com>
1925
1926 * tree-ssa-dom.c (hashable_expr_equal_p) <EXPR_CALL>: Also compare the
1927 EH region of calls to pure functions that can throw an exception.
1928 * tree-ssa-sccvn.c (vn_reference_eq): Remove duplicated test.
1929 (copy_reference_ops_from_call): Also copy the EH region of the call if
1930 it can throw an exception.
1931
ec217bd8
BS
19322014-05-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1933
1934 * simplify-rtx.c (simplify_binary_operation_1): Optimize case of
1935 nested VEC_SELECTs that are inverses of each other.
1936
b2b222b3
RB
19372014-05-20 Richard Biener <rguenther@suse.de>
1938
d4082970 1939 * tree-ssa-sccvn.c (process_scc): Dump SCC here, when iterating,
b2b222b3
RB
1940 (extract_and_process_scc_for_name): not here.
1941 (cond_dom_walker::before_dom_children): Only process
1942 stmts that end the BB in interesting ways.
1943 (run_scc_vn): Mark param uses as visited.
1944
e9ea5185
KT
19452014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1946
1947 * config/arm/arm.md (arith_shiftsi): Do not predicate for
1948 arm_restrict_it.
1949
8f0e7f6f
NC
19502014-05-20 Nick Clifton <nickc@redhat.com>
1951
467fc67c
NC
1952 * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
1953 (msp430_gimplify_va_arg_expr): New function.
1954 (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
1955
8f0e7f6f
NC
1956 * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
1957 operand 0 in order to prevent confusion about the number of
1958 registers involved.
1959
d1c0308e
RB
19602014-05-20 Richard Biener <rguenther@suse.de>
1961
1962 PR tree-optimization/61221
1963 * tree-ssa-pre.c (el_to_update): Remove.
1964 (eliminate_dom_walker::before_dom_children): Handle released
1965 VDEFs by value-numbering them to the associated VUSE. Update
1966 stmt immediately for substituted call address.
1967 (eliminate): Remove delayed stmt updating code.
1968 * tree-ssa-sccvn.c (vuse_ssa_val): New function valueizing
1969 possibly late re-numbered vuses.
1970 (vn_reference_lookup_2): Adjust.
1971 (vn_reference_lookup_pieces): Likewise.
1972 (vn_reference_lookup): Likewise.
1973
54da09ee
RB
19742014-05-20 Richard Biener <rguenther@suse.de>
1975
1976 * config.gcc: Remove need_64bit_hwint.
1977 * configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
1978 * hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
1979 it to be true.
1980 * config.in: Regenerate.
1981 * configure: Likewise.
1982
883755a1
DW
19832014-05-19 David Wohlferd <dw@LimeGreenSocks.com>
1984
1985 * doc/extend.texi: Create Label Attributes section,
1986 move all label attributes into it and reference it.
1987
514b3156
RE
19882014-05-19 Richard Earnshaw <rearnsha@arm.com>
1989
1990 * arm.c (thumb1_reorg): When scanning backwards skip anything
1991 that's not a proper insn.
1992
1d44def2
RB
19932014-05-19 Richard Biener <rguenther@suse.de>
1994
1995 PR tree-optimization/61221
1996 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
1997 Do nothing for unreachable blocks.
1998 * tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
1999 Improve unreachability detection.
2000
05135136
RB
20012014-05-19 Richard Biener <rguenther@suse.de>
2002
2003 PR tree-optimization/61209
2004 * tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
2005
40ba8dfb
NC
20062014-05-19 Nick Clifton <nickc@redhat.com>
2007
2008 * except.c (init_eh): Fix computation of builtin setjmp buffer
2009 size to allow for targets where POINTER_SIZE > BITS_PER_WORD.
2010
cb460086
RB
20112014-05-19 Richard Biener <rguenther@suse.de>
2012
2013 PR tree-optimization/61184
2014 * tree-vrp.c (is_negative_overflow_infinity): Use
2015 TREE_OVERFLOW_P and do that check first.
2016 (is_positive_overflow_infinity): Likewise.
2017 (is_overflow_infinity): Likewise.
2018 (vrp_operand_equal_p): Properly treat operands with
2019 differing overflow as not equal.
2020
bddd3671
BS
20212014-05-19 Bernd Schmidt <bernds@codesourcery.com>
2022
2023 * simplify-rtx.c (simplify_unary_operation_1): Use CONST_INT_P in
2024 shift simplification where it was intended.
2025
72d82e7a
CB
20262014-05-19 Christian Bruel <christian.bruel@st.com>
2027
2028 PR target/61195
2029 * config/sh/sh.md (movsf_ie): Unset fp_mode for fmov.
2030
34dbb287
RS
20312014-05-19 Richard Sandiford <r.sandiford@uk.ibm.com>
2032
2033 PR target/61084
2034 * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
2035 than wide_int.
2036
339ba33b
RS
20372014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
2038
2039 * reg-notes.def (CROSSING_JUMP): Likewise.
2040 * rtl.h (rtx_def): Update comment for jump flag.
2041 (CROSSING_JUMP_P): Define.
2042 * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
2043 of a REG_CROSSING_JUMP note.
2044 * cfghooks.c (tidy_fallthru_edges): Likewise.
2045 * cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
2046 * emit-rtl.c (try_split): Likewise.
2047 * haifa-sched.c (sched_create_recovery_edges): Likewise.
2048 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
2049 * jump.c (redirect_jump_2): Likewise.
2050 * reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
2051 (relax_delay_slots): Likewise.
2052 * config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
2053 (bbit_di): Likewise.
2054 * config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
2055 * config/sh/sh.md (jump_compact): Likewise.
2056 * bb-reorder.c (rotate_loop): Likewise.
2057 (pass_duplicate_computed_gotos::execute): Likewise.
2058 (add_reg_crossing_jump_notes): Rename to...
2059 (update_crossing_jump_flags): ...this.
2060 (pass_partition_blocks::execute): Update accordingly.
2061
a65d5b87
RS
20622014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
2063
2064 * tree.h: Remove extraneous template <>.
2065
7b3376a0
JH
20662014-05-17 Jan Hubicka <hubicka@ucw.cz>
2067
2068 * ipa.c (symtab_remove_unreachable_nodes): Remove
2069 symbol from comdat group if its body was eliminated.
d4082970
MT
2070 (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
2071 * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
7b3376a0
JH
2072 (symtab_unregister_node): ... this one.
2073 (verify_symtab_base): More strict checking of comdats.
2074 * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
2075
a04d9035
JH
20762014-05-17 Jan Hubicka <hubicka@ucw.cz>
2077
2078 * tree-pass.h (make_pass_ipa_comdats): New pass.
2079 * timevar.def (TV_IPA_COMDATS): New timevar.
2080 * passes.def (pass_ipa_comdats): Add.
2081 * Makefile.in (OBJS): Add ipa-comdats.o
2082 * ipa-comdats.c: New file.
2083
24a71ba8
JH
20842014-05-17 Jan Hubicka <hubicka@ucw.cz>
2085
2086 * ipa.c (update_visibility_by_resolution_info): New function.
2087 (function_and_variable_visibility): Use it.
2088
d6d229c6
JH
20892014-05-17 Jan Hubicka <hubicka@ucw.cz>
2090
2091 * cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
2092 New functions.
2093 (FOR_EACH_DEFINED_SYMBOL): New macro.
2094 (varpool_first_static_initializer, varpool_next_static_initializer,
d4082970
MT
2095 varpool_first_defined_variable, varpool_next_defined_variable):
2096 Fix comments.
d6d229c6
JH
2097 (symtab_in_same_comdat_p): Correctly deal with inline functions.
2098
c3af645c
TS
20992014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2100
2101 * ggc-page.c (ggc_handle_finalizers): Add comment.
2102
de49ce19
TS
21032014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2104
2105 * ggc-common.c (ggc_internal_cleared_alloc): Adjust.
2106 * ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
2107 (ggc_internal_cleared_alloc): Likewise.
2108 * ggc-page.c (finalizer): New class.
16f8dfdb 2109 (vec_finalizer): Likewise.
de49ce19 2110 (globals::finalizers): New member.
16f8dfdb 2111 (globals::vec_finalizers): Likewise.
de49ce19
TS
2112 (ggc_internal_alloc): Record the finalizer if any for the block being
2113 allocated.
2114 (ggc_handle_finalizers): New function.
2115 (ggc_collect): Call ggc_handle_finalizers.
2116 * ggc.h (ggc_internal_alloc): Add arguments to allow installing a
2117 finalizer.
2118 (ggc_internal_cleared_alloc): Likewise.
2119 (finalize): New function.
2120 (need_finalization_p): Likewise.
2121 (ggc_alloc): Install the type's destructor as the finalizer if it
2122 might do something.
2123 (ggc_cleared_alloc): Likewise.
2124 (ggc_vec_alloc): Likewise.
2125 (ggc_cleared_vec_alloc): Likewise.
2126
04eec987
TS
21272014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2128
2129 * ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.
2130
766090c2
TS
21312014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2132
2133 * alias.c (record_alias_subset): Adjust.
2134 * bitmap.c (bitmap_element_allocate): Likewise.
2135 (bitmap_gc_alloc_stat): Likewise.
2136 * cfg.c (init_flow): Likewise.
2137 (alloc_block): Likewise.
2138 (unchecked_make_edge): Likewise.
2139 * cfgloop.c (alloc_loop): Likewise.
2140 (flow_loops_find): Likewise.
2141 (rescan_loop_exit): Likewise.
2142 * cfgrtl.c (init_rtl_bb_info): Likewise.
2143 * cgraph.c (insert_new_cgraph_node_version): Likewise.
2144 (cgraph_allocate_node): Likewise.
2145 (cgraph_create_edge_1): Likewise.
2146 (cgraph_allocate_init_indirect_info): Likewise.
2147 * cgraphclones.c (cgraph_clone_edge): Likewise.
2148 * cgraphunit.c (add_asm_node): Likewise.
2149 (init_lowered_empty_function): Likewise.
16f8dfdb 2150 * config/aarch64/aarch64.c (aarch64_init_machine_status): Likewise.
766090c2
TS
2151 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
2152 (alpha_use_linkage): Likewise.
2153 * config/arc/arc.c (arc_init_machine_status): Likewise.
2154 * config/arm/arm.c (arm_init_machine_status): Likewise.
2155 * config/avr/avr.c (avr_init_machine_status): Likewise.
2156 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
2157 * config/c6x/c6x.c (c6x_init_machine_status): Likewise.
2158 * config/cris/cris.c (cris_init_machine_status): Likewise.
2159 * config/darwin.c (machopic_indirection_name): Likewise.
2160 (darwin_build_constant_cfstring): Likewise.
2161 (darwin_enter_string_into_cfstring_table): Likewise.
16f8dfdb 2162 * config/epiphany/epiphany.c (epiphany_init_machine_status): Likewise.
766090c2
TS
2163 * config/frv/frv.c (frv_init_machine_status): Likewise.
2164 * config/i386/i386.c (get_dllimport_decl): Likewise.
2165 (ix86_init_machine_status): Likewise.
2166 (assign_386_stack_local): Likewise.
16f8dfdb 2167 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
766090c2
TS
2168 (i386_pe_maybe_record_exported_symbol): Likewise.
2169 (i386_pe_record_stub): Likewise.
2170 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
2171 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
2172 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
2173 (m32c_note_pragma_address): Likewise.
2174 * config/mep/mep.c (mep_init_machine_status): Likewise.
2175 (mep_note_pragma_flag): Likewise.
2176 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
2177 (mips16_local_alias): Likewise.
2178 (mips_init_machine_status): Likewise.
2179 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
2180 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
2181 * config/msp430/msp430.c (msp430_init_machine_status): Likewise.
2182 * config/nds32/nds32.c (nds32_init_machine_status): Likewise.
2183 * config/nios2/nios2.c (nios2_init_machine_status): Likewise.
2184 * config/pa/pa.c (pa_init_machine_status): Likewise.
2185 (pa_get_deferred_plabel): Likewise.
2186 * config/rl78/rl78.c (rl78_init_machine_status): Likewise.
2187 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
2188 (rs6000_init_machine_status): Likewise.
2189 (output_toc): Likewise.
2190 * config/s390/s390.c (s390_init_machine_status): Likewise.
2191 * config/score/score.c (score_output_external): Likewise.
2192 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
2193 * config/spu/spu.c (spu_init_machine_status): Likewise.
2194 * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
16f8dfdb 2195 * config/tilepro/tilepro.c (tilepro_init_machine_status): Likewise.
766090c2
TS
2196 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
2197 * coverage.c (coverage_end_function): Likewise.
2198 * dbxout.c (dbxout_init): Likewise.
2199 * doc/gty.texi: Don't mention variable_size attribute.
2200 * dwarf2cfi.c (new_cfi): Adjust.
2201 (new_cfi_row): Likewise.
2202 (copy_cfi_row): Likewise.
2203 (create_cie_data): Likewise.
2204 * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
2205 (new_loc_descr): Likewise.
2206 (find_AT_string_in_table): Likewise.
2207 (add_addr_table_entry): Likewise.
2208 (new_die): Likewise.
2209 (add_var_loc_to_decl): Likewise.
2210 (clone_die): Likewise.
2211 (clone_as_declaration): Likewise.
2212 (break_out_comdat_types): Likewise.
2213 (new_loc_list): Likewise.
2214 (add_loc_descr_to_each): Likewise.
2215 (add_location_or_const_value_attribute): Likewise.
2216 (add_linkage_name): Likewise.
2217 (lookup_filename): Likewise.
2218 (dwarf2out_var_location): Likewise.
2219 (new_line_info_table): Likewise.
2220 (dwarf2out_init): Likewise.
2221 (mem_loc_descriptor): Likewise.
2222 (loc_descriptor): Likewise.
2223 (add_const_value_attribute): Likewise.
2224 (tree_add_const_value_attribute): Likewise.
2225 (comp_dir_string): Likewise.
2226 (dwarf2out_vms_debug_main_pointer): Likewise.
2227 (string_cst_pool_decl): Likewise.
2228 * emit-rtl.c (set_mem_attrs): Likewise.
2229 (get_reg_attrs): Likewise.
2230 (start_sequence): Likewise.
2231 (init_emit): Likewise.
2232 (init_emit_regs): Likewise.
2233 * except.c (init_eh_for_function): Likewise.
2234 (gen_eh_region): Likewise.
2235 (gen_eh_region_catch): Likewise.
2236 (gen_eh_landing_pad): Likewise.
2237 (add_call_site): Likewise.
2238 * function.c (add_frame_space): Likewise.
2239 (insert_temp_slot_address): Likewise.
2240 (assign_stack_temp_for_type): Likewise.
2241 (get_hard_reg_initial_val): Likewise.
2242 (allocate_struct_function): Likewise.
2243 (prepare_function_start): Likewise.
2244 (types_used_by_var_decl_insert): Likewise.
2245 * gengtype.c (variable_size_p): Remove function.
2246 (enum alloc_quantity): Remove enum.
2247 (write_typed_alloc_def): Remove function.
2248 (write_typed_struct_alloc_def): Likewise.
2249 (write_typed_typedef_alloc_def): Likewise.
2250 (write_typed_alloc_defns): Likewise.
2251 (main): Adjust.
2252 * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
2253 (ggc_cleared_alloc_ptr_array_two_args): Likewise.
2254 * ggc.h (ggc_alloc): new function.
2255 (ggc_cleared_alloc): Likewise.
2256 (ggc_vec_alloc): Template on type of vector element, and remove
2257 element size argument.
2258 (ggc_cleared_vec_alloc): Likewise.
2259 * gimple.c (gimple_build_omp_for): Adjust.
2260 (gimple_copy): Likewise.
2261 * ipa-cp.c (get_replacement_map): Likewise.
2262 (find_aggregate_values_for_callers_subset): Likewise.
2263 (known_aggs_to_agg_replacement_list): Likewise.
2264 * ipa-devirt.c (get_odr_type): Likewise.
2265 * ipa-prop.c (ipa_node_duplication_hook): Likewise.
2266 (read_agg_replacement_chain): Likewise.
2267 * loop-iv.c (get_simple_loop_desc): Likewise.
2268 * lto-cgraph.c (input_node_opt_summary): Likewise.
2269 * lto-section-in.c (lto_new_in_decl_state): Likewise.
2270 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
2271 (input_eh_region): Likewise.
2272 (input_eh_lp): Likewise.
2273 (input_cfg): Likewise.
2274 * optabs.c (set_optab_libfunc): Likewise.
2275 (init_tree_optimization_optabs): Likewise.
2276 (set_conv_libfunc): Likewise.
2277 * passes.c (do_per_function_toporder): Likewise.
2278 * rtl.h: Don't use variable_size gty attribute.
2279 * sese.c (if_region_set_false_region): Adjust.
2280 * stringpool.c (gt_pch_save_stringpool): Likewise.
2281 * target-globals.c (save_target_globals): Likewise.
2282 * toplev.c (general_init): Likewise.
2283 * trans-mem.c (record_tm_replacement): Likewise.
2284 (split_bb_make_tm_edge): Likewise.
2285 * tree-cfg.c (move_sese_region_to_fn): Likewise.
2286 * tree-data-ref.h (lambda_vector_new): Likewise.
2287 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
2288 * tree-iterator.c (tsi_link_before): Likewise.
2289 (tsi_link_after): Likewise.
2290 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
2291 * tree-ssa-loop-niter.c (record_estimate): Likewise.
2292 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
2293 * tree-ssa-operands.h: Don't use variable_size gty attribute.
2294 * tree-ssa.c (init_tree_ssa): Adjust.
2295 * tree-ssanames.c (set_range_info): Likewise.
2296 (get_ptr_info): Likewise.
2297 (duplicate_ssa_name_ptr_info): Likewise.
2298 (duplicate_ssa_name_range_info): Likewise.
2299 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
2300 (unpack_ts_fixed_cst_value_fields): Likewise.
2301 * tree.c (build_fixed): Likewise.
2302 (build_real): Likewise.
2303 (build_string): Likewise.
2304 (decl_priority_info): Likewise.
2305 (decl_debug_expr_insert): Likewise.
2306 (decl_value_expr_insert): Likewise.
2307 (decl_debug_args_insert): Likewise.
2308 (type_hash_add): Likewise.
2309 (build_omp_clause): Likewise.
2310 * ubsan.c (decl_for_type_insert): Likewise.
2311 * varasm.c (get_unnamed_section): Likewise.
2312 (get_noswitch_section): Likewise.
2313 (get_section): Likewise.
2314 (get_block_for_section): Likewise.
2315 (create_block_symbol): Likewise.
2316 (build_constant_desc): Likewise.
2317 (create_constant_pool): Likewise.
2318 (force_const_mem): Likewise.
2319 (record_tm_clone_pair): Likewise.
2320 * varpool.c (varpool_create_empty_node): Likewise.
2321
231120e5
TS
23222014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2323
2324 * dwarf2out.c (tree_add_const_value_attribute): Call
2325 ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
2326 * gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
2327 instead of ggc_internal_<x>alloc_stat.
2328 * ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
2329 (ggc_realloc): Likewise.
2330 * ggc-none.c (ggc_internal_alloc): Likewise.
2331 (ggc_internal_cleared_alloc): Likewise.
2332 * ggc-page.c: Likewise.
2333 * ggc.h (ggc_internal_alloc_stat): Likewise.
2334 (ggc_internal_alloc): Remove macro.
2335 (ggc_internal_cleared_alloc_stat): Drop _stat suffix.
2336 (ggc_internal_cleared_alloc): Remove macro.
2337 (GGC_RESIZEVEC): Adjust.
2338 (ggc_resizevar): Remove macro.
2339 (ggc_internal_vec_alloc_stat): Drop _stat suffix.
2340 (ggc_internal_cleared_vec_alloc_stat): Likewise.
2341 (ggc_internal_vec_cleared_alloc): Remove macro.
2342 (ggc_alloc_atomic_stat): Drop _stat suffix.
2343 (ggc_alloc_atomic): Remove macro.
2344 (ggc_alloc_cleared_atomic): Remove macro.
2345 (ggc_alloc_string_stat): Drop _stat suffix.
2346 (ggc_alloc_string): Remove macro.
2347 (ggc_alloc_rtx_def_stat): Adjust.
2348 (ggc_alloc_tree_node_stat): Likewise.
2349 (ggc_alloc_cleared_tree_node_stat): Likewise.
2350 (ggc_alloc_cleared_gimple_statement_stat): Likewise.
2351 (ggc_alloc_cleared_simd_clone_stat): Likewise.
2352 * gimple.c (gimple_build_omp_for): Likewise.
2353 (gimple_copy): Likewise.
2354 * stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
2355 * toplev.c (realloc_for_line_map): Adjust.
2356 * tree-data-ref.h (lambda_vector_new): Likewise.
2357 * tree-phinodes.c (allocate_phi_node): Likewise.
2358 * tree.c (grow_tree_vec_stat): Likewise.
2359 * vec.h (va_gc::reserve): Adjust.
2360
16f8dfdb 23612014-05-17 Ajit Agarwal <ajitkum@xilinx.com>
86498dba 2362
16f8dfdb
UB
2363 * config/microblaze/microblaze.c (break_handler): New Declaration.
2364 (microblaze_break_function_p,microblaze_is_break_handler): New.
2365 (compute_frame_size): Use microblaze_break_function_p.
2366 Add the test of break_handler.
2367 (microblaze_function_prologue) : Add the test of variable
2368 break_handler. Check the fnname by BREAK_HANDLER_NAME.
2369 (microblaze_function_epilogue) : Add the test of break_handler.
2370 (microblaze_globalize_label) : Add the test of break_handler.
2371 Check the name by BREAK_HANDLER_NAME.
86498dba 2372
16f8dfdb 2373 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME): New macro
86498dba 2374
16f8dfdb
UB
2375 * config/microblaze/microblaze.md (*<optab>,<optab>_internal): Add
2376 microblaze_is_break_handler test.
2377 (call_internal1,call_value_intern): Use microblaze_break_function_p.
2378 Use SYMBOL_REF_DECL.
86498dba
AA
2379
2380 * config/microblaze/microblaze-protos.h
16f8dfdb
UB
2381 (microblaze_break_function_p,microblaze_is_break_handler):
2382 New Declaration.
86498dba 2383
16f8dfdb
UB
2384 * doc/extend.texi (MicroBlaze break_handler Functions): Document
2385 new MicroBlaze break_handler functions.
86498dba 2386
71ca3028
UB
23872014-05-17 Uros Bizjak <ubizjak@gmail.com>
2388
2389 * doc/extend.texi (Size of an asm): Move node text according
2390 to its @menu entry position.
2391
87a34442
MG
23922014-05-17 Marc Glisse <marc.glisse@inria.fr>
2393
2394 PR tree-optimization/61140
2395 PR tree-optimization/61150
2396 PR tree-optimization/61197
2397 * tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
2398
6ca74b5c
UB
23992014-05-17 Uros Bizjak <ubizjak@gmail.com>
2400
2401 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
2402
60f82c42
RS
24032014-05-17 Richard Sandiford <r.sandiford@uk.ibm.com>
2404
2405 * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
2406 __SIZEOF_INT128__ is defined.
2407
a1242f17
RS
24082014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
2409
2410 * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
2411 (rs6000_delegitimize_address): Use it.
2412
23b33725
RS
24132014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
2414
2415 * emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
2416 inplace argument. Store the new address in the original MEM when true.
2417 * emit-rtl.c (change_address_1): Likewise.
2418 (adjust_address_1, adjust_automodify_address_1, offset_address):
2419 Update accordingly.
2420 * rtl.h (plus_constant): Add an inplace argument.
2421 * explow.c (plus_constant): Likewise. Try to reuse the original PLUS
2422 when true. Avoid generating (plus X (const_int 0)).
2423 * function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
2424 in-place. Pass true to plus_constant.
2425 (instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.
2426
2f6eed01
DC
24272014-05-16 Dehao Chen <dehao@google.com>
2428
2429 * tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
2430
b200de02
OE
24312014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
2432
2433 PR target/54089
2434 * config/sh/predicates.md (negt_reg_shl31_operand): Match additional
2435 patterns.
2436 * config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.
2437
cf40f973
DC
24382014-05-16 Dehao Chen <dehao@google.com>
2439
6b8ebd00
UB
2440 * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use
2441 optimize_function_for_size_p.
cf40f973
DC
2442 * regs.h (REG_FREQ_FROM_BB): Likewise.
2443
48d8568e
OE
24442014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
2445
2446 PR target/51244
2447 * config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
2448 negt_reg_operand cases.
2449 * config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
2450 predicate.
2451 * config/sh/predicates.md (cbranch_treg_value): Simplify.
2452
d580af0f
OE
24532014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
2454
2455 * config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
2456 target variants.
2457
6c7571a2
DM
24582014-05-16 David Malcolm <dmalcolm@redhat.com>
2459
2460 Revert:
2461 2014-04-29 David Malcolm <dmalcolm@redhat.com>
2462
2463 * tree-cfg.c (dump_function_to_file): Dump the return type of
2464 functions, in a line to itself before the function body, mimicking
2465 the layout of a C function.
2466
b0e66512
DC
24672014-05-16 Dehao Chen <dehao@google.com>
2468
2469 * cfghooks.c (make_forwarder_block): Use direct computation to
2470 get fall-through edge's count and frequency.
2471
6b8ebd00 24722014-05-16 Benno Schulenberg <bensberg@justemail.net>
2236746b
BS
2473
2474 * config/arc/arc.c (arc_init): Fix typo in error message.
2475 * config/i386/i386.c (ix86_expand_builtin): Likewise.
2476 (split_stack_prologue_scratch_regno): Likewise.
2477 * fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
2478 word from error message.
2479
420ab54b
ZZ
24802014-05-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
2481
2482 * ira-costs.c: Fix typo in comment.
2483
8e90f610
DW
24842014-05-16 David Wohlferd <dw@LimeGreenSocks.com>
2485
6b8ebd00 2486 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref
8e90f610 2487
6de88c6a
JH
24882014-05-16 Jan Hubicka <hubicka@ucw.cz>
2489
2490 * varpool.c (dump_varpool_node): Dump write-only flag.
2491 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
2492 write-only flag.
6b8ebd00
UB
2493 * tree-cfg.c (execute_fixup_cfg): Remove statements setting
2494 write-only variables.
2495 * ipa.c (process_references): New function.
2496 (set_readonly_bit): New function.
2497 (set_writeonly_bit): New function.
2498 (clear_addressable_bit): New function.
2499 (ipa_discover_readonly_nonaddressable_var): Mark write only variables;
2500 fix handling of aliases.
2501 * cgraph.h (struct varpool_node): Add writeonly flag.
6de88c6a 2502
f4e075e7
VM
25032014-05-16 Vladimir Makarov <vmakarov@redhat.com>
2504
2505 PR rtl-optimization/60969
2506 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
2507 Calculate costs for this case.
2508
8b628e86
EB
25092014-05-16 Eric Botcazou <ebotcazou@adacore.com>
2510
2511 * fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
2512 <CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
2513
52264dbf
RB
25142014-05-16 Richard Biener <rguenther@suse.de>
2515
2516 PR tree-optimization/61194
2517 * tree-vect-patterns.c (adjust_bool_pattern): Also handle
2518 bool patterns ending in a COND_EXPR.
2519
3d840f7d
JG
25202014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2521
2522 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
2523
88d4fbcf
JG
25242014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2525
2526 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
2527 where we were unable to cost an RTX.
2528
909734be
JG
25292014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2530
2531 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
2532 HIGH, LO_SUM.
2533
fb620c4a
JG
25342014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2535 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2536
2537 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.
2538
b292109f
JG
25392014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2540 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2541
2542 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
2543 FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.
2544
a8eecd00
JG
25452014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2546 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2547
2548 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
2549 operators.
2550
4105fe38
JG
25512014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2552 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2553
2554 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
2555 DIV/MOD.
2556
25572014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
7cc2145f
JG
2558 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2559
2560 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
2561 (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.
2562
ba0cfa17
JG
25632014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2564 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2565
2566 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
2567 rotates and shifts.
2568
b1685e62
JG
25692014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2570 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2571
2572 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
2573 ZERO_EXTEND and SIGN_EXTEND better.
2574
268c3b47
JG
25752014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2576 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2577
2578 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
2579 logical operations.
2580
2961177e
JG
25812014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2582 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2583
2584 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
2585 costs when costing loads and stores to memory.
2586
ba123b0d
JG
25872014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2588 Philip Tomsich <philipp.tomsich@theobroma-systems.com>
2589
2590 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
2591 for SET RTX.
2592
7fc5ef02
JG
25932014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2594
2595 * config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.
2596
4745e701
JG
25972014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2598 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2599
2600 * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
2601 to...
2602 (aarch64_strip_extend): ...this, don't strip shifts, check RTX is
2603 well formed.
2604 (aarch64_rtx_mult_cost): New.
2605 (aarch64_rtx_costs): Use it, refactor as appropriate.
2606
9dfc162c
JG
26072014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2608 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2609
2610 * config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
2611 emit instructions, return number of instructions which would
2612 be emitted.
2613 (aarch64_add_constant): Update call to aarch64_build_constant.
2614 (aarch64_output_mi_thunk): Likewise.
6b8ebd00 2615 (aarch64_rtx_costs): Estimate cost of a CONST_INT, cost of
9dfc162c
JG
2616 a CONST_DOUBLE.
2617
0ee859b5
JG
26182014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2619
2620 * config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
2621 (TARGET_RTX_COSTS): Call it.
2622
60bff090
JG
26232014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2624
2625 * config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
2626 (cortexa57_vector_cost): Likewise.
2627 (cortexa57_tunings): Use them.
2628
67747367
JG
26292014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
2630
2631 * config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
2632 (cpu_addrcost_table): Use it.
2633 * config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
2634 (aarch64_address_cost): Rewrite using aarch64_classify_address,
2635 move it.
2636
a764d660
RB
26372014-05-16 Richard Biener <rguenther@suse.de>
2638
2639 * tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
2640 (set_ssa_val_to): Handle unexpected sets to VN_TOP.
2641 (visit_phi): Ignore edges marked as not executable.
2642 (class cond_dom_walker): New.
2643 (cond_dom_walker::before_dom_children): Value-number
2644 control statements and mark successor edges as not
2645 executable if possible.
2646 (run_scc_vn): First walk all control statements in
2647 dominator order, marking edges as not executable.
2648 * tree-inline.c (copy_edges_for_bb): Be not confused
2649 about random edge flags.
2650
a27c3860
RB
26512014-05-16 Richard Biener <rguenther@suse.de>
2652
2653 * tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
2654
d8c55b91
PB
26552014-05-15 Peter Bergner <bergner@vnet.ibm.com>
2656
2657 PR target/61193
2658 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
2659 (__TM_simple_begin): Use it.
2660 (__TM_begin): Likewise.
2661
8a2256dd
MJ
26622014-05-15 Martin Jambor <mjambor@suse.cz>
2663
2664 PR ipa/61085
2665 * ipa-prop.c (update_indirect_edges_after_inlining): Check
2666 type_preserved flag when the indirect edge is polymorphic.
2667
9d2681a3
MJ
26682014-05-15 Martin Jambor <mjambor@suse.cz>
2669
2670 PR tree-optimization/61090
2671 * tree-sra.c (sra_modify_expr): Pass the current gsi to
2672 build_ref_for_model.
2673
927450d0
KT
26742014-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2675
2676 * config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
2677 enum name for PARAM_SCHED_PRESSURE_ALGORITHM.
2678
ceed6e67
JJ
26792014-05-15 Jakub Jelinek <jakub@redhat.com>
2680
2681 PR tree-optimization/61158
2682 * fold-const.c (fold_binary_loc): If X is zero-extended and
2683 shiftc >= prec, make sure zerobits is all ones instead of
2684 invoking undefined behavior.
2685
a2e6c10c
ZC
26862014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
2687
2688 * regcprop.h: New file.
2689 * regcprop.c (skip_debug_insn_p): New decl.
2690 (replace_oldest_value_reg): Check skip_debug_insn_p.
ceed6e67
JJ
2691 (copyprop_hardreg_forward_bb_without_debug_insn): New function.
2692 * shrink-wrap.c: Include regcprop.h.
2693 (prepare_shrink_wrap): Call
2694 copyprop_hardreg_forward_bb_without_debug_insn.
a2e6c10c 2695
e974b93b
ZC
26962014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
2697
2698 * shrink-wrap.h: Update comment.
2699 * shrink-wrap.c: Update comment.
2700 (next_block_for_reg): Rename to live_edge_for_reg.
2701 (live_edge_for_reg): Allow live_edge->dest has two predecessors.
2702 (move_insn_for_shrink_wrap): Split live_edge.
2703 (prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.
2704
88fe5e91
EB
27052014-05-14 Eric Botcazou <ebotcazou@adacore.com>
2706
2707 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
2708 Delete.
2709 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
2710 * config/sparc/sparc.md (fptype_ut699): New attribute.
2711 (in_branch_delay): Return false if -mfix-ut699 is specified and
2712 fptype_ut699 is set to single.
2713 (truncdfsf2): Add fptype_ut699 attribute.
2714 (fix_truncdfsi2): Likewise.
2715 (floatsisf2): Change fptype attribute.
2716 (fix_truncsfsi2): Likewise.
2717 (negtf2_notv9): Delete.
2718 (negtf2_v9): Likewise.
2719 (negtf2_hq): New instruction.
2720 (negtf2): New instruction and splitter.
2721 (negdf2_notv9): Rewrite.
2722 (abstf2_notv9): Delete.
2723 (abstf2_hq_v9): Likewise.
2724 (abstf2_v9): Likewise.
2725 (abstf2_hq): New instruction.
2726 (abstf2): New instruction and splitter.
2727 (absdf2_notv9): Rewrite.
2728
bc91b0e0
CC
27292014-05-14 Cary Coutant <ccoutant@google.com>
2730
6b8ebd00 2731 PR debug/61013
bc91b0e0
CC
2732 * opts.c (common_handle_option): Don't special-case "-g".
2733 (set_debug_level): Default to at least level 2 with "-g".
2734
5f35dde5
DD
27352014-05-14 DJ Delorie <dj@redhat.com>
2736
2737 * config/msp430/msp430.c (msp430_builtin): Add
2738 MSP430_BUILTIN_DELAY_CYCLES.
2739 (msp430_init_builtins): Register void __delay_cycles(long long).
2740 (msp430_builtin_decl): Add it.
2741 (cg_magic_constant): New.
2742 (msp430_expand_delay_cycles): New.
2743 (msp430_expand_builtin): Call it.
2744 (msp430_print_operand_raw): Change integer printing from "int" to
2745 HOST_WIDE_INT.
2746 * config/msp430/msp430.md (define_constants): Add delay_cycles tags.
2747 (delay_cycles_start): New.
2748 (delay_cycles_end): New.
2749 (delay_cycles_32): New.
2750 (delay_cycles_32x): New.
2751 (delay_cycles_16): New.
2752 (delay_cycles_16x): New.
2753 (delay_cycles_2): New.
2754 (delay_cycles_1): New.
2755 * doc/extend.texi: Document __delay_cycles().
2756
5d40b20f
SL
27572014-05-14 Sandra Loosemore <sandra@codesourcery.com>
2758
2759 * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
2760 length attribute computation.
2761
25109109
RS
27622014-05-14 Richard Sandiford <rdsandiford@googlemail.com>
2763
2764 PR debug/61188
2765 * print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
2766
7e7e4032
RS
27672014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
2768
2769 PR target/61084
2770 * config/sparc/sparc.md: Fix types of low and high in DI constant
2771 splitter. Use gen_int_mode in some other splitters.
2772
70d6d5c1
MJ
27732014-05-14 Martin Jambor <mjambor@suse.cz>
2774
2775 PR ipa/60897
2776 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
2777
23b02de3
JN
27782014-05-14 James Norris <jnorris@codesourcery.com>
2779
2780 * omp-low.c (expand_parallel_call): Remove shadow variable.
2781 (expand_omp_taskreg): Likewise.
2782
9cdea277
IT
27832014-05-14 Ilya Tocar <ilya.tocar@intel.com>
2784
2785 * common/config/i386/i386-common.c
2786 (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
2787 (OPTION_MASK_ISA_XSAVES_SET): Ditto.
2788 (OPTION_MASK_ISA_XSAVEC_SET): Ditto.
2789 (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
2790 (OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
2791 (OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
6b8ebd00 2792 (ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves, OPT_mclflushopt.
9cdea277
IT
2793 * config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
2794 xsavecintrin.h, xsavesintrin.h.
2795 (x86_64-*-*): Ditto.
2796 * config/i386/clflushoptintrin.h: New.
2797 * config/i386/xsavecintrin.h: Ditto.
2798 * config/i386/xsavesintrin.h: Ditto.
2799 * config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
2800 (bit_XSAVES): Ditto.
2801 (bit_XSAVES): Ditto.
2802 * config/i386/driver-i386.c (host_detect_local_cpu): Handle
2803 -mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
2804 -mno-clflushopt.
2805 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
2806 OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
2807 OPTION_MASK_ISA_XSAVES.
2808 * config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
2809 -mxsavec, -mxsaves.
2810 (PTA_CLFLUSHOPT) Define.
2811 (PTA_XSAVEC): Ditto.
2812 (PTA_XSAVES): Ditto.
2813 (ix86_option_override_internal): Handle new options.
2814 (ix86_valid_target_attribute_inner_p): Ditto.
2815 (ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
2816 IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
2817 IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
6b8ebd00
UB
2818 (bdesc_special_args): Add __builtin_ia32_xsaves,
2819 __builtin_ia32_xrstors, __builtin_ia32_xsavec, __builtin_ia32_xsaves64,
2820 __builtin_ia32_xrstors64, __builtin_ia32_xsavec64.
9cdea277
IT
2821 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
2822 (ix86_expand_builtin): Handle new builtins.
2823 * config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
2824 (TARGET_CLFLUSHOPT_P): Ditto.
2825 (TARGET_XSAVEC): Ditto.
2826 (TARGET_XSAVEC_P): Ditto.
2827 (TARGET_XSAVES): Ditto.
2828 (TARGET_XSAVES_P): Ditto.
2829 * config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
2830 (ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
2831 (attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
2832 (ANY_XRSTOR): New.
2833 (ANY_XRSTOR64): Ditto.
2834 (xrstor): Ditto.
2835 (xrstor): Change into <xrstor>.
2836 (xrstor_rex64): Change into <xrstor>_rex64.
2837 (xrstor64): Change into <xrstor>64
2838 (clflushopt): New.
2839 * config/i386/i386.opt (mclflushopt): New.
2840 (mxsavec): Ditto.
2841 (mxsaves): Ditto.
2842 * config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
2843 xsavecintrin.h.
2844 * doc/invoke.texi: Document new options.
2845
92e265ac
AB
28462014-05-14 Andrey Belevantsev <abel@ispras.ru>
2847
2848 PR rtl-optimization/60866
2849 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
2850 Default it to -1. Pass it down to init_simplejump_data.
2851 (init_simplejump_data): New parameter old_seqno. Pass it down
2852 to get_seqno_for_a_jump.
2853 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
2854 initializing new jump seqno as a last resort. Add comment.
2855 (sel_redirect_edge_and_branch): Save old seqno of the conditional
2856 jump and pass it down to sel_init_new_insn.
2857 (sel_redirect_edge_and_branch_force): Likewise.
2858
fa96aa45
GJL
28592014-05-14 Georg-Johann Lay <avr@gjlay.de>
2860
2861 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
2862 shifted values to avoid build warning.
2863
8a829274
EB
28642014-05-14 Eric Botcazou <ebotcazou@adacore.com>
2865
2866 * cfgcleanup.c (try_forward_edges): Use location_t for locations.
2867 * cfgrtl.c (rtl_merge_blocks): Fix comment.
2868 (cfg_layout_merge_blocks): Likewise.
2869 * except.c (emit_to_new_bb_before): Remove prev_bb local variable.
2870
11290308
AB
28712014-05-14 Andrey Belevantsev <abel@ispras.ru>
2872
2873 PR rtl-optimization/60901
2874 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
2875 bb predecessor belongs to the same scheduling region. Adjust comment.
2876
f4853e92
PB
28772014-05-13 Peter Bergner <bergner@vnet.ibm.com>
2878
2879 * doc/sourcebuild.texi: (dfp_hw): Document.
2880 (p8vector_hw): Likewise.
2881 (powerpc_eabi_ok): Likewise.
2882 (powerpc_elfv2): Likewise.
2883 (powerpc_htm_ok): Likewise.
2884 (ppc_recip_hw): Likewise.
2885 (vsx_hw): Likewise.
2886
bd5c3baa
CC
28872014-05-13 Cary Coutant <ccoutant@google.com>
2888
2889 * opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
2890
9aa54cc9
DM
28912014-05-13 David Malcolm <dmalcolm@redhat.com>
2892
2893 * gengtype-parse.c (require3): Eliminate in favor of...
2894 (require4): New.
2895 (require_template_declaration): Update to support optional single *
2896 on a type.
2897
2898 * gengtype.c (get_ultimate_base_class): Add a non-const overload.
2899 (create_user_defined_type): Handle a single level of explicit
2900 pointerness within template arguments.
2901 (struct write_types_data): Add field "kind".
2902 (filter_type_name): Handle "*" character.
2903 (write_user_func_for_structure_ptr): Require a write_types_data
2904 rather than just a prefix string, so that we can look up the kind
2905 of the wtd and use it as an index into wrote_user_func_for_ptr,
2906 ensuring that such functions are written at most once. Support
6b8ebd00 2907 subclasses by invoking the marking function of the ultimate base class.
9aa54cc9
DM
2908 (write_user_func_for_structure_body): Require a write_types_data
2909 rather than just a prefix string, so that we can pass this to
2910 write_user_func_for_structure_ptr.
2911 (write_func_for_structure): Likewise.
2912 (ggc_wtd): Add initializer of new "kind" field.
2913 (pch_wtd): Likewise.
2914
2915 * gengtype.h (enum write_types_kinds): New.
2916 (struct type): Add field wrote_user_func_for_ptr to the "s"
2917 union member.
2918
5c0f009c
RS
29192014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
2920
2921 * fold-const.c (optimize_bit_field_compare): Use wi:: operations
2922 instead of const_binop.
2923 (fold_binary_loc): Likewise.
2924
460d1e22
RS
29252014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
2926
2927 * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
2928 calculation to match get_ref_base_and_extent.
2929
1e1f96b5
CM
29302014-05-13 Catherine Moore <clm@codesourcery.com>
2931 Sandra Loosemore <sandra@codesourcery.com>
2932
2933 * configure.ac: Fix assembly for explicit JALR relocation check.
2934 * configure: Regenerate.
2935
411f86ad
KT
29362014-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2937
2938 * config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
2939 (arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
2940 Remove associated type declarations and initialisations.
2941 (arm_expand_neon_builtin): Likewise.
2942 (neon_emit_pair_result_insn): Delete.
2943 * config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
2944 * config/arm/neon.md (neon_vtrn<mode>): Delete.
2945 (neon_vzip<mode>): Likewise.
2946 (neon_vuzp<mode>): Likewise.
2947
6b77934e
RB
29482014-05-13 Richard Biener <rguenther@suse.de>
2949
2950 PR ipa/60973
2951 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
2952 it needs revisiting whether the call still may be tail-called.
2953
da3cd113
RS
29542014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
2955
2956 * rtl.def (SYMBOL_REF): Remove middle "0" field.
2957 * rtl.h (block_symbol): Reduce number of fields to 2.
2958 (rtx_def): Add u2.symbol_ref_flags.
2959 (SYMBOL_REF_FLAGS): Use it.
2960 (SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
2961 (SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
2962 * gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
2963 Lower index of SYMBOL_REF_DATA.
2964 * print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
2965 Print SYMBOL_REF_FLAGS at the same time.
2966 * genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
2967
fcc74520
RS
29682014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
2969
2970 * rtl.def (VAR_LOCATION): Remove "i" field.
2971 * rtl.h (rtx_def): Add u2.var_location_status.
2972 (PAT_VAR_LOCATION_STATUS): Use it.
2973 (gen_rtx_VAR_LOCATION): Declare.
2974 * gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
2975 * emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
2976 * var-tracking.c (emit_note_insn_var_location): Remove casts.
2977
feb09dd9
RS
29782014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
2979
2980 * rtl.def (scratch): Fix outdated comment and remove "0" field.
2981 * gengtype.c (adjust_field_rtx_def): Update accordingly.
2982
ed8921dc
RS
29832014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
2984
2985 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
2986 (BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
2987 * rtl.h (rtx_def): Add insn_uid to u2 field.
2988 (RTX_FLAG_CHECK8): Delete in favor of...
2989 (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
2990 (INSN_DELETED_P): Update accordingly.
2991 (INSN_UID): Use u2.insn_uid.
2992 (INSN_CHAIN_CODE_P): Define.
2993 (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
2994 (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
2995 (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
2996 (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
2997 (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
2998 indices accordingly.
2999 * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
3000 Update indices for insn-chain rtxes.
3001 * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
3002 (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
3003 * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
3004 * caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
3005 * combine.c (try_combine): Likewise.
3006 * ira.c (setup_prohibited_mode_move_regs): Likewise.
3007
fccc5515
RS
30082014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3009
3010 * rtl.def (REG): Remove middle field.
3011 * rtl.h (rtx_def): Add orignal_regno to u2.
3012 (ORIGINAL_REGNO): Use it instead of field 1.
3013 (REG_ATTRS): Lower field index accordingly.
3014 * gengtype.c (adjust_field_rtx_def): Remove handling of
3015 ORIGINAL_REGNO. Move REG_ATTRS index down.
3016 * print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
3017 code that prints the REGNO.
3018
925c1bae
RS
30192014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3020
3021 * print-rtl.c (print_rtx): Guard whole '0' block with ifndef
3022 GENERATOR_FILE.
3023
13b0c5ac
RS
30242014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3025
3026 * rtl.h (rtx_def): Mark u2 as GTY ((skip)).
3027
be9a0da5
BC
30282014-05-13 Bin Cheng <bin.cheng@arm.com>
3029
3030 * tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
3031 (alloc_iv): Lower base expressions containing ADDR_EXPR.
3032
73d9ac6a
IB
30332014-05-13 Ian Bolton <ian.bolton@arm.com>
3034
3035 * config/aarch64/aarch64-protos.h
3036 (aarch64_hard_regno_caller_save_mode): New prototype.
3037 * config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
3038 New function.
3039 * config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
3040
06b90602
CB
30412014-05-13 Christian Bruel <christian.bruel@st.com>
3042
3043 * target.def (mode_switching): New hook vector.
3044 (mode_emit, mode_needed, mode_after, mode_entry): New hooks.
3045 (mode_exit, modepriority_to_mode): Likewise.
3046 * mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
3047 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
3048 * target.h: Include tm.h and hard-reg-set.h.
3049 * doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
3050 (MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
3051 * doc/tm.texi Regenerate.
3052 * config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
3053 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
3054 * config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
3055 (sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
3056 * config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
3057 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
3058 * config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
3059 (ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
6b8ebd00
UB
3060 * config/i386/i386.c (ix86_mode_needed, ix86_mode_after,
3061 (ix86_mode_exit, ix86_mode_entry, ix86_mode_priority)
3062 (ix86_emit_mode_set): Hookify.
06b90602 3063 * config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
6b8ebd00 3064 Delete.
06b90602 3065 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
3066 * config/epiphany/epiphany-protos.h (epiphany_mode_needed)
3067 (emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
3068 (epiphany_mode_priority_to_mode): Remove declaration.
3069 * config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
3070 (epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
3071 (epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
3072 Likewise.
6b8ebd00 3073 (epiphany_mode_priority_to_mode): Change priority type. Hookify.
06b90602
CB
3074 (epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
3075 (epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
3076
455464ab
JJ
30772014-05-13 Jakub Jelinek <jakub@redhat.com>
3078
3079 PR target/61060
3080 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
3081 is const0_rtx, return immediately. Don't test count == 0 when
3082 it is always true.
3083
f30e25a3
ZC
30842014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3085
3086 * Makefile.in: add shrink-wrap.o.
3087 * config/i386/i386.c: include "shrink-wrap.h"
3088 * function.c: Likewise.
3089 (requires_stack_frame_p, next_block_for_reg,
3090 move_insn_for_shrink_wrap, prepare_shrink_wrap,
3091 dup_block_and_redirect): Move to shrink-wrap.c
3092 (thread_prologue_and_epilogue_insns): Extract three code segments
3093 as functions in shrink-wrap.c
3094 * function.h: Move #ifdef HAVE_simple_return ... #endif block to
3095 shrink-wrap.h
3096 * shrink-wrap.c: New file.
3097 * shrink-wrap.h: New file.
3098
f95c6a78
DW
30992014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3100
3101 * doc/extend.texi: Reflect current numbers of pragmas. Remove
3102 reference to Solaris.
3103
77a1da2c
MS
31042014-05-12 Mike Stump <mikestump@comcast.net>
3105
3106 PR other/31778
3107 * genattrtab.c (filename): Add.
3108 (convert_set_attr_alternative): Improve error message.
3109 (check_defs): Restore read_md_filename for error messages.
3110 (gen_insn): Save filename.
3111
dff8943f
DP
31122014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
3113
3114 * doc/invoke.texi: Document new switches -Wno-shadow-ivar,
3115 -fno-local-ivars and -fivar-visibility.
3116 * c-family/c.opt: Make -Wshadow also implicitly enable
3117 -Wshadow-ivar.
3118
6b8ebd00 31192014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3842015e
DW
3120
3121 * doc/tm.texi: Remove reference to deleted macro.
3122 * doc/tm.texi.in: Likewise.
3123
079f1420
SKS
31242014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3125
3126 PR target/60991
3127 * config/avr/avr.c (avr_out_store_psi): Use correct constant
3128 to restore Y.
3129
999db125
GJL
31302014-05-12 Georg-Johann Lay <avr@gjlay.de>
3131
a5024e01 3132 PR libgcc/61152
999db125
GJL
3133 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
3134 * config/arm/aout.h (License): Same.
3135 * config/arm/bpabi.h (License): Same.
3136 * config/arm/elf.h (License): Same.
3137 * config/arm/linux-elf.h (License): Same.
3138 * config/arm/linux-gas.h (License): Same.
3139 * config/arm/netbsd-elf.h (License): Same.
3140 * config/arm/uclinux-eabi.h (License): Same.
3141 * config/arm/uclinux-elf.h (License): Same.
3142 * config/arm/vxworks.h (License): Same.
3143
dd2fc525
JJ
31442014-05-11 Jakub Jelinek <jakub@redhat.com>
3145
3146 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
3147 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
3148 number of operands to 3.
3149 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
3150 * tree-nested.c (convert_nonlocal_omp_clauses,
3151 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
3152 * gimplify.c (gimplify_scan_omp_clauses): Handle
3153 OMP_CLAUSE_LINEAR_STMT.
3154 * omp-low.c (lower_rec_input_clauses): Fix typo.
3155 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
3156 cast between Fortran boolean_type_node and C _Bool if
3157 needed.
3158
7588d8aa
RS
31592014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
3160
3161 PR tree-optimization/61136
3162 * wide-int.h (multiple_of_p): Define a version that doesn't return
3163 the quotient.
3164 * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
3165 integer_zerop/const_binop pair.
3166 (multiple_of_p): Likewise, converting both operands to widest_int
3167 precision.
3168
e7eee636
TJ
31692014-05-09 Teresa Johnson <tejohnson@google.com>
3170
3171 * cgraphunit.c (analyze_functions): Use correct dump file.
3172
6545746e
FW
31732014-05-09 Florian Weimer <fweimer@redhat.com>
3174
3175 * cfgexpand.c (stack_protect_decl_p): New function, extracted from
3176 expand_used_vars.
3177 (stack_protect_return_slot_p): New function.
3178 (expand_used_vars): Call stack_protect_decl_p and
3179 stack_protect_return_slot_p for -fstack-protector-strong.
3180
2556511e
DW
31812014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
3182 Andrew Haley <aph@redhat.com>
3183 Richard Sandiford <rdsandiford@googlemail.com>
3184
3185 * doc/extend.texi: Rewrite inline asm page / re-org asm-related
3186 pages.
3187
971ed35d 31882014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
b8d29c66
KZ
3189
3190 PR middle-end/61111
3191 * fold-const.c (fold_binary_loc): Changed width of mask.
3192
c204f1b5
GJL
31932014-05-09 Georg-Johann Lay <avr@gjlay.de>
3194
3195 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
3196 unsigned int initializers for regno_in, regno_out.
3197
b8469805
GJL
31982014-05-09 Georg-Johann Lay <avr@gjlay.de>
3199
3200 PR target/61055
3201 * config/avr/avr.md (cc): Add new attribute set_vzn.
3202 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
3203 Set cc insn attribute to set_vzn instead of set_zn for alternatives
3204 with INC, DEC or NEG.
3205 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
3206 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
3207 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
3208
9db25c6a
RR
32092014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3210
3211 Revert:
3212 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3213
3214 * wide-int.cc (UTItype): Define.
3215 (UDWtype): Define for appropriate W_TYPE_SIZE.
3216
ee3958cf
RB
32172014-05-09 Richard Biener <rguenther@suse.de>
3218
3219 * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
3220 * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
3221 (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
3222 (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
3223 ssa_propagate): Adjust.
3224
0600049c
JL
32252014-05-08 Jeff Law <law@redhat.com>
3226
3227 PR tree-optimization/61009
3228 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
3229 tri-state rather than a boolean. When a block is too big to
3230 thread through, inform caller via negative return value.
3231 (thread_across_edge): If a block was too big for normal threading,
3232 then it's too big for a joiner too, so remove temporary equivalences
3233 and return immediately.
3234
a82122df
MK
32352014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3236 Matthias Klose <doko@ubuntu.com>
3237
3238 PR driver/61106
3239 * optc-gen.awk: Fix option handling for -Wunused-parameter.
3240
30e494f1
UB
32412014-05-08 Uros Bizjak <ubizjak@gmail.com>
3242
3243 PR target/59952
3244 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
3245
b6db8af6
UB
32462014-05-08 Uros Bizjak <ubizjak@gmail.com>
3247
3248 PR target/61092
3249 * config/alpha/alpha.c: Include gimple-iterator.h.
3250 (alpha_gimple_fold_builtin): New function. Move
3251 ALPHA_BUILTIN_UMULH folding from ...
3252 (alpha_fold_builtin): ... here.
3253 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
3254
272325bd
WM
32552014-05-08 Wei Mi <wmi@google.com>
3256
3257 PR target/58066
b6db8af6
UB
3258 * config/i386/i386.c (ix86_compute_frame_layout): Update
3259 preferred_stack_boundary for call, expanded from tls descriptor.
3260 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
3261 to depend on SP register.
272325bd
WM
3262 (*tls_local_dynamic_base_32_gnu): Ditto.
3263 (*tls_local_dynamic_32_once): Ditto.
3264 (tls_global_dynamic_64_<mode>): Set
3265 ix86_tls_descriptor_calls_expanded_in_cfun.
3266 (tls_local_dynamic_base_64_<mode>): Ditto.
3267 (tls_global_dynamic_32): Set
3268 ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
3269 to depend on SP register.
3270 (tls_local_dynamic_base_32): Ditto.
3271
e79cb1a3
RR
32722014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3273
3274 * config/arm/arm_neon.h: Update comment.
3275 * config/arm/neon-docgen.ml: Delete.
3276 * config/arm/neon-gen.ml: Delete.
3277 * doc/arm-neon-intrinsics.texi: Update comment.
3278
0d0b79a6
RR
32792014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3280
3281 * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
3282 and v4sf versions.
3283 (vand, vorr, veor, vorn, vbic): Remove.
3284 * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
3285 iterator.
3286 (neon_vsub_unspec): Likewise.
3287 (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
3288
add0c111
RR
32892014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3290
3291 * config/arm/arm_neon.h (vadd_s8): GNU C implementation
3292 (vadd_s16): Likewise.
3293 (vadd_s32): Likewise.
3294 (vadd_f32): Likewise.
3295 (vadd_u8): Likewise.
3296 (vadd_u16): Likewise.
3297 (vadd_u32): Likewise.
3298 (vadd_s64): Likewise.
3299 (vadd_u64): Likewise.
3300 (vaddq_s8): Likewise.
3301 (vaddq_s16): Likewise.
3302 (vaddq_s32): Likewise.
3303 (vaddq_s64): Likewise.
3304 (vaddq_f32): Likewise.
3305 (vaddq_u8): Likewise.
3306 (vaddq_u16): Likewise.
3307 (vaddq_u32): Likewise.
3308 (vaddq_u64): Likewise.
3309 (vmul_s8): Likewise.
3310 (vmul_s16): Likewise.
3311 (vmul_s32): Likewise.
3312 (vmul_f32): Likewise.
3313 (vmul_u8): Likewise.
3314 (vmul_u16): Likewise.
3315 (vmul_u32): Likewise.
3316 (vmul_p8): Likewise.
3317 (vmulq_s8): Likewise.
3318 (vmulq_s16): Likewise.
3319 (vmulq_s32): Likewise.
3320 (vmulq_f32): Likewise.
3321 (vmulq_u8): Likewise.
3322 (vmulq_u16): Likewise.
3323 (vmulq_u32): Likewise.
3324 (vsub_s8): Likewise.
3325 (vsub_s16): Likewise.
3326 (vsub_s32): Likewise.
3327 (vsub_f32): Likewise.
3328 (vsub_u8): Likewise.
3329 (vsub_u16): Likewise.
3330 (vsub_u32): Likewise.
3331 (vsub_s64): Likewise.
3332 (vsub_u64): Likewise.
3333 (vsubq_s8): Likewise.
3334 (vsubq_s16): Likewise.
3335 (vsubq_s32): Likewise.
3336 (vsubq_s64): Likewise.
3337 (vsubq_f32): Likewise.
3338 (vsubq_u8): Likewise.
3339 (vsubq_u16): Likewise.
3340 (vsubq_u32): Likewise.
3341 (vsubq_u64): Likewise.
3342 (vand_s8): Likewise.
3343 (vand_s16): Likewise.
3344 (vand_s32): Likewise.
3345 (vand_u8): Likewise.
3346 (vand_u16): Likewise.
3347 (vand_u32): Likewise.
3348 (vand_s64): Likewise.
3349 (vand_u64): Likewise.
3350 (vandq_s8): Likewise.
3351 (vandq_s16): Likewise.
3352 (vandq_s32): Likewise.
3353 (vandq_s64): Likewise.
3354 (vandq_u8): Likewise.
3355 (vandq_u16): Likewise.
3356 (vandq_u32): Likewise.
3357 (vandq_u64): Likewise.
3358 (vorr_s8): Likewise.
3359 (vorr_s16): Likewise.
3360 (vorr_s32): Likewise.
3361 (vorr_u8): Likewise.
3362 (vorr_u16): Likewise.
3363 (vorr_u32): Likewise.
3364 (vorr_s64): Likewise.
3365 (vorr_u64): Likewise.
3366 (vorrq_s8): Likewise.
3367 (vorrq_s16): Likewise.
3368 (vorrq_s32): Likewise.
3369 (vorrq_s64): Likewise.
3370 (vorrq_u8): Likewise.
3371 (vorrq_u16): Likewise.
3372 (vorrq_u32): Likewise.
3373 (vorrq_u64): Likewise.
3374 (veor_s8): Likewise.
3375 (veor_s16): Likewise.
3376 (veor_s32): Likewise.
3377 (veor_u8): Likewise.
3378 (veor_u16): Likewise.
3379 (veor_u32): Likewise.
3380 (veor_s64): Likewise.
3381 (veor_u64): Likewise.
3382 (veorq_s8): Likewise.
3383 (veorq_s16): Likewise.
3384 (veorq_s32): Likewise.
3385 (veorq_s64): Likewise.
3386 (veorq_u8): Likewise.
3387 (veorq_u16): Likewise.
3388 (veorq_u32): Likewise.
3389 (veorq_u64): Likewise.
3390 (vbic_s8): Likewise.
3391 (vbic_s16): Likewise.
3392 (vbic_s32): Likewise.
3393 (vbic_u8): Likewise.
3394 (vbic_u16): Likewise.
3395 (vbic_u32): Likewise.
3396 (vbic_s64): Likewise.
3397 (vbic_u64): Likewise.
3398 (vbicq_s8): Likewise.
3399 (vbicq_s16): Likewise.
3400 (vbicq_s32): Likewise.
3401 (vbicq_s64): Likewise.
3402 (vbicq_u8): Likewise.
3403 (vbicq_u16): Likewise.
3404 (vbicq_u32): Likewise.
3405 (vbicq_u64): Likewise.
3406 (vorn_s8): Likewise.
3407 (vorn_s16): Likewise.
3408 (vorn_s32): Likewise.
3409 (vorn_u8): Likewise.
3410 (vorn_u16): Likewise.
3411 (vorn_u32): Likewise.
3412 (vorn_s64): Likewise.
3413 (vorn_u64): Likewise.
3414 (vornq_s8): Likewise.
3415 (vornq_s16): Likewise.
3416 (vornq_s32): Likewise.
3417 (vornq_s64): Likewise.
3418 (vornq_u8): Likewise.
3419 (vornq_u16): Likewise.
3420 (vornq_u32): Likewise.
3421 (vornq_u64): Likewise.
3422
ca40fb28
RR
34232014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3424
3425 * wide-int.cc (UTItype): Define.
b6db8af6 3426 (UDWtype): Define for appropriate W_TYPE_SIZE.
ca40fb28 3427
421bf780
MG
34282014-05-08 Marc Glisse <marc.glisse@inria.fr>
3429
3430 PR tree-optimization/59100
3431 * tree-ssa-phiopt.c: Include tree-inline.h.
3432 (neutral_element_p, absorbing_element_p): New functions.
3433 (value_replacement): Handle conditional binary operations with a
3434 neutral or absorbing element.
3435
a5eaec42
RB
34362014-05-08 Richard Biener <rguenther@suse.de>
3437
3438 * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
3439 folding the expression.
3440 (valueize_expr): Remove.
3441 (visit_reference_op_load): Do not valueize the result of
3442 vn_get_expr_for.
3443 (simplify_binary_expression): Likewise.
3444 (simplify_unary_expression): Likewise.
3445
a96c6a62
RB
34462014-05-08 Richard Biener <rguenther@suse.de>
3447
3448 * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
3449 looking at TYPE_ARG_TYPES.
3450
fb42e303
RB
34512014-05-08 Richard Biener <rguenther@suse.de>
3452
3453 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
3454 pointer propagation special-case.
3455
d1f1a283
BC
34562014-05-08 Bin Cheng <bin.cheng@arm.com>
3457
3458 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
3459 core part of address expressions.
3460
42aea2d8
AM
34612014-05-08 Alan Modra <amodra@gmail.com>
3462
3463 PR target/60737
3464 * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
3465 loads and stores when -mno-strict-align at any alignment.
3466 (expand_block_clear): Similarly. Also correct calculation of
3467 instruction count.
3468
10e08855
TP
34692014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
3470
3471 PR middle-end/39246
3472 * tree-complex.c (expand_complex_move): Keep line info when expanding
3473 complex move.
3474 * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
3475 of complex expression. Use new argument to display correct location
3476 for values coming from phi statement.
3477 (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
3478 (warn_uninitialized_phi): Pass location of phi argument to
3479 warn_uninit.
3480 * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
3481 COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
3482
d839f53b
SB
34832014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
3484
3485 * config/rs6000/predicates.md (indexed_address_mem): New.
3486 * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
3487 load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
3488 fpstore_ux, fpstore_u.
3489 (sign_extend, indexed, update): New.
3490 (cell_micro): Adjust.
3491 (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
3492 *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
3493 *movsi_internal1, *movsi_internal1_single, *movhi_internal,
3494 *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
3495 *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
3496 *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
3497 *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
3498 *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
3499 *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
3500 *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
3501 *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
3502 *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
3503 *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
3504 *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
3505 *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
3506
3507 * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
3508 * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
3509 *vsx_extract_<mode>_store): Adjust.
3510 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
3511 is_cracked_insn, insn_must_be_first_in_group,
3512 insn_must_be_last_in_group): Adjust.
3513
3514 * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
3515 Adjust.
3516 * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
3517 ppc440-fpstore): Adjust.
3518 * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
3519 ppc476-fpstore): Adjust.
3520 * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
3521 ppc601-fpstore): Adjust.
3522 * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
3523 Adjust.
3524 * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
3525 Adjust.
3526 * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
3527 ppc7450-fpstore): Adjust.
3528 * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
3529 * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
3530 * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
3531 Adjust.
3532 * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
3533 cell-fpload, cell-fpload-update, cell-store, cell-store-update,
3534 cell-fpstore, cell-fpstore-update): Adjust.
3535 * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
3536 ppce300c3_store, ppce300c3_fpstore): Adjust.
3537 * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
3538 e500mc_fpstore): Adjust.
3539 * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
3540 e500mc64_store, e500mc64_fpstore): Adjust.
3541 * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
3542 e5500_fpstore): Adjust.
3543 * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
3544 e6500_fpstore): Adjust.
3545 * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
3546 Adjust.
3547 * config/rs6000/power4.md (power4-load, power4-load-ext,
3548 power4-load-ext-update, power4-load-ext-update-indexed,
3549 power4-load-update-indexed, power4-load-update, power4-fpload,
3550 power4-fpload-update, power4-store, power4-store-update,
3551 power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
3552 Adjust.
3553 * config/rs6000/power5.md (power5-load, power5-load-ext,
3554 power5-load-ext-update, power5-load-ext-update-indexed,
3555 power5-load-update-indexed, power5-load-update, power5-fpload,
3556 power5-fpload-update, power5-store, power5-store-update,
3557 power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
3558 Adjust.
3559 * config/rs6000/power6.md (power6-load, power6-load-ext,
3560 power6-load-update, power6-load-update-indexed,
3561 power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
3562 power6-fpload-update, power6-store, power6-store-update,
3563 power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
3564 Adjust.
3565 * config/rs6000/power7.md (power7-load, power7-load-ext,
3566 power7-load-update, power7-load-update-indexed,
3567 power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
3568 power7-fpload-update, power7-store, power7-store-update,
3569 power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
3570 Adjust.
3571 * config/rs6000/power8.md (power8-load, power8-load-update,
3572 power8-load-ext, power8-load-ext-update, power8-fpload,
3573 power8-fpload-update, power8-store, power8-store-update-indexed,
3574 power8-fpstore, power8-fpstore-update): Adjust.
3575 * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
3576 Adjust.
3577 * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
3578 titan_lsu_store, titan_lsu_fpstore): Adjust.
3579 * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
3580
36dc9ae8
OE
35812014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
3582
3583 PR target/60884
3584 * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
3585 unrolled byte insns. Emit address increments after move insns.
3586
9bbf45f6
DM
35872014-05-07 David Malcolm <dmalcolm@redhat.com>
3588
3589 * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
3590 const_gimple, rather than a gimple.
3591 (gimple_call_builtin_p): Likewise, for the three variants.
3592
3593 * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
3594 (gimple_call_builtin_p): Likewise, for the three variants.
3595
1a51f10c
RS
35962014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3597
3598 PR tree-optimization/61095
3599 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
3600
50f0aa20
RB
36012014-05-07 Richard Biener <rguenther@suse.de>
3602
3603 PR tree-optimization/61034
3604 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
3605 (maybe_skip_until): Use translate to take into account
3606 lattices when trying to do disambiguations.
3607 (get_continuation_for_phi_1): Likewise.
b6db8af6 3608 (get_continuation_for_phi): Adjust for added translate arguments.
50f0aa20 3609 (walk_non_aliased_vuses): Likewise.
b6db8af6 3610 * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
50f0aa20
RB
3611 (walk_non_aliased_vuses): Likewise.
3612 (call_may_clobber_ref_p_1): Declare.
b6db8af6
UB
3613 * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
3614 calls. Stop early if we are only supposed to disambiguate.
50f0aa20
RB
3615 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
3616
e7b7077e
JR
36172014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
3618
3619 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
3620 Emit an error when the function has arguments.
3621
c4597c1d
TS
36222014-05-07 Thomas Schwinge <thomas@codesourcery.com>
3623
3624 * cfgloop.h (unswitch_loops): Remove.
3625 * doc/passes.texi: Remove references to loop-unswitch.c
3626 * timevar.def (TV_LOOP_UNSWITCH): Remove.
3627
2c23db6d
ES
36282014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
3629
3630 * tree-vect-data-refs.c (vect_grouped_load_supported): New
3631 check for loads group of length 3.
3632 (vect_permute_load_chain): New permutations for loads group of
3633 length 3.
3634 * tree-vect-stmts.c (vect_model_load_cost): Change cost
3635 of vec_perm_shuffle for the new permutations.
3636
1d175503
AL
36372014-05-07 Alan Lawrence <alan.lawrence@arm.com>
3638
3639 * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
3640 vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
3641 vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
3642 vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
3643 vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
3644 vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
3645 vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
3646 vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
3647
e2d87487
TS
36482014-05-07 Thomas Schwinge <thomas@codesourcery.com>
3649
3650 * loop-unswitch.c: Delete.
3651
f543058d
RB
36522014-05-07 Richard Biener <rguenther@suse.de>
3653
3654 * config.gcc: Always set need_64bit_hwint to yes.
3655
96092404
CJW
36562014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
3657
3658 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
3659 of using optimize_size.
3660
ca66f89b
MS
36612014-05-06 Mike Stump <mikestump@comcast.net>
3662
3663 * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
3664
659c0e68
JM
36652014-05-06 Joseph Myers <joseph@codesourcery.com>
3666
3667 * config/i386/sse.md (*mov<mode>_internal)
3668 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
3669 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
3670 (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
3671 (*<code><mode>3, *andnot<mode>3<mask_name>)
3672 (<mask_codefor><code><mode>3<mask_name>): Only consider
3673 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
3674
3379b71f
RS
36752014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
3676
3677 Revert:
3678 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
3679
3680 * lra-constraints.c (valid_address_p): Move earlier in file.
3681 Add a constraint argument to the address_info version.
3682 (satisfies_memory_constraint_p): New function.
3683 (satisfies_address_constraint_p): Likewise.
3684 (process_alt_operands, curr_insn_transform): Use them.
3685 (process_address): Pass the constraint to valid_address_p when
3686 checking address operands.
3687
224dbc07
RS
36882014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
3689
3690 * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
3691 to their respective blocks. Fix inadvertent use of "node".
3692
aa3a12d6
RS
36932014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
3694
3695 * emit-rtl.c (init_derived_machine_modes): New functionm, split
3696 out from...
3697 (init_emit_once): ...here.
3698 * rtl.h (init_derived_machine_modes): Declare.
3699 * toplev.c (do_compile): Call it even if no_backend.
3700
1d60af08
KZ
37012014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
3702 Mike Stump <mikestump@comcast.net>
3703 Richard Sandiford <rdsandiford@googlemail.com>
3704 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3705
3706 * alias.c (ao_ref_from_mem): Use wide-int interfaces.
3707 (rtx_equal_for_memref_p): Update comment.
3708 (adjust_offset_for_component_ref): Use wide-int interfaces.
3709 * builtins.c (get_object_alignment_2): Likewise.
3710 (c_readstr): Likewise.
3711 (target_char_cast): Add comment.
3712 (determine_block_size): Use wide-int interfaces.
3713 (expand_builtin_signbit): Likewise.
3714 (fold_builtin_int_roundingfn): Likewise.
3715 (fold_builtin_bitop): Likewise.
3716 (fold_builtin_bswap): Likewise.
3717 (fold_builtin_logarithm): Use signop.
3718 (fold_builtin_pow): Likewise.
3719 (fold_builtin_memory_op): Use wide-int interfaces.
3720 (fold_builtin_object_size): Likewise.
3721 * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
3722 nb_iterations_estimate.
3723 (record_niter_bound): Use wide-int interfaces.
3724 (get_estimated_loop_iterations_int): Likewise.
3725 (get_estimated_loop_iterations): Likewise.
3726 (get_max_loop_iterations): Likewise.
3727 * cfgloop.h: Include wide-int.h.
3728 (struct nb_iter_bound): Change bound to widest_int.
3729 (struct loop): Change nb_iterations_upper_bound and
3730 nb_iterations_estimate to widest_int.
3731 (record_niter_bound): Switch to use widest_int.
3732 (get_estimated_loop_iterations): Likewise.
3733 (get_max_loop_iterations): Likewise.
3734 (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
3735 update for wide-int.
3736 * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
3737 * combine.c (try_combine): Likewise.
3738 (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
3739 * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
3740 interfaces.
3741 (aarch64_float_const_representable_p): Likewise.
3742 * config/arc/arc.c: Include wide-int.h.
3743 (arc_can_use_doloop_p): Use wide-int interfaces.
3744 * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
3745 (vfp3_const_double_index): Likewise.
3746 * config/avr/avr.c (avr_out_round): Likewise.
3747 (avr_fold_builtin): Likewise.
3748 * config/bfin/bfin.c (bfin_local_alignment): Likewise.
3749 (bfin_can_use_doloop_p): Likewise.
3750 * config/darwin.c (darwin_mergeable_constant_section): Likewise.
3751 (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
3752 * config/i386/i386.c: Include wide-int.h.
3753 (ix86_data_alignment): Use wide-int interfaces.
3754 (ix86_local_alignment): Likewise.
3755 (ix86_emit_swsqrtsf): Update real_from_integer.
3756 * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
3757 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
3758 * config/rs6000/predicates.md (any_operand): Add const_wide_int.
3759 (zero_constant): Likewise.
3760 (input_operand): Likewise.
3761 (splat_input_operand): Likewise.
3762 (non_logical_cint_operand): Change const_double to const_wide_int.
3763 * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
3764 (easy_altivec_constant): Remove comment.
3765 (paired_expand_vector_init): Use CONSTANT_P.
3766 (rs6000_legitimize_address): Handle CONST_WIDE_INT.
3767 (rs6000_emit_move): Update checks.
3768 (rs6000_aggregate_candidate): Use wide-int interfaces.
3769 (rs6000_expand_ternop_builtin): Likewise.
3770 (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
3771 (rs6000_assemble_integer): Likewise.
3772 (rs6000_hash_constant): Likewise.
3773 (output_toc): Likewise.
3774 (rs6000_rtx_costs): Likewise.
3775 (rs6000_emit_swrsqrt); Update call to real_from_integer.
3776 * config/rs6000/rs6000-c.c: Include wide-int.h.
3777 (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
3778 * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
3779 * config/rs6000/rs6000.md: Use const_scalar_int_operand.
3780 Handle CONST_WIDE_INT.
3781 * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
3782 Use tree_fits_uhwi_p.
3783 * config/sparc/sparc.c: Include wide-int.h.
3784 (sparc_fold_builtin): Use wide-int interfaces.
3785 * config/vax/vax.c: Include wide-int.h.
3786 (vax_float_literal): Use real_from_integer.
3787 * coretypes.h (struct hwivec_def): New.
3788 (hwivec): New.
3789 (const_hwivec): New.
3790 * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
3791 (equiv_constant): Handle CONST_WIDE_INT.
3792 * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
3793 (cselib_hash_rtx): Handle CONST_WIDE_INT.
3794 * dbxout.c (stabstr_U): Use wide-int interfaces.
3795 (dbxout_type): Update to use cst_fits_shwi_p.
3796 * defaults.h (LOG2_BITS_PER_UNIT): Define.
3797 (TARGET_SUPPORTS_WIDE_INT): Add default.
3798 * dfp.c: Include wide-int.h.
3799 (decimal_real_to_integer2): Use wide-int interfaces and rename to
3800 decimal_real_to_integer.
3801 * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
3802 decimal_real_to_integer.
3803 * doc/generic.texi (Constant expressions): Update for wide_int.
3804 * doc/rtl.texi (const_double): Likewise.
3805 (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
3806 (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
3807 * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
3808 (REAL_VALUE_FROM_INT): Remove.
3809 (TARGET_SUPPORTS_WIDE_INT): New.
3810 * doc/tm.texi: Regenerate.
3811 * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
3812 * double-int.h: Include wide-int.h.
3813 (struct wi::int_traits): New.
3814 * dwarf2out.c (get_full_len): New.
3815 (dw_val_equal_p): Add case dw_val_class_wide_int.
3816 (size_of_loc_descr): Likewise.
3817 (output_loc_operands): Likewise.
3818 (insert_double): Remove.
3819 (insert_wide_int): New.
3820 (add_AT_wide): New.
3821 (print_die): Add case dw_val_class_wide_int.
3822 (attr_checksum): Likewise.
3823 (attr_checksum_ordered): Likewise.
3824 (same_dw_val_p): Likewise.
3825 (size_of_die): Likewise.
3826 (value_format): Likewise.
3827 (output_die): Likewise.
3828 (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
3829 Use wide-int.
3830 (clz_loc_descriptor): Use wide-int interfaces.
3831 (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
3832 (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
3833 (round_up_to_align): Use wide-int interfaces.
3834 (field_byte_offset): Likewise.
3835 (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
3836 (add_const_value_attribute): Handle CONST_WIDE_INT. Update
3837 CONST_DOUBLE handling. Use wide-int interfaces.
3838 (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
3839 (gen_enumeration_type_die): Use add_AT_wide.
3840 (hash_loc_operands): Add case dw_val_class_wide_int.
3841 (compare_loc_operands): Likewise.
3842 * dwarf2out.h: Include wide-int.h.
3843 (wide_int_ptr): New.
3844 (enum dw_val_class): Add dw_val_class_wide_int.
3845 (struct dw_val_struct): Add val_wide.
3846 * emit-rtl.c (const_wide_int_htab): New.
3847 (const_wide_int_htab_hash): New.
3848 (const_wide_int_htab_eq): New.
3849 (lookup_const_wide_int): New.
3850 (const_double_htab_hash): Use wide-int interfaces.
3851 (const_double_htab_eq): Likewise.
3852 (rtx_to_double_int): Conditionally compile for wide-int.
3853 (immed_double_int_const): Rename to immed_wide_int_const and
3854 update for wide-int.
3855 (immed_double_const): Conditionally compile for wide-int.
3856 (init_emit_once): Use wide-int interfaces.
3857 * explow.c (plus_constant): Likewise.
3858 * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
3859 (lshift_value): Use wide-int interfaces.
3860 (expand_mult): Likewise.
3861 (choose_multiplier): Likewise.
3862 (expand_smod_pow2): Likewise.
3863 (make_tree): Likewise.
3864 * expr.c (convert_modes): Consolidate handling of constants.
3865 Use wide-int interfaces.
3866 (emit_group_load_1): Add note.
3867 (store_expr): Update comment.
3868 (get_inner_reference): Use wide-int interfaces.
3869 (expand_constructor): Update comment.
3870 (expand_expr_real_2): Use wide-int interfaces.
3871 (expand_expr_real_1): Likewise.
3872 (reduce_to_bit_field_precision): Likewise.
3873 (const_vector_from_tree): Likewise.
3874 * final.c: Include wide-int-print.h.
3875 (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
3876 * fixed-value.c: Include wide-int.h.
3877 (fixed_from_string): Use wide-int interfaces.
3878 (fixed_to_decimal): Likewise.
3879 (fixed_convert_from_real): Likewise.
3880 (real_convert_from_fixed): Likewise.
3881 * fold-const.h (mem_ref_offset): Return an offset_int.
3882 (div_if_zero_remainder): Remove code parameter.
3883 * fold-const.c (div_if_zero_remainder): Remove code parameter.
3884 Use wide-int interfaces.
3885 (may_negate_without_overflow_p): Use wide-int interfaces.
3886 (negate_expr_p): Likewise.
3887 (fold_negate_expr): Likewise.
3888 (int_const_binop_1): Likewise.
3889 (const_binop): Likewise.
3890 (fold_convert_const_int_from_int): Likewise.
3891 (fold_convert_const_int_from_real): Likewise.
3892 (fold_convert_const_int_from_fixed): Likewise.
3893 (fold_convert_const_fixed_from_int): Likewise.
3894 (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
3895 (sign_bit_p): Use wide-int interfaces.
3896 (make_range_step): Likewise.
3897 (build_range_check): Likewise. Pass an integer of the correct type
3898 instead of using integer_one_node.
3899 (range_predecessor): Pass an integer of the correct type instead
3900 of using integer_one_node.
3901 (range_successor): Likewise.
3902 (merge_ranges): Likewise.
3903 (unextend): Use wide-int interfaces.
3904 (extract_muldiv_1): Likewise.
3905 (fold_div_compare): Likewise.
3906 (fold_single_bit_test): Likewise.
3907 (fold_sign_changed_comparison): Likewise.
3908 (try_move_mult_to_index): Update calls to div_if_zero_remainder.
3909 (fold_plusminus_mult_expr): Use wide-int interfaces.
3910 (native_encode_int): Likewise.
3911 (native_interpret_int): Likewise.
3912 (fold_unary_loc): Likewise.
3913 (pointer_may_wrap_p): Likewise.
3914 (size_low_cst): Likewise.
3915 (mask_with_tz): Likewise.
3916 (fold_binary_loc): Likewise.
3917 (fold_ternary_loc): Likewise.
3918 (multiple_of_p): Likewise.
3919 (tree_call_nonnegative_warnv_p): Update calls to
3920 tree_int_cst_min_precision and real_from_integer.
3921 (fold_negate_const): Use wide-int interfaces.
3922 (fold_abs_const): Likewise.
3923 (fold_relational_const): Use tree_int_cst_lt.
3924 (round_up_loc): Use wide-int interfaces.
3925 * genemit.c (gen_exp): Add CONST_WIDE_INT case.
3926 * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
3927 * gengtype.c: Remove include of double-int.h.
3928 (do_typedef): Use wide-int interfaces.
3929 (open_base_files): Add wide-int.h.
3930 (main): Add offset_int and widest_int typedefs.
3931 * gengtype-lex.l: Handle "^".
3932 (CXX_KEYWORD): Add "static".
3933 * gengtype-parse.c (require3): New.
3934 (require_template_declaration): Handle constant template arguments
3935 and nested templates.
3936 * gengtype-state.c: Don't include "double-int.h".
3937 * genpreds.c (write_one_predicate_function): Update comment.
3938 (write_tm_constrs_h): Add check for hval and lval use in
3939 CONST_WIDE_INT.
3940 * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
3941 (add_to_sequence): Likewise.
3942 * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
3943 and const_double_operand.
3944 * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
3945 interfaces.
3946 * gimple-fold.c (get_base_constructor): Likewise.
3947 (fold_array_ctor_reference): Likewise.
3948 (fold_nonarray_ctor_reference): Likewise.
3949 (fold_const_aggregate_ref_1): Likewise.
3950 (gimple_val_nonnegative_real_p): Likewise.
3951 (gimple_fold_indirect_ref): Likewise.
3952 * gimple-pretty-print.c (dump_ssaname_info): Likewise.
3953 * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
3954 (struct slsr_cand_d): Change index to be widest_int.
3955 (struct incr_info_d): Change incr to be widest_int.
3956 (alloc_cand_and_find_basis): Use wide-int interfaces.
3957 (slsr_process_phi): Likewise.
3958 (backtrace_base_for_ref): Likewise. Return a widest_int.
3959 (restructure_reference): Take a widest_int instead of a double_int.
3960 (slsr_process_ref): Use wide-int interfaces.
3961 (create_mul_ssa_cand): Likewise.
3962 (create_mul_imm_cand): Likewise.
3963 (create_add_ssa_cand): Likewise.
3964 (create_add_imm_cand): Take a widest_int instead of a double_int.
3965 (slsr_process_add): Use wide-int interfaces.
3966 (slsr_process_cast): Likewise.
3967 (slsr_process_copy): Likewise.
3968 (dump_candidate): Likewise.
3969 (dump_incr_vec): Likewise.
3970 (replace_ref): Likewise.
3971 (cand_increment): Likewise. Return a widest_int.
3972 (cand_abs_increment): Likewise.
3973 (replace_mult_candidate): Take a widest_int instead of a double_int.
3974 (replace_unconditional_candidate): Use wide-int interfaces.
3975 (incr_vec_index): Take a widest_int instead of a double_int.
3976 (create_add_on_incoming_edge): Likewise.
3977 (create_phi_basis): Use wide-int interfaces.
3978 (replace_conditional_candidate): Likewise.
3979 (record_increment): Take a widest_int instead of a double_int.
3980 (record_phi_increments): Use wide-int interfaces.
3981 (phi_incr_cost): Take a widest_int instead of a double_int.
3982 (lowest_cost_path): Likewise.
3983 (total_savings): Likewise.
3984 (analyze_increments): Use wide-int interfaces.
3985 (ncd_with_phi): Take a widest_int instead of a double_int.
3986 (ncd_of_cand_and_phis): Likewise.
3987 (nearest_common_dominator_for_cands): Likewise.
3988 (insert_initializers): Use wide-int interfaces.
3989 (all_phi_incrs_profitable): Likewise.
3990 (replace_one_candidate): Likewise.
3991 (replace_profitable_candidates): Likewise.
3992 * godump.c: Include wide-int-print.h.
3993 (go_output_typedef): Use wide-int interfaces.
3994 * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
3995 * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
3996 (build_loop_iteration_domains): Likewise.
3997 * hooks.h: Include wide-int.h rather than double-int.h.
3998 (hook_bool_dint_dint_uint_bool_true): Delete.
3999 (hook_bool_wint_wint_uint_bool_true): Declare.
4000 * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
4001 (hook_bool_wint_wint_uint_bool_true): New.
4002 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
4003 interfaces.
4004 (ubsan_expand_si_overflow_mul_check): Likewise.
4005 * ipa-devirt.c (get_polymorphic_call_info): Likewise.
4006 * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
4007 (get_ancestor_addr_info): Likewise.
4008 (ipa_modify_call_arguments): Likewise.
4009 * loop-doloop.c (doloop_modify): Likewise.
4010 (doloop_optimize): Likewise.
4011 * loop-iv.c (iv_number_of_iterations): Likewise.
4012 * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
4013 (unroll_loop_constant_iterations): Likewise.
4014 (decide_unroll_runtime_iterations): Likewise.
4015 (unroll_loop_runtime_iterations): Likewise.
4016 (decide_peel_simple): Likewise.
4017 (decide_unroll_stupid): Likewise.
4018 * lto-streamer-in.c (streamer_read_wi): Add.
4019 (input_cfg): Use wide-int interfaces.
4020 (lto_input_tree_1): Likewise.
4021 * lto-streamer-out.c (streamer_write_wi): Add.
4022 (hash_tree): Use wide-int interfaces.
4023 (output_cfg): Likewise.
4024 * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
4025 (GTFILES): Add wide-int.h and signop.h.
4026 (TAGS): Look for .cc files too.
4027 * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
4028 * optabs.c (expand_subword_shift): Likewise.
4029 (expand_doubleword_shift): Likewise.
4030 (expand_absneg_bit): Likewise.
4031 (expand_copysign_absneg): Likewise.
4032 (expand_copysign_bit): Likewise.
4033 * postreload.c (reload_cse_simplify_set): Likewise.
4034 * predict.c (predict_iv_comparison): Likewise.
4035 * pretty-print.h: Include wide-int-print.h.
4036 (pp_wide_int) New.
4037 * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
4038 * print-tree.c: Include wide-int-print.h.
4039 (print_node_brief): Use wide-int interfaces.
4040 (print_node): Likewise.
4041 * read-rtl.c (validate_const_wide_int): New.
4042 (read_rtx_code): Add CONST_WIDE_INT case.
4043 * real.c: Include wide-int.h.
4044 (real_to_integer2): Delete.
4045 (real_to_integer): New function, returning a wide_int.
4046 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
4047 (ten_to_ptwo): Update call to real_from_integer.
4048 (real_digit): Likewise.
4049 * real.h: Include signop.h, wide-int.h and insn-modes.h.
4050 (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
4051 (REAL_VALUE_TO_INT): Delete.
4052 (real_to_integer): Declare a wide-int form.
4053 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
4054 * recog.c (const_int_operand): Improve comment.
4055 (const_scalar_int_operand): New.
4056 (const_double_operand): Add a separate definition for CONST_WIDE_INT.
4057 * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
4058 (split_double): Likewise.
4059 * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
4060 (rtx_size): Likewise.
4061 (rtx_alloc_stat_v): New.
4062 (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
4063 (cwi_output_hex): New.
4064 (iterative_hash_rtx): Handle CONST_WIDE_INT.
4065 (cwi_check_failed_bounds): New.
4066 * rtl.def (CONST_WIDE_INT): New.
4067 * rtl.h: Include <utility> and wide-int.h.
4068 (struct hwivec_def): New.
4069 (CWI_GET_NUM_ELEM): New.
4070 (CWI_PUT_NUM_ELEM): New.
4071 (struct rtx_def): Add num_elem and hwiv.
4072 (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
4073 (CASE_CONST_UNIQUE): Likewise.
4074 (CASE_CONST_ANY): Likewise.
4075 (CONST_SCALAR_INT_P): Likewise.
4076 (CONST_WIDE_INT_P): New.
4077 (CWI_ELT): New.
4078 (HWIVEC_CHECK): New.
4079 (cwi_check_failed_bounds): New.
4080 (CWI_ELT): New.
4081 (HWIVEC_CHECK): New.
4082 (CONST_WIDE_INT_VEC) New.
4083 (CONST_WIDE_INT_NUNITS) New.
4084 (CONST_WIDE_INT_ELT) New.
4085 (rtx_mode_t): New type.
4086 (wi::int_traits <rtx_mode_t>): New.
4087 (wi::shwi): New.
4088 (wi::min_value): New.
4089 (wi::max_value): New.
4090 (rtx_alloc_v) New.
4091 (const_wide_int_alloc): New.
4092 (immed_wide_int_const): New.
4093 * sched-vis.c (print_value): Handle CONST_WIDE_INT.
4094 * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
4095 * signop.h: New file.
4096 * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
4097 (simplify_const_unary_operation): Use wide-int interfaces.
4098 (simplify_binary_operation_1): Likewise.
4099 (simplify_const_binary_operation): Likewise.
4100 (simplify_const_relational_operation): Likewise.
4101 (simplify_immed_subreg): Likewise.
4102 * stmt.c (expand_case): Likewise.
4103 * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
4104 signop rather than a bool.
4105 * stor-layout.c (layout_type): Use wide-int interfaces.
4106 (initialize_sizetypes): Update calls to
4107 set_min_and_max_values_for_integral_type.
4108 (set_min_and_max_values_for_integral_type): Take a signop rather
4109 than a bool. Use wide-int interfaces.
4110 (fixup_signed_type): Update accordingly. Remove
4111 HOST_BITS_PER_DOUBLE_INT limit.
4112 (fixup_unsigned_type): Likewise.
4113 * system.h (STATIC_CONSTANT_P): New.
4114 (STATIC_ASSERT): New.
4115 * target.def (can_use_doloop_p): Take widest_ints rather than
4116 double_ints.
4117 * target.h: Include wide-int.h rather than double-int.h.
4118 * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
4119 than double_ints.
4120 * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
4121 rather than INT_CST_LT_UNSIGNED.
4122 (can_use_doloop_if_innermost): Take widest_ints rather than
4123 double_ints.
4124 * tree-affine.c: Include wide-int-print.h.
4125 (double_int_ext_for_comb): Delete.
4126 (wide_int_ext_for_comb): New.
4127 (aff_combination_zero): Use wide-int interfaces.
4128 (aff_combination_const): Take a widest_int instead of a double_int.
4129 (aff_combination_elt): Use wide-int interfaces.
4130 (aff_combination_scale): Take a widest_int instead of a double_int.
4131 (aff_combination_add_elt): Likewise.
4132 (aff_combination_add_cst): Likewise.
4133 (aff_combination_add): Use wide-int interfaces.
4134 (aff_combination_convert): Likewise.
4135 (tree_to_aff_combination): Likewise.
4136 (add_elt_to_tree): Take a widest_int instead of a double_int.
4137 (aff_combination_to_tree): Use wide-int interfaces.
4138 (aff_combination_remove_elt): Likewise.
4139 (aff_combination_add_product): Take a widest_int instead of
4140 a double_int.
4141 (aff_combination_mult): Use wide-int interfaces.
4142 (aff_combination_expand): Likewise.
4143 (double_int_constant_multiple_p): Delete.
4144 (wide_int_constant_multiple_p): New.
4145 (aff_combination_constant_multiple_p): Take a widest_int pointer
4146 instead of a double_int pointer.
4147 (print_aff): Use wide-int interfaces.
4148 (get_inner_reference_aff): Take a widest_int pointer
4149 instead of a double_int pointer.
4150 (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
4151 * tree-affine.h: Include wide-int.h.
4152 (struct aff_comb_elt): Change type of coef to widest_int.
4153 (struct affine_tree_combination): Change type of offset to widest_int.
4154 (double_int_ext_for_comb): Delete.
4155 (wide_int_ext_for_comb): New.
4156 (aff_combination_const): Use widest_int instead of double_int.
4157 (aff_combination_scale): Likewise.
4158 (aff_combination_add_elt): Likewise.
4159 (aff_combination_constant_multiple_p): Likewise.
4160 (get_inner_reference_aff): Likewise.
4161 (aff_comb_cannot_overlap_p): Likewise.
4162 (aff_combination_zero_p): Use wide-int interfaces.
4163 * tree.c: Include tree.h.
4164 (init_ttree): Use make_int_cst.
4165 (tree_code_size): Removed code for INTEGER_CST case.
4166 (tree_size): Add INTEGER_CST case.
4167 (make_node_stat): Update comment.
4168 (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
4169 (build_int_cst_type): Use wide-int interfaces.
4170 (double_int_to_tree): Likewise.
4171 (double_int_fits_to_tree_p): Delete.
4172 (force_fit_type_double): Delete.
4173 (force_fit_type): New.
4174 (int_cst_hash_hash): Use wide-int interfaces.
4175 (int_cst_hash_eq): Likewise.
4176 (build_int_cst_wide): Delete.
4177 (wide_int_to_tree): New.
4178 (cache_integer_cst): Use wide-int interfaces.
4179 (build_low_bits_mask): Likewise.
4180 (cst_and_fits_in_hwi): Likewise.
4181 (real_value_from_int_cst): Likewise.
4182 (make_int_cst_stat): New.
4183 (integer_zerop): Use wide_int interfaces.
4184 (integer_onep): Likewise.
4185 (integer_all_onesp): Likewise.
4186 (integer_pow2p): Likewise.
4187 (integer_nonzerop): Likewise.
4188 (tree_log2): Likewise.
4189 (tree_floor_log2): Likewise.
4190 (tree_ctz): Likewise.
4191 (int_size_in_bytes): Likewise.
4192 (mem_ref_offset): Return an offset_int rather than a double_int.
4193 (build_type_attribute_qual_variant): Use wide_int interfaces.
4194 (type_hash_eq): Likewise
4195 (tree_int_cst_equal): Likewise.
4196 (tree_int_cst_lt): Delete.
4197 (tree_int_cst_compare): Likewise.
4198 (tree_fits_shwi_p): Use wide_int interfaces.
4199 (tree_fits_uhwi_p): Likewise.
4200 (tree_int_cst_sign_bit): Likewise.
4201 (tree_int_cst_sgn): Likewise.
4202 (tree_int_cst_min_precision): Take a signop rather than a bool.
4203 (simple_cst_equal): Use wide_int interfaces.
4204 (compare_tree_int): Likewise.
4205 (iterative_hash_expr): Likewise.
4206 (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
4207 INT_CST_LT.
4208 (get_type_static_bounds): Use wide_int interfaces.
4209 (tree_int_cst_elt_check_failed): New.
4210 (build_common_tree_nodes): Reordered to set prec before filling in
4211 value.
4212 (int_cst_value): Check cst_and_fits_in_hwi.
4213 (widest_int_cst_value): Use wide_int interfaces.
4214 (upper_bound_in_type): Likewise.
4215 (lower_bound_in_type): Likewise.
4216 (num_ending_zeros): Likewise.
4217 (drop_tree_overflow): Likewise.
4218 * tree-call-cdce.c (check_pow): Update call to real_from_integer.
4219 (gen_conditions_for_pow_cst_base): Likewise.
4220 * tree-cfg.c: Include wide-int.h and wide-int-print.h.
4221 (group_case_labels_stmt): Use wide-int interfaces.
4222 (verify_gimple_assign_binary): Likewise.
4223 (print_loop): Likewise.
4224 * tree-chrec.c (tree_fold_binomial): Likewise.
4225 * tree-core.h (struct tree_base): Add int_length.
4226 (struct tree_int_cst): Change rep of value.
4227 * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
4228 (dr_may_alias_p): Likewise.
4229 (max_stmt_executions_tree): Likewise.
4230 * tree.def (INTEGER_CST): Update comment.
4231 * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
4232 * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
4233 * tree-dump.c: Include wide-int.h and wide-int-print.h.
4234 (dequeue_and_dump): Use wide-int interfaces.
4235 * tree.h: Include wide-int.h.
4236 (NULL_TREE): Moved to earlier loc in file.
4237 (TREE_INT_CST_ELT_CHECK): New.
4238 (tree_int_cst_elt_check_failed): New.
4239 (TYPE_SIGN): New.
4240 (TREE_INT_CST): Delete.
4241 (TREE_INT_CST_LOW): Use wide-int interfaces.
4242 (TREE_INT_CST_HIGH): Delete.
4243 (TREE_INT_CST_NUNITS): New.
4244 (TREE_INT_CST_EXT_NUNITS): Likewise.
4245 (TREE_INT_CST_OFFSET_NUNITS): Likewise.
4246 (TREE_INT_CST_ELT): Likewise.
4247 (INT_CST_LT): Delete.
4248 (tree_int_cst_elt_check): New (two forms).
4249 (type_code_size): Update comment.
4250 (make_int_cst_stat, make_int_cst): New.
4251 (tree_to_double_int): Delete.
4252 (double_int_fits_to_tree_p): Delete.
4253 (force_fit_type_double): Delete.
4254 (build_int_cstu): Replace with out-of-line function.
4255 (build_int_cst_wide): Delete.
4256 (tree_int_cst_lt): Define inline.
4257 (tree_int_cst_le): New.
4258 (tree_int_cst_compare): Define inline.
4259 (tree_int_cst_min_precision): Take a signop rather than a bool.
4260 (wi::int_traits <const_tree>): New.
4261 (wi::int_traits <tree>): New.
4262 (wi::extended_tree): New.
4263 (wi::int_traits <wi::extended_tree>): New.
4264 (wi::to_widest): New.
4265 (wi::to_offset): New.
4266 (wi::fits_to_tree_p): New.
4267 (wi::min_value): New.
4268 (wi::max_value): New.
4269 * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
4270 (copy_tree_body_r): Likewise.
4271 * tree-object-size.c (compute_object_offset): Likewise.
4272 (addr_object_size): Likewise.
4273 * tree-predcom.c: Include wide-int-print.h.
4274 (struct dref_d): Change type of offset to widest_int.
4275 (dump_dref): Call wide-int printer.
4276 (aff_combination_dr_offset): Use wide-int interfaces.
4277 (determine_offset): Take a widest_int pointer rather than a
4278 double_int pointer.
4279 (split_data_refs_to_components): Use wide-int interfaces.
4280 (suitable_component_p): Likewise.
4281 (order_drefs): Likewise.
4282 (add_ref_to_chain): Likewise.
4283 (valid_initializer_p): Likewise.
4284 (determine_roots_comp): Likewise.
4285 * tree-pretty-print.c: Include wide-int-print.h.
4286 (dump_generic_node): Use wide-int interfaces.
4287 * tree-sra.c (sra_ipa_modify_expr): Likewise.
4288 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
4289 (move_fixed_address_to_symbol): Likewise.
4290 (move_hint_to_base): Likewise.
4291 (move_pointer_to_base): Likewise.
4292 (move_variant_to_index): Likewise.
4293 (most_expensive_mult_to_index): Likewise.
4294 (addr_to_parts): Likewise.
4295 (copy_ref_info): Likewise.
4296 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
4297 (indirect_refs_may_alias_p): Likewise.
4298 (stmt_kills_ref_p_1): Likewise.
4299 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
4300 * tree-ssa-ccp.c: Update comment at top of file. Include
4301 wide-int-print.h.
4302 (struct prop_value_d): Change type of mask to widest_int.
4303 (extend_mask): New function.
4304 (dump_lattice_value): Use wide-int interfaces.
4305 (get_default_value): Likewise.
4306 (set_constant_value): Likewise.
4307 (set_value_varying): Likewise.
4308 (valid_lattice_transition): Likewise.
4309 (set_lattice_value): Likewise.
4310 (value_to_double_int): Delete.
4311 (value_to_wide_int): New.
4312 (get_value_from_alignment): Use wide-int interfaces.
4313 (get_value_for_expr): Likewise.
4314 (do_dbg_cnt): Likewise.
4315 (ccp_finalize): Likewise.
4316 (ccp_lattice_meet): Likewise.
4317 (bit_value_unop_1): Use widest_ints rather than double_ints.
4318 (bit_value_binop_1): Likewise.
4319 (bit_value_unop): Use wide-int interfaces.
4320 (bit_value_binop): Likewise.
4321 (bit_value_assume_aligned): Likewise.
4322 (evaluate_stmt): Likewise.
4323 (ccp_fold_stmt): Likewise.
4324 (visit_cond_stmt): Likewise.
4325 (ccp_visit_stmt): Likewise.
4326 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
4327 (constant_pointer_difference): Likewise.
4328 (associate_pointerplus): Likewise.
4329 (combine_conversions): Likewise.
4330 * tree-ssa-loop.h: Include wide-int.h.
4331 (struct tree_niter_desc): Change type of max to widest_int.
4332 * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
4333 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
4334 (remove_redundant_iv_tests): Likewise.
4335 (canonicalize_loop_induction_variables): Likewise.
4336 * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
4337 (constant_multiple_of): Take a widest_int pointer instead of
4338 a double_int pointer.
4339 (get_computation_aff): Use wide-int interfaces.
4340 (ptr_difference_cost): Likewise.
4341 (difference_cost): Likewise.
4342 (get_loop_invariant_expr_id): Likewise.
4343 (get_computation_cost_at): Likewise.
4344 (iv_elimination_compare_lt): Likewise.
4345 (may_eliminate_iv): Likewise.
4346 * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
4347 instead of double_int.
4348 (max_loop_iterations): Likewise.
4349 (max_stmt_executions): Likewise.
4350 (estimated_stmt_executions): Likewise.
4351 * tree-ssa-loop-niter.c: Include wide-int-print.h.
4352 (split_to_var_and_offset): Use wide-int interfaces.
4353 (determine_value_range): Likewise.
4354 (bound_difference_of_offsetted_base): Likewise.
4355 (bounds_add): Take a widest_int instead of a double_int.
4356 (number_of_iterations_ne_max): Use wide-int interfaces.
4357 (number_of_iterations_ne): Likewise.
4358 (number_of_iterations_lt_to_ne): Likewise.
4359 (assert_loop_rolls_lt): Likewise.
4360 (number_of_iterations_lt): Likewise.
4361 (number_of_iterations_le): Likewise.
4362 (number_of_iterations_cond): Likewise.
4363 (number_of_iterations_exit): Likewise.
4364 (finite_loop_p): Likewise.
4365 (derive_constant_upper_bound_assign): Likewise.
4366 (derive_constant_upper_bound): Return a widest_int.
4367 (derive_constant_upper_bound_ops): Likewise.
4368 (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
4369 (record_estimate): Take a widest_int rather than a double_int.
4370 (record_nonwrapping_iv): Use wide-int interfaces.
4371 (double_int_cmp): Delete.
4372 (wide_int_cmp): New.
4373 (bound_index): Take a widest_int rather than a double_int.
4374 (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
4375 (maybe_lower_iteration_bound): Likewise.
4376 (estimate_numbers_of_iterations_loop): Likewise.
4377 (estimated_loop_iterations): Take a widest_int pointer than than
4378 a double_int pointer.
4379 (estimated_loop_iterations_int): Use wide-int interfaces.
4380 (max_loop_iterations): Take a widest_int pointer than than
4381 a double_int pointer.
4382 (max_loop_iterations_int): Use wide-int interfaces.
4383 (max_stmt_executions): Take a widest_int pointer than than
4384 a double_int pointer.
4385 (estimated_stmt_executions): Likewise.
4386 (n_of_executions_at_most): Use wide-int interfaces.
4387 (scev_probably_wraps_p): Likewise.
4388 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
4389 to real_to_integer.
4390 * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
4391 interfaces.
4392 * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
4393 double_ints. Adjust for trailing_wide_ints <3> representation.
4394 (set_nonzero_bits): Likewise.
4395 (get_range_info): Return wide_ints rather than double_ints.
4396 Adjust for trailing_wide_ints <3> representation.
4397 (get_nonzero_bits): Likewise.
4398 (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
4399 representation.
4400 * tree-ssanames.h (struct range_info_def): Replace min, max and
4401 nonzero_bits with a trailing_wide_ints <3>.
4402 (set_range_info): Use wide_int_refs rather than double_ints.
4403 (set_nonzero_bits): Likewise.
4404 (get_range_info): Return wide_ints rather than double_ints.
4405 (get_nonzero_bits): Likewise.
4406 * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
4407 * tree-ssa-pre.c (phi_translate_1): Likewise.
4408 * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
4409 (acceptable_pow_call): Likewise.
4410 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
4411 interfaces.
4412 (vn_reference_fold_indirect): Likewise.
4413 (vn_reference_maybe_forwprop_address): Likewise.
4414 (valueize_refs_1): Likewise.
4415 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
4416 * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
4417 tree_int_cst_lt and tree_int_cst_le.
4418 * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
4419 interfaces.
4420 (streamer_alloc_tree): Likewise.
4421 * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
4422 (streamer_write_tree_header): Likewise.
4423 (streamer_write_integer_cst): Likewise.
4424 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
4425 (build_constructors): Likewise.
4426 (array_value_type): Likewise.
4427 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
4428 (vect_check_gather): Likewise.
4429 * tree-vect-generic.c (build_replicated_const): Likewise.
4430 (expand_vector_divmod): Likewise.
4431 * tree-vect-loop.c (vect_transform_loop): Likewise.
4432 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
4433 (vect_do_peeling_for_alignment): Likewise.
4434 * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
4435 * tree-vrp.c: Include wide-int.h.
4436 (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
4437 (extract_range_from_assert): Use wide-int interfaces.
4438 (vrp_int_const_binop): Likewise.
4439 (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
4440 double_int pointers.
4441 (ranges_from_anti_range): Use wide-int interfaces.
4442 (quad_int_cmp): Delete.
4443 (quad_int_pair_sort): Likewise.
4444 (extract_range_from_binary_expr_1): Use wide-int interfaces.
4445 (extract_range_from_unary_expr_1): Likewise.
4446 (adjust_range_with_scev): Likewise.
4447 (masked_increment): Take and return wide_ints rather than double_ints.
4448 (register_edge_assert_for_2): Use wide-int interfaces.
4449 (check_array_ref): Likewise.
4450 (search_for_addr_array): Likewise.
4451 (maybe_set_nonzero_bits): Likewise.
4452 (union_ranges): Pass an integer of the correct type instead of
4453 using integer_one_node.
4454 (intersect_ranges): Likewise.
4455 (simplify_truth_ops_using_ranges): Likewise.
4456 (simplify_bit_ops_using_ranges): Use wide-int interfaces.
4457 (range_fits_type_p): Likewise.
4458 (simplify_cond_using_ranges): Likewise. Take a signop rather than
4459 a bool.
4460 (simplify_conversion_using_ranges): Use wide-int interfaces.
4461 (simplify_float_conversion_using_ranges): Likewise.
4462 (vrp_finalize): Likewise.
4463 * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
4464 (gimple_stringops_transform): Likewise.
4465 * varasm.c (decode_addr_const): Likewise.
4466 (const_hash_1): Likewise.
4467 (const_rtx_hash_1): Likewise
4468 (output_constant): Likewise.
4469 (array_size_for_constructor): Likewise.
4470 (output_constructor_regular_field): Likewise.
4471 (output_constructor_bitfield): Likewise.
4472 * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
4473 * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
4474 GENERATOR_FILEs.
4475 * gencheck.c: Define BITS_PER_UNIT.
4476 * wide-int.cc: New.
4477 * wide-int.h: New.
4478 * wide-int-print.cc: New.
4479 * wide-int-print.h: New.
4480
3134fb19
JBG
44812014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
4482
4483 * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
4484
3bea341f
RB
44852014-05-06 Richard Biener <rguenther@suse.de>
4486
4487 * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
4488 TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
4489 (TODO_verify_all): Adjust.
4490 * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
4491 TODO_verify_stmts and TODO_verify_rtl_sharing.
4492 * bb-reorder.c: Likewise.
4493 * cfgexpand.c: Likewise.
4494 * cprop.c: Likewise.
4495 * cse.c: Likewise.
4496 * function.c: Likewise.
4497 * fwprop.c: Likewise.
4498 * gcse.c: Likewise.
4499 * gimple-ssa-isolate-paths.c: Likewise.
4500 * gimple-ssa-strength-reduction.c: Likewise.
4501 * ipa-split.c: Likewise.
4502 * loop-init.c: Likewise.
4503 * loop-unroll.c: Likewise.
4504 * lower-subreg.c: Likewise.
4505 * modulo-sched.c: Likewise.
4506 * postreload-gcse.c: Likewise.
4507 * predict.c: Likewise.
4508 * recog.c: Likewise.
4509 * sched-rgn.c: Likewise.
4510 * store-motion.c: Likewise.
4511 * tracer.c: Likewise.
4512 * trans-mem.c: Likewise.
4513 * tree-call-cdce.c: Likewise.
4514 * tree-cfg.c: Likewise.
4515 * tree-cfgcleanup.c: Likewise.
4516 * tree-complex.c: Likewise.
4517 * tree-eh.c: Likewise.
4518 * tree-emutls.c: Likewise.
4519 * tree-if-conv.c: Likewise.
4520 * tree-into-ssa.c: Likewise.
4521 * tree-loop-distribution.c: Likewise.
4522 * tree-object-size.c: Likewise.
4523 * tree-parloops.c: Likewise.
4524 * tree-pass.h: Likewise.
4525 * tree-sra.c: Likewise.
4526 * tree-ssa-ccp.c: Likewise.
4527 * tree-ssa-copy.c: Likewise.
4528 * tree-ssa-copyrename.c: Likewise.
4529 * tree-ssa-dce.c: Likewise.
4530 * tree-ssa-dom.c: Likewise.
4531 * tree-ssa-dse.c: Likewise.
4532 * tree-ssa-forwprop.c: Likewise.
4533 * tree-ssa-ifcombine.c: Likewise.
4534 * tree-ssa-loop-ch.c: Likewise.
4535 * tree-ssa-loop-ivcanon.c: Likewise.
4536 * tree-ssa-loop.c: Likewise.
4537 * tree-ssa-math-opts.c: Likewise.
4538 * tree-ssa-phiopt.c: Likewise.
4539 * tree-ssa-phiprop.c: Likewise.
4540 * tree-ssa-pre.c: Likewise.
4541 * tree-ssa-reassoc.c: Likewise.
4542 * tree-ssa-sink.c: Likewise.
4543 * tree-ssa-strlen.c: Likewise.
4544 * tree-ssa-tail-merge.c: Likewise.
4545 * tree-ssa-uncprop.c: Likewise.
4546 * tree-switch-conversion.c: Likewise.
4547 * tree-tailcall.c: Likewise.
4548 * tree-vect-generic.c: Likewise.
4549 * tree-vectorizer.c: Likewise.
4550 * tree-vrp.c: Likewise.
4551 * tsan.c: Likewise.
4552 * var-tracking.c: Likewise.
4553 * bt-load.c: Likewise.
4554 * cfgcleanup.c: Likewise.
4555 * combine-stack-adj.c: Likewise.
4556 * combine.c: Likewise.
4557 * compare-elim.c: Likewise.
4558 * config/epiphany/resolve-sw-modes.c: Likewise.
4559 * config/i386/i386.c: Likewise.
4560 * config/mips/mips.c: Likewise.
4561 * config/s390/s390.c: Likewise.
4562 * config/sh/sh_treg_combine.cc: Likewise.
4563 * config/sparc/sparc.c: Likewise.
4564 * dce.c: Likewise.
4565 * dse.c: Likewise.
4566 * final.c: Likewise.
4567 * ifcvt.c: Likewise.
4568 * mode-switching.c: Likewise.
4569 * passes.c: Likewise.
4570 * postreload.c: Likewise.
4571 * ree.c: Likewise.
4572 * reg-stack.c: Likewise.
4573 * regcprop.c: Likewise.
4574 * regrename.c: Likewise.
4575 * web.c: Likewise.
4576
3d224d46
RB
45772014-05-06 Richard Biener <rguenther@suse.de>
4578
4579 PR middle-end/61070
4580 * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
4581 * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
4582
e400f081
JH
45832014-05-05 Jan Hubicka <hubicka@ucw.cz>
4584
4585 PR ipa/60965
4586 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
4587
aaeaa9a9 45882014-05-05 Radovan Obradovic <robradovic@mips.com>
b6db8af6 4589 Tom de Vries <tom@codesourcery.com>
aaeaa9a9 4590
b6db8af6
UB
4591 * target.def (call_fusage_contains_non_callee_clobbers): New
4592 DEFHOOKPOD.
aaeaa9a9
RO
4593 * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
4594 Hooks to @menu.
4595 (@node Miscellaneous Register Hooks): New node.
4596 (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
4597 * doc/tm.texi: Regenerate.
4598
c2ac23fe
MP
45992014-05-05 Marek Polacek <polacek@redhat.com>
4600
4601 PR driver/61065
4602 * opts.c (common_handle_option): Call error_at instead of warning_at.
4603
0db74577
RB
46042014-05-05 Richard Biener <rguenther@suse.de>
4605
4606 * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
4607 from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
4608 under the TODO_verify_il umbrella.
4609
7e7f8713
RB
46102014-05-05 Richard Biener <rguenther@suse.de>
4611
4612 * passes.c (execute_function_todo): Move TODO_verify_flow under
4613 the TODO_verify_ul umbrella.
4614
7e2c9f14
RB
46152014-05-05 Richard Biener <rguenther@suse.de>
4616
4617 PR middle-end/61010
b6db8af6
UB
4618 * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
4619 X & CST away from a CST that is the mask of a mode.
7e2c9f14 4620
33ecf108
JBG
46212014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
4622
4623 * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
4624 int argument to enum machine_mode.
4625 (picochip_class_max_nregs): Ditto.
4626 * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
4627 (picochip_class_max_nregs): Ditto.
4628
d56a43a0
AK
46292014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4630
4631 * target.def: Add new target hook.
4632 * doc/tm.texi: Regenerate.
4633 * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
4634 * targhooks.c (default_keep_leaf_when_profiled): New function.
4635
4636 * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
4637 (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
4638
cb8f1a57
BC
46392014-05-05 Bin Cheng <bin.cheng@arm.com>
4640
4641 PR tree-optimization/60363
4642 * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
4643 (copy_phi_args): New parameters. Call get_value_locus_in_path.
4644 (update_destination_phis): New parameter.
4645 (create_edge_and_update_destination_phis): Ditto.
4646 (ssa_fix_duplicate_block_edges): Pass new arguments.
4647 (thread_single_edge): Ditto.
4648
f93bc5b3
PB
46492014-05-04 Peter Bergner <bergner@vnet.ibm.com>
4650
4651 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
4652 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
4653 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
4654 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
4655 Use RS6000_BTM_HARD_FLOAT.
4656 (BU_MISC_2): Likewise.
4657 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
4658 RS6000_BTM_HARD_FLOAT.
4659 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
4660 is explicitly used.
4661 (rs6000_invalid_builtin): Add hard floating builtin support.
4662 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
4663 hard float builtins.
4664 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
4665
579f4e64
OE
46662014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
4667
4668 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
4669 Add missing function* argument.
4670
0be7287d
RS
46712014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
4672
4673 * lra-constraints.c (valid_address_p): Move earlier in file.
4674 Add a constraint argument to the address_info version.
4675 (satisfies_memory_constraint_p): New function.
4676 (satisfies_address_constraint_p): Likewise.
4677 (process_alt_operands, curr_insn_transform): Use them.
4678 (process_address): Pass the constraint to valid_address_p when
4679 checking address operands.
4680
ad782bc9
RS
46812014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
4682
4683 * config/mips/mips.c (mips_isa_rev): New variable.
4684 (mips_set_architecture): Set it.
4685 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
4686 from mips_isa_rev.
4687 (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
4688 (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
4689 (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
4690 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
4691 (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
4692 conditions in terms of mips_isa_rev.
4693 (mips_isa_rev): Declare.
4694
45731f37
OE
46952014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
4696
4697 * config/sh/sh-mem.cc: Use tabs instead of spaces.
4698 (prob_unlikely, prob_likely): Make variables const.
4699
c61dfa63
DC
47002014-05-03 Denis Chertykov <chertykov@gmail.com>
4701
4702 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
4703
1b8da635
OE
47042014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
4705
4706 * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
4707
f6982a08
OE
47082014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
4709
4710 * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
4711 (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
4712 * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
4713 functions.
4714 (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
4715 sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
4716 sh_pass_in_reg_p.
4717 Replace usage of ROUND_REG with sh_round_reg.
4718 Use CEIL instead of ROUND_ADVANCE.
4719
0bcf70f8
OE
47202014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
4721
4722 PR target/61026
4723 * config/sh/sh.c: Include stdlib headers before everything else.
4724
95782571
JJ
47252014-05-02 Jakub Jelinek <jakub@redhat.com>
4726
4727 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
4728 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
4729 (gimplify_adjust_omp_clauses): Simd region is never
4730 directly nested in combined parallel. Instead, for linear
4731 with copyin/copyout, if in combined for simd loop, make decl
4732 firstprivate/lastprivate on OMP_FOR.
4733 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
4734 expand_omp_for_static_chunk): When setting endvar, also set
4735 fd->loop.v to the same value.
4736
e13b3dfd
RS
47372014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4738
4739 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
4740
0696116a
AL
47412014-05-02 Alan Lawrence <alan.lawrence@arm.com>
4742
4743 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
4744 expression.
4745
fb90f9f3
MP
47462014-05-02 Marek Polacek <polacek@redhat.com>
4747
4748 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
4749
153df826 47502014-05-02 Kito Cheng <kito@0xlab.org>
ed15c598
KC
4751
4752 * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
4753 to a C expression marco.
4754 * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
4755 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
4756 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
4757 * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
4758 HONOR_REG_ALLOC_ORDER.
4759 * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
4760
53c8d5a7
JBG
47612014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
4762
4763 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
4764
486c559b
JBG
47652014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
4766
4767 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
4768
944052b9
YR
47692014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
4770
4771 * tree-if-conv.c (is_cond_scalar_reduction): New function.
4772 (convert_scalar_cond_reduction): Likewise.
4773 (predicate_scalar_phi): Add recognition and transformation
4774 of simple conditioanl reduction to be vectorizable.
4775
d00887e8
MP
47762014-05-01 Marek Polacek <polacek@redhat.com>
4777
4778 PR c/43245
4779 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
4780
7211512a
AL
47812014-04-30 Alan Lawrence <alan.lawrence@arm.com>
4782
4783 * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
4784 vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
4785 vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
4786 vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
4787 vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
4788 vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
4789 vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
4790 vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
4791
e5bd20a4
JR
47922014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
4793
4794 * config/arc/arc.opt (mlra): Move comment above option name
4795 to avoid mis-parsing as language options.
4796
2cf03b11
RO
47972014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4798
4799 * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
4800 * config/sol2.h: ... here.
4801 * config/sol2-10.h: Remove.
4802
4803 * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
4804 (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
4805 (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
4806 (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
4807 (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
4808 * config/sol2.h: ... here.
4809 (SECTION_NAME_FORMAT): Don't redefine.
4810 (STARTFILE_ARCH32_SPEC): Rename to ...
4811 (STARTFILE_ARCH_SPEC): ... this.
4812 (ASM_OUTPUT_ALIGNED_COMMON): Move ...
4813 * config/sparc/sol2.h: ... here.
4814 (SECTION_NAME_FORMAT): Don't undef.
4815 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
4816 (SUBTARGET_EXTRA_SPECS): Remove.
4817 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
4818
4819 * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
4820 (MD_STARTFILE_PREFIX): Remove.
4821 (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
4822 (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
4823 (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
4824 (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
4825 (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
4826 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
4827 * config/i386/sol2.h: ... here.
4828 (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
4829 * config/i386/sol2-bi.h: Remove.
4830 * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
4831 (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
4832
4833 * config/i386/t-sol2-64: Rename to ...
4834 * config/i386/t-sol2: ... this.
4835 * config/sparc/t-sol2-64: Rename to ...
4836 * config/sparc/t-sol2: ... this.
4837
4838 * config.gcc (*-*-solaris2*): Split sol2_tm_file into
4839 sol2_tm_file_head, sol2_tm_file_tail.
4840 Include ${cpu_type}/sol2.h before sol2.h.
4841 Remove sol2-10.h.
4842 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
4843 i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
4844 Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
4845 Reflect i386/t-sol2-64 renaming.
4846 (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
4847 Reflect sparc/t-sol2-64 renaming.
4848
e9ff9caf
RB
48492014-04-30 Richard Biener <rguenther@suse.de>
4850
4851 * passes.c (execute_function_todo): Move TODO_verify_stmts
4852 and TODO_verify_ssa under the TODO_verify_il umbrella.
4853 * tree-ssa.h (verify_ssa): Adjust prototype.
4854 * tree-ssa.c (verify_ssa): Add parameter to tell whether
4855 we should verify SSA operands.
4856 * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
4857 * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
4858 whether we should verify whether not throwing stmts have EH info.
4859 * graphite-scop-detection.c (create_sese_edges): Adjust.
4860 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
4861 * tree-eh.c (lower_try_finally_switch): Do not add the
4862 default case label twice.
4863
f8ed5150
MP
48642014-04-30 Marek Polacek <polacek@redhat.com>
4865
4866 * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
4867 * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
4868 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
4869 * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
4870
7cb0403f
AL
48712014-04-29 Alan Lawrence <alan.lawrence@arm.com>
4872
4873 * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
4874 vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
4875 vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
4876 vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
4877 vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
4878 vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
4879 vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
4880 vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
4881
3979649a
DM
48822014-04-29 David Malcolm <dmalcolm@redhat.com>
4883
4884 * tree-cfg.c (dump_function_to_file): Dump the return type of
4885 functions, in a line to itself before the function body, mimicking
4886 the layout of a C function.
4887
62fb101e
JJ
48882014-04-29 Jakub Jelinek <jakub@redhat.com>
4889
4890 PR tree-optimization/60971
4891 * tree-tailcall.c (process_assignment): Reject conversions which
4892 reduce precision.
4893
3d9684ae
JG
48942014-04-29 James Greenhalgh <james.greenhalgh@arm.com>
4895
4896 * calls.c (initialize_argument_information): Always treat
4897 PUSH_ARGS_REVERSED as 1, simplify code accordingly.
4898 (expand_call): Likewise.
4899 (emit_library_call_calue_1): Likewise.
4900 * expr.c (PUSH_ARGS_REVERSED): Do not define.
4901 (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
4902 code accordingly.
4903
d77f7b19
NC
49042014-04-29 Nick Clifton <nickc@redhat.com>
4905
4906 * config/msp430/msp430.md (umulsidi): Fix typo.
4907 (mulhisi3): Enable even inside interrupt handlers.
4908 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
4909 bigger return address pushed in large mode.
4910
f8d91e80
NC
49112014-04-29 Nick Clifton <nickc@redhat.com>
4912
4913 * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
4914 (arc_init_reg_tables): Use a machine_mode enum to iterate over
4915 available modes.
4916 * config/m32r/m32r.c (init_reg_tables): Likewise.
4917 * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
4918 enum to hold the modes.
4919
e3f613cb
RB
49202014-04-29 Richard Biener <rguenther@suse.de>
4921
4922 * dominance.c (free_dominance_info): Add overload with
4923 function parameter.
4924 (dom_info_state): Likewise.
4925 (dom_info_available_p): Likewise.
4926 * basic-block.h (free_dominance_info, dom_info_state,
4927 dom_info_available_p): Declare overloads.
4928 * passes.c (execute_function_todo): Verify that verifiers
4929 don't change dominator info state. Drop dominator info
4930 for IPA pass invocations.
4931 * cgraph.c (release_function_body): Restore asserts that
4932 dominator information is released.
4933
36f291f7
PP
49342014-04-29 Patrick Palka <patrick@parcs.ath.cx>
4935
4936 * doc/invoke.texi: Fix typo.
4937 * tree-vrp.c: Fix typos.
b6db8af6 4938 * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
36f291f7 4939
d3a3182b
ZC
49402014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4941
4942 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
4943
ba081b77
JG
49442014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
4945
4946 * config/aarch64/aarch64-builtins.c
4947 (aarch64_types_storestruct_lane_qualifiers): New.
4948 (TYPES_STORESTRUCT_LANE): Likewise.
4949 * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
4950 (st3_lane): Likewise.
4951 (st4_lane): Likewise.
4952 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
4953 (vec_store_lanesci_lane<mode>): Likewise.
4954 (vec_store_lanesxi_lane<mode>): Likewise.
4955 (aarch64_st2_lane<VQ:mode>): Likewise.
4956 (aarch64_st3_lane<VQ:mode>): Likewise.
4957 (aarch64_st4_lane<VQ:mode>): Likewise.
4958 * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
4959 * config/aarch64/arm_neon.h
4960 (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
4961 use new macro arguments.
4962 (__ST3_LANE_FUNC): Likewise.
4963 (__ST4_LANE_FUNC): Likewise.
4964 * config/aarch64/iterators.md (V_TWO_ELEM): New.
4965 (V_THREE_ELEM): Likewise.
4966 (V_FOUR_ELEM): Likewise.
4967
1bc6d43c
DM
49682014-04-28 David Malcolm <dmalcolm@redhat.com>
4969
4970 * doc/gimple.texi: Replace the description of the now-defunct
4971 union gimple_statement_d with a diagram showing the
4972 gimple_statement_base class hierarchy and its relationships to
4973 the GSS_ and GIMPLE_ enums.
4974
97e1ad78
JG
49752014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
4976
4977 * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
4978 * config/aarch64/aarch64.c
4979 (aarch64_cannot_change_mode_class): Weaken conditions.
4980 (aarch64_modes_tieable_p): New.
4981 * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
4982
bf245bf4
PH
49832014-04-28 Pat Haugen <pthaugen@us.ibm.com>
4984
4985 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
4986 (loadsync_<mode>): Change mode.
4987 (load_quadpti, store_quadpti): New.
4988 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
4989 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
4990
28151221
MJ
49912014-04-28 Martin Jambor <mjambor@suse.cz>
4992
4993 * tree-sra.c (sra_modify_expr): Generate new memory accesses with
4994 same alias type as the original statement.
4995 (subreplacement_assignment_data): New type.
4996 (handle_unscalarized_data_in_subtree): New type of parameter,
4997 generate new memory accesses with same alias type as the original
4998 statement.
4999 (load_assign_lhs_subreplacements): Likewise.
5000 (sra_modify_constructor_assign): Generate new memory accesses with
5001 same alias type as the original statement.
5002
9ba5fb43
RB
50032014-04-28 Richard Biener <rguenther@suse.de>
5004
5005 * tree-pass.h (TODO_verify_il): Define.
5006 (TODO_verify_all): Complete properly.
5007 * passes.c (execute_function_todo): Move existing loop-closed
5008 SSA verification under TODO_verify_il.
5009 (execute_one_pass): Trigger TODO_verify_il at todo-after time.
5010 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
5011 Fix tree sharing issue.
5012
22869a37
RB
50132014-04-28 Richard Biener <rguenther@suse.de>
5014
5015 PR middle-end/60092
5016 * builtins.def (DEF_C11_BUILTIN): Add.
5017 (BUILT_IN_ALIGNED_ALLOC): Likewise.
5018 * coretypes.h (enum function_class): Add function_c11_misc.
5019 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
5020 BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
5021 (call_may_clobber_ref_p_1): Likewise.
5022 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
5023 (mark_all_reaching_defs_necessary_1): Likewise.
5024 (propagate_necessity): Likewise.
5025 (eliminate_unnecessary_stmts): Likewise.
5026 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
5027
771c9501
RB
50282014-04-28 Richard Biener <rguenther@suse.de>
5029
5030 * tree-vrp.c (vrp_var_may_overflow): Remove.
5031 (vrp_visit_phi_node): Rather than bumping to +-INF possibly
5032 with overflow immediately bump to one before that value and
5033 let iteration figure out overflow status.
5034
279a935f
RB
50352014-04-28 Richard Biener <rguenther@suse.de>
5036
5037 * configure.ac: Do valgrind header checks unconditionally.
5038 Add --enable-valgrind-annotations.
5039 * system.h: Guard valgrind header inclusion with
5040 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
5041 * alloc-pool.c (pool_alloc, pool_free): Use
5042 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
5043 to guard possibly dead code.
5044 * config.in: Regenerated.
5045 * configure: Likewise.
5046
07357f2f
JL
50472014-04-28 Jeff Law <law@redhat.com>
5048
5049 PR tree-optimization/60902
5050 * tree-ssa-threadedge.c
5051 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
5052 over real defs when invalidating outputs from statements that do not
5053 produce useful outputs for threading.
5054
6c6aa8e6
RB
50552014-04-28 Richard Biener <rguenther@suse.de>
5056
5057 PR tree-optimization/60979
5058 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
5059 SCOPs that end in a block with a successor with abnormal
5060 predecessors.
5061
2cbf2d95
RB
50622014-04-28 Richard Biener <rguenther@suse.de>
5063
5064 * tree-pass.h (execute_pass_list): Adjust prototype.
b6db8af6 5065 * passes.c (pass_manager::execute_early_local_passes): Adjust.
2cbf2d95
RB
5066 (do_per_function): Change callback signature, push all actual
5067 work to the callbals.
5068 (do_per_function_toporder): Likewise.
5069 (execute_function_dump): Adjust.
5070 (execute_function_todo): Likewise.
5071 (clear_last_verified): Likewise.
5072 (verify_curr_properties): Likewise.
5073 (update_properties_after_pass): Likewise.
5074 (execute_pass_list_1): Split out from ...
5075 (execute_pass_list): ... here. Adjust.
5076 (execute_ipa_pass_list): Likewise.
5077 * cgraphunit.c (cgraph_add_new_function): Adjust.
5078 (analyze_function): Likewise.
5079 (expand_function): Likewise.
5080 * cgraph.c (release_function_body): Free dominance info
5081 here instead of asserting it was magically freed elsewhere.
5082
ba21a04a
EB
50832014-04-28 Eric Botcazou <ebotcazou@adacore.com>
5084
5085 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
5086 * configure: Regenerate.
5087 * config/sparc/sparc.opt (muser-mode): New option.
5088 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
5089 for LEON3.
5090 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
5091 * doc/invoke.texi (SPARC options): Document -muser-mode.
5092
f956adb9
RS
50932014-04-27 Richard Sandiford <rdsandiford@googlemail.com>
5094
5095 * cselib.c (find_slot_memmode): Delete.
5096 (cselib_hasher): Change compare_type to a struct.
5097 (cselib_hasher::equal): Update accordingly. Don't expect wrapped
5098 constants.
5099 (preserve_constants_and_equivs): Adjust for new compare_type.
5100 (cselib_find_slot): Likewise. Take the mode of the rtx as argument.
5101 (wrap_constant): Delete.
5102 (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
5103
167c3e96
MT
51042014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
5105
5106 * doc/install.texi (Building with profile feedback): Remove
5107 outdated sentence.
5108
4148ef5f
TV
51092014-04-26 Tom de Vries <tom@codesourcery.com>
5110
5111 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
5112 array accesses.
5113
8d8ffd86
CC
51142014-04-25 Cary Coutant <ccoutant@google.com>
5115
b6db8af6 5116 PR debug/60929
8d8ffd86 5117 * dwarf2out.c (should_move_die_to_comdat): A type definition
b6db8af6
UB
5118 can contain a subprogram definition, but don't move it to a
5119 comdat unit.
8d8ffd86 5120 (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
b6db8af6
UB
5121 (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
5122 from original DIE.
8d8ffd86
CC
5123 (clone_tree_hash): Rename to...
5124 (clone_tree_partial): ...this; change callers. Copy
b6db8af6 5125 DW_TAG_subprogram DIEs as declarations.
8d8ffd86 5126 (copy_decls_walk): Don't copy children of a declaration into a
b6db8af6 5127 type unit.
8d8ffd86 5128
255671b0
L
51292014-04-25 H.J. Lu <hongjiu.lu@intel.com>
5130
5131 PR target/60969
5132 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
5133 alternative 12.
5134
10432733
JW
51352014-04-25 Jiong Wang <jiong.wang@arm.com>
5136
5137 * config/arm/predicates.md (call_insn_operand): Add long_call check.
5138 * config/arm/arm.md (sibcall, sibcall_value): Force the address to
5139 reg for long_call.
5140 * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
5141 restriction.
5142
0e4c913f
KT
51432014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5144
b6db8af6 5145 * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
0e4c913f 5146
61ba7329
BS
51472014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5148
5149 PR tree-optimization/60930
5150 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
5151 creating a multiply candidate by folding two constant
5152 multiplicands when the result overflows.
5153
2b332829
JJ
51542014-04-25 Jakub Jelinek <jakub@redhat.com>
5155
5156 PR tree-optimization/60960
5157 * tree-vect-generic.c (expand_vector_operation): Only call
5158 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
5159
97891c11
TV
51602014-04-25 Tom de Vries <tom@codesourcery.com>
5161
5162 * expr.c (clobber_reg_mode): New function.
5163 * expr.h (clobber_reg): New function.
5164
3ee634fd
TV
51652014-04-25 Tom de Vries <tom@codesourcery.com>
5166
5167 * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
5168 clobbers.
5169
356bf593 51702014-04-25 Radovan Obradovic <robradovic@mips.com>
b6db8af6 5171 Tom de Vries <tom@codesourcery.com>
356bf593
RO
5172
5173 * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
5174 handle.
5175 * rtl.h (find_all_hard_reg_sets): Add bool parameter.
5176 * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
5177 new argument to find_all_hard_reg_sets call.
5178
fe65a7ed
KT
51792014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5180
5181 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
5182 Use HOST_WIDE_INT_C for mask literal.
5183 (aarch_rev16_shleft_mask_imm_p): Likewise.
5184
b357d40d
EB
51852014-04-25 Eric Botcazou <ebotcazou@adacore.com>
5186
5187 PR target/60941
5188 * config/sparc/sparc.md (ashlsi3_extend): Delete.
5189
30c0a59a
MG
51902014-04-25 Marc Glisse <marc.glisse@inria.fr>
5191
5192 PR preprocessor/56540
5193 * config/i386/i386-c.c (ix86_target_macros): Define
5194 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
5195
c02f59e2
RO
51962014-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5197
5198 * configure.ac (tga_func): Remove.
5199 (LIB_TLS_SPEC): Remove.
5200 * configure: Regenerate.
5201 * config.in: Regenerate.
5202 * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
5203
92b3326b
RB
52042014-04-25 Richard Biener <rguenther@suse.de>
5205
5206 PR ipa/60912
5207 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
5208 call stmt use/clobber sets during stmt walk instead of
5209 walking the possibly incomplete set of caller edges.
5210
78422fb1
RB
52112014-04-25 Richard Biener <rguenther@suse.de>
5212
5213 PR ipa/60911
5214 * passes.c (apply_ipa_transforms): Inline into only caller ...
5215 (execute_one_pass): ... here. Properly bring in function
5216 bodies for nodes we want to apply IPA transforms to.
5217
56f8faae
CH
52182014-04-24 Cong Hou <congh@google.com>
5219
5220 PR tree-optimization/60896
5221 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
5222 all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
5223 (vect_mark_pattern_stmts): Set the def type of all statements in
5224 PATTERN_DEF_SEQ as vect_internal_def.
5225
06b39289
MM
52262014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
5227
5228 * doc/extend.texi (PowerPC Built-in Functions): Document new
b6db8af6 5229 powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
06b39289
MM
5230 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
5231
5232 * config/rs6000/predicates.md (const_0_to_3_operand): New
5233 predicate to match 0..3 integer constants.
5234
5235 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
5236 to support adding miscellaneous builtin functions.
5237 (BU_DFP_MISC_2): Likewise.
5238 (BU_P7_MISC_1): Likewise.
5239 (BU_P7_MISC_2): Likewise.
5240 (BU_P8V_MISC_3): Likewise.
5241 (BU_MISC_1): Likewise.
5242 (BU_MISC_2): Likewise.
5243 (DIVWE): Add extended divide builtin functions.
5244 (DIVWEO): Likewise.
5245 (DIVWEU): Likewise.
5246 (DIVWEUO): Likewise.
5247 (DIVDE): Likewise.
5248 (DIVDEO): Likewise.
5249 (DIVDEU): Likewise.
5250 (DIVDEUO): Likewise.
5251 (DXEX): Add decimal floating-point builtin functions.
5252 (DXEXQ): Likewise.
5253 (DDEDPD): Likewise.
5254 (DDEDPDQ): Likewise.
5255 (DENBCD): Likewise.
5256 (DENBCDQ): Likewise.
5257 (DIEX): Likewise.
5258 (DIEXQ): Likewise.
5259 (DSCLI): Likewise.
5260 (DSCLIQ): Likewise.
5261 (DSCRI): Likewise.
5262 (DSCRIQ): Likewise.
5263 (CDTBCD): Add new BCD builtin functions.
5264 (CBCDTD): Likewise.
5265 (ADDG6S): Likewise.
5266 (BCDADD): Likewise.
5267 (BCDADD_LT): Likewise.
5268 (BCDADD_EQ): Likewise.
5269 (BCDADD_GT): Likewise.
5270 (BCDADD_OV): Likewise.
5271 (BCDSUB): Likewise.
5272 (BCDSUB_LT): Likewise.
5273 (BCDSUB_EQ): Likewise.
5274 (BCDSUB_GT): Likewise.
5275 (BCDSUB_OV): Likewise.
5276 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
5277 (UNPACK_TD): Likewise.
5278 (PACK_TF): Likewise.
5279 (UNPACK_TF): Likewise.
5280 (UNPACK_TF_0): Likewise.
5281 (UNPACK_TF_1): Likewise.
5282 (PACK_V1TI): Likewise.
5283 (UNPACK_V1TI): Likewise.
5284
5285 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
5286 support for decimal floating point builtin functions.
5287 (rs6000_expand_ternop_builtin): Add checks for the new builtin
5288 functions that take constant arguments.
b6db8af6 5289 (rs6000_invalid_builtin): Add decimal floating point builtin support.
06b39289
MM
5290 (rs6000_init_builtins): Setup long double, _Decimal64, and
5291 _Decimal128 types for new builtin functions.
5292 (builtin_function_type): Set the unsigned flags appropriately for
5293 the new builtin functions.
5294 (rs6000_opt_masks): Add support for decimal floating point builtin
5295 functions.
5296
5297 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
5298 floating point builtin functions.
5299 (RS6000_BTM_COMMON): Likewise.
5300 (RS6000_BTI_long_double): Likewise.
5301 (RS6000_BTI_dfloat64): Likewise.
5302 (RS6000_BTI_dfloat128): Likewise.
5303 (long_double_type_internal_node): Likewise.
5304 (dfloat64_type_internal_node): Likewise.
5305 (dfloat128_type_internal_node): Likewise.
5306
5307 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
5308 2.07 bcd arithmetic instructions.
5309 (UNSPEC_BCDSUB): Likewise.
5310 (UNSPEC_BCD_OVERFLOW): Likewise.
5311 (UNSPEC_BCD_ADD_SUB): Likewise.
5312 (bcd_add_sub): Likewise.
5313 (BCD_TEST): Likewise.
5314 (bcd<bcd_add_sub>): Likewise.
5315 (bcd<bcd_add_sub>_test): Likewise.
5316 (bcd<bcd_add_sub>_test2): Likewise.
5317 (bcd<bcd_add_sub>_<code>): Likewise.
5318 (peephole2 for combined bcd ops): Likewise.
5319
5320 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
5321 decimal floating point builtin functions.
5322 (UNSPEC_DENBCD): Likewise.
5323 (UNSPEC_DXEX): Likewise.
5324 (UNSPEC_DIEX): Likewise.
5325 (UNSPEC_DSCLI): Likewise.
5326 (UNSPEC_DSCRI): Likewise.
5327 (D64_D128): Likewise.
5328 (dfp_suffix): Likewise.
5329 (dfp_ddedpd_<mode>): Likewise.
5330 (dfp_denbcd_<mode>): Likewise.
5331 (dfp_dxex_<mode>): Likewise.
5332 (dfp_diex_<mode>): Likewise.
5333 (dfp_dscli_<mode>): Likewise.
5334 (dfp_dscri_<mode>): Likewise.
5335
5336 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
5337 builtin functions.
5338 (UNSPEC_CDTBCD): Likewise.
5339 (UNSPEC_CBCDTD): Likewise.
b6db8af6 5340 (UNSPEC_DIVE): Add support for new extended divide builtin functions.
06b39289
MM
5341 (UNSPEC_DIVEO): Likewise.
5342 (UNSPEC_DIVEU): Likewise.
5343 (UNSPEC_DIVEUO): Likewise.
5344 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
5345 pack/unpack 128-bit types.
5346 (UNSPEC_PACK_128BIT): Likewise.
5347 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
5348 (udiv<mode>3): Use idiv_ldiv mode attribute.
5349 (div<mode>3): Likewise.
5350 (addg6s): Add new BCD builtin functions.
5351 (cdtbcd): Likewise.
5352 (cbcdtd): Likewise.
b6db8af6 5353 (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
06b39289
MM
5354 (div_extend): Likewise.
5355 (div<div_extend>_<mode>"): Likewise.
5356 (FP128_64): Add support for new builtin functions to pack/unpack
5357 128-bit types.
5358 (unpack<mode>): Likewise.
5359 (unpacktf_0): Likewise.
5360 (unpacktf_1): Likewise.
5361 (unpack<mode>_dm): Likewise.
5362 (unpack<mode>_nodm): Likewise.
5363 (pack<mode>): Likewise.
5364 (unpackv1ti): Likewise.
5365 (packv1ti): Likewise.
5366
6e4f81db
V
53672014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
5368
5369 * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
5370 is disabled.
5371
f7468577
JJ
53722014-04-24 Jakub Jelinek <jakub@redhat.com>
5373
5374 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
5375 * gimplify.c (omp_is_private): Change last argument's type to int.
5376 Only diagnose lastprivate if the simd argument is 1, only diagnose
5377 linear if the simd argument is 2.
5378 (gimplify_omp_for): Adjust omp_is_private callers. When adding
5379 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
5380 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
5381 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
5382 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
5383 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
5384 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
5385 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
5386 * tree-nested.c (convert_nonlocal_omp_clauses,
5387 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
5388
2f7ac5ce
JL
53892014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
5390
5391 PR target/60822
5392 * config/m68k/m68k.md (extendplussidi): Don't allow memory for
5393 operand 1.
5394
dcaaa5a0
DP
53952014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
5396
5397 * flag-types.h (enum ivar_visibility): Add.
5398
78c7d18e
TS
53992014-04-24 Trevor Saunders <tsaunders@mozilla.com>
5400
5401 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
5402 function * argument.
5403
fbbde65e
AL
54042014-04-24 Alan Lawrence <alan.lawrence@arm.com>
5405
5406 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
5407
4f660b15 54082014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 5409 Tom de Vries <tom@codesourcery.com>
4f660b15
RO
5410
5411 * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
5412 * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
5413 reg-note.
5414 * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
5415 * emit-rtl.c (try_split): Same.
5416
d996e61a 54172014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 5418 Tom de Vries <tom@codesourcery.com>
d996e61a
RO
5419
5420 * common.opt (fuse-caller-save): New option.
5421
bbcc9c00
TB
54222014-04-24 Tejas Belagod <tejas.belagod@arm.com>
5423
b6db8af6
UB
5424 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
5425 elements for big-endian.
bbcc9c00 5426
d2d11532
RB
54272014-04-24 Richard Biener <rguenther@suse.de>
5428
5429 * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
5430 during TER and instead use the sepops interface for expanding
5431 non-GIMPLE_SINGLE_RHS.
5432
8117ef98
RO
54332014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5434
5435 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
5436 if not HAVE_AS_IX86_DIFF_SECT_DELTA.
5437
ab0afae3
RO
54382014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5439
5440 * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
5441 assembler 64-bit option.
5442 * configure: Regenerate.
5443
683e3333
KT
54442014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5445
5446 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
5447 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
5448 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
5449 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
5450 (TARGET_CRYPTO): Take TARGET_SIMD into account.
5451
c7f28cd5
KT
54522014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5453
5454 * config/aarch64/aarch64-builtins.c
5455 (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
5456 BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
5457 * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
5458 * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
5459 builtins.
5460 * config/aarch64/iterator.md (VDQHSD): New mode iterator.
5461 (Vrevsuff): New mode attribute.
5462
b0419491
TG
54632014-04-24 Terry Guo <terry.guo@arm.com>
5464
5465 * config/arm/arm.h (machine_function): Define variable
5466 after_arm_reorg here.
5467 * config/arm/arm.c (after_arm_reorg): Remove the definition.
5468 (arm_split_constant): Update the way to access variable
5469 after_arm_reorg.
5470 (arm_reorg): Ditto.
5471 (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
5472
74e4d71a
TV
54732014-04-23 Tom de Vries <tom@codesourcery.com>
5474
5475 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
5476
7de90a6c
DM
54772014-04-23 David Malcolm <dmalcolm@redhat.com>
5478
5479 * is-a.h: Update comments to reflect the following changes to the
5480 "pointerness" of the API, making the template parameter match the
5481 return type, allowing use of is-a.h with typedefs of pointers.
5482 (is_a_helper::cast): Return a T rather then a pointer to a T, so
5483 that the return type matches the parameter to the is_a_helper.
5484 (as_a): Likewise.
5485 (dyn_cast): Likewise.
5486
5487 * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
5488 pointer from the is-a.h API.
5489
5490 * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
5491 (is_a_helper <cgraph_node *>::test): ...this, matching change to
5492 is-a.h API.
5493 (is_a_helper <varpool_node>::test): Likewise, convert to...
5494 (is_a_helper <varpool_node *>::test): ...this.
5495
5496 (varpool_first_variable): Update for removal of implicit pointer
5497 from the is-a.h API.
5498 (varpool_next_variable): Likewise.
5499 (varpool_first_static_initializer): Likewise.
5500 (varpool_next_static_initializer): Likewise.
5501 (varpool_first_defined_variable): Likewise.
5502 (varpool_next_defined_variable): Likewise.
5503 (cgraph_first_defined_function): Likewise.
5504 (cgraph_next_defined_function): Likewise.
5505 (cgraph_first_function): Likewise.
5506 (cgraph_next_function): Likewise.
5507 (cgraph_first_function_with_gimple_body): Likewise.
5508 (cgraph_next_function_with_gimple_body): Likewise.
5509 (cgraph_alias_target): Likewise.
5510 (varpool_alias_target): Likewise.
5511 (cgraph_function_or_thunk_node): Likewise.
5512 (varpool_variable_node): Likewise.
5513 (symtab_real_symbol_p): Likewise.
5514 * cgraphunit.c (referred_to_p): Likewise.
5515 (analyze_functions): Likewise.
5516 (handle_alias_pairs): Likewise.
5517 * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
5518 * gimple-ssa.h (gimple_vuse_op): Likewise.
5519 (gimple_vdef_op): Likewise.
5520 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
5521 * gimple.c (gimple_build_asm_1): Likewise.
5522 (gimple_build_try): Likewise.
5523 (gimple_build_resx): Likewise.
5524 (gimple_build_eh_dispatch): Likewise.
5525 (gimple_build_omp_for): Likewise.
5526 (gimple_omp_for_set_clauses): Likewise.
5527
5528 * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
5529 (is_a_helper <gimple_statement_asm *>::test): ...this.
5530 (is_a_helper <gimple_statement_bind>::test): Convert to...
5531 (is_a_helper <gimple_statement_bind *>::test): ...this.
5532 (is_a_helper <gimple_statement_call>::test): Convert to...
5533 (is_a_helper <gimple_statement_call *>::test): ...this.
5534 (is_a_helper <gimple_statement_catch>::test): Convert to...
5535 (is_a_helper <gimple_statement_catch *>::test): ...this.
5536 (is_a_helper <gimple_statement_resx>::test): Convert to...
5537 (is_a_helper <gimple_statement_resx *>::test): ...this.
5538 (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
5539 (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
5540 (is_a_helper <gimple_statement_eh_else>::test): Convert to...
5541 (is_a_helper <gimple_statement_eh_else *>::test): ...this.
5542 (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
5543 (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
5544 (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
5545 (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
5546 (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
5547 (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
5548 (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
5549 (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
5550 (is_a_helper <gimple_statement_omp_return>::test): Convert to...
5551 (is_a_helper <gimple_statement_omp_return *>::test): ...this.
5552 (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
5553 (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
5554 (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
5555 (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
5556 (is_a_helper <gimple_statement_omp_for>::test): Convert to...
5557 (is_a_helper <gimple_statement_omp_for *>::test): ...this.
5558 (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
5559 (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
5560 (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
5561 (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
5562 (is_a_helper <gimple_statement_omp_target>::test): Convert to...
5563 (is_a_helper <gimple_statement_omp_target *>::test): ...this.
5564 (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
5565 (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
5566 (is_a_helper <gimple_statement_omp_single>::test): Convert to...
5567 (is_a_helper <gimple_statement_omp_single *>::test): ...this.
5568 (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
5569 (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
5570 (is_a_helper <gimple_statement_omp_task>::test): Convert to...
5571 (is_a_helper <gimple_statement_omp_task *>::test): ...this.
5572 (is_a_helper <gimple_statement_phi>::test): Convert to...
5573 (is_a_helper <gimple_statement_phi *>::test): ...this.
5574 (is_a_helper <gimple_statement_transaction>::test): Convert to...
5575 (is_a_helper <gimple_statement_transaction *>::test): ...this.
5576 (is_a_helper <gimple_statement_try>::test): Convert to...
5577 (is_a_helper <gimple_statement_try *>::test): ...this.
5578 (is_a_helper <gimple_statement_wce>::test): Convert to...
5579 (is_a_helper <gimple_statement_wce *>::test): ...this.
5580 (is_a_helper <const gimple_statement_asm>::test): Convert to...
5581 (is_a_helper <const gimple_statement_asm *>::test): ...this.
5582 (is_a_helper <const gimple_statement_bind>::test): Convert to...
5583 (is_a_helper <const gimple_statement_bind *>::test): ...this.
5584 (is_a_helper <const gimple_statement_call>::test): Convert to...
5585 (is_a_helper <const gimple_statement_call *>::test): ...this.
5586 (is_a_helper <const gimple_statement_catch>::test): Convert to...
5587 (is_a_helper <const gimple_statement_catch *>::test): ...this.
5588 (is_a_helper <const gimple_statement_resx>::test): Convert to...
5589 (is_a_helper <const gimple_statement_resx *>::test): ...this.
b6db8af6
UB
5590 (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
5591 (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
5592 (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
7de90a6c
DM
5593 (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
5594 (is_a_helper <const gimple_statement_omp_atomic_load>::test):
5595 Convert to...
5596 (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
5597 ...this.
5598 (is_a_helper <const gimple_statement_omp_atomic_store>::test):
5599 Convert to...
5600 (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
5601 ...this.
b6db8af6 5602 (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
7de90a6c
DM
5603 (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
5604 (is_a_helper <const gimple_statement_omp_continue>::test): Convert
5605 to...
5606 (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
5607 (is_a_helper <const gimple_statement_omp_critical>::test): Convert
5608 to...
5609 (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
5610 (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
5611 (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
b6db8af6 5612 (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
7de90a6c
DM
5613 (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
5614 (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
5615 to...
5616 (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
b6db8af6 5617 (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
7de90a6c
DM
5618 (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
5619 (is_a_helper <const gimple_statement_omp_sections>::test): Convert
5620 to...
5621 (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
b6db8af6 5622 (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
7de90a6c 5623 (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
b6db8af6 5624 (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
7de90a6c 5625 (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
b6db8af6 5626 (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
7de90a6c
DM
5627 (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
5628 (is_a_helper <const gimple_statement_phi>::test): Convert to...
5629 (is_a_helper <const gimple_statement_phi *>::test): ...this.
b6db8af6 5630 (is_a_helper <const gimple_statement_transaction>::test): Convert to...
7de90a6c 5631 (is_a_helper <const gimple_statement_transaction *>::test): ...this.
b6db8af6 5632 (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
7de90a6c
DM
5633 (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
5634 (is_a_helper <gimple_statement_with_ops>::test): Convert to...
5635 (is_a_helper <gimple_statement_with_ops *>::test): ...this.
b6db8af6
UB
5636 (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
5637 to...
7de90a6c
DM
5638 (is_a_helper <const gimple_statement_with_memory_ops *>::test):
5639 ...this.
b6db8af6 5640 (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
7de90a6c
DM
5641 (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
5642
5643 (gimple_use_ops): Update for removal of implicit pointer from the
5644 is-a.h API.
5645 (gimple_set_use_ops): Likewise.
5646 (gimple_vuse): Likewise.
5647 (gimple_vdef): Likewise.
5648 (gimple_vuse_ptr): Likewise.
5649 (gimple_vdef_ptr): Likewise.
5650 (gimple_set_vuse): Likewise.
5651 (gimple_set_vdef): Likewise.
5652 (gimple_omp_return_set_lhs): Likewise.
5653 (gimple_omp_return_lhs): Likewise.
5654 (gimple_omp_return_lhs_ptr): Likewise.
5655 (gimple_call_fntype): Likewise.
5656 (gimple_call_set_fntype): Likewise.
5657 (gimple_call_set_internal_fn): Likewise.
5658 (gimple_call_use_set): Likewise.
5659 (gimple_call_clobber_set): Likewise.
5660 (gimple_bind_vars): Likewise.
5661 (gimple_bind_set_vars): Likewise.
5662 (gimple_bind_body_ptr): Likewise.
5663 (gimple_bind_set_body): Likewise.
5664 (gimple_bind_add_stmt): Likewise.
5665 (gimple_bind_block): Likewise.
5666 (gimple_bind_set_block): Likewise.
5667 (gimple_asm_ninputs): Likewise.
5668 (gimple_asm_noutputs): Likewise.
5669 (gimple_asm_nclobbers): Likewise.
5670 (gimple_asm_nlabels): Likewise.
5671 (gimple_asm_input_op): Likewise.
5672 (gimple_asm_input_op_ptr): Likewise.
5673 (gimple_asm_output_op): Likewise.
5674 (gimple_asm_output_op_ptr): Likewise.
5675 (gimple_asm_set_output_op): Likewise.
5676 (gimple_asm_clobber_op): Likewise.
5677 (gimple_asm_set_clobber_op): Likewise.
5678 (gimple_asm_label_op): Likewise.
5679 (gimple_asm_set_label_op): Likewise.
5680 (gimple_asm_string): Likewise.
5681 (gimple_catch_types): Likewise.
5682 (gimple_catch_types_ptr): Likewise.
5683 (gimple_catch_handler_ptr): Likewise.
5684 (gimple_catch_set_types): Likewise.
5685 (gimple_catch_set_handler): Likewise.
5686 (gimple_eh_filter_types): Likewise.
5687 (gimple_eh_filter_types_ptr): Likewise.
5688 (gimple_eh_filter_failure_ptr): Likewise.
5689 (gimple_eh_filter_set_types): Likewise.
5690 (gimple_eh_filter_set_failure): Likewise.
5691 (gimple_eh_must_not_throw_fndecl): Likewise.
5692 (gimple_eh_must_not_throw_set_fndecl): Likewise.
5693 (gimple_eh_else_n_body_ptr): Likewise.
5694 (gimple_eh_else_e_body_ptr): Likewise.
5695 (gimple_eh_else_set_n_body): Likewise.
5696 (gimple_eh_else_set_e_body): Likewise.
5697 (gimple_try_eval_ptr): Likewise.
5698 (gimple_try_cleanup_ptr): Likewise.
5699 (gimple_try_set_eval): Likewise.
5700 (gimple_try_set_cleanup): Likewise.
5701 (gimple_wce_cleanup_ptr): Likewise.
5702 (gimple_wce_set_cleanup): Likewise.
5703 (gimple_phi_capacity): Likewise.
5704 (gimple_phi_num_args): Likewise.
5705 (gimple_phi_result): Likewise.
5706 (gimple_phi_result_ptr): Likewise.
5707 (gimple_phi_set_result): Likewise.
5708 (gimple_phi_arg): Likewise.
5709 (gimple_phi_set_arg): Likewise.
5710 (gimple_resx_region): Likewise.
5711 (gimple_resx_set_region): Likewise.
5712 (gimple_eh_dispatch_region): Likewise.
5713 (gimple_eh_dispatch_set_region): Likewise.
5714 (gimple_omp_critical_name): Likewise.
5715 (gimple_omp_critical_name_ptr): Likewise.
5716 (gimple_omp_critical_set_name): Likewise.
5717 (gimple_omp_for_clauses): Likewise.
5718 (gimple_omp_for_clauses_ptr): Likewise.
5719 (gimple_omp_for_set_clauses): Likewise.
5720 (gimple_omp_for_collapse): Likewise.
5721 (gimple_omp_for_index): Likewise.
5722 (gimple_omp_for_index_ptr): Likewise.
5723 (gimple_omp_for_set_index): Likewise.
5724 (gimple_omp_for_initial): Likewise.
5725 (gimple_omp_for_initial_ptr): Likewise.
5726 (gimple_omp_for_set_initial): Likewise.
5727 (gimple_omp_for_final): Likewise.
5728 (gimple_omp_for_final_ptr): Likewise.
5729 (gimple_omp_for_set_final): Likewise.
5730 (gimple_omp_for_incr): Likewise.
5731 (gimple_omp_for_incr_ptr): Likewise.
5732 (gimple_omp_for_set_incr): Likewise.
5733 (gimple_omp_for_pre_body_ptr): Likewise.
5734 (gimple_omp_for_set_pre_body): Likewise.
5735 (gimple_omp_parallel_clauses): Likewise.
5736 (gimple_omp_parallel_clauses_ptr): Likewise.
5737 (gimple_omp_parallel_set_clauses): Likewise.
5738 (gimple_omp_parallel_child_fn): Likewise.
5739 (gimple_omp_parallel_child_fn_ptr): Likewise.
5740 (gimple_omp_parallel_set_child_fn): Likewise.
5741 (gimple_omp_parallel_data_arg): Likewise.
5742 (gimple_omp_parallel_data_arg_ptr): Likewise.
5743 (gimple_omp_parallel_set_data_arg): Likewise.
5744 (gimple_omp_task_clauses): Likewise.
5745 (gimple_omp_task_clauses_ptr): Likewise.
5746 (gimple_omp_task_set_clauses): Likewise.
5747 (gimple_omp_task_child_fn): Likewise.
5748 (gimple_omp_task_child_fn_ptr): Likewise.
5749 (gimple_omp_task_set_child_fn): Likewise.
5750 (gimple_omp_task_data_arg): Likewise.
5751 (gimple_omp_task_data_arg_ptr): Likewise.
5752 (gimple_omp_task_set_data_arg): Likewise.
5753 (gimple_omp_taskreg_clauses): Likewise.
5754 (gimple_omp_taskreg_clauses_ptr): Likewise.
5755 (gimple_omp_taskreg_set_clauses): Likewise.
5756 (gimple_omp_taskreg_child_fn): Likewise.
5757 (gimple_omp_taskreg_child_fn_ptr): Likewise.
5758 (gimple_omp_taskreg_set_child_fn): Likewise.
5759 (gimple_omp_taskreg_data_arg): Likewise.
5760 (gimple_omp_taskreg_data_arg_ptr): Likewise.
5761 (gimple_omp_taskreg_set_data_arg): Likewise.
5762 (gimple_omp_task_copy_fn): Likewise.
5763 (gimple_omp_task_copy_fn_ptr): Likewise.
5764 (gimple_omp_task_set_copy_fn): Likewise.
5765 (gimple_omp_task_arg_size): Likewise.
5766 (gimple_omp_task_arg_size_ptr): Likewise.
5767 (gimple_omp_task_set_arg_size): Likewise.
5768 (gimple_omp_task_arg_align): Likewise.
5769 (gimple_omp_task_arg_align_ptr): Likewise.
5770 (gimple_omp_task_set_arg_align): Likewise.
5771 (gimple_omp_single_clauses): Likewise.
5772 (gimple_omp_single_clauses_ptr): Likewise.
5773 (gimple_omp_single_set_clauses): Likewise.
5774 (gimple_omp_target_clauses): Likewise.
5775 (gimple_omp_target_clauses_ptr): Likewise.
5776 (gimple_omp_target_set_clauses): Likewise.
5777 (gimple_omp_target_child_fn): Likewise.
5778 (gimple_omp_target_child_fn_ptr): Likewise.
5779 (gimple_omp_target_set_child_fn): Likewise.
5780 (gimple_omp_target_data_arg): Likewise.
5781 (gimple_omp_target_data_arg_ptr): Likewise.
5782 (gimple_omp_target_set_data_arg): Likewise.
5783 (gimple_omp_teams_clauses): Likewise.
5784 (gimple_omp_teams_clauses_ptr): Likewise.
5785 (gimple_omp_teams_set_clauses): Likewise.
5786 (gimple_omp_sections_clauses): Likewise.
5787 (gimple_omp_sections_clauses_ptr): Likewise.
5788 (gimple_omp_sections_set_clauses): Likewise.
5789 (gimple_omp_sections_control): Likewise.
5790 (gimple_omp_sections_control_ptr): Likewise.
5791 (gimple_omp_sections_set_control): Likewise.
5792 (gimple_omp_for_set_cond): Likewise.
5793 (gimple_omp_for_cond): Likewise.
5794 (gimple_omp_atomic_store_set_val): Likewise.
5795 (gimple_omp_atomic_store_val): Likewise.
5796 (gimple_omp_atomic_store_val_ptr): Likewise.
5797 (gimple_omp_atomic_load_set_lhs): Likewise.
5798 (gimple_omp_atomic_load_lhs): Likewise.
5799 (gimple_omp_atomic_load_lhs_ptr): Likewise.
5800 (gimple_omp_atomic_load_set_rhs): Likewise.
5801 (gimple_omp_atomic_load_rhs): Likewise.
5802 (gimple_omp_atomic_load_rhs_ptr): Likewise.
5803 (gimple_omp_continue_control_def): Likewise.
5804 (gimple_omp_continue_control_def_ptr): Likewise.
5805 (gimple_omp_continue_set_control_def): Likewise.
5806 (gimple_omp_continue_control_use): Likewise.
5807 (gimple_omp_continue_control_use_ptr): Likewise.
5808 (gimple_omp_continue_set_control_use): Likewise.
5809 (gimple_transaction_body_ptr): Likewise.
5810 (gimple_transaction_label): Likewise.
5811 (gimple_transaction_label_ptr): Likewise.
5812 (gimple_transaction_set_body): Likewise.
5813 (gimple_transaction_set_label): Likewise.
5814
5815 * ipa-devirt.c (build_type_inheritance_graph): Likewise.
5816 * ipa-inline-analysis.c (inline_write_summary): Likewise.
5817 * ipa-ref.c (ipa_record_reference): Likewise.
5818 * ipa-reference.c (analyze_function): Likewise.
5819 (ipa_reference_write_optimization_summary): Likewise.
5820 * ipa.c (symtab_remove_unreachable_nodes): Likewise.
5821 (address_taken_from_non_vtable_p): Likewise.
5822 (comdat_can_be_unshared_p_1): Likewise.
5823 * lto-cgraph.c (lto_output_ref): Likewise.
5824 (add_references): Likewise.
5825 (compute_ltrans_boundary): Likewise.
5826 (output_symtab): Likewise.
5827 (input_ref): Likewise.
5828 (input_cgraph_1): Likewise.
5829 (output_cgraph_opt_summary): Likewise.
5830 * lto-streamer-out.c (lto_output): Likewise.
5831 (output_symbol_p): Likewise.
5832 * lto-streamer.h (lsei_next_function_in_partition): Likewise.
5833 (lsei_start_function_in_partition): Likewise.
5834 (lsei_next_variable_in_partition): Likewise.
5835 (lsei_start_variable_in_partition): Likewise.
5836 * symtab.c (insert_to_assembler_name_hash): Likewise.
5837 (unlink_from_assembler_name_hash): Likewise.
5838 (symtab_unregister_node): Likewise.
5839 (symtab_remove_node): Likewise.
5840 (dump_symtab_node): Likewise.
5841 (verify_symtab_base): Likewise.
5842 (verify_symtab_node): Likewise.
5843 (symtab_make_decl_local): Likewise.
5844 (symtab_alias_ultimate_target): Likewise.
5845 (symtab_resolve_alias): Likewise.
5846 (symtab_get_symbol_partitioning_class): Likewise.
5847 * tree-phinodes.c (allocate_phi_node): Likewise.
5848 (reserve_phi_args_for_new_edge): Likewise.
5849 (remove_phi_args): Likewise.
5850 * varpool.c (varpool_node_for_asm): Likewise.
5851 (varpool_remove_unreferenced_decls): Likewise.
5852
9219922e
JL
58532014-04-23 Jeff Law <law@redhat.com>
5854
5855 PR tree-optimization/60902
5856 * tree-ssa-threadedge.c
5857 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
5858 invalidate outputs from statements that do not produce useful
5859 outputs for threading.
5860
b6db8af6 58612014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
36e17020
VK
5862
5863 * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
5864 (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
5865 machine descriptions for Stack Smashing Protector.
5866
57b77d46
RE
58672014-04-23 Richard Earnshaw <rearnsha@arm.com>
5868
5869 * aarch64.md (<optab>_rol<mode>3): New pattern.
5870 (<optab>_rolsi3_uxtw): Likewise.
5871 * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
5872
984c2f30
JG
58732014-04-23 James Greenhalgh <james.greenhalgh@arm.com>
5874
5875 * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
5876 (arm_cortex_a12_tune): Likewise.
5877
18b42b2a
KT
58782014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5879
5880 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
5881
ea1e9168
KT
58822014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5883
5884 * config/arm/arm.md (arm_rev16si2): New pattern.
5885 (arm_rev16si2_alt): Likewise.
5886 * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
5887
f7d5cf8d
KT
58882014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5889
b6db8af6
UB
5890 * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
5891 (rev16<mode>2_alt): Likewise.
5892 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
5893 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
5894 (aarch_rev16_shleft_mask_imm_p): Likewise.
5895 (aarch_rev16_p_1): Likewise.
5896 (aarch_rev16_p): Likewise.
5897 * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
5898 (aarch_rev16_shright_mask_imm_p): Likewise.
5899 (aarch_rev16_shleft_mask_imm_p): Likewise.
f7d5cf8d 5900
9ac05ae5
KT
59012014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5902
b6db8af6
UB
5903 * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
5904 * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
5905 rev cost.
5906 (cortex_a53_extra_costs): Likewise.
5907 (cortex_a57_extra_costs): Likewise.
5908 * config/arm/arm.c (cortexa9_extra_costs): Likewise.
5909 (cortexa7_extra_costs): Likewise.
5910 (cortexa8_extra_costs): Likewise.
5911 (cortexa12_extra_costs): Likewise.
5912 (cortexa15_extra_costs): Likewise.
5913 (v7m_extra_costs): Likewise.
5914 (arm_new_rtx_costs): Handle BSWAP.
9ac05ae5 5915
e0d8c86c
KT
59162013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5917
b6db8af6
UB
5918 * config/arm/arm.c (cortexa8_extra_costs): New table.
5919 (arm_cortex_a8_tune): New tuning struct.
5920 * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
e0d8c86c 5921
ba9b1a63
KT
59222014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5923
b6db8af6 5924 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
ba9b1a63 5925
da4cfeac
RB
59262014-04-23 Richard Biener <rguenther@suse.de>
5927
5928 * Makefile.in (OBJS): Remove loop-unswitch.o.
da4cfeac
RB
5929 * tree-pass.h (make_pass_rtl_unswitch): Remove.
5930 * passes.def (pass_rtl_unswitch): Likewise.
5931 * loop-init.c (gate_rtl_unswitch): Likewise.
5932 (rtl_unswitch): Likewise.
5933 (pass_data_rtl_unswitch): Likewise.
5934 (pass_rtl_unswitch): Likewise.
5935 (make_pass_rtl_unswitch): Likewise.
5936 * rtl.h (reversed_condition): Likewise.
5937 (compare_and_jump_seq): Likewise.
5938 * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
5939 and make static.
5940 * loop-unroll.c (compare_and_jump_seq): Likewise.
5941
22718afe
RB
59422014-04-23 Richard Biener <rguenther@suse.de>
5943
5944 PR tree-optimization/60903
5945 * tree-ssa-loop-im.c (analyze_memory_references): Remove
5946 commented code block.
5947 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
5948 loop flags to newly created BBs and edges.
5949
f7961364
NC
59502014-04-23 Nick Clifton <nickc@redhat.com>
5951
5952 * config/msp430/msp430.c (msp430_handle_option): Move function
5953 to msp430-common.c
5954 (msp430_option_override): Simplify mcu and mcpu option handling.
5955 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
5956 support for -mhwmult command line option.
5957 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
5958 -mhwmult command line option.
5959 (msp430_hwmult_enabled): Delete.
b6db8af6 5960 (msp43o_output_labelref): Add support for -mhwmult command line option.
f7961364
NC
5961 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
5962 (umulsidi3): Likewise.
5963 * config/msp430/msp430.opt (mmcu): Add Report attribute.
5964 (mcpu, mlarge, msmall): Likewise.
5965 (mhwmult): New option.
5966 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
5967 prototype.
5968 (msp430_is_f5_mcu): Remove prototype.
5969 (msp430_use_f5_series_hwmult): Add prototype.
5970 * config/msp430/msp430-opts.h: New file.
5971 * common/config/msp430: New directory.
5972 * common/config/msp430/msp430-common.c: New file.
5973 * config.gcc (msp430): Remove target_has_targetm_common.
5974 * doc/invoke.texi: Document -mhwmult command line option.
5975
f70df035
NC
59762014-04-23 Nick Clifton <nickc@redhat.com>
5977
5978 * config/i386/cygwin.h (ENDFILE_SPEC): Include
5979 default-manifest.o if it can be found in the search path.
5980 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
5981
6a9accca
TG
59822014-04-23 Terry Guo <terry.guo@arm.com>
5983
5984 * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
5985
62ba699e
RB
59862014-04-23 Richard Biener <rguenther@suse.de>
5987
5988 PR middle-end/60895
5989 * tree-inline.c (declare_return_variable): Use mark_addressable.
5990
92562f88
RB
59912014-04-23 Richard Biener <rguenther@suse.de>
5992
5993 PR middle-end/60891
5994 * loop-init.c (loop_optimizer_init): Make sure to apply
5995 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
5996
1c33c9b7
JJ
59972014-04-22 Jakub Jelinek <jakub@redhat.com>
5998
5999 PR sanitizer/60275
6000 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
6001 New options.
6002 * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
6003 if flag_sanitize_undefined_trap_on_error.
6004 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
6005 BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
6006 BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
6007 BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
6008 BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
6009 BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
6010 BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
6011 BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
6012 BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
6013 * ubsan.c (ubsan_instrument_unreachable): Return
6014 __builtin_trap () if flag_sanitize_undefined_trap_on_error.
6015 (ubsan_expand_null_ifn): Emit __builtin_trap ()
6016 if flag_sanitize_undefined_trap_on_error and
6017 __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
6018 (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
6019 instrument_bool_enum_load): Emit __builtin_trap () if
6020 flag_sanitize_undefined_trap_on_error and
6021 __builtin_handle_*_abort () if !flag_sanitize_recover.
6022 * doc/invoke.texi (-fsanitize-recover,
6023 -fsanitize-undefined-trap-on-error): Document.
6024
5e66b2e5
CB
60252014-04-22 Christian Bruel <christian.bruel@st.com>
6026
6027 * config/sh/sh.md (mov<mode>): Replace movQIHI.
6028 Force immediates to SImode.
6029
aa221564
SL
60302014-04-22 Sandra Loosemore <sandra@codesourcery.com>
6031
6032 * config/nios2/nios2.md (UNSPEC_ROUND): New.
6033 (lroundsfsi2): New.
6034 * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
6035 * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
6036 * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
6037 (nios2_fpu_insn): Add entry for round.
6038 (N2FPU_NO_ERRNO_P): Define.
6039 (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
6040 flag_errno_math.
6041 * doc/invoke.texi (Nios II Options): Document -mcustom-round.
6042
2195867f
RH
60432014-04-22 Richard Henderson <rth@redhat.com>
6044
6045 * config/aarch64/aarch64 (addti3, subti3): New expanders.
6046 (add<GPI>3_compare0): Remove leading * from name.
6047 (add<GPI>3_carryin): Likewise.
6048 (sub<GPI>3_compare0): Likewise.
6049 (sub<GPI>3_carryin): Likewise.
6050 (<su_optab>mulditi3): New expander.
6051 (multi3): New expander.
6052 (madd<GPI>): Remove leading * from name.
6053
c6d43074
MJ
60542014-04-22 Martin Jambor <mjambor@suse.cz>
6055
6056 * cgraphclones.c (cgraph_function_versioning): Copy
6057 ipa_transforms_to_apply instead of asserting it is empty.
6058
e54c2dd3
L
60592014-04-22 H.J. Lu <hongjiu.lu@intel.com>
6060
6061 PR target/60868
f70df035 6062 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
e54c2dd3
L
6063 on count_exp to get mode.
6064
621ad2de
AP
60652014-04-22 Andrew Pinski <apinski@cavium.com>
6066
6067 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
6068 Handle TLS for ILP32.
6069 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
6070 (tlsie_small_<mode>): this and handle PTR.
6071 (tlsie_small_sidi): New pattern.
6072 (tlsle_small): Change to an expand to handle ILP32.
6073 (tlsle_small_<mode>): New pattern.
6074 (tlsdesc_small): Rename to ...
6075 (tlsdesc_small_<mode>): this and handle PTR.
6076
5cb74e90
RR
60772014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6078
6079 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
6080
bcd48995
AV
60812014-04-22 Alex Velenko <Alex.Velenko@arm.com>
6082
6083 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
6084 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
6085 (aarch64_types_signed_poly_qualifiers): Likewise.
6086 (aarch64_types_unsigned_signed_qualifiers): Likewise.
6087 (aarch64_types_poly_signed_qualifiers): Likewise.
6088 (TYPES_REINTERP_SS): Type macro added.
6089 (TYPES_REINTERP_SU): Likewise.
6090 (TYPES_REINTERP_SP): Likewise.
6091 (TYPES_REINTERP_US): Likewise.
6092 (TYPES_REINTERP_PS): Likewise.
6093 (aarch64_fold_builtin): New expression folding added.
6094 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
6095 Declarations removed.
6096 (REINTERP_SS): Declarations added.
6097 (REINTERP_US): Likewise.
6098 (REINTERP_PS): Likewise.
6099 (REINTERP_SU): Likewise.
6100 (REINTERP_SP): Likewise.
6101 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
6102 (vreinterpretq_p8_f64): Likewise.
6103 (vreinterpret_p16_f64): Likewise.
6104 (vreinterpretq_p16_f64): Likewise.
6105 (vreinterpret_f32_f64): Likewise.
6106 (vreinterpretq_f32_f64): Likewise.
6107 (vreinterpret_f64_f32): Likewise.
6108 (vreinterpret_f64_p8): Likewise.
6109 (vreinterpret_f64_p16): Likewise.
6110 (vreinterpret_f64_s8): Likewise.
6111 (vreinterpret_f64_s16): Likewise.
6112 (vreinterpret_f64_s32): Likewise.
6113 (vreinterpret_f64_s64): Likewise.
6114 (vreinterpret_f64_u8): Likewise.
6115 (vreinterpret_f64_u16): Likewise.
6116 (vreinterpret_f64_u32): Likewise.
6117 (vreinterpret_f64_u64): Likewise.
6118 (vreinterpretq_f64_f32): Likewise.
6119 (vreinterpretq_f64_p8): Likewise.
6120 (vreinterpretq_f64_p16): Likewise.
6121 (vreinterpretq_f64_s8): Likewise.
6122 (vreinterpretq_f64_s16): Likewise.
6123 (vreinterpretq_f64_s32): Likewise.
6124 (vreinterpretq_f64_s64): Likewise.
6125 (vreinterpretq_f64_u8): Likewise.
6126 (vreinterpretq_f64_u16): Likewise.
6127 (vreinterpretq_f64_u32): Likewise.
6128 (vreinterpretq_f64_u64): Likewise.
6129 (vreinterpret_s64_f64): Likewise.
6130 (vreinterpretq_s64_f64): Likewise.
6131 (vreinterpret_u64_f64): Likewise.
6132 (vreinterpretq_u64_f64): Likewise.
6133 (vreinterpret_s8_f64): Likewise.
6134 (vreinterpretq_s8_f64): Likewise.
6135 (vreinterpret_s16_f64): Likewise.
6136 (vreinterpretq_s16_f64): Likewise.
6137 (vreinterpret_s32_f64): Likewise.
6138 (vreinterpretq_s32_f64): Likewise.
6139 (vreinterpret_u8_f64): Likewise.
6140 (vreinterpretq_u8_f64): Likewise.
6141 (vreinterpret_u16_f64): Likewise.
6142 (vreinterpretq_u16_f64): Likewise.
6143 (vreinterpret_u32_f64): Likewise.
6144 (vreinterpretq_u32_f64): Likewise.
6145
0bf3afc1
AV
61462014-04-22 Alex Velenko <Alex.Velenko@arm.com>
6147
6148 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
6149 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
6150 (vreinterpret_p8_s8): Likewise.
6151 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
6152 (vreinterpret_p8_s16): Likewise.
6153 (vreinterpret_p8_s32): Likewise.
6154 (vreinterpret_p8_s64): Likewise.
6155 (vreinterpret_p8_f32): Likewise.
6156 (vreinterpret_p8_u8): Likewise.
6157 (vreinterpret_p8_u16): Likewise.
6158 (vreinterpret_p8_u32): Likewise.
6159 (vreinterpret_p8_u64): Likewise.
6160 (vreinterpret_p8_p16): Likewise.
6161 (vreinterpretq_p8_s8): Likewise.
6162 (vreinterpretq_p8_s16): Likewise.
6163 (vreinterpretq_p8_s32): Likewise.
6164 (vreinterpretq_p8_s64): Likewise.
6165 (vreinterpretq_p8_f32): Likewise.
6166 (vreinterpretq_p8_u8): Likewise.
6167 (vreinterpretq_p8_u16): Likewise.
6168 (vreinterpretq_p8_u32): Likewise.
6169 (vreinterpretq_p8_u64): Likewise.
6170 (vreinterpretq_p8_p16): Likewise.
6171 (vreinterpret_p16_s8): Likewise.
6172 (vreinterpret_p16_s16): Likewise.
6173 (vreinterpret_p16_s32): Likewise.
6174 (vreinterpret_p16_s64): Likewise.
6175 (vreinterpret_p16_f32): Likewise.
6176 (vreinterpret_p16_u8): Likewise.
6177 (vreinterpret_p16_u16): Likewise.
6178 (vreinterpret_p16_u32): Likewise.
6179 (vreinterpret_p16_u64): Likewise.
6180 (vreinterpret_p16_p8): Likewise.
6181 (vreinterpretq_p16_s8): Likewise.
6182 (vreinterpretq_p16_s16): Likewise.
6183 (vreinterpretq_p16_s32): Likewise.
6184 (vreinterpretq_p16_s64): Likewise.
6185 (vreinterpretq_p16_f32): Likewise.
6186 (vreinterpretq_p16_u8): Likewise.
6187 (vreinterpretq_p16_u16): Likewise.
6188 (vreinterpretq_p16_u32): Likewise.
6189 (vreinterpretq_p16_u64): Likewise.
6190 (vreinterpretq_p16_p8): Likewise.
6191 (vreinterpret_f32_s8): Likewise.
6192 (vreinterpret_f32_s16): Likewise.
6193 (vreinterpret_f32_s32): Likewise.
6194 (vreinterpret_f32_s64): Likewise.
6195 (vreinterpret_f32_u8): Likewise.
6196 (vreinterpret_f32_u16): Likewise.
6197 (vreinterpret_f32_u32): Likewise.
6198 (vreinterpret_f32_u64): Likewise.
6199 (vreinterpret_f32_p8): Likewise.
6200 (vreinterpret_f32_p16): Likewise.
6201 (vreinterpretq_f32_s8): Likewise.
6202 (vreinterpretq_f32_s16): Likewise.
6203 (vreinterpretq_f32_s32): Likewise.
6204 (vreinterpretq_f32_s64): Likewise.
6205 (vreinterpretq_f32_u8): Likewise.
6206 (vreinterpretq_f32_u16): Likewise.
6207 (vreinterpretq_f32_u32): Likewise.
6208 (vreinterpretq_f32_u64): Likewise.
6209 (vreinterpretq_f32_p8): Likewise.
6210 (vreinterpretq_f32_p16): Likewise.
6211 (vreinterpret_s64_s8): Likewise.
6212 (vreinterpret_s64_s16): Likewise.
6213 (vreinterpret_s64_s32): Likewise.
6214 (vreinterpret_s64_f32): Likewise.
6215 (vreinterpret_s64_u8): Likewise.
6216 (vreinterpret_s64_u16): Likewise.
6217 (vreinterpret_s64_u32): Likewise.
6218 (vreinterpret_s64_u64): Likewise.
6219 (vreinterpret_s64_p8): Likewise.
6220 (vreinterpret_s64_p16): Likewise.
6221 (vreinterpretq_s64_s8): Likewise.
6222 (vreinterpretq_s64_s16): Likewise.
6223 (vreinterpretq_s64_s32): Likewise.
6224 (vreinterpretq_s64_f32): Likewise.
6225 (vreinterpretq_s64_u8): Likewise.
6226 (vreinterpretq_s64_u16): Likewise.
6227 (vreinterpretq_s64_u32): Likewise.
6228 (vreinterpretq_s64_u64): Likewise.
6229 (vreinterpretq_s64_p8): Likewise.
6230 (vreinterpretq_s64_p16): Likewise.
6231 (vreinterpret_u64_s8): Likewise.
6232 (vreinterpret_u64_s16): Likewise.
6233 (vreinterpret_u64_s32): Likewise.
6234 (vreinterpret_u64_s64): Likewise.
6235 (vreinterpret_u64_f32): Likewise.
6236 (vreinterpret_u64_u8): Likewise.
6237 (vreinterpret_u64_u16): Likewise.
6238 (vreinterpret_u64_u32): Likewise.
6239 (vreinterpret_u64_p8): Likewise.
6240 (vreinterpret_u64_p16): Likewise.
6241 (vreinterpretq_u64_s8): Likewise.
6242 (vreinterpretq_u64_s16): Likewise.
6243 (vreinterpretq_u64_s32): Likewise.
6244 (vreinterpretq_u64_s64): Likewise.
6245 (vreinterpretq_u64_f32): Likewise.
6246 (vreinterpretq_u64_u8): Likewise.
6247 (vreinterpretq_u64_u16): Likewise.
6248 (vreinterpretq_u64_u32): Likewise.
6249 (vreinterpretq_u64_p8): Likewise.
6250 (vreinterpretq_u64_p16): Likewise.
6251 (vreinterpret_s8_s16): Likewise.
6252 (vreinterpret_s8_s32): Likewise.
6253 (vreinterpret_s8_s64): Likewise.
6254 (vreinterpret_s8_f32): Likewise.
6255 (vreinterpret_s8_u8): Likewise.
6256 (vreinterpret_s8_u16): Likewise.
6257 (vreinterpret_s8_u32): Likewise.
6258 (vreinterpret_s8_u64): Likewise.
6259 (vreinterpret_s8_p8): Likewise.
6260 (vreinterpret_s8_p16): Likewise.
6261 (vreinterpretq_s8_s16): Likewise.
6262 (vreinterpretq_s8_s32): Likewise.
6263 (vreinterpretq_s8_s64): Likewise.
6264 (vreinterpretq_s8_f32): Likewise.
6265 (vreinterpretq_s8_u8): Likewise.
6266 (vreinterpretq_s8_u16): Likewise.
6267 (vreinterpretq_s8_u32): Likewise.
6268 (vreinterpretq_s8_u64): Likewise.
6269 (vreinterpretq_s8_p8): Likewise.
6270 (vreinterpretq_s8_p16): Likewise.
6271 (vreinterpret_s16_s8): Likewise.
6272 (vreinterpret_s16_s32): Likewise.
6273 (vreinterpret_s16_s64): Likewise.
6274 (vreinterpret_s16_f32): Likewise.
6275 (vreinterpret_s16_u8): Likewise.
6276 (vreinterpret_s16_u16): Likewise.
6277 (vreinterpret_s16_u32): Likewise.
6278 (vreinterpret_s16_u64): Likewise.
6279 (vreinterpret_s16_p8): Likewise.
6280 (vreinterpret_s16_p16): Likewise.
6281 (vreinterpretq_s16_s8): Likewise.
6282 (vreinterpretq_s16_s32): Likewise.
6283 (vreinterpretq_s16_s64): Likewise.
6284 (vreinterpretq_s16_f32): Likewise.
6285 (vreinterpretq_s16_u8): Likewise.
6286 (vreinterpretq_s16_u16): Likewise.
6287 (vreinterpretq_s16_u32): Likewise.
6288 (vreinterpretq_s16_u64): Likewise.
6289 (vreinterpretq_s16_p8): Likewise.
6290 (vreinterpretq_s16_p16): Likewise.
6291 (vreinterpret_s32_s8): Likewise.
6292 (vreinterpret_s32_s16): Likewise.
6293 (vreinterpret_s32_s64): Likewise.
6294 (vreinterpret_s32_f32): Likewise.
6295 (vreinterpret_s32_u8): Likewise.
6296 (vreinterpret_s32_u16): Likewise.
6297 (vreinterpret_s32_u32): Likewise.
6298 (vreinterpret_s32_u64): Likewise.
6299 (vreinterpret_s32_p8): Likewise.
6300 (vreinterpret_s32_p16): Likewise.
6301 (vreinterpretq_s32_s8): Likewise.
6302 (vreinterpretq_s32_s16): Likewise.
6303 (vreinterpretq_s32_s64): Likewise.
6304 (vreinterpretq_s32_f32): Likewise.
6305 (vreinterpretq_s32_u8): Likewise.
6306 (vreinterpretq_s32_u16): Likewise.
6307 (vreinterpretq_s32_u32): Likewise.
6308 (vreinterpretq_s32_u64): Likewise.
6309 (vreinterpretq_s32_p8): Likewise.
6310 (vreinterpretq_s32_p16): Likewise.
6311 (vreinterpret_u8_s8): Likewise.
6312 (vreinterpret_u8_s16): Likewise.
6313 (vreinterpret_u8_s32): Likewise.
6314 (vreinterpret_u8_s64): Likewise.
6315 (vreinterpret_u8_f32): Likewise.
6316 (vreinterpret_u8_u16): Likewise.
6317 (vreinterpret_u8_u32): Likewise.
6318 (vreinterpret_u8_u64): Likewise.
6319 (vreinterpret_u8_p8): Likewise.
6320 (vreinterpret_u8_p16): Likewise.
6321 (vreinterpretq_u8_s8): Likewise.
6322 (vreinterpretq_u8_s16): Likewise.
6323 (vreinterpretq_u8_s32): Likewise.
6324 (vreinterpretq_u8_s64): Likewise.
6325 (vreinterpretq_u8_f32): Likewise.
6326 (vreinterpretq_u8_u16): Likewise.
6327 (vreinterpretq_u8_u32): Likewise.
6328 (vreinterpretq_u8_u64): Likewise.
6329 (vreinterpretq_u8_p8): Likewise.
6330 (vreinterpretq_u8_p16): Likewise.
6331 (vreinterpret_u16_s8): Likewise.
6332 (vreinterpret_u16_s16): Likewise.
6333 (vreinterpret_u16_s32): Likewise.
6334 (vreinterpret_u16_s64): Likewise.
6335 (vreinterpret_u16_f32): Likewise.
6336 (vreinterpret_u16_u8): Likewise.
6337 (vreinterpret_u16_u32): Likewise.
6338 (vreinterpret_u16_u64): Likewise.
6339 (vreinterpret_u16_p8): Likewise.
6340 (vreinterpret_u16_p16): Likewise.
6341 (vreinterpretq_u16_s8): Likewise.
6342 (vreinterpretq_u16_s16): Likewise.
6343 (vreinterpretq_u16_s32): Likewise.
6344 (vreinterpretq_u16_s64): Likewise.
6345 (vreinterpretq_u16_f32): Likewise.
6346 (vreinterpretq_u16_u8): Likewise.
6347 (vreinterpretq_u16_u32): Likewise.
6348 (vreinterpretq_u16_u64): Likewise.
6349 (vreinterpretq_u16_p8): Likewise.
6350 (vreinterpretq_u16_p16): Likewise.
6351 (vreinterpret_u32_s8): Likewise.
6352 (vreinterpret_u32_s16): Likewise.
6353 (vreinterpret_u32_s32): Likewise.
6354 (vreinterpret_u32_s64): Likewise.
6355 (vreinterpret_u32_f32): Likewise.
6356 (vreinterpret_u32_u8): Likewise.
6357 (vreinterpret_u32_u16): Likewise.
6358 (vreinterpret_u32_u64): Likewise.
6359 (vreinterpret_u32_p8): Likewise.
6360 (vreinterpret_u32_p16): Likewise.
6361 (vreinterpretq_u32_s8): Likewise.
6362 (vreinterpretq_u32_s16): Likewise.
6363 (vreinterpretq_u32_s32): Likewise.
6364 (vreinterpretq_u32_s64): Likewise.
6365 (vreinterpretq_u32_f32): Likewise.
6366 (vreinterpretq_u32_u8): Likewise.
6367 (vreinterpretq_u32_u16): Likewise.
6368 (vreinterpretq_u32_u64): Likewise.
6369 (vreinterpretq_u32_p8): Likewise.
6370 (vreinterpretq_u32_p16): Likewise.
6371
9551c7ec
AV
63722014-04-22 Alex Velenko <Alex.Velenko@arm.com>
6373
6374 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
6375 Pattern extended.
b6db8af6 6376 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
9551c7ec
AV
6377 (sqabs): Likewise.
6378 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
6379 (vqnegd_s64): Likewise.
6380 (vqabs_s64): Likewise.
6381 (vqabsd_s64): Likewise.
6382
f2a2c4b5
RH
63832014-04-22 Richard Henderson <rth@redhat.com>
6384
6385 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
6386 computation to the top of the loop.
6387
53e5ace2
RL
63882014-04-22 Renlin <renlin.li@arm.com>
6389 Jiong Wang <jiong.wang@arm.com>
6390
6391 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
6392 * config/aarch64/aarch64.c (aarch64_layout_frame)
6393 (aarch64_initial_elimination_offset): Likewise.
6394
78c29983
MS
63952014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
6396
6397 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
6398 Fix indentation.
6399
dbf23a79
RS
64002014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
6401
6402 * machmode.h (bitwise_mode_for_mode): Declare.
6403 * stor-layout.h (bitwise_type_for_mode): Likewise.
6404 * stor-layout.c (bitwise_mode_for_mode): New function.
6405 (bitwise_type_for_mode): Likewise.
6406 * builtins.c (fold_builtin_memory_op): Use it instead of
6407 int_mode_for_mode and build_nonstandard_integer_type.
6408
d9f069ab
RO
64092014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6410
6411 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
6412 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
6413 (*-*-solaris2*): Simplify.
6414 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
6415 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
6416 *-*-solaris2.9* handling.
6417
6418 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
6419 as bug.
6420 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
6421 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
6422 handling, simplify.
6423 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
6424 * configure: Regenerate.
6425
6426 * config/i386/sol2-9.h: Remove.
6427
6428 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
6429 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
6430 Remove Solaris 9 references.
6431
0d35c5c2
VP
64322014-04-22 Vidya Praveen <vidyapraveen@arm.com>
6433
6434 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
6435 (floatuns<GPI:mode><GPF:mode>2): Remove.
6436 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
6437 and floatuns conversions.
6438 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
6439 and floatuns conversions.
6440 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
6441 (w1,w2): New mode attributes for inequal width conversions.
6442
16a3246f
RL
64432014-04-22 Renlin Li <Renlin.Li@arm.com>
6444
6445 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
6446 the output asm format.
6447
110e1ccc
JG
64482014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
6449
6450 * config/aarch64/aarch64-simd.md
6451 (aarch64_cm<optab>di): Always split.
6452 (*aarch64_cm<optab>di): New.
6453 (aarch64_cmtstdi): Always split.
6454 (*aarch64_cmtstdi): New.
6455
2044a4c3
JJ
64562014-04-22 Jakub Jelinek <jakub@redhat.com>
6457
6458 PR tree-optimization/60823
6459 * omp-low.c (ipa_simd_modify_function_body): Go through
6460 all SSA_NAMEs and for those refering to vector arguments
6461 which are going to be replaced adjust SSA_NAME_VAR and,
6462 if it is a default definition, change it into a non-default
6463 definition assigned at the beginning of function from new_decl.
6464 (ipa_simd_modify_stmt_ops): Rewritten.
6465 * tree-dfa.c (set_ssa_default_def): When removing default def,
6466 check for NULL loc instead of NULL *loc.
6467
9d8b4d1c
RR
64682014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6469
6470 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
6471 restrictions on core registers for DImode values in Thumb2.
6472
a01be1ae
IB
64732014-04-22 Ian Bolton <ian.bolton@arm.com>
6474
6475 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
6476 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
6477
80d3417b
IB
64782014-04-22 Ian Bolton <ian.bolton@arm.com>
6479
6480 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
6481 (*iordi_notzesidi_di): Likewise.
6482 (*iordi_notsesidi_di): Likewise.
6483
46fbb3eb
IB
64842014-04-22 Ian Bolton <ian.bolton@arm.com>
6485
6486 * config/arm/arm-protos.h (tune_params): New struct members.
6487 * config/arm/arm.c: Initialise tune_params per processor.
6488 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
6489 for speed, based on new tune_params.
6490
74dc11ed
AV
64912014-04-22 Alex Velenko <Alex.Velenko@arm.com>
6492
b6db8af6
UB
6493 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
6494 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
6495 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
74dc11ed
AV
6496 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
6497 * config/aarch64/arm_neon.h (vrnd_f64): Added.
6498 (vrnda_f64): Likewise.
6499 (vrndi_f64): Likewise.
6500 (vrndm_f64): Likewise.
6501 (vrndn_f64): Likewise.
6502 (vrndp_f64): Likewise.
6503 (vrndx_f64): Likewise.
6504
35923e46
ZC
65052014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6506
6507 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
6508 GET_MODE_SIZE argument is enum machine_mode.
6509
4552e70c
JJ
65102014-04-22 Jakub Jelinek <jakub@redhat.com>
6511
6512 PR target/60910
6513 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
6514 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
6515
e5dcd695
LZ
65162014-04-22 Lin Zuojian <manjian2006@gmail.com>
6517
6518 PR middle-end/60281
6519 * asan.c (asan_emit_stack_protection): Force the base to align to
6520 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
6521 appropriate bits if STRICT_ALIGNMENT.
6522 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
6523 when asan is on.
6524 (expand_used_vars): Leave a space in the stack frame for alignment
6525 if STRICT_ALIGNMENT.
6526
7455080c
DM
65272014-04-21 David Malcolm <dmalcolm@redhat.com>
6528
6529 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
6530 than a gimple.
6531 (gimple_store_p): Likewise.
6532 (gimple_assign_load_p): Likewise.
6533 (gimple_assign_cast_p): Likewise.
6534 (gimple_clobber_p): Likewise.
6535
6536 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
6537 rather than a gimple.
6538 (gimple_assign_cast_p): Likewise.
6539
aeb9579a
MM
65402014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
6541
6542 PR target/60735
6543 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
6544 If mode is DDmode and TARGET_E500_DOUBLE allow move.
6545
6546 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
6547 more debug information for E500 if -mdebug=reg.
6548
b15d92bf
UB
65492014-04-21 Uros Bizjak <ubizjak@gmail.com>
6550
6551 PR target/60909
6552 * config/i386/i386.c (ix86_expand_builtin)
6553 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
6554 register for target RTX.
6555 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
6556
d367387c
CH
65572014-04-18 Cong Hou <congh@google.com>
6558
6559 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
b15d92bf
UB
6560 the widen-mult pattern by handling two operands with different sizes,
6561 and operands whose size is smaller than half of the result type.
d367387c 6562
b6d627e4
JH
65632014-04-18 Jan Hubicka <hubicka@ucw.cz>
6564
6565 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
6566 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
6567 (do_estimate_edge_time): Compute it.
6568 * ipa-inline.c (want_inline_small_function_p): Bypass
b15d92bf 6569 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
b6d627e4 6570
e86a910f
JH
65712014-04-18 Jan Hubicka <hubicka@ucw.cz>
6572
6573 * ipa-inline.c (spec_rem): New static variable.
6574 (dump_overall_stats): New function.
6575 (dump_inline_stats): New function.
6576
8a3a7e67
RH
65772014-04-18 Richard Henderson <rth@redhat.com>
6578
6579 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
6580 to GET_MODE_SIZE, not a reg_class_t.
6581
ed79f4d0
BS
65822014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6583
b15d92bf 6584 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
ed79f4d0
BS
6585 (vsx_xxmrglw_<mode>): Likewise.
6586
fe799eea
MM
65872014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
6588
6589 PR target/60876
6590 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
b15d92bf 6591 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
fe799eea
MM
6592 (rs6000_init_hard_regno_mode_ok): Likewise.
6593
5e750dc6
JH
65942014-04-17 Jan Hubicka <hubicka@ucw.cz>
6595
6596 * ipa-inline.c (inline_small_functions): Account only non-cold
6597 functions.
6598 * doc/invoke.texi (inline-unit-growth): Update documentation.
6599
32337f10
PH
66002014-04-17 Pat Haugen <pthaugen@us.ibm.com>
6601
6602 * config/rs6000/rs6000.md (addti3, subti3): New.
6603
40ed344a
L
66042014-04-17 H.J. Lu <hongjiu.lu@intel.com>
6605
6606 PR target/60863
6607 * config/i386/i386.c (ix86_expand_clear): Remove outdated
6608 comment. Check optimize_insn_for_size_p instead of
6609 optimize_insn_for_speed_p.
6610
104cb50b
MJ
66112014-04-17 Martin Jambor <mjambor@suse.cz>
6612
6613 * gimple-iterator.c (gsi_start_edge): New function.
6614 * gimple-iterator.h (gsi_start_edge): Declare.
6615 * tree-sra.c (single_non_eh_succ): New function.
6616 (disqualify_ops_if_throwing_stmt): Renamed to
6617 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
6618 having one non-EH successor BB.
6619 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
6620 generate loads into replacements.
6621 (sra_modify_assign): Likewise and and also use the simple path for
6622 such statements.
6623 (sra_modify_function_body): Commit statements on edges.
6624
b94970bc
RB
66252014-04-17 Richard Biener <rguenther@suse.de>
6626
6627 PR middle-end/60849
6628 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
6629 comparison results and add clarifying comment.
6630
92f0f3ec
JJ
66312014-04-17 Jakub Jelinek <jakub@redhat.com>
6632
6633 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
6634 (blank_mode): Initialize it.
6635 (emit_mode_size_inline, emit_mode_nunits_inline,
6636 emit_mode_inner_inline): New functions.
6637 (emit_insn_modes_h): Call them and surround their output with
6638 #if GCC_VERSION >= 4001 ... #endif.
6639 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
6640 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
6641 mode_* arrays if the argument is __builtin_constant_p.
6642 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
6643 is enum machine_mode.
6644
be55bfe6
TS
66452014-04-17 Trevor Saunders <tsaunders@mozilla.com>
6646
6647 * passes.c (opt_pass::execute): Adjust.
6648 (pass_manager::execute_pass_mode_switching): Likewise.
6649 (early_local_passes::execute): Likewise.
6650 (execute_one_pass): Pass cfun to the pass's execute method.
6651 * tree-pass.h (opt_pass::execute): Add function * argument.
6652 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
6653 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
6654 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
6655 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
6656 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
6657 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
6658 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
6659 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
6660 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
6661 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
6662 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
6663 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
6664 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
6665 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
6666 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
6667 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
6668 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
6669 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
6670 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
6671 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
6672 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
6673 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
6674 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
6675 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
6676 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
6677 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
6678 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
6679 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
6680 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
6681 Adjust.
6682
1a3d085c
TS
66832014-04-17 Trevor Saunders <tsaunders@mozilla.com>
6684
6685 * passes.c (opt_pass::gate): Take function * argument.
6686 (gate_all_early_local_passes): Merge into
6687 (early_local_passes::gate): this.
6688 (gate_all_early_optimizations): Merge into
6689 (all_early_optimizations::gate): this.
6690 (gate_all_optimizations): Mege into
6691 (all_optimizations::gate): this.
6692 (gate_all_optimizations_g): Merge into
6693 (all_optimizations_g::gate): this.
6694 (gate_rest_of_compilation): Mege into
6695 (rest_of_compilation::gate): this.
6696 (gate_postreload): Merge into
6697 (postreload::gate): this.
6698 (dump_one_pass): Pass cfun to the pass's gate method.
6699 (execute_ipa_summary_passes): Likewise.
6700 (execute_one_pass): Likewise.
6701 (ipa_write_summaries_2): Likewise.
6702 (ipa_write_optimization_summaries_1): Likewise.
6703 (ipa_read_summaries_1): Likewise.
6704 (ipa_read_optimization_summaries_1): Likewise.
6705 (execute_ipa_stmt_fixups): Likewise.
6706 * tree-pass.h (opt_pass::gate): Add function * argument.
6707 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
6708 combine-stack-adj.c, combine.c, compare-elim.c,
6709 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
6710 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
6711 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
6712 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
6713 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
6714 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
6715 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
6716 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
6717 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
6718 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
6719 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
6720 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
6721 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
6722 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
6723 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
6724 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
6725 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
6726 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
6727 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
6728 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
6729 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
6730 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
6731 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
6732 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
6733 var-tracking.c, vtable-verify.c, web.c: Adjust.
6734
45887209
TS
67352014-04-17 Trevor Saunders <tsaunders@mozilla.com>
6736
6737 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
6738 * configure: Regenerate.
6739
0481253d 67402014-04-17 Trevor Saunders <tsaunders@mozilla.com>
b15d92bf 6741
0481253d
TS
6742 * passes.c (dump_one_pass): don't check pass->has_gate.
6743 (execute_ipa_summary_passes): Likewise.
6744 (execute_one_pass): Likewise.
6745 (ipa_write_summaries_2): Likewise.
6746 (ipa_write_optimization_summaries_1): Likewise.
6747 (ipa_read_optimization_summaries_1): Likewise.
6748 (execute_ipa_stmt_fixups): Likewise.
6749 * tree-pass.h (pass_data::has_gate): Remove.
6750 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
6751 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
6752 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
6753 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
6754 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
6755 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
6756 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
6757 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
6758 gimple-low.c, gimple-ssa-isolate-paths.c,
6759 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
6760 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
6761 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
6762 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
6763 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
6764 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
6765 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
6766 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
6767 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
6768 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
6769 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
6770 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
6771 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
6772 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
6773 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
6774 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
6775 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
6776 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
6777 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
6778 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
6779 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
6780 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
6781 Adjust.
6782
a23c217d
TS
67832014-04-17 Trevor Saunders <tsaunders@mozilla.com>
6784
b15d92bf
UB
6785 * pass_manager.h (pass_manager::register_dump_files_1): Remove
6786 declaration.
a23c217d
TS
6787 * passes.c (pass_manager::register_dump_files_1): Merge into
6788 (pass_manager::register_dump_files): this, and remove its handling of
6789 properties since the pass always has the properties anyway.
6790 (pass_manager::pass_manager): Adjust.
6791
0cd11b40
TS
67922014-04-17 Trevor Saunders <tsaunders@mozilla.com>
6793
6794 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
6795 * passes.c (pass_manager::register_dump_files_1): Remove dead code
6796 dealing with properties.
6797 (pass_manager::register_dump_files): Adjust.
6798
79896351
MW
67992014-03-20 Mark Wielaard <mjw@redhat.com>
6800
6801 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
6802 then represent the bound as normal constant value.
6803
5a65129e
JJ
68042014-04-17 Jakub Jelinek <jakub@redhat.com>
6805
6806 PR target/60847
6807 Forward port from 4.8 branch
6808 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
6809
6810 * config/i386/bmiintrin.h (_blsi_u32): New.
6811 (_blsi_u64): Ditto.
6812 (_blsr_u32): Ditto.
6813 (_blsr_u64): Ditto.
6814 (_blsmsk_u32): Ditto.
6815 (_blsmsk_u64): Ditto.
6816 (_tzcnt_u32): Ditto.
6817 (_tzcnt_u64): Ditto.
6818
59b266b1
KC
68192014-04-17 Kito Cheng <kito@0xlab.org>
6820
6821 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
6822
83ad208e
RB
68232014-04-17 Richard Biener <rguenther@suse.de>
6824
6825 PR middle-end/60849
6826 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
6827 boolean results for comparisons.
6828
730e78b0
RB
68292014-04-17 Richard Biener <rguenther@suse.de>
6830
6831 PR tree-optimization/60836
6832 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
6833 initial PHI args to be gimple values.
6834
40c0a159 68352014-04-17 Richard Biener <rguenther@suse.de>
1428105c
RB
6836
6837 PR tree-optimization/60841
6838 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
6839 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
6840 of stmts to SLP build.
6841 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
6842 (vect_analyze_slp): Likewise.
6843 (vect_analyze_slp_instance): Likewise.
6844 (vect_build_slp_tree): Limit overall SLP tree growth.
6845 * tree-vectorizer.h (vect_analyze_data_refs,
6846 vect_analyze_slp): Adjust prototypes.
6847
170c1776
ES
68482014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
6849
6850 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
6851 Silvermont.
6852
a4ef7f3e
ES
68532014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
6854
6855 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
6856 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
6857 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
6858 for TARGET_SLOW_PSHUFB
6859
cf055f6e
ES
68602014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
6861
6862 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
6863 * config/i386/i386.c (intel_cost): Ditto.
6864
eeee2277
JY
68652014-04-17 Joey Ye <joey.ye@arm.com>
6866
6867 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
6868
1c58fe29
JH
68692014-04-16 Jan Hubicka <hubicka@ucw.cz>
6870
6871 * opts.c (common_handle_option): Disable -fipa-reference coorectly
6872 with -fuse-profile.
6873
2d1644bf
JH
68742014-04-16 Jan Hubicka <hubicka@ucw.cz>
6875
6876 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
6877 (type_all_derivations_known_p): New predicate.
6878 (type_all_ctors_visible_p): New predicate.
6879 (type_possibly_instantiated_p): New predicate.
6880 (get_odr_type): Compute all_derivations_known.
6881 (dump_odr_type): Dump the flag.
6882 (maybe_record_type): Cleanup.
6883 (record_target_from_binfo): Add bases_to_consider array;
6884 record bases for types w/o instances and skip CXX destructor.
6885 (possible_polymorphic_call_targets_1): Add bases_to_consider
b15d92bf 6886 and consider_construction parameters; check if type may have instance.
2d1644bf
JH
6887 (get_polymorphic_call_info): Set maybe_in_construction to true
6888 when we know nothing.
6889 (record_targets_from_bases): Skip CXX destructors; they are
6890 never called for types in construction.
6891 (possible_polymorphic_call_targets): Do not record target when
6892 type may not have instance.
6893
789c2741
JH
68942014-04-16 Jan Hubicka <hubicka@ucw.cz>
6895
6896 PR ipa/60854
6897 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
6898 external aliases alive, too.
6899
9950a4f2
AP
69002014-04-16 Andrew Pinski <apinski@cavium.com>
6901
6902 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
b15d92bf 6903 definition.
9950a4f2 6904
82b9c015
EB
69052014-04-16 Eric Botcazou <ebotcazou@adacore.com>
6906
6907 * final.c (compute_alignments): Do not apply loop alignment to a block
6908 falling through to the exit.
6909
d2dfaca3
CM
69102014-04-16 Catherine Moore <clm@codesourcery.com>
6911
6912 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
6913 Adjust constraints for microMIPS store patterns.
6914
10353a79
PS
69152014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
6916
6917 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
6918
61c7fb30
EB
69192014-04-16 Eric Botcazou <ebotcazou@adacore.com>
6920
6921 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
6922 (append_use): Run at -O0.
6923 (append_vdef): Likewise.
6924 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
6925 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
6926
42fae17c
JJ
69272014-04-16 Jakub Jelinek <jakub@redhat.com>
6928
6929 PR tree-optimization/60844
6930 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
6931 (propagate_op_to_single_use, remove_visited_stmt_chain,
6932 linearize_expr, repropagate_negates, reassociate_bb): Use it
6933 instead of gsi_remove.
6934
ca860d03
MJ
69352014-04-16 Martin Jambor <mjambor@suse.cz>
6936
6937 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
6938 ipa_transforms_to_apply.
6939 (cgraph_function_versioning): Assert that old_node has empty
6940 ipa_transforms_to_apply.
6941 * trans-mem.c (ipa_tm_create_version): Likewise.
6942 * tree-inline.c (tree_function_versioning): Do not duplicate
6943 ipa_transforms_to_apply.
6944
fe4e71e4
RO
69452014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6946
6947 PR target/60817
6948 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
6949 x86_64-*-* cases.
6950 Pass necessary as flags on 64-bit Solaris/x86.
6951 Use lowercase relocs for x86_64-*-*.
6952 * configure: Regenerate.
6953
ccb05ef2
JH
69542014-04-15 Jan Hubicka <jh@suse.cz>
6955
6956 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
6957 (maybe_record_node, likely_target_p): Use it.
6958
dfe449d1
BS
69592014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6960
6961 PR target/60839
6962 Revert following patch
6963
6964 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
6965
6966 PR target/60735
6967 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
6968 software floating point or no floating point registers, do not
6969 allow any type in the FPRs. Eliminate a test for SPE SIMD types
6970 in GPRs that occurs after we tested for GPRs that would never be
6971 true.
6972
6973 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
6974 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
6975 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
6976 specifically allow DDmode, since that does not use the SPE SIMD
6977 instructions.
6978
25dce5c6
MW
69792014-03-21 Mark Wielaard <mjw@redhat.com>
6980
6981 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
6982 as unsigned or int depending on type and value used.
6983
8d3c076f
RB
69842014-04-15 Richard Biener <rguenther@suse.de>
6985
6986 PR rtl-optimization/56965
6987 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
6988 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
6989 ... here.
6990 * alias.c (true_dependence_1): Do not call
6991 nonoverlapping_component_refs_p.
6992 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
6993 nonoverlapping_component_refs_p.
6994 (indirect_refs_may_alias_p): Likewise.
6995
d00e4baa
TJ
69962014-04-15 Teresa Johnson <tejohnson@google.com>
6997
6998 * cfg.c (dump_bb_info): Fix flags check.
6999 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
7000
98a2fdfb
KT
70012014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7002
7003 PR rtl-optimization/60663
7004 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
7005 avoid 0 cost.
7006
b9ed2c2c
RB
70072014-04-15 Richard Biener <rguenther@suse.de>
7008
7009 * lto-streamer.h (LTO_major_version): Bump to 4.
7010
783dab6b
RB
70112014-04-15 Richard Biener <rguenther@suse.de>
7012
7013 * common.opt (lto_partition_model): New enum.
7014 (flto-partition=): Merge separate options with a single with argument,
7015 add -flto-partition=one support.
7016 * flag-types.h (enum lto_partition_model): Declare.
7017 * opts.c (finish_options): Remove duplicate -flto-partition=
7018 option check.
7019 * lto-wrapper.c (run_gcc): Adjust.
7020
d8e4ce6d
RB
70212014-04-15 Richard Biener <rguenther@suse.de>
7022
7023 * alias.c (ncr_compar): New function.
7024 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
7025
1999fd7d
RB
70262014-04-15 Richard Biener <rguenther@suse.de>
7027
7028 * alias.c (record_component_aliases): Do not walk BINFOs.
7029
628169e0
RB
70302014-04-15 Richard Biener <rguenther@suse.de>
7031
7032 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
7033 Add struct function argument and adjust.
7034 (find_func_aliases_for_call): Likewise.
7035 (find_func_aliases): Likewise.
7036 (find_func_clobbers): Likewise.
7037 (intra_create_variable_infos): Likewise.
7038 (compute_points_to_sets): Likewise.
7039 (ipa_pta_execute): Adjust. Do not push/pop cfun.
7040
349e6210
RB
70412014-04-15 Richard Biener <rguenther@suse.de>
7042
7043 * tree.c (iterative_hash_expr): Use enum tree_code_class
7044 to store TREE_CODE_CLASS.
7045 (tree_block): Likewise.
7046 (tree_set_block): Likewise.
7047 * tree.h (fold_build_pointer_plus_loc): Use
7048 convert_to_ptrofftype_loc.
7049
4f0ddb6f
JJ
70502014-04-15 Jakub Jelinek <jakub@redhat.com>
7051
7052 PR plugins/59335
7053 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
7054 added in 4.9.
7055
718c4601
EB
70562014-04-15 Eric Botcazou <ebotcazou@adacore.com>
7057
7058 * cfgloop.h (struct loop): Move force_vectorize down.
7059 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
7060 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
7061 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
7062 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
7063 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
7064 * tree-core.h (enum annot_expr_kind): Add new kind values.
7065 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
7066 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
7067 kinds.
7068 * tree.def (ANNOTATE_EXPR): Tweak comment.
7069
88f592e3
JH
70702014-04-14 Jan Hubicka <hubicka@ucw.cz>
7071
7072 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
7073 cxa_pure_virtual).
7074
9dba4b55
PC
70752014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
7076
7077 * tree.h (TYPE_IDENTIFIER): Declare.
7078 * tree.c (subrange_type_for_debug_p): Use it.
7079 * godump.c (go_format_type): Likewise.
7080 * dwarf2out.c (is_cxx_auto, modified_type_die,
7081 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
7082 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
7083
40c0a159 70842014-04-14 Jan Hubicka <hubicka@ucw.cz>
006202e8
JH
7085
7086 PR lto/60820
7087 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
7088
e0a81db1
UB
70892014-04-14 Uros Bizjak <ubizjak@gmail.com>
7090
7091 * config/i386/i386.c (examine_argument): Return bool. Return true if
7092 parameter should be passed in memory.
7093 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
7094 (construct_container): Update calls to examine_argument.
7095 (function_arg_advance_64): Ditto.
7096 (return_in_memory_32): Merge with ix86_return_in_memory.
7097 (return_in_memory_64): Ditto.
7098 (return_in_memory_ms_64): Ditto.
7099
cb90235d
JH
71002014-04-14 Jan Hubicka <hubicka@ucw.cz>
7101
7102 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
7103 * coverage.c (coverage_compute_profile_id): Handle externally visible
7104 symbols.
7105
7b3b340e
MJ
71062014-04-14 Martin Jambor <mjambor@suse.cz>
7107
7108 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
7109 DECL_DISREGARD_INLINE_LIMITS functions.
7110
2ed3b4ee
L
71112014-04-14 H.J. Lu <hongjiu.lu@intel.com>
7112
7113 PR target/60827
e0a81db1 7114 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 7115
10fa463f
L
71162014-04-14 H.J. Lu <hongjiu.lu@intel.com>
7117
7118 PR target/60827
7119 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
7120 optimize_insn_for_speed_p instead of
7121 optimize_function_for_speed_p.
7122
b621e875
YZ
71232014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
7124
7125 * doc/invoke.texi (free): Document AArch64.
7126
cddaefa3
RB
71272014-04-14 Richard Biener <rguenther@suse.de>
7128
7129 PR tree-optimization/60042
7130 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
7131 (insert_into_preds_of_block): Do not prevent PHI insertion
7132 for REFERENCE exprs here ...
7133 (eliminate_dom_walker::before_dom_children): ... but prevent
7134 their use here under similar conditions when applied to the
7135 IL after PRE optimizations.
7136
a9e4c82f
RB
71372014-04-14 Richard Biener <rguenther@suse.de>
7138
7139 * passes.def: Move early points-to after early SRA.
7140
7b4cae1b
RB
71412014-04-14 Richard Biener <rguenther@suse.de>
7142
7143 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
7144 check for which sign-changes we allow when forwarding
7145 a converted value into a switch.
7146
cb27986c
EB
71472014-04-14 Eric Botcazou <ebotcazou@adacore.com>
7148
7149 * stor-layout.c (place_field): Finalize non-constant offset for the
7150 field, if any.
7151
72798784
RB
71522014-04-14 Richard Biener <rguenther@suse.de>
7153
7154 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
7155 as argument.
7156 (expand_switch_using_bit_tests_p): Likewise.
7157 (process_switch): Compute and pass on speed_p based on the
7158 switch stmt.
7159 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
7160 optimize_bb_for_speed_p.
7161
b15b5979
EB
71622014-04-14 Eric Botcazou <ebotcazou@adacore.com>
7163
7164 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
7165 * function.h (struct function): Rename has_force_vect_loops into
7166 has_force_vectorize_loops.
7167 * lto-streamer-in.c (input_cfg): Adjust for renaming.
7168 (input_struct_function_base): Likewise.
7169 * lto-streamer-out.c (output_cfg): Likewise.
7170 (output_struct_function_base): Likewise.
7171 * omp-low.c (expand_omp_simd): Likewise.
7172 * tree-cfg.c (move_sese_region_to_fn): Likewise.
7173 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
7174 (version_loop_for_if_conversion): Likewise.
7175 (tree_if_conversion): Likewise.
7176 (main_tree_if_conversion): Likewise.
7177 (gate_tree_if_conversion): Likewise.
7178 * tree-inline.c (copy_loops): Likewise.
7179 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
7180 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
7181 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
7182 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
7183 * tree-vectorizer.c (vectorize_loops): Likewise.
7184 * tree-vectorizer.h (unlimited_cost_model): Likewise.
7185
8359c87e
RB
71862014-04-14 Richard Biener <rguenther@suse.de>
7187
7188 PR lto/60720
7189 * lto-streamer-out.c (wrap_refs): New function.
7190 (lto_output): Wrap symbol references in global initializes in
7191 type-preserving MEM_REFs.
7192
9447df74
CB
71932014-04-14 Christian Bruel <christian.bruel@st.com>
7194
b15d92bf 7195 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
9447df74 7196
fa1aecc1
CB
71972014-04-14 Christian Bruel <christian.bruel@st.com>
7198
7199 * config/sh/sh.md (setmemqi): New expand pattern.
7200 * config/sh/sh.h (CLEAR_RATIO): Define.
7201 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
7202 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
7203
a3c77ce9
RB
72042014-04-14 Richard Biener <rguenther@suse.de>
7205
7206 PR middle-end/55022
7207 * fold-const.c (negate_expr_p): Don't negate directional rounding
7208 division.
7209 (fold_negate_expr): Likewise.
7210
033aa406
RB
72112014-04-14 Richard Biener <rguenther@suse.de>
7212
7213 PR tree-optimization/59817
7214 PR tree-optimization/60453
7215 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
7216 recursion to catch all CHRECs in the scalar evolution and restrict
7217 the predicate for the remains appropriately.
7218
5e7d8b4c
RS
72192014-04-12 Catherine Moore <clm@codesourcery.com>
7220
7221 * config/mips/constraints.md: Add new register constraint "kb".
7222 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
7223 (*movhi_internal): Likewise.
7224 (*movqi_internal): Likewise.
7225 * config/mips/mips.h (M16_STORE_REGS): New register class.
7226 (REG_CLASS_NAMES): Add M16_STORE_REGS.
7227 (REG_CLASS_CONTENTS): Likewise.
7228 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
7229
cbbd2b1c
TB
72302014-04-11 Tobias Burnus <burnus@net-b.de>
7231
7232 PR c/60194
7233 * doc/invoke.texi (-Wformat-signedness): Document it.
7234 (Wformat=2): Mention that this enables -Wformat-signedness.
7235
d9bb5800
JR
72362014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
7237
7238 * common/config/epiphany/epiphany-common.c
7239 (epiphany_option_optimization_table): Enable section anchors by
7240 default at -O1 or higher.
7241 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
7242 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
7243 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
7244 carries no extra cost.
7245 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
7246 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
7247 * config/epiphany/predicates.md (memclob_operand): New predicate.
7248 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
7249 Use memclob_operand predicate and X constraint for operand 3.
7250
b5d0ecea
JR
72512014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
7252
7253 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
7254 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
7255 its operands.
7256
473fd99a
JR
72572014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
7258
7259 PR rtl-optimization/60651
7260 * mode-switching.c (optimize_mode_switching): Make sure to emit
7261 sets of a lower numbered entity before sets of a higher numbered
7262 entity to a mode of the same or lower priority.
7263 When creating a seginfo for a basic block that starts with a code
7264 label, move the insertion point past the code label.
7265 (new_seginfo): Document and enforce requirement that
7266 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
7267 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
7268 * doc/tm.texi: Regenerate.
7269
6ace1161
JR
72702014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
7271
7272 PR target/60811
7273 * config/arc/arc.c (arc_save_restore): Fix assert typo.
7274
89eb97de
JJ
72752013-04-11 Jakub Jelinek <jakub@redhat.com>
7276
6602e7fc 7277 * BASE-VER: Set to 4.10.0.
89eb97de 7278
9d0c7214
TB
72792014-04-11 Tobias Burnus <burnus@net-b.de>
7280
7281 PR other/59055
e0a81db1 7282 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
7283 * doc/gcc.texi (Service): Update description in the @menu
7284 * doc/invoke.texi (Option Summary): Remove misplaced and
7285 duplicated @menu.
7286
3662b277
SE
72872014-04-11 Steve Ellcey <sellcey@mips.com>
7288 Jakub Jelinek <jakub@redhat.com>
7289
7290 PR middle-end/60556
7291 * expr.c (convert_move): Use emit_store_flag_force instead of
7292 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
7293 argument to it.
7294
8330537b
RB
72952014-04-11 Richard Biener <rguenther@suse.de>
7296
7297 PR middle-end/60797
7298 * varasm.c (assemble_alias): Avoid endless error reporting
7299 recursion by setting TREE_ASM_WRITTEN.
7300
3c91f126
AK
73012014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7302
7303 * config/s390/s390.md: Add a splitter for NOT rtx.
7304
d8d6ea53
JJ
73052014-04-11 Jakub Jelinek <jakub@redhat.com>
7306
7307 PR rtl-optimization/60663
e0a81db1 7308 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 7309
fa5866c0
JJ
73102014-04-10 Jan Hubicka <hubicka@ucw.cz>
7311 Jakub Jelinek <jakub@redhat.com>
073afca6 7312
fa5866c0 7313 PR lto/60567
e0a81db1
UB
7314 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
7315 flag from decl_node to node.
073afca6 7316
b322c36a
RR
73172014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7318
7319 PR debug/60655
7320 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
7321 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
7322 ameliorating the cases where it can be.
7323
8267f6bb
DE
73242014-04-09 David Edelsohn <dje.gcc@gmail.com>
7325
7326 Revert
7327 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
7328
7329 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
7330 (loadsync_<mode>): Change mode.
7331 (load_quadpti, store_quadpti): New.
7332 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
7333 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
7334 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
7335
5d1a5a53
CH
73362014-04-09 Cong Hou <congh@google.com>
7337
7338 PR testsuite/60773
7339 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
7340 documentation.
7341
da90fa4c
BS
73422014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7343
7344 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
7345 instead of vnor to exploit possible fusion opportunity in the
7346 future.
7347 (altivec_expand_vec_perm_const_le): Likewise.
7348
98e6ecab
PH
73492014-04-08 Pat Haugen <pthaugen@us.ibm.com>
7350
7351 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
7352 (loadsync_<mode>): Change mode.
7353 (load_quadpti, store_quadpti): New.
7354 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
7355 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
7356
8418cf33
RS
73572014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
7358
7359 PR target/60763
7360 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
7361 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
7362 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
7363
3fa68ccb
RB
73642014-04-08 Richard Biener <rguenther@suse.de>
7365
7366 PR middle-end/60706
7367 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
7368 a 64bit widest int print double-int similar to on HWI64 hosts.
7369
9038ae48
RB
73702014-04-08 Richard Biener <rguenther@suse.de>
7371
7372 PR tree-optimization/60785
7373 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
7374 default defs properly.
7375
38f09da3
NS
73762014-04-08 Nathan Sidwell <nathan@codesourcery.com>
7377
7378 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
7379 (Weffc++): Likewise.
7380
0439a947
JH
73812014-04-07 Jan Hubicka <hubcika@ucw.cz>
7382
7383 * ipa-devirt.c (maybe_record_node): When node is not recorded,
7384 set completep to false rather than true.
7385
3f2f838e
EB
73862014-04-07 Douglas B Rupp <rupp@adacore.com>
7387
7388 PR target/60504
7389 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
7390 ARM_TARGET2_DWARF_FORMAT.
7391
e75c1617
CB
73922014-04-07 Charles Baylis <charles.baylis@linaro.org>
7393
7394 PR target/60609
7395 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
7396 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
7397 ADDR_DIFF_VEC.
7398
d6adff07
RB
73992014-04-07 Richard Biener <rguenther@suse.de>
7400
7401 PR tree-optimization/60766
3f2f838e
EB
7402 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
7403 (may_eliminate_iv): Convert cand_value_at result to desired type.
d6adff07 7404
da34ade5
JM
74052014-04-07 Jason Merrill <jason@redhat.com>
7406
7407 PR c++/60731
7408 * common.opt (-fno-gnu-unique): Add.
7409 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
7410
151e9aac
KT
74112014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7412
7413 * haifa-sched.c: Fix outdated function reference and minor
7414 grammar errors in introductory comment.
7415
308173e3
RB
74162014-04-07 Richard Biener <rguenther@suse.de>
7417
7418 PR middle-end/60750
7419 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
7420 for noreturn calls.
7421 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
7422
a9a302d9
JDA
74232014-04-06 John David Anglin <danglin@gcc.gnu.org>
7424
7425 PR debug/55794
7426 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
7427 size accounting for thunks.
7428 (pa_asm_output_mi_thunk): Use final_start_function() and
7429 final_end_function() to output function start and end directives.
7430
576ba35c
PS
74312014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
7432
e0a81db1
UB
7433 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
7434 device specific ISA/ feature information. Remove short_sp and
7435 errata_skip ds. Add avr_device_specific_features enum to have device
7436 specific info.
576ba35c
PS
7437 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
7438 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
7439 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
7440 updated device specific info.
7441 * config/avr/avr-mcus.def: Merge device specific details to
7442 dev_attribute field.
7443 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
7444 errata_skip.
7445 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
7446 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
7447 assembler if RMW isa supported by current device.
7448 * config/avr/genmultilib.awk: Update as device info structure changed.
7449 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
7450
ebc047a2
CH
74512014-04-04 Cong Hou <congh@google.com>
7452
7453 PR tree-optimization/60656
7454 * tree-vect-stmts.c (supportable_widening_operation):
7455 Fix a bug that elements in a vector with vect_used_by_reduction
7456 property are incorrectly reordered when the operation on it is not
7457 consistant with the one in reduction operation.
7458
b6808818
JDA
74592014-04-04 John David Anglin <danglin@gcc.gnu.org>
7460
7461 PR rtl-optimization/60155
7462 * gcse.c (record_set_data): New function.
7463 (single_set_gcse): New function.
7464 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
7465 (hoist_code): Likewise.
7466 (get_pressure_class_and_nregs): Likewise.
7467
eabcc725
EB
74682014-04-04 Eric Botcazou <ebotcazou@adacore.com>
7469
7470 * explow.c (probe_stack_range): Emit a final optimization blockage.
7471
e005b753
AG
74722014-04-04 Anthony Green <green@moxielogic.com>
7473
7474 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
7475 typos.
7476
8fe91ca8
JH
74772014-04-04 Jan Hubicka <hubicka@ucw.cz>
7478
7479 PR ipa/59626
7480 * lto-cgraph.c (input_overwrite_node): Check that partitioning
7481 flags are set only during streaming.
7482 * ipa.c (process_references, walk_polymorphic_call_targets,
7483 symtab_remove_unreachable_nodes): Drop bodies of always inline
7484 after early inlining.
7485 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
576ba35c 7486
88d94632
RR
74872014-04-04 Jakub Jelinek <jakub@redhat.com>
7488 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7489
7490 PR debug/60655
7491 * dwarf2out.c (const_ok_for_output_1): Reject expressions
7492 containing a NOT.
7493
094bc219
KT
74942014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7495
7496 PR bootstrap/60743
7497 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
7498 duration.
7499 (cortex_a53_fdivd): Likewise.
7500
610c8ef0
MJ
75012014-04-04 Martin Jambor <mjambor@suse.cz>
7502
7503 PR ipa/60640
b15d92bf
UB
7504 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
7505 Adjust all callers.
610c8ef0
MJ
7506 * cgraph.c (clone_of_p): Also return true if thunks match.
7507 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
7508 cgraph_function_or_thunk_node and an obsolete comment.
b15d92bf
UB
7509 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
7510 file.
7511 (build_function_decl_skip_args): Likewise.
610c8ef0 7512 (set_new_clone_decl_and_node_flags): New function.
b15d92bf
UB
7513 (duplicate_thunk_for_node): Likewise.
7514 (redirect_edge_duplicating_thunks): Likewise.
7515 (cgraph_clone_node): New parameter args_to_skip, pass it to
7516 redirect_edge_duplicating_thunks which is called instead of
7517 cgraph_redirect_edge_callee.
7518 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
610c8ef0
MJ
7519 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
7520
fc02bcca
JL
75212014-04-04 Jeff Law <law@redhat.com>
7522
57ef133b 7523 PR target/60657
fc02bcca
JL
7524 * config/arm/predicates.md (const_int_I_operand): New predicate.
7525 (const_int_M_operand): Similarly.
7526 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
7527 const_int_operand.
7528 (insv_t2, extv_reg, extzv_t2): Likewise.
7529 (load_multiple_with_writeback): Similarly for const_int_I_operand.
7530 (pop_multiple_with_writeback_and_return): Likewise.
7531 (vfp_pop_multiple_with_writeback): Likewise
7532
45b62594
RB
75332014-04-04 Richard Biener <rguenther@suse.de>
7534
7535 PR ipa/60746
7536 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
7537 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
7538 non-GIMPLE_LABELs.
7539 * gimplify.h (gimple_add_tmp_var_fn): Declare.
7540 * gimplify.c (gimple_add_tmp_var_fn): New function.
7541 * gimple-expr.h (create_tmp_reg_fn): Declare.
7542 * gimple-expr.c (create_tmp_reg_fn): New function.
7543 * gimple-low.c (record_vars_into): Don't change cfun.
7544 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
7545 code generation without cfun.
7546
bb609c35
TS
75472014-04-04 Thomas Schwinge <thomas@codesourcery.com>
7548
7549 PR bootstrap/60719
7550 * Makefile.in (install-driver): Fix shell scripting.
7551
090cd8dc
CH
75522014-04-03 Cong Hou <congh@google.com>
7553
7554 PR tree-optimization/60505
7555 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
e0a81db1
UB
7556 threshold of number of iterations below which no vectorization
7557 will be done.
090cd8dc
CH
7558 * tree-vect-loop.c (new_loop_vec_info):
7559 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
7560 * tree-vect-loop.c (vect_analyze_loop_operations):
7561 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
7562 * tree-vect-loop.c (vect_transform_loop):
7563 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
7564 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
7565 of iterations of the loop and see if we should build the epilogue.
7566
bdc67fd6
RB
75672014-04-03 Richard Biener <rguenther@suse.de>
7568
e0a81db1 7569 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
7570 (streamer_tree_cache_create): Adjust.
7571 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
7572 to allow optional nodes array.
7573 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
7574 (streamer_tree_cache_append): Likewise.
7575 (streamer_tree_cache_create): Create nodes array optionally
7576 as specified by parameter.
7577 * lto-streamer-out.c (create_output_block): Avoid maintaining
7578 the node array in the writer cache.
7579 (DFS_write_tree): Remove assertion.
e0a81db1 7580 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
7581 * lto-streamer-in.c (lto_data_in_create): Adjust for
7582 streamer_tree_cache_create prototype change.
7583
a0daf659
RB
75842014-04-03 Richard Biener <rguenther@suse.de>
7585
7586 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
7587 set TREE_CHAIN to NULL_TREE.
7588
f16c88d2
RB
75892014-04-03 Richard Biener <rguenther@suse.de>
7590
7591 PR tree-optimization/60740
7592 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
7593 over all GIMPLE_COND operands.
7594
880a467b
NS
75952014-04-03 Nathan Sidwell <nathan@codesourcery.com>
7596
7597 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
7598 (Weffc++): Remove Scott's numbering, merge lists and reference
7599 Wnon-virtual-dtor.
7600
08866760
NC
76012014-04-03 Nick Clifton <nickc@redhat.com>
7602
7603 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
7604 properly.
7605
5bed50e8
MJ
76062014-04-03 Martin Jambor <mjambor@suse.cz>
7607
7608 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
7609 mention gcc_unreachable before failing.
7610 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
7611 removed symbols.
7612
3e86c6a8
JH
76132014-04-02 Jan Hubicka <hubicka@ucw.cz>
7614
7615 PR ipa/60659
e0a81db1
UB
7616 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
7617 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
7618 (possible_polymorphic_call_targets): For inconsistent contexts
7619 return empty complete list.
7620
2b9912aa
AG
76212014-04-02 Anthony Green <green@moxielogic.com>
7622
7623 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
7624 (extendqisi2, extendhisi2): Define.
7625 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
7626 (WCHAR_TYPE): Change to unsigned int.
7627
1e386bb8
BS
76282014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7629
7630 PR tree-optimization/60733
7631 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
7632 insertion point for PHI candidates to be the end of the feeding
7633 block for the PHI argument.
7634
f4581282
VM
76352014-04-02 Vladimir Makarov <vmakarov@redhat.com>
7636
7637 PR rtl-optimization/60650
7638 * lra-constraints.c (process_alt_operands): Decrease reject for
7639 earlyclobber matching.
7640
a9d46e32
AK
76412014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7642
7643 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
7644
7c40228a
UW
76452014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7646
7647 * config/spu/spu.c (pad_bb): Do not crash when the last
7648 insn is CODE_FOR_blockage.
7649
c6596193
UW
76502014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7651
7652 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
7653 lies outside the target mode.
7654
690c229f
MM
76552014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
7656
7657 PR target/60735
7658 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
7659 software floating point or no floating point registers, do not
7660 allow any type in the FPRs. Eliminate a test for SPE SIMD types
7661 in GPRs that occurs after we tested for GPRs that would never be
7662 true.
7663
7664 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
7665 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
7666 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
7667 specifically allow DDmode, since that does not use the SPE SIMD
7668 instructions.
7669
dad16761
RB
76702014-04-02 Richard Biener <rguenther@suse.de>
7671
7672 PR middle-end/60729
7673 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
7674 MODE_INTs. Properly use negv_optab.
7675 (expand_abs): Likewise.
7676
a1ce39be
RB
76772014-04-02 Richard Biener <rguenther@suse.de>
7678
7679 PR bootstrap/60719
7680 * Makefile.in (install-driver): Guard extra installs with special
7681 names properly.
7682
6fb619e4
MM
76832014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
7684
7685 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
7686 Document vec_vgbbd.
7687
2a1ffd6d
RH
76882014-04-01 Richard Henderson <rth@redhat.com>
7689
7690 PR target/60704
7691 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
7692 alternative enabled before register allocation.
7693
98e8dd4d
CLT
76942014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
7695
7696 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
7697 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
7698 typo.
7699 (nios2_large_got_address): Remove unneeded 'sym' parameter.
7700 (nios2_got_address): Update nios2_large_got_address call site.
7701 (nios2_delegitimize_address): New function.
7702 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
7703 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
7704 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
7705
8785c60a
MH
77062014-04-01 Martin Husemann <martin@duskware.de>
7707
7708 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
7709 for -mabi=32.
7710
3343cf6a
RS
77112014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
7712
7713 PR rtl-optimization/60604
7714 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
7715 check from register_operand.
7716 (register_operand): Redefine in terms of general_operand.
7717 (nonmemory_operand): Use register_operand for the non-constant cases.
7718
1503cb6b
RB
77192014-04-01 Richard Biener <rguenther@suse.de>
7720
e0a81db1 7721 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 7722
cded08ea
SH
77232014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
7724
7725 * doc/invoke.texi (mapp-regs): Clarify.
7726
7d9088c2
UD
77272014-03-31 Ulrich Drepper <drepper@gmail.com>
7728
7729 * config/i386/avx512fintrin.h (__v32hi): Define type.
7730 (__v64qi): Likewise.
7731 (_mm512_set1_epi8): Define.
7732 (_mm512_set1_epi16): Define.
7733 (_mm512_set4_epi32): Define.
7734 (_mm512_set4_epi64): Define.
7735 (_mm512_set4_pd): Define.
7736 (_mm512_set4_ps): Define.
7737 (_mm512_setr4_epi64): Define.
7738 (_mm512_setr4_epi32): Define.
7739 (_mm512_setr4_pd): Define.
7740 (_mm512_setr4_ps): Define.
7741 (_mm512_setzero_epi32): Define.
7742
c18ff8a4
MJ
77432014-03-31 Martin Jambor <mjambor@suse.cz>
7744
7745 PR middle-end/60647
7746 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
7747 callsite_arguments_match_p. Updated all callers. Also check types of
7748 corresponding formal parameters and actual arguments.
7749 (not_all_callers_have_enough_arguments_p) Renamed to
7750 some_callers_have_mismatched_arguments_p.
7751
9a96d5b7
YR
77522014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
7753
7754 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
7755
6c031d8d
KV
77562014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
7757
7758 PR target/60034
7759 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
7760 section anchor.
7761
429749e2
UB
77622014-03-30 Uros Bizjak <ubizjak@gmail.com>
7763
7764 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
7765 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
7766 Split out
7767 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
7768 Use FMAMODE_NOVF512 mode iterator.
7769 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
7770 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
7771 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
7772 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
7773 Split out
7774 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
7775 Use VF_128_256 mode iterator.
7776 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
7777 Ditto.
7778
1f91035f
JH
77792014-03-28 Jan Hubicka <hubicka@ucw.cz>
7780
7781 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
7782 static chain if needed.
7783
6e071b1e
VM
77842014-03-28 Vladimir Makarov <vmakarov@redhat.com>
7785
7786 PR target/60697
7787 * lra-constraints.c (index_part_to_reg): New.
7788 (process_address): Use it.
7789
e7f31789 77902014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 7791 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
7792
7793 PR target/60648
4bb66ef3
JJ
7794 * expr.c (do_tablejump): Use simplify_gen_binary rather than
7795 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 7796
4bb66ef3
JJ
7797 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
7798 creating non-canonical RTL.
e7f31789 7799
4cd8957f
JH
78002014-03-28 Jan Hubicka <hubicka@ucw.cz>
7801
7802 PR ipa/60243
7803 * ipa-inline.c (want_inline_small_function_p): Short circuit large
7804 functions; reorganize to make cheap checks first.
7805 (inline_small_functions): Do not estimate growth when dumping;
7806 it is expensive.
7807 * ipa-inline.h (inline_summary): Add min_size.
7808 (growth_likely_positive): New function.
7809 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
7810 (set_cond_stmt_execution_predicate): Cleanup.
7811 (estimate_edge_size_and_time): Compute min_size.
7812 (estimate_calls_size_and_time): Likewise.
7813 (estimate_node_size_and_time): Likewise.
7814 (inline_update_overall_summary): Update min_size.
7815 (do_estimate_edge_time): Likewise.
7816 (do_estimate_edge_size): Update.
7817 (do_estimate_edge_hints): Update.
7818 (growth_likely_positive): New function.
7819
ff76f4e2
JJ
78202014-03-28 Jakub Jelinek <jakub@redhat.com>
7821
7822 PR target/60693
7823 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
7824 also if addr has VOIDmode.
7825
ed6eb6dc
KT
78262014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7827
7828 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
7829 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
7830 Declare extern.
7831 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
7832 instructions as well as AdvancedSIMD loads.
7833
b10baa95
KT
78342014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7835
7836 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
7837 Use crypto_aese type.
7838 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
7839 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
7840 crypto_aese, crypto_aesmc. Move to types.md.
7841 * config/arm/types.md (crypto_aes): Split into crypto_aese,
7842 crypto_aesmc.
7843 * config/arm/iterators.md (crypto_type): Likewise.
7844
23a04216
JH
78452014-03-28 Jan Hubicka <hubicka@ucw.cz>
7846
7847 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
7848 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
7849 remove LHS.
23a04216 7850
a4971e68
VM
78512014-03-28 Vladimir Makarov <vmakarov@redhat.com>
7852
7853 PR target/60675
7854 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
7855 regs from checking multi-reg pseudos.
7856
7ac84c02
RR
78572014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7858
7859 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
7860
bd302a18
UW
78612014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7862
7863 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
7864 if it would clobber the stack pointer, even temporarily.
7865
cee9defb
EB
78662014-03-28 Eric Botcazou <ebotcazou@adacore.com>
7867
7868 * mode-switching.c: Make small adjustments to the top comment.
7869
117f16fb
MM
78702014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
7871
7872 * config/rs6000/constraints.md (wD constraint): New constraint to
7873 match the constant integer to get the top DImode/DFmode out of a
7874 vector in a VSX register.
7875
7876 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
7877 match the constant integer to get the top DImode/DFmode out of a
7878 vector in a VSX register.
7879
7880 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
7881 for ISA 2.07.
7882
7883 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
7884 vbpermq builtins.
7885
7886 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
7887 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
7888
7889 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
7890 Optimize vec_extract of 64-bit values, where the value being
7891 extracted is in the top word, where we can use scalar
7892 instructions. Add direct move and store support. Combine the big
429749e2 7893 endian/little endian vector select load support into a single insn.
117f16fb
MM
7894 (vsx_extract_<mode>_internal1): Likewise.
7895 (vsx_extract_<mode>_internal2): Likewise.
7896 (vsx_extract_<mode>_load): Likewise.
7897 (vsx_extract_<mode>_store): Likewise.
7898 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
7899 combined into vsx_extract_<mode>_load.
7900 (vsx_extract_<mode>_one_le): Likewise.
7901
7902 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
7903 define the top 64-bit vector element.
7904
7905 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
7906 constraint.
7907
6788164b
MM
7908 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
7909 Document vec_vbpermq builtin.
7910
117f16fb
MM
7911 PR target/60672
7912 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
7913 enable use of xxsldwi and xxpermdi builtin functions.
7914 (vec_xxpermdi): Likewise.
7915
7916 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
7917 Document use of vec_xxsldwi and vec_xxpermdi builtins.
7918
9e038952
VM
79192014-03-27 Vladimir Makarov <vmakarov@redhat.com>
7920
7921 PR rtl-optimization/60650
f4581282 7922 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
7923 first_p. Use it.
7924 (find_spills_for): New.
7925 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
7926 Spill all pseudos on the second iteration.
7927
324dc401
MP
79282014-03-27 Marek Polacek <polacek@redhat.com>
7929
7930 PR c/50347
7931 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
7932 types.
7933
6e77facf
AK
79342014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7935
7936 * config/s390/s390.c (s390_can_use_return_insn): Check for
7937 call-saved FPRs on 31 bit.
7938
47519a14
JJ
79392014-03-27 Jakub Jelinek <jakub@redhat.com>
7940
7941 PR middle-end/60682
7942 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
7943 if they need regimplification, just drop them instead of
7944 calling gimple_regimplify_operands on them.
7945
0b7f8166
MS
79462014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
7947
7948 PR target/60580
7949 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
7950 (aarch64_frame_pointer_required): Adjust logic.
7951 (aarch64_can_eliminate): Adjust logic.
7952 (aarch64_override_options_after_change): Adjust logic.
7953
2f2a7d15
DC
79542014-03-27 Dehao Chen <dehao@google.com>
7955
7956 * ipa-inline.c (early_inliner): Update node's inline info.
7957
a0dbf285
DC
79582014-03-26 Dehao Chen <dehao@google.com>
7959
7960 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
7961 compiler inserted conditional jumps for NAN float check.
7962
ed0ca1e1
JJ
79632014-03-26 Jakub Jelinek <jakub@redhat.com>
7964
07d72e1d
JJ
7965 * ubsan.h (ubsan_create_data): Change second argument's type
7966 to const location_t *.
7967 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
7968 _("<unknown>").
7969 (ubsan_create_data): Change second argument to const location_t *PLOC.
7970 Create Loc field whenever PLOC is non-NULL.
7971 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
7972 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
7973 callers.
7974
ed0ca1e1
JJ
7975 PR other/59545
7976 * real.c (real_to_integer2): Change type of low to UHWI.
7977
b9487dd8
TB
79782014-03-26 Tobias Burnus <burnus@net-b.de>
7979
7980 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
7981 (CILK_SELF_SPECS): New define.
7982 (driver_self_specs): Use it.
7983
3a2700f6
RB
79842014-03-26 Richard Biener <rguenther@suse.de>
7985
7986 * tree-pretty-print.c (percent_K_format): Implement special
7987 case for LTO and its stripped down BLOCK tree.
7988
368b454d
JJ
79892014-03-26 Jakub Jelinek <jakub@redhat.com>
7990
aa6b742f
JJ
7991 PR sanitizer/60636
7992 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
7993
368b454d
JJ
7994 * tree-vrp.c (simplify_internal_call_using_ranges): If only
7995 one range is range_int_cst_p, but not both, at least optimize
7996 addition/subtraction of 0 and multiplication by 0 or 1.
7997 * gimple-fold.c (gimple_fold_call): Fold
7998 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
7999 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
8000 INTEGER_CSTs, try to fold at least x * 0 and y - y.
8001
c7e30a96
EB
80022014-03-26 Eric Botcazou <ebotcazou@adacore.com>
8003
8004 PR rtl-optimization/60452
8005 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
8006 <case REG>: Return 1 for invalid offsets from the frame pointer.
8007
d615d763
MP
80082014-03-26 Marek Polacek <polacek@redhat.com>
8009
8010 PR c/37428
8011 * doc/extend.texi (C Extensions): Mention variable-length arrays in
8012 a structure/union.
8013
1b226529
MP
80142014-03-26 Marek Polacek <polacek@redhat.com>
8015
8016 PR c/39525
8017 * doc/extend.texi (Designated Inits): Describe what happens to omitted
8018 field members.
8019
6686e0bc
MP
80202014-03-26 Marek Polacek <polacek@redhat.com>
8021
8022 PR other/59545
8023 * ira-color.c (update_conflict_hard_regno_costs): Perform the
8024 multiplication in unsigned type.
8025
d4fbc3ae
CJW
80262014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
8027
8028 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
8029
dfa6c87b
CJW
80302014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
8031
8032 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
8033
9de6f6c3
JH
80342014-03-25 Jan Hubicka <hubicka@ucw.cz>
8035
8036 PR ipa/60315
8037 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
8038 * ipa-inline.c (inline_small_functions): Skip edges to
8039 __builtlin_unreachable.
9de6f6c3
JH
8040 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
8041 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
8042 predicate to __bulitin_unreachable.
429749e2
UB
8043 (set_cond_stmt_execution_predicate): Fix issue when
8044 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
8045 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
8046 propagate to inline clones.
8047 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
8048 to unreachable.
8049 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
8050 * cgraphclones.c (cgraph_clone_node): If call destination is already
8051 ureachable, do not redirect it back.
8052 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
8053 unreachable.
8054
d7636f56
JH
80552014-03-25 Jan Hubicka <hubicka@ucw.cz>
8056
8057 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
8058 Do not modify inline clones.
8059
d1873c57
JJ
80602014-03-25 Jakub Jelinek <jakub@redhat.com>
8061
8062 * config/i386/i386.md (general_sext_operand): New mode attr.
8063 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
8064 don't generate (sign_extend (const_int)).
8065 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
429749e2
UB
8066 operands[2]. Use We constraint instead of <i> and
8067 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
8068 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
8069 * config/i386/constraints.md (We): New constraint.
8070 * config/i386/predicates.md (x86_64_sext_operand,
8071 sext_operand): New predicates.
8072
b5165eb0
MJ
80732014-03-25 Martin Jambor <mjambor@suse.cz>
8074
8075 PR ipa/60600
8076 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
8077 inconsistent devirtualizations to __builtin_unreachable.
8078
3102858d
MP
80792014-03-25 Marek Polacek <polacek@redhat.com>
8080
8081 PR c/35449
8082 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
8083
4b1e108c
AL
80842014-03-25 Alan Lawrence <alan.lawrence@arm.com>
8085
8086 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
8087 order of elements for big-endian.
8088
40b0722f
RB
80892014-03-25 Richard Biener <rguenther@suse.de>
8090
8091 PR middle-end/60635
8092 * gimplify-me.c (gimple_regimplify_operands): Update the
8093 re-gimplifed stmt.
8094
4a5798de
MJ
80952014-03-25 Martin Jambor <mjambor@suse.cz>
8096
8097 PR ipa/59176
8098 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
8099 (lto_output_varpool_node): Likewise.
8100 (input_overwrite_node): Likewise.
8101 (input_varpool_node): Likewise.
8102
585d0088
RB
81032014-03-25 Richard Biener <rguenther@suse.de>
8104
429749e2 8105 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
8106 (run_gcc): Likewise.
8107
a8acccdd
JJ
81082014-03-25 Jakub Jelinek <jakub@redhat.com>
8109
51ee05d0
JJ
8110 * combine.c (simplify_compare_const): Add MODE argument.
8111 Handle mode_width 0 as very large mode_width.
8112 (try_combine, simplify_comparison): Adjust callers.
8113
a8acccdd
JJ
8114 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
8115 type to avoid signed integer overflow.
8116 * explow.c (plus_constant): Likewise.
8117
57fc74a4
DV
81182014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
8119
8120 * doc/generic.texi: Correct typos.
8121
09f15d1b
TB
81222014-03-24 Tobias Burnus <burnus@net-b.de>
8123
8124 * doc/invoke.texi (-flto): Expand section about
8125 using static libraries with LTO.
8126
72a4ddf2
AK
81272014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8128
8129 PR rtl-optimization/60501
8130 * optabs.def (addptr3_optab): New optab.
8131 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
8132 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
8133 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
8134
8135 * lra.c (emit_add3_insn): Use the addptr pattern if available.
8136
8137 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
8138
0b192937
UD
81392014-03-24 Ulrich Drepper <drepper@gmail.com>
8140
2b2384e8
UD
8141 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
8142 _mm512_set1_pd.
8143
0b192937
UD
8144 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
8145 (_mm256_undefined_ps): Define.
8146 (_mm256_undefined_pd): Define.
8147 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
8148 (_mm_undefined_pd): Define.
8149 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
8150 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
8151 (_mm512_undefined_ps): Define.
8152 (_mm512_undefined_pd): Define.
8153 Use _mm*_undefined_*.
8154 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
8155
252c7556
AV
81562014-03-24 Alex Velenko <Alex.Velenko@arm.com>
8157
8158 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
8159 (lshr_simd): DI mode added.
8160 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
8161 (aarch64_ushr_simddi): Likewise.
8162 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
8163 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
8164 (vshrd_n_u64): Likewise.
8165
15e3d4f1
RO
81662014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8167
8168 * Makefile.in (s-macro_list): Depend on cc1.
8169
1858c2d3
TJ
81702014-03-23 Teresa Johnson <tejohnson@google.com>
8171
8172 * ipa-utils.c (ipa_print_order): Use specified dump file.
8173
f87604f8
EB
81742014-03-23 Eric Botcazou <ebotcazou@adacore.com>
8175
8176 PR rtl-optimization/60601
8177 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
8178
8179 * gcc.c (eval_spec_function): Initialize save_growing_value.
8180
3db31fd1
JJ
81812014-03-22 Jakub Jelinek <jakub@redhat.com>
8182
f451d3a8
JJ
8183 PR sanitizer/60613
8184 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
8185 code == MINUS_EXPR, never swap op0 with op1.
8186
3db31fd1
JJ
8187 * toplev.c (init_local_tick): Avoid signed integer multiplication
8188 overflow.
8189 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
8190 shift by first operand's bitsize.
8191
e49080ec
JJ
81922014-03-21 Jakub Jelinek <jakub@redhat.com>
8193
8194 PR target/60610
8195 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
8196 redefine to 1 or 0.
8197 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
8198 TARGET_ISA_64BIT_P(x).
8199
44eb6c40
BS
82002014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8201
8202 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
8203 pattern for vector nor instead of subtract from splat(-1).
8204 (altivec_expand_vec_perm_const_le): Likewise.
8205
ec6f831a
RH
82062014-03-21 Richard Henderson <rth@twiddle.net>
8207
8208 PR target/60598
8209 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
8210 related insns after epilogue_completed.
8211
3d8d0043
MJ
82122014-03-21 Martin Jambor <mjambor@suse.cz>
8213
8214 PR ipa/59176
8215 * cgraph.h (symtab_node): New flag body_removed.
8216 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
8217 when removing bodies.
8218 * symtab.c (dump_symtab_base): Dump body_removed flag.
8219 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
8220 had their bodies removed.
8221
d833415c
MJ
82222014-03-21 Martin Jambor <mjambor@suse.cz>
8223
8224 PR ipa/60419
8225 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
8226 in the border.
8227
400a4f6c
RB
82282014-03-21 Richard Biener <rguenther@suse.de>
8229
8230 PR tree-optimization/60577
8231 * tree-core.h (struct tree_base): Document nothrow_flag use
8232 in VAR_DECL_NONALIASED.
8233 * tree.h (VAR_DECL_NONALIASED): New.
8234 (may_be_aliased): Adjust.
8235 * coverage.c (build_var): Set VAR_DECL_NONALIASED.
8236
c6c2314f
EB
82372014-03-20 Eric Botcazou <ebotcazou@adacore.com>
8238
8239 * expr.c (expand_expr_real_1): Remove outdated comment.
8240
d02b6ac7
JJ
82412014-03-20 Jakub Jelinek <jakub@redhat.com>
8242
b8f045e2
JJ
8243 PR middle-end/60597
8244 * ira.c (adjust_cleared_regs): Call copy_rtx on
8245 *reg_equiv[REGNO (loc)].src_p before passing it to
8246 simplify_replace_fn_rtx.
8247
d02b6ac7
JJ
8248 PR target/60568
8249 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
8250 into CONST, put pic register as first operand of PLUS. Use
8251 gen_const_mem for both 32-bit and 64-bit PIC got loads.
8252
e2f98c01
RR
82532014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8254
8255 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
8256
7075c792
EB
82572014-03-20 Eric Botcazou <ebotcazou@adacore.com>
8258
8259 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
8260 around for store forwarding issue in the FPU on the UT699.
8261 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
8262 loads and operations if -mfix-ut699 is specified.
8263 (divtf3_hq): Tweak attribute.
8264 (sqrttf2_hq): Likewise.
8265
9ee5337d
EB
82662014-03-20 Eric Botcazou <ebotcazou@adacore.com>
8267
8268 * calls.c (store_one_arg): Remove incorrect const qualification on the
8269 type of the temporary.
8270 * cfgexpand.c (expand_return): Likewise.
8271 * expr.c (expand_constructor): Likewise.
8272 (expand_expr_real_1): Likewise.
8273
a69e09c8
ZC
82742014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
8275
8276 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
8277 of parts.
8278
8659d57b
KK
82792014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
8280
8281 PR target/60039
8282 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
8283
985e0d33
JG
82842014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
8285
8286 * config/arm/aarch-common-protos.h
8287 (alu_cost_table): Fix spelling of "extend".
8288 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
8289
ce2f49b3
RB
82902014-03-19 Richard Biener <rguenther@suse.de>
8291
8292 PR middle-end/60553
8293 * tree-core.h (tree_type_common): Re-order pointer members
8294 to reduce recursion depth during GC walks.
8295
6daa2d91
MP
82962014-03-19 Marek Polacek <polacek@redhat.com>
8297
8298 PR sanitizer/60569
8299 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
8300 before accessing it.
8301
8c9cfbe6
RB
83022014-03-19 Richard Biener <rguenther@suse.de>
8303
8304 PR lto/59543
8305 * lto-streamer-in.c (input_function): In WPA stage do not drop
8306 debug stmts.
8307
3efe2e2c
JJ
83082014-03-19 Jakub Jelinek <jakub@redhat.com>
8309
8310 PR tree-optimization/60559
8311 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
8312 with build_zero_cst assignment.
8313
234f76cb
KT
83142014-03-18 Kai Tietz <ktietz@redhat.com>
8315
8316 PR rtl-optimization/56356
8317 * sdbout.c (sdbout_parms): Verify that parms'
8318 incoming argument is valid.
8319 (sdbout_reg_parms): Likewise.
8320
58ca6edf
RH
83212014-03-18 Richard Henderson <rth@redhat.com>
8322
8323 PR target/60562
8324 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
8325 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 8326 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
8327
83282014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
8329
4bb66ef3 8330 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 8331 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 8332 Italicize plugin event names in description. Explain that
429749e2
UB
8333 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
8334 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 8335 Explain what pragmas with expansion are.
b318e404 8336
eb14a79f
ML
83372014-03-18 Martin Liska <mliska@suse.cz>
8338
8339 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
8340 gimple call statement is update.
8341 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
8342 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
8343
415e2e6b
JJ
83442014-03-18 Jakub Jelinek <jakub@redhat.com>
8345
ead96f13
JJ
8346 PR sanitizer/60557
8347 * ubsan.c (ubsan_instrument_unreachable): Call
8348 initialize_sanitizer_builtins.
8349 (ubsan_pass): Likewise.
8350
415e2e6b
JJ
8351 PR sanitizer/60535
8352 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
8353 varpool_finalize_decl instead of rest_of_decl_compilation.
8354
4ca40f52
RB
83552014-03-18 Richard Biener <rguenther@suse.de>
8356
8357 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
8358 by using bitmap_and_compl instead of bitmap_and_compl_into.
8359 (df_rd_transfer_function): Likewise.
8360
6404e190
RB
83612014-03-18 Richard Biener <rguenther@suse.de>
8362
8363 * doc/lto.texi (fresolution): Fix typo.
8364
b9abf793
RB
83652014-03-18 Richard Biener <rguenther@suse.de>
8366
8367 * doc/invoke.texi (flto): Update for changes in 4.9.
8368
3f00cf18
RB
83692014-03-18 Richard Biener <rguenther@suse.de>
8370
8371 * doc/loop.texi: Remove section on the removed lambda framework.
8372 Update loop docs with recent changes in preserving loop structure.
8373
c2679d84
RB
83742014-03-18 Richard Biener <rguenther@suse.de>
8375
8376 * doc/lto.texi (-fresolution): Document.
8377
c07990cc
RB
83782014-03-18 Richard Biener <rguenther@suse.de>
8379
8380 * doc/contrib.texi: Adjust my name.
8381
ed9c79e1
JJ
83822014-03-18 Jakub Jelinek <jakub@redhat.com>
8383
8384 PR ipa/58721
8385 * internal-fn.c: Include diagnostic-core.h.
8386 (expand_BUILTIN_EXPECT): New function.
8387 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
8388 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
8389 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
8390 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
8391 IFN_BUILTIN_EXPECT.
8392 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
8393 Revert 3 argument __builtin_expect code.
8394 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
8395 * gimple-fold.c (gimple_fold_call): Likewise.
8396 * tree.h (fold_builtin_expect): New prototype.
8397 * builtins.c (build_builtin_expect_predicate): Add predictor
8398 argument, if non-NULL, create 3 argument __builtin_expect.
8399 (fold_builtin_expect): No longer static. Add ARG2 argument,
8400 pass it through to build_builtin_expect_predicate.
8401 (fold_builtin_2): Adjust caller.
8402 (fold_builtin_3): Handle BUILT_IN_EXPECT.
8403 * internal-fn.def (BUILTIN_EXPECT): New.
8404
84052014-03-18 Tobias Burnus <burnus@net-b.de>
8406
8407 PR ipa/58721
8408 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
8409 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
8410 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
8411
84122014-03-18 Jan Hubicka <hubicka@ucw.cz>
8413
8414 PR ipa/58721
8415 * predict.c (combine_predictions_for_bb): Fix up formatting.
8416 (expr_expected_value_1, expr_expected_value): Add predictor argument,
8417 fill what it points to if non-NULL.
8418 (tree_predict_by_opcode): Adjust caller, use the predictor.
8419 * predict.def (PRED_COMPARE_AND_SWAP): Add.
8420
e33da4a1
EB
84212014-03-18 Eric Botcazou <ebotcazou@adacore.com>
8422
8423 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
8424 proper constant for the store mode.
8425
1fed15fc
IE
84262014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
8427
8428 * symtab.c (change_decl_assembler_name): Fix transparent alias
8429 chain construction.
8430
454fdba9
RL
84312014-03-16 Renlin Li <Renlin.Li@arm.com>
8432
8433 * config/aarch64/aarch64.c: Correct the comments about the
8434 aarch64 stack layout.
8435
e2110f8f
TS
84362014-03-18 Thomas Schwinge <thomas@codesourcery.com>
8437
8438 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
8439 check for GF_OMP_FOR_KIND_FOR.
8440
7c831c4d
KY
84412013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
8442
8443 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
8444 ymm and zmm register names.
8445
e318c1e1
JJ
84462014-03-17 Jakub Jelinek <jakub@redhat.com>
8447
8448 PR target/60516
8449 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
8450 note creation for the 2010-08-31 changes.
8451
ab2ffbeb
MP
84522014-03-17 Marek Polacek <polacek@redhat.com>
8453
8454 PR middle-end/60534
8455 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
8456 as -fno-tree-loop-vectorize.
8457 (expand_omp_simd): Likewise.
8458
890fa568
EB
84592014-03-15 Eric Botcazou <ebotcazou@adacore.com>
8460
8461 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
8462 (eligible_for_call_delay): New prototype.
8463 * config/sparc/sparc.c (tls_call_delay): Rename into...
8464 (eligible_for_call_delay): ...this. Return false if the instruction
8465 cannot be put in the delay slot of a branch.
8466 (eligible_for_restore_insn): Simplify.
8467 (eligible_for_return_delay): Return false if the instruction cannot be
8468 put in the delay slot of a branch and simplify.
8469 (eligible_for_sibcall_delay): Return false if the instruction cannot be
8470 put in the delay slot of a branch.
8471 * config/sparc/sparc.md (fix_ut699): New attribute.
8472 (tls_call_delay): Delete.
8473 (in_call_delay): Reimplement.
8474 (eligible_for_sibcall_delay): Rename into...
8475 (in_sibcall_delay): ...this.
8476 (eligible_for_return_delay): Rename into...
8477 (in_return_delay): ...this.
8478 (in_branch_delay): Reimplement.
8479 (in_uncond_branch_delay): Delete.
8480 (in_annul_branch_delay): Delete.
8481
cfce90ac
RH
84822014-03-14 Richard Henderson <rth@redhat.com>
8483
8484 PR target/60525
8485 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
8486 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
8487 (*floathi<X87MODEF>2_i387_with_temp): Remove.
8488 (floathi splitters): Remove.
8489 (float<SWI48x>xf2): New pattern.
8490 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
8491 code that tried to handle DImode for 32-bit, but which was excluded
8492 by the pattern's condition. Drop allocation of stack temporary.
8493 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
8494 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
8495 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
8496 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
8497 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
8498 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
8499 (*float<SWI48><MODEF>2_sse_interunit): Remove.
8500 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
8501 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
8502 (*float<SWI48x><X87MODEF>2_i387): Remove.
8503 (all float _with_temp splitters): Remove.
8504 (*float<SWI48x><MODEF>2_i387): New pattern.
8505 (*float<SWI48><MODEF>2_sse): New pattern.
8506 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
8507 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
8508
91035653
JJ
85092014-03-14 Jakub Jelinek <jakub@redhat.com>
8510 Marek Polacek <polacek@redhat.com>
8511
8512 PR middle-end/60484
8513 * common.opt (dump_base_name_prefixed): New Variable.
8514 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
8515 if x_dump_base_name_prefixed is already set, set it at the end.
8516
95921002
VM
85172014-03-14 Vladimir Makarov <vmakarov@redhat.com>
8518
8519 PR rtl-optimization/60508
8520 * lra-constraints.c (get_reload_reg): Add new parameter
8521 in_subreg_p.
8522 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
8523 Pass the new parameter values.
8524
25e57622
RB
85252014-03-14 Richard Biener <rguenther@suse.de>
8526
8527 * common.opt: Revert unintented changes from r205065.
8528 * opts.c: Likewise.
8529
1f3388fe
RB
85302014-03-14 Richard Biener <rguenther@suse.de>
8531
8532 PR middle-end/60518
8533 * cfghooks.c (split_block): Properly adjust all loops the
8534 block was a latch of.
8535
85362014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
8537
8538 PR lto/60461
8539 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
8540 and simplify it.
8541
2832dc22
GJL
85422014-03-14 Georg-Johann Lay <avr@gjlay.de>
8543
8544 PR target/59396
8545 * config/avr/avr.c (avr_set_current_function): Pass function name
8546 through default_strip_name_encoding before sanity checking instead
8547 of skipping the first char of the assembler name.
8548
3386d77e
RH
85492014-03-13 Richard Henderson <rth@redhat.com>
8550
8551 PR debug/60438
8552 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
8553 (ix86_force_to_memory, ix86_free_from_memory): Remove.
8554 * config/i386/i386-protos.h: Likewise.
8555 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
8556 in the expander instead of a splitter.
8557 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
8558 any possibility of requiring a memory.
8559 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
8560 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
8561 (fp branch splitters): Update for ix86_split_fp_branch.
8562 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
8563 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
8564 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
8565 (*fop_<MODEF>_2_i387): Remove f/r alternative.
8566 (*fop_<MODEF>_3_i387): Likewise.
8567 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
8568 (splitters for the fop_* register patterns): Remove.
8569 (fscalexf4_i387): Rename from *fscalexf4_i387.
8570 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
4bb66ef3 8571
5b5d7f31
JJ
85722014-03-13 Jakub Jelinek <jakub@redhat.com>
8573
8574 PR tree-optimization/59779
8575 * tree-dfa.c (get_ref_base_and_extent): Use double_int
8576 type for bitsize and maxsize instead of HOST_WIDE_INT.
8577
bdc6e1ae
SB
85782014-03-13 Steven Bosscher <steven@gcc.gnu.org>
8579
8580 PR rtl-optimization/57320
8581 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
8582 the CFG after thread_prologue_and_epilogue_insns.
8583
7891065a
VM
85842014-03-13 Vladimir Makarov <vmakarov@redhat.com>
8585
8586 PR rtl-optimization/57189
8587 * lra-constraints.c (process_alt_operands): Disfavor spilling
8588 vector pseudos.
8589
eba14fca
CP
85902014-03-13 Cesar Philippidis <cesar@codesourcery.com>
8591
429749e2 8592 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 8593
f661b085
JJ
85942014-03-13 Jakub Jelinek <jakub@redhat.com>
8595
8596 PR tree-optimization/59025
8597 PR middle-end/60418
8598 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
8599 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
8600
8f3a3138
GJL
86012014-03-13 Georg-Johann Lay <avr@gjlay.de>
8602
8603 PR target/60486
8604 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
8605 calls of avr_out_plus_1.
8606
d731ee04
BC
86072014-03-13 Bin Cheng <bin.cheng@arm.com>
8608
8609 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
8610 BB's single pred and update the father loop's latch info later.
8611
a16a872d
MM
86122014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
8613
8614 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
8615 (VEC_M): Likewise.
8616 (VEC_N): Likewise.
8617 (VEC_R): Likewise.
8618 (VEC_base): Likewise.
8619 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
8620 registers, we need to swap double words in little endian mode.
8621
8622 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
8623 to be a container mode for 128-bit integer operations added in ISA
8624 2.07. Unlike TImode and PTImode, the preferred register set is
8625 the Altivec/VMX registers for the 128-bit operations.
8626
8627 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
8628 declarations.
8629 (rs6000_split_128bit_ok_p): Likewise.
8630
8631 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
8632 macros for creating ISA 2.07 normal and overloaded builtin
8633 functions with 3 arguments.
8634 (BU_P8V_OVERLOAD_3): Likewise.
8635 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
8636 for use as overloaded functions.
8637 (VPERM_1TI_UNS): Likewise.
8638 (VSEL_1TI): Likewise.
8639 (VSEL_1TI_UNS): Likewise.
8640 (ST_INTERNAL_1ti): Likewise.
8641 (LD_INTERNAL_1ti): Likewise.
8642 (XXSEL_1TI): Likewise.
8643 (XXSEL_1TI_UNS): Likewise.
8644 (VPERM_1TI): Likewise.
8645 (VPERM_1TI_UNS): Likewise.
8646 (XXPERMDI_1TI): Likewise.
8647 (SET_1TI): Likewise.
8648 (LXVD2X_V1TI): Likewise.
8649 (STXVD2X_V1TI): Likewise.
8650 (VEC_INIT_V1TI): Likewise.
8651 (VEC_SET_V1TI): Likewise.
8652 (VEC_EXT_V1TI): Likewise.
8653 (EQV_V1TI): Likewise.
8654 (NAND_V1TI): Likewise.
8655 (ORC_V1TI): Likewise.
8656 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
8657 added in ISA 2.07. Add both normal 'altivec' builtins, and the
8658 overloaded builtin.
8659 (VADDUQM): Likewise.
8660 (VSUBCUQ): Likewise.
8661 (VADDEUQM): Likewise.
8662 (VADDECUQ): Likewise.
8663 (VSUBEUQM): Likewise.
8664 (VSUBECUQ): Likewise.
8665
8666 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
8667 __int128_t and __uint128_t types.
8668 (__uint128_type): Likewise.
8669 (altivec_categorize_keyword): Add support for vector __int128_t,
8670 vector __uint128_t, vector __int128, and vector unsigned __int128
8671 as a container type for TImode operations that need to be done in
8672 VSX/Altivec registers.
8673 (rs6000_macro_to_expand): Likewise.
8674 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
8675 to support 128-bit integer instructions vaddcuq, vadduqm,
8676 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
8677 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
8678
8679 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
8680 for V1TImode, and set up preferences to use VSX/Altivec registers.
8681 Setup VSX reload handlers.
a16a872d
MM
8682 (rs6000_debug_reg_global): Likewise.
8683 (rs6000_init_hard_regno_mode_ok): Likewise.
8684 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 8685 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
8686 (easy_altivec_constant): Likewise.
8687 (output_vec_const_move): Likewise.
8688 (rs6000_expand_vector_set): Convert V1TImode set and extract to
8689 simple move.
8690 (rs6000_expand_vector_extract): Likewise.
8691 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
8692 addressing.
8693 (rs6000_const_vec): Add support for V1TImode.
8694 (rs6000_emit_le_vsx_load): Swap double words when loading or
8695 storing TImode/V1TImode.
8696 (rs6000_emit_le_vsx_store): Likewise.
8697 (rs6000_emit_le_vsx_move): Likewise.
8698 (rs6000_emit_move): Add support for V1TImode.
8699 (altivec_expand_ld_builtin): Likewise.
8700 (altivec_expand_st_builtin): Likewise.
8701 (altivec_expand_vec_init_builtin): Likewise.
8702 (altivec_expand_builtin): Likewise.
8703 (rs6000_init_builtins): Add support for V1TImode type. Add
8704 support for ISA 2.07 128-bit integer builtins. Define type names
8705 for the VSX/Altivec vector types.
8706 (altivec_init_builtins): Add support for overloaded vector
8707 functions with V1TImode type.
0bb29a05 8708 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
8709 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
8710 external function.
8711 (rs6000_split_128bit_ok_p): Likewise.
8712 (rs6000_handle_altivec_attribute): Create V1TImode from vector
8713 __int128_t and vector __uint128_t.
8714
8715 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
8716 and mode attributes.
8717 (VSX_M): Likewise.
8718 (VSX_M2): Likewise.
8719 (VSm): Likewise.
8720 (VSs): Likewise.
8721 (VSr): Likewise.
8722 (VSv): Likewise.
8723 (VS_scalar): Likewise.
8724 (VS_double): Likewise.
0bb29a05 8725 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 8726
0bb29a05
UB
8727 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
8728 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
8729 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
8730 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
8731 and TImode types for use with the builtin functions.
8732 (V1TI_type_node): Likewise.
8733 (unsigned_V1TI_type_node): Likewise.
8734 (intTI_type_internal_node): Likewise.
8735 (uintTI_type_internal_node): Likewise.
8736
0bb29a05
UB
8737 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
8738 128-bit builtin functions.
a16a872d
MM
8739 (UNSPEC_VADDEUQM): Likewise.
8740 (UNSPEC_VADDECUQ): Likewise.
8741 (UNSPEC_VSUBCUQ): Likewise.
8742 (UNSPEC_VSUBEUQM): Likewise.
8743 (UNSPEC_VSUBECUQ): Likewise.
8744 (VM): Add V1TImode to vector mode iterators.
8745 (VM2): Likewise.
8746 (VI_unit): Likewise.
8747 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
8748 (altivec_vaddcuq): Likewise.
8749 (altivec_vsubuqm): Likewise.
8750 (altivec_vsubcuq): Likewise.
8751 (altivec_vaddeuqm): Likewise.
8752 (altivec_vaddecuq): Likewise.
8753 (altivec_vsubeuqm): Likewise.
8754 (altivec_vsubecuq): Likewise.
8755
8756 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
8757 mode iterators.
8758 (BOOL_128): Likewise.
8759 (BOOL_REGS_OUTPUT): Likewise.
8760 (BOOL_REGS_OP1): Likewise.
8761 (BOOL_REGS_OP2): Likewise.
8762 (BOOL_REGS_UNARY): Likewise.
8763 (BOOL_REGS_AND_CR0): Likewise.
8764
8765 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
8766 128-bit integer builtin support.
8767 (vec_vadduqm): Likewise.
8768 (vec_vaddecuq): Likewise.
8769 (vec_vaddeuqm): Likewise.
8770 (vec_vsubecuq): Likewise.
8771 (vec_vsubeuqm): Likewise.
8772 (vec_vsubcuq): Likewise.
8773 (vec_vsubuqm): Likewise.
8774
8775 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
8776 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
8777 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
8778 128-bit integer add/subtract to ISA 2.07.
8779
eeac7d15
JR
87802014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
8781
8782 * config/arc/arc.c (arc_predicate_delay_insns):
8783 Fix third argument passed to conditionalize_nonjump.
8784
bf0f324e
YZ
87852014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
8786
8787 * config/aarch64/aarch64-builtins.c
8788 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
8789 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
8790 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
8791 instead of __builtin_lfloor.
8792 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
8793
bf4787b2
JJ
87942014-03-12 Jakub Jelinek <jakub@redhat.com>
8795
8796 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
8797 (tree_ssa_ifcombine_bb_1): New function.
8798 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
8799 is an empty forwarder block to then_bb or vice versa and then_bb
8800 and else_bb are effectively swapped.
8801
7d55b948
CB
88022014-03-12 Christian Bruel <christian.bruel@st.com>
8803
8804 PR target/60264
0bb29a05
UB
8805 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
8806 REG_CFA_DEF_CFA note.
7d55b948
CB
8807 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
8808 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
8809
882a5fbe
TP
88102014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
8811
8812 PR tree-optimization/60454
8813 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
8814
a3cd0246
KT
88152014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8816
8817 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
8818 Do not define target_cpu_default2 to generic.
8819 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
8820 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
8821 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
8822
c888139c
JJ
88232014-03-12 Jakub Jelinek <jakub@redhat.com>
8824 Marc Glisse <marc.glisse@inria.fr>
8825
8826 PR tree-optimization/60502
8827 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
8828 instead of build_low_bits_mask.
8829
b24ca895
JJ
88302014-03-12 Jakub Jelinek <jakub@redhat.com>
8831
8832 PR middle-end/60482
8833 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
8834 if there are multiple uses, but op doesn't live on E edge.
8835 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
8836 clobber stmts before __builtin_unreachable.
8837
f1257268
RS
88382014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
8839
8840 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
8841 hard_frame_pointer_rtx.
8842 * cse.c (cse_insn): Remove volatile check.
8843 * cselib.c (cselib_process_insn): Likewise.
8844 * dse.c (scan_insn): Likewise.
8845
bae56bbb
JR
88462014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
8847
0bb29a05
UB
8848 * config/arc/arc.c (conditionalize_nonjump): New function,
8849 broken out of ...
8850 (arc_ifcvt): ... this.
bae56bbb
JR
8851 (arc_predicate_delay_insns): Use it.
8852
167ba5b9
JR
88532014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
8854
8855 * config/arc/predicates.md (extend_operand): During/after reload,
8856 allow const_int_operand.
8857 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
8858 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
8859 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
8860 to "i".
8861 (umulsi3_highpart_i): Likewise.
8862
dfd7d2d6
RB
88632014-03-11 Richard Biener <rguenther@suse.de>
8864
8865 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
8866 Add asserts to guard possible wrong-code bugs.
8867
af1ab449
RB
88682014-03-11 Richard Biener <rguenther@suse.de>
8869
8870 PR tree-optimization/60429
8871 PR tree-optimization/60485
8872 * tree-ssa-structalias.c (set_union_with_increment): Properly
8873 take into account all fields that overlap the shifted vars.
8874 (do_sd_constraint): Likewise.
8875 (do_ds_constraint): Likewise.
8876 (get_constraint_for_ptr_offset): Likewise.
8877
747425d0
CLT
88782014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
8879
8880 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
8881 (nios2_compute_frame_layout):
8882 Add calculation of cfun->machine->fp_save_offset.
8883 (nios2_expand_prologue): Correct setting of frame pointer register
8884 in prologue.
8885 (nios2_expand_epilogue): Update recovery of stack pointer from
8886 frame pointer accordingly.
8887 (nios2_initial_elimination_offset): Update calculation of offset
8888 for eliminating to HARD_FRAME_POINTER_REGNUM.
8889
31dad809
JJ
88902014-03-10 Jakub Jelinek <jakub@redhat.com>
8891
8892 PR ipa/60457
8893 * ipa.c (symtab_remove_unreachable_nodes): Don't call
8894 cgraph_get_create_node on VAR_DECLs.
8895
3c1c08d6
RB
88962014-03-10 Richard Biener <rguenther@suse.de>
8897
8898 PR middle-end/60474
8899 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
8900
21d89690
DR
89012014-03-08 Douglas B Rupp <rupp@gnat.com>
8902
8903 * config/vms/vms.opt (vms_float_format): New variable.
8904
634b8e9b
TB
89052014-03-08 Tobias Burnus <burnus@net-b.de>
8906
0bb29a05 8907 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 8908
f42c637e
PM
89092014-03-08 Paulo Matos <paulo@matos-sorge.com>
8910 Richard Biener <rguenther@suse.de>
8911
8912 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
8913 consistently accross all TUs.
8914 (run_gcc): Enable -fshort-double automatically at link at link-time
8915 and disallow override.
8916
bd65fc87
RS
89172014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
8918
8919 PR target/58271
8920 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
8921 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
8922 if they can't be used.
8923
040c446d
RO
89242014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8925
0bb29a05
UB
8926 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
8927 for Solaris 11/x86 ld.
040c446d
RO
8928 * configure: Regenerate.
8929
caa16d41
RO
89302014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8931
8932 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
8933 (LIB_TLS_SPEC): Save as ld_tls_libs.
8934 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
8935 (HAVE_AS_IX86_TLSLDM): New test.
8936 * configure, config.in: Regenerate.
8937 * config/i386/i386.c (legitimize_tls_address): Fall back to
8938 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
8939 cannot support TLS_MODEL_LOCAL_DYNAMIC.
8940 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
8941 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
8942
f3d83ffe
PM
89432014-03-07 Paulo Matos <paulo@matos-sorge.com>
8944
8945 * common.opt (fira-loop-pressure): Mark as optimization.
8946
b17a8b07
TS
89472014-03-07 Thomas Schwinge <thomas@codesourcery.com>
8948
8949 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
8950 an OpenMP mappable type.
8951
4973b0f9
MK
89522014-03-06 Matthias Klose <doko@ubuntu.com>
8953
8954 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
8955 MULTILIB_OSDIRNAMES is not defined.
8956
ab19cc6c
JJ
89572014-03-06 Jakub Jelinek <jakub@redhat.com>
8958 Meador Inge <meadori@codesourcery.com>
8959
8960 PR target/58595
8961 * config/arm/arm.c (arm_tls_symbol_p): Remove.
8962 (arm_legitimize_address): Call legitimize_tls_address for any
8963 arm_tls_referenced_p expression, handle constant addend. Call it
8964 before testing for !TARGET_ARM.
8965 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
8966
a74158c7
RB
89672014-03-06 Richard Biener <rguenther@suse.de>
8968
8969 PR middle-end/60445
8970 PR lto/60424
8971 PR lto/60427
8972 Revert
8973 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
8974
0bb29a05
UB
8975 * tree-streamer.c (record_common_node): Assert we don't record
8976 nodes with type double.
8977 (preload_common_node): Skip type double, complex double and double
8978 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 8979
f3ba16d0
RB
89802014-03-06 Richard Biener <rguenther@suse.de>
8981
8982 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
8983 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
8984 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
8985 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
8986 * lto-wrapper.c (merge_and_complain): Merge compile-time
8987 optimization levels.
8988 (run_gcc): And pass it through to the link options.
8989
4bb66ef3 89902014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
8991
8992 PR debug/60381
8993 Revert:
4bb66ef3 8994 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
8995 PR debug/59992
8996 * cselib.c (remove_useless_values): Skip to avoid quadratic
8997 behavior if the condition moved from...
8998 (cselib_process_insn): ... here holds.
8999
a05cca9b
JJ
90002014-03-05 Jakub Jelinek <jakub@redhat.com>
9001
487125e7
JJ
9002 PR plugins/59335
9003 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
9004 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
9005
a05cca9b
JJ
9006 PR plugins/59335
9007 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
9008 (TM_H): Add x86-tune.def.
9009
4e2cd668
KT
90102014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9011
9012 * config/aarch64/aarch64.c (generic_tunings):
9013 Use cortexa57_extra_costs.
9014
5525ed38
JJ
90152014-03-05 Jakub Jelinek <jakub@redhat.com>
9016
9017 PR lto/60404
9018 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
9019 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
9020 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
9021 cost for in_lto_p.
9022
0c72fa78
H
90232014-03-04 Heiher <r@hev.cc>
9024
9025 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
9026 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
9027
66b03f81
UB
90282014-03-04 Uros Bizjak <ubizjak@gmail.com>
9029
9030 * config/i386/predicates.md (const2356_operand): Change to ...
9031 (const2367_operand): ... this.
9032 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
9033 const2367_operand.
9034 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
9035 (*avx512pf_scatterpf<mode>sf): Ditto.
9036 (avx512pf_scatterpf<mode>df): Ditto.
9037 (*avx512pf_scatterpf<mode>df_mask): Ditto.
9038 (*avx512pf_scatterpf<mode>df): Ditto.
9039 * config/i386/i386.c (ix86_expand_builtin): Update
9040 incorrect hint operand error message.
9041
3c24e842
RB
90422014-03-04 Richard Biener <rguenther@suse.de>
9043
9044 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 9045
3740bda6
PM
90462014-03-04 Paulo Matos <paulo@matos-sorge.com>
9047
0bb29a05
UB
9048 * tree-streamer.c (record_common_node): Assert we don't record
9049 nodes with type double.
9050 (preload_common_node): Skip type double, complex double and double
9051 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 9052
91856735
RB
90532014-03-04 Richard Biener <rguenther@suse.de>
9054
9055 PR lto/60405
66b03f81 9056 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
9057 (lto_input_toplevel_asms): Likewise.
9058 * lto-section-in.c (lto_get_section_data): Instead do it here
9059 for every section.
66b03f81 9060
b75f28e1
RB
90612014-03-04 Richard Biener <rguenther@suse.de>
9062
9063 PR tree-optimization/60382
9064 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
9065 dead PHIs a reduction.
9066
dd96e83a
UB
90672014-03-03 Uros Bizjak <ubizjak@gmail.com>
9068
9069 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
9070 hint value.
9071 (_mm_prefetch): Move out of GCC target("sse") pragma.
9072 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
9073 GCC target("prfchw") pragma.
9074 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
9075 for locality <= 2.
9076 * config/i386/i386.c (ix86_option_override_internal): Enable
9077 -mprfchw with -mprefetchwt1.
9078
220c1a51
JR
90792014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
9080
9081 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
9082 Mark as varying.
9083
212bfe71
JR
90842014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
9085
9086 * opts.h (CL_PCH_IGNORE): Define.
9087 * targhooks.c (option_affects_pch_p):
9088 Return false for options that have CL_PCH_IGNORE set.
9089 * opt-functions.awk: Process PchIgnore.
9090 * doc/options.texi: Document PchIgnore.
9091
7a3d0a39
JR
9092 * config/arc/arc.opt (misize): Add PchIgnore property.
9093
b46ed885
BS
90942014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9095
9096 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
9097 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
9098 constraint on constants to permit them being loaded into
9099 GENERAL_REGS or BASE_REGS.
9100
c6f709ec
NC
91012014-03-03 Nick Clifton <nickc@redhat.com>
9102
9103 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
9104 anti-cacnonical alternatives.
9105 (negandhi3_real): New pattern.
9106 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
9107
5752f78f
SKS
91082014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
9109
9110 * config/avr/avr-mcus.def: Remove atxmega16x1.
9111 * config/avr/avr-tables.opt: Regenerate.
9112 * config/avr/t-multilib: Regenerate.
9113 * doc/avr-mmcu.texi: Regenerate.
9114
0afe7332 91152014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 9116 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
9117
9118 PR tree-optimization/58028
9119 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
9120 scalar dimensions.
9121
3416dd87
RR
91222014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9123
9124 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
9125 not handled by recognizers.
9126
79c7fda6
JJ
91272014-03-03 Jakub Jelinek <jakub@redhat.com>
9128
9129 PR middle-end/60175
9130 * function.c (expand_function_end): Don't emit
9131 clobber_return_register sequence if clobber_after is a BARRIER.
9132 * cfgexpand.c (construct_exit_block): Append instructions before
9133 return_label to prev_bb.
9134
715a5c85
BS
91352014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9136
9137 * config/rs6000/constraints.md: Document reserved use of "wc".
9138
9ffbf271
JH
91392014-03-02 Jan Hubicka <hubicka@ucw.cz>
9140
9141 PR ipa/60150
9142 * ipa.c (function_and_variable_visibility): When dissolving comdat
9143 group, also set all symbols to local.
9144
993df21e 91452014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 9146
993df21e
JH
9147 PR ipa/60306
9148
9149 Revert:
40c0a159 9150 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
9151 PR middle-end/58477
9152 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 9153
9b0af790
JB
91542014-03-02 Jon Beniston <jon@beniston.com>
9155
9156 PR bootstrap/48230
9157 PR bootstrap/50927
9158 PR bootstrap/52466
9159 PR target/46898
9160 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 9161 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 9162 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 9163 (simple_return, *simple_return): New patterns
9b0af790
JB
9164 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
9165 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
9166
c582aac9
PC
91672014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
9168
9169 * dwarf2out.c (gen_subprogram_die): Tidy.
9170
19305875
OE
91712014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
9172
9173 PR target/60071
9174 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
9175 (*mov_t_msb_neg_negc): ... this new insn.
9176
570215f9
JM
91772014-02-28 Jason Merrill <jason@redhat.com>
9178
9179 PR c++/58678
9180 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
9181 function.
9182
c5b001b5
PC
91832014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
9184
9185 PR c++/60314
9186 * dwarf2out.c (decltype_auto_die): New static.
9187 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
9188 (gen_type_die_with_usage): Handle 'decltype(auto)'.
9189 (is_cxx_auto): Likewise.
9190
5750e120
IB
91912014-02-28 Ian Bolton <ian.bolton@arm.com>
9192
9193 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
9194 we are not using general regs only.
9195
fba7c564
RB
91962014-02-28 Richard Biener <rguenther@suse.de>
9197
9198 PR target/60280
9199 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
9200 previous fix and only allow to remove trivial pre-headers
9201 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 9202 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 9203
4bb66ef3 92042014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
9205
9206 PR debug/59992
9207 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
9208 (cselib_preserved_hash_table): New.
9209 (preserve_constants_and_equivs): Move preserved vals to it.
9210 (cselib_find_slot): Look it up first.
9211 (cselib_init): Initialize it.
9212 (cselib_finish): Release it.
9213 (dump_cselib_table): Dump it.
9214
4bb66ef3 92152014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
9216
9217 PR debug/59992
9218 * cselib.c (remove_useless_values): Skip to avoid quadratic
9219 behavior if the condition moved from...
9220 (cselib_process_insn): ... here holds.
9221
4bb66ef3 92222014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
9223
9224 PR debug/57232
9225 * var-tracking.c (vt_initialize): Apply the same condition to
9226 preserve the CFA base value.
9227
9910c53c
JY
92282014-02-28 Joey Ye <joey.ye@arm.com>
9229
9230 PR target/PR60169
9231 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
9232 if reload in progress or completed.
9233
ef271341
TB
92342014-02-28 Tobias Burnus <burnus@net-b.de>
9235
9236 PR middle-end/60147
9237 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
9238 NAMELIST_DECL.
9239
c4f6267b
L
92402014-02-27 H.J. Lu <hongjiu.lu@intel.com>
9241
9242 * doc/tm.texi.in (Condition Code Status): Update documention for
9243 relative locations of cc0-setter and cc0-user.
9244
7a76df7f
JL
92452014-02-27 Jeff Law <law@redhat.com>
9246
9247 PR rtl-optimization/52714
9248 * combine.c (try_combine): When splitting an unrecognized PARALLEL
9249 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 9250 pattern we place into I3 is a (set (pc) ...).
7a76df7f 9251
728acca0
MP
92522014-02-27 Mikael Pettersson <mikpe@it.uu.se>
9253 Jeff Law <law@redhat.com>
9254
9255 PR rtl-optimization/49847
9256 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
9257 are in different blocks.
9258 * doc/tm.texi (Condition Code Status): Update documention for
9259 relative locations of cc0-setter and cc0-user.
9260
93aaa05d
VM
92612014-02-27 Vladimir Makarov <vmakarov@redhat.com>
9262
9263 PR target/59222
9264 * lra.c (lra_emit_add): Check SUBREG too.
9265
1ee6eb01
AS
92662014-02-27 Andreas Schwab <schwab@suse.de>
9267
9268 * config/m68k/m68k.c (m68k_option_override): Disable
9269 -flive-range-shrinkage for classic m68k.
9270 (m68k_override_options_after_change): Likewise.
9271
bb0d8e84
MP
92722014-02-27 Marek Polacek <polacek@redhat.com>
9273
9274 PR middle-end/59223
9275 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
9276 -Wmaybe-uninitialized.
9277
3157b879
AM
92782014-02-27 Alan Modra <amodra@gmail.com>
9279
3e17cad2 9280 PR target/57936
3157b879
AM
9281 * reload1.c (emit_input_reload_insns): When reload_override_in,
9282 set old to rl->in_reg when rl->in_reg is a subreg.
9283
bb750f4f
RB
92842014-02-26 Richard Biener <rguenther@suse.de>
9285
9286 PR bootstrap/60343
9287 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
9288
22c8aab3
IT
92892014-02-25 Ilya Tocar <ilya.tocar@intel.com>
9290
9291 * common/config/i386/predicates.md (const1256_operand): Remove.
9292 (const2356_operand): New.
9293 (const_1_to_2_operand): Remove.
9294 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
9295 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
9296 (*avx512pf_gatherpf<mode>sf): Ditto.
9297 (avx512pf_gatherpf<mode>df): Ditto.
9298 (*avx512pf_gatherpf<mode>df_mask): Ditto.
9299 (*avx512pf_gatherpf<mode>df): Ditto.
9300 (avx512pf_scatterpf<mode>sf): Ditto.
9301 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
9302 (*avx512pf_scatterpf<mode>sf): Ditto.
9303 (avx512pf_scatterpf<mode>df): Ditto.
9304 (*avx512pf_scatterpf<mode>df_mask): Ditto.
9305 (*avx512pf_scatterpf<mode>df): Ditto.
9306 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
9307
260d3642
IT
93082014-02-26 Ilya Tocar <ilya.tocar@intel.com>
9309
9310 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
9311 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
9312 (_mm512_mask_testn_epi64_mask): Move to ...
9313 * config/i386/avx512cdintrin.h: Here.
9314 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
9315 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
9316 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
9317 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
9318 TARGET_AVX512F from TARGET_AVX512CD.
9319
477145c8
RB
93202014-02-26 Richard Biener <rguenther@suse.de>
9321
9322 PR ipa/60327
9323 * ipa.c (walk_polymorphic_call_targets): Properly guard
9324 call to inline_update_overall_summary.
9325
a3afdbb8
BC
93262014-02-26 Bin Cheng <bin.cheng@arm.com>
9327
9328 PR target/60280
84d7e312
UB
9329 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
9330 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
9331 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
9332 LOOPS_HAVE_PREHEADERS.
9333
b8a542c6
AP
93342014-02-25 Andrew Pinski <apinski@cavium.com>
9335
9336 * builtins.c (expand_builtin_thread_pointer): Create a new target
9337 when the target is NULL.
9338
88def637
VM
93392014-02-25 Vladimir Makarov <vmakarov@redhat.com>
9340
9341 PR rtl-optimization/60317
9342 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
9343 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
9344 * lra-assigns.c: Include params.h.
9345 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
9346 other reload pseudos considerations.
9347
68908a06
BS
93482014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9349
cf36d2cc
WS
9350 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
9351 to use canonical form for nor<mode>3.
68908a06 9352
db57bbc9
KT
93532014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9354
9355 PR target/55426
9356 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
9357 conversions.
9358
43b3f52f
IT
93592014-02-25 Ilya Tocar <ilya.tocar@intel.com>
9360
9361 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
9362 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
9363 (ix86_handle_option): Handle OPT_mprefetchwt1.
9364 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
9365 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
9366 PREFETCHWT1 CPUID.
9367 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
9368 OPTION_MASK_ISA_PREFETCHWT1.
9369 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
9370 (PTA_PREFETCHWT1): New.
9371 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
9372 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 9373 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
9374 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
9375 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 9376 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
9377 * config/i386/i386.opt (mprefetchwt1): New.
9378 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
9379 (_mm_prefetch): Handle intent to write.
9380 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
9381
84053e02
RB
93822014-02-25 Richard Biener <rguenther@suse.de>
9383
9384 PR middle-end/60291
9385 * emit-rtl.c (mem_attrs_htab): Remove.
9386 (mem_attrs_htab_hash): Likewise.
9387 (mem_attrs_htab_eq): Likewise.
84d7e312 9388 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
9389 (init_emit_once): Do not allocate mem_attrs_htab.
9390
4094757e
RB
93912014-02-25 Richard Biener <rguenther@suse.de>
9392
9393 PR lto/60319
9394 * lto-opts.c (lto_write_options): Output non-explicit conservative
9395 -fwrapv, -fno-trapv and -fno-strict-overflow.
9396 * lto-wrapper.c (merge_and_complain): Handle merging those options.
9397 (run_gcc): And pass them through.
9398
41b2d514 93992014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 9400
41b2d514
AB
9401 * sel-sched.c (calculate_new_fences): New parameter ptime.
9402 Calculate it as a maximum over all fence cycles.
9403 (sel_sched_region_2): Adjust the call to calculate_new_fences.
9404 Print the final schedule timing when sched_verbose.
9405
c1c99405
AB
94062014-02-25 Andrey Belevantsev <abel@ispras.ru>
9407
9408 PR rtl-optimization/60292
9409 * sel-sched.c (fill_vec_av_set): Do not reset target availability
9410 bit fot the fence instruction.
9411
1d9def42
AD
94122014-02-24 Alangi Derick <alangiderick@gmail.com>
9413
9414 * calls.h: Fix typo in comment.
9415
325fefe0
JDA
94162014-02-24 John David Anglin <danglin@gcc.gnu.org>
9417
9418 * config/pa/pa.c (pa_output_move_double): Don't valididate when
9419 adjusting offsetable addresses.
9420
ad43b47a
GW
94212014-02-24 Guozhi Wei <carrot@google.com>
9422
9423 * sparseset.h (sparseset_pop): Fix the wrong index.
9424
341c653c
WL
94252014-02-24 Walter Lee <walt@tilera.com>
9426
9427 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
9428 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
9429 triplet.
9430 * common/config/tilegx/tilegx-common.c
9431 (TARGET_DEFAULT_TARGET_FLAGS): Define.
9432 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
9433 (LINK_SPEC): Ditto.
9434 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
9435 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
9436 (tilegx_gimplify_va_arg_expr): Handle big endian.
9437 (tilegx_expand_unaligned_load): Ditto.
9438 (tilegx_expand_unaligned_store): Ditto.
9439 (TARGET_RETURN_IN_MSB): New.
9440 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
9441 (TARGET_ENDIAN_DEFAULT): New.
9442 (TARGET_BIG_ENDIAN): Handle big endian.
9443 (BYTES_BIG_ENDIAN): Ditto.
9444 (WORDS_BIG_ENDIAN): Ditto.
9445 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
9446 (ENDIAN_SPEC): New.
9447 (EXTRA_SPECS): New.
9448 * config/tilegx/tilegx.md (extv): Handle big endian.
9449 (extzv): Ditto.
9450 (insn_st<n>): Ditto.
9451 (insn_st<n>_add<bitsuffix>): Ditto.
9452 (insn_stnt<n>): Ditto.
9453 (insn_stnt<n>_add<bitsuffix>):Ditto.
9454 (vec_interleave_highv8qi): Handle big endian.
9455 (vec_interleave_highv8qi_be): New.
9456 (vec_interleave_highv8qi_le): New.
9457 (insn_v1int_h): Handle big endian.
9458 (vec_interleave_lowv8qi): Handle big endian.
9459 (vec_interleave_lowv8qi_be): New.
9460 (vec_interleave_lowv8qi_le): New.
9461 (insn_v1int_l): Handle big endian.
9462 (vec_interleave_highv4hi): Handle big endian.
9463 (vec_interleave_highv4hi_be): New.
9464 (vec_interleave_highv4hi_le): New.
9465 (insn_v2int_h): Handle big endian.
9466 (vec_interleave_lowv4hi): Handle big endian.
9467 (vec_interleave_lowv4hi_be): New.
9468 (vec_interleave_lowv4hi_le): New.
9469 (insn_v2int_l): Handle big endian.
9470 (vec_interleave_highv2si): Handle big endian.
9471 (vec_interleave_highv2si_be): New.
9472 (vec_interleave_highv2si_le): New.
9473 (insn_v4int_h): Handle big endian.
9474 (vec_interleave_lowv2si): Handle big endian.
9475 (vec_interleave_lowv2si_be): New.
9476 (vec_interleave_lowv2si_le): New.
9477 (insn_v4int_l): Handle big endian.
9478 * config/tilegx/tilegx.opt (mbig-endian): New option.
9479 (mlittle-endian): New option.
9480 * doc/install.texi: Document tilegxbe-linux.
9481 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
9482
f3fec19f
MJ
94832014-02-24 Martin Jambor <mjambor@suse.cz>
9484
9485 PR ipa/60266
9486 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
9487 there are no parameter descriptors.
9488
9039622a
AB
94892014-02-24 Andrey Belevantsev <abel@ispras.ru>
9490
9491 PR rtl-optimization/60268
9492 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
9493 initialization to ...
9494 (sched_rgn_init): ... here.
9495 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
9496
4bb66ef3 94972014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 9498
9039622a
AB
9499 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
9500 names.
e7e7bc4b 9501
4bb66ef3 95022014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
9503
9504 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
9505 definition.
9506
4bb66ef3 95072014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 9508
84d7e312
UB
9509 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
9510 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 9511
4bb66ef3 95122014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
9513
9514 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 9515 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 9516 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 9517 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
9518 to microblaze_expand_conditional_branch and consolidate logic.
9519 (microblaze_expand_conditional_branch): emit branch_compare
9520 insn instead of handling cmp op separate from branch insn.
9521
34c25d23
BS
95222014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9523
9524 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
9525 to permit subregs.
9526
a6eecdc1
BS
95272014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9528
d5a19af1
DH
9529 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
9530 define_insn with define_expand and new define_insn
9531 *altivec_lve<VI_char>x_internal.
9532 (altivec_stve<VI_char>x): Replace define_insn with define_expand
9533 and new define_insn *altivec_stve<VI_char>x_internal.
9534 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
9535 prototype.
9536 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
9537 lve*x built-ins.
9538 (altivec_expand_stvex_be): New function.
a6eecdc1 9539
8aa7d1fc
JR
95402014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
9541
9542 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 9543 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
9544 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
9545 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
9546
a810ee82
VM
95472014-02-21 Vladimir Makarov <vmakarov@redhat.com>
9548
9549 PR target/60298
9550 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
9551 instead of emit_move_insn.
9552
b90ab1ba
BS
95532014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9554
9555 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
9556 vspltw with vsldoi.
9557 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
9558 gen_altivec_vsumsws.
9559
1af73690
WS
95602014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9561
9562 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 9563 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
9564 (altivec_lvxl_<mode>): New define_expand incorporating
9565 -maltivec=be semantics where needed.
9566 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
9567 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
9568 semantics where needed.
9569 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
9570 (altivec_stvx_<mode>): New define_expand incorporating
9571 -maltivec=be semantics where needed.
9572 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
9573 VM2 iterator instead of V4SI.
9574 (altivec_stvxl_<mode>): New define_expand incorporating
9575 -maltivec=be semantics where needed.
9576 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
9577 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
9578 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
9579 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
9580 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
9581 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
9582 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
9583 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
9584 ALTIVEC_BUILTIN_STVXL.
84d7e312 9585 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
9586 (altivec_expand_stvx_be): Likewise.
9587 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
9588 (altivec_expand_lvx_be): Likewise.
9589 (altivec_expand_stvx_be): Likewise.
9590 (altivec_expand_builtin): Add cases for
9591 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
9592 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
9593 (altivec_init_builtins): Add definitions for
9594 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 9595 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 9596
0a39d07b
CM
95972014-02-21 Catherine Moore <clm@codesourcery.com>
9598
9599 * doc/invoke.texi (mvirt, mno-virt): Document.
9600 * config/mips/mips.opt (mvirt): New option.
9601 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
9602
f2556b68
RB
96032014-02-21 Richard Biener <rguenther@suse.de>
9604
9605 PR tree-optimization/60276
9606 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
9607 (STMT_VINFO_MIN_NEG_DIST): New macro.
9608 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
9609 STMT_VINFO_MIN_NEG_DIST.
9610 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
9611 made for negative dependence distances still hold.
9612
32417082
RB
96132014-02-21 Richard Biener <rguenther@suse.de>
9614
9615 PR middle-end/60291
9616 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
9617 DECL_INITIAL for globals not in the current function context.
9618
92261ce0
JJ
96192014-02-21 Jakub Jelinek <jakub@redhat.com>
9620
9621 PR tree-optimization/56490
9622 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
9623 * tree-ssa-uninit.c: Include params.h.
9624 (compute_control_dep_chain): Add num_calls argument, return false
9625 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
9626 num_calls to recursive call.
9627 (find_predicates): Change dep_chain into normal array,
9628 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
9629 variable and adjust compute_control_dep_chain caller.
9630 (find_def_preds): Likewise.
9631
aa6ef874
TS
96322014-02-21 Thomas Schwinge <thomas@codesourcery.com>
9633
9634 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
9635 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
9636
4b156fd0
NC
96372014-02-21 Nick Clifton <nickc@redhat.com>
9638
9639 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
9640 (pushhi1): Likewise.
9641 (popqi1): Add mode to pre_dec.
9642 (pophi1): Likewise.
9643
dffd569e
JJ
96442014-02-21 Jakub Jelinek <jakub@redhat.com>
9645
9646 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
9647 mode for mask of V8SFmode permutation.
9648
2fdc29e8
RH
96492014-02-20 Richard Henderson <rth@redhat.com>
9650
9651 PR c++/60272
9652 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
9653 a new pseudo for OLDVAL.
9654
aa637f66
JJ
96552014-02-20 Jakub Jelinek <jakub@redhat.com>
9656
9657 PR target/57896
9658 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
9659 gen_reg_rtx if d->testing_p.
9660 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
9661 if d->testing_p and we will certainly return true.
9662 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
9663 if d->testing_p.
9664
004a7e45
UB
96652014-02-20 Uros Bizjak <ubizjak@gmail.com>
9666
9667 * emit-rtl.c (gen_reg_rtx): Assert that
9668 crtl->emit.regno_pointer_align_length is non-zero.
9669
96702014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
9671
9672 PR c++/60272
9673 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
9674 on failure the store back into EXPECT.
9675
95ce7613
CLT
96762014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
9677 Sandra Loosemore <sandra@codesourcery.com>
9678
9679 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
9680 * config/nios2/nios2.c (nios2_function_profiler): Add
9681 -fPIC (flag_pic == 2) support.
95ce7613
CLT
9682 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
9683 (nios2_large_offset_p): New function.
9684 (nios2_unspec_reloc_p): Move up position, update to use
9685 nios2_large_offset_p.
9686 (nios2_unspec_address): Remove function.
9687 (nios2_unspec_offset): New function.
9688 (nios2_large_got_address): New function.
9689 (nios2_got_address): Add large offset support.
9690 (nios2_legitimize_tls_address): Update usage of removed and new
9691 functions.
9692 (nios2_symbol_binds_local_p): New function.
9693 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
9694 (nios2_legitimize_address): Update to use nios2_large_offset_p.
9695 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
9696 (nios2_print_operand): Merge H/L processing, add hiadj/lo
9697 processing for (const (unspec ...)).
9698 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
9699
efd2d3c8
RB
97002014-02-20 Richard Biener <rguenther@suse.de>
9701
9702 * tree-cfg.c (replace_uses_by): Mark altered BBs before
9703 doing the substitution.
004a7e45 9704 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 9705
9576e7b1
MJ
97062014-02-20 Martin Jambor <mjambor@suse.cz>
9707
9708 PR ipa/55260
9709 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
9710 info when checking whether lattices are bottom.
9711
25fe40b0
RB
97122014-02-20 Richard Biener <rguenther@suse.de>
9713
9714 PR middle-end/60221
9715 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
9716 regions at -O0.
9717
bd936951
JH
97182014-02-20 Jan Hubicka <hubicka@ucw.cz>
9719
9720 PR ipa/58555
004a7e45
UB
9721 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
9722 parameter specifying the scaling.
bd936951
JH
9723 (inline_call): Update.
9724 (want_inline_recursively): Guard division by zero.
9725 (recursive_inlining): Update.
9726 * ipa-inline.h (clone_inlined_nodes): Update.
9727
3c898e1a
IT
97282014-02-20 Ilya Tocar <ilya.tocar@intel.com>
9729
9730 PR target/60204
9731 * config/i386/i386.c (classify_argument): Pass structures of size
9732 64 bytes or less in register.
9733
df62b4af 97342014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 9735 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
9736
9737 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
9738 (_mm_rcp28_round_ss): Ditto.
9739 (_mm_rsqrt28_round_sd): Ditto.
9740 (_mm_rsqrt28_round_ss): Ditto.
9741 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
9742 (_mm_rcp14_round_ss): Ditto.
9743 (_mm_rsqrt14_round_sd): Ditto.
9744 (_mm_rsqrt14_round_ss): Ditto.
9745 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
9746 the first input operand, get rid of match_dup.
9747 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
9748 attribute to sse.
9749 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
9750 Ditto.
9751 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
9752 operand as the first input operand, set type attribute.
9753 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
9754 Set type attribute.
9755 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
9756 operand as the first input operand, set type attribute.
9757
9254148e
BS
97582014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9759
9760 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
9761 bit of zero.
9762
fff91793
L
97632014-02-19 H.J. Lu <hongjiu.lu@intel.com>
9764
9765 PR target/60207
9766 * config/i386/i386.c (construct_container): Remove TFmode check
9767 for X86_64_INTEGER_CLASS.
9768
6aa5b4b8
UB
97692014-02-19 Uros Bizjak <ubizjak@gmail.com>
9770
9771 PR target/59794
9772 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
9773 only when -Wpsabi is enabled.
9774
aadc1c43
MHD
97752014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
9776
9777 PR target/59799
9778 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
9779 passing arrays in registers are the same as for structs, so remove the
9780 special case for them.
9781
322913f8
EB
97822014-02-19 Eric Botcazou <ebotcazou@adacore.com>
9783
9784 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
9785 destination type, extract only the valid bits if the source type is not
9786 integral and has a different mode.
9787
fd9710dc
RB
97882014-02-19 Richard Biener <rguenther@suse.de>
9789
9790 PR ipa/60243
9791 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
9792 for all calls.
9793
4df65a85
RB
97942014-02-19 Richard Biener <rguenther@suse.de>
9795
9796 PR ipa/60243
9797 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
9798 (ipa_modify_call_arguments): Emit an argument load explicitely and
9799 preserve virtual SSA form there and for the replacement call.
9800 Do not update SSA form nor free dominance info.
9801
7fea98d8
JH
98022014-02-18 Jan Hubicka <hubicka@ucw.cz>
9803
9804 * ipa.c (function_and_variable_visibility): Also clear WEAK
9805 flag when disolving COMDAT_GROUP.
9806
0a2550e7
JH
98072014-02-18 Jan Hubicka <hubicka@ucw.cz>
9808
9809 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
9810 * ipa-prop.c (ipa_set_jf_known_type): Return early when
9811 not devirtualizing.
9812 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
9813 do more sanity checks.
9814 (detect_type_change): Return true when giving up early.
9815 (compute_complex_assign_jump_func): Fix type parameter of
9816 ipa_set_ancestor_jf.
9817 (compute_complex_ancestor_jump_func): Likewise.
9818 (update_jump_functions_after_inlining): Fix updating of
9819 ancestor function.
6aa5b4b8 9820 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 9821
2dbe8b70
JH
98222014-02-18 Jan Hubicka <hubicka@ucw.cz>
9823
9824 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
9825 inline clones when edge disappears.
9826
b9809dc4
MM
98272014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
9828
9829 PR target/60203
9830 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
9831 Split 64-bit moves into 2 patterns. Do not allow the use of
9832 direct move for TDmode in little endian, since the decimal value
9833 has little endian bytes within a word, but the 64-bit pieces are
9834 ordered in a big endian fashion, and normal subreg's of TDmode are
9835 not allowed.
9836 (mov<mode>_64bit_dm): Likewise.
9837 (movtd_64bit_nodm): Likewise.
9838
bababbfb
EB
98392014-02-18 Eric Botcazou <ebotcazou@adacore.com>
9840
9841 PR tree-optimization/60174
9842 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
9843 statement of an SSA_NAME that occurs in an abnormal PHI node.
9844
70aacc97
JJ
98452014-02-18 Jakub Jelinek <jakub@redhat.com>
9846
9847 PR sanitizer/60142
9848 * final.c (SEEN_BB): Remove.
9849 (SEEN_NOTE, SEEN_EMITTED): Renumber.
9850 (final_scan_insn): Don't force_source_line on second
9851 NOTE_INSN_BASIC_BLOCK.
9852
223cdd15
UB
98532014-02-18 Uros Bizjak <ubizjak@gmail.com>
9854
9855 PR target/60205
9856 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
9857 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
9858 (type_natural_mode): Warn ABI change when %zmm register is not
9859 available for AVX512F vector value passing.
9860
48810be0
KT
98612014-02-18 Kai Tietz <ktietz@redhat.com>
9862
9863 PR target/60193
223cdd15
UB
9864 * config/i386/i386.c (ix86_expand_prologue): Use value in
9865 rax register as displacement when restoring %r10 or %rax.
9866 Fix wrong offset when restoring both registers.
48810be0 9867
20afe640
EB
98682014-02-18 Eric Botcazou <ebotcazou@adacore.com>
9869
9870 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
9871 assertion with conditional return.
9872
d0b50387
JJ
98732014-02-18 Jakub Jelinek <jakub@redhat.com>
9874 Uros Bizjak <ubizjak@gmail.com>
9875
9876 PR driver/60233
9877 * config/i386/driver-i386.c (host_detect_local_cpu): If
9878 YMM state is not saved by the OS, also clear has_f16c. Move
9879 CPUID 0x80000001 handling before YMM state saving checking.
9880
c4cd7435
AB
98812014-02-18 Andrey Belevantsev <abel@ispras.ru>
9882
9883 PR rtl-optimization/58960
9884 * haifa-sched.c (alloc_global_sched_pressure_data): New,
9885 factored out from ...
9886 (sched_init): ... here.
9887 (free_global_sched_pressure_data): New, factored out from ...
9888 (sched_finish): ... here.
9889 * sched-int.h (free_global_sched_pressure_data): Declare.
9890 * sched-rgn.c (nr_regions_initial): New static global.
9891 (haifa_find_rgns): Initialize it.
9892 (schedule_region): Disable sched-pressure for the newly
9893 generated regions.
9894
f0281fde
RB
98952014-02-17 Richard Biener <rguenther@suse.de>
9896
9897 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
9898 release SSA defs of pattern stmts.
9899
c742772c
RB
99002014-02-17 Richard Biener <rguenther@suse.de>
9901
9902 * tree-inline.c (expand_call_inline): Release the virtual
9903 operand defined by the call we are about to inline.
9904
0492158e
RB
99052014-02-17 Richard Biener <rguenther@suse.de>
9906
9907 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
9908
583a9919
KY
99092014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
9910 Ilya Tocar <ilya.tocar@intel.com>
9911
9912 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
9913 arguments order in builtin.
9914 (_mm512_permutexvar_epi64): Ditto.
9915 (_mm512_mask_permutexvar_epi64): Ditto
9916 (_mm512_maskz_permutexvar_epi32): Ditto
9917 (_mm512_permutexvar_epi32): Ditto
9918 (_mm512_mask_permutexvar_epi32): Ditto
9919
d737743f
BS
99202014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9921
223cdd15 9922 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
9923 (p8_vmrgow): Likewise.
9924
54c4bfd7
BS
99252014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9926
9927 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
9928 endian targets.
9929
518fea64
MM
99302014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
9931
9932 PR target/60203
9933 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
9934 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
9935 into 64-bit and 32-bit moves. On 64-bit moves, add support for
9936 using direct move instructions on ISA 2.07. Also adjust
9937 instruction length for 64-bit.
9938 (mov<mode>_64bit, TFmode/TDmode): Likewise.
9939 (mov<mode>_32bit, TFmode/TDmode): Likewise.
9940
61640916
AM
99412014-02-15 Alan Modra <amodra@gmail.com>
9942
9943 PR target/58675
9944 PR target/57935
9945 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
9946 find_replacement on parts of insn rtl that might be reloaded.
9947
a2b33cc3
RB
99482014-02-15 Richard Biener <rguenther@suse.de>
9949
9950 PR tree-optimization/60183
223cdd15 9951 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
9952 (tree_ssa_phiprop): Calculate and free post-dominators.
9953
059742a4
JL
99542014-02-14 Jeff Law <law@redhat.com>
9955
9956 PR rtl-optimization/60131
9957 * ree.c (get_extended_src_reg): New function.
223cdd15 9958 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
9959 (find_and_remove_re): Verify first operand of extension is
9960 a REG before adding the insns to the copy list.
9961
88f7c49a
RM
99622014-02-14 Roland McGrath <mcgrathr@google.com>
9963
9964 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
9965 * configure: Regenerated.
9966 * config.in: Regenerated.
9967 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
9968 instead of ASM_SHORT.
9969
2ae577fd
VM
99702014-02-14 Vladimir Makarov <vmakarov@redhat.com>
9971 Richard Earnshaw <rearnsha@arm.com>
9972
9973 PR rtl-optimization/59535
9974 * lra-constraints.c (process_alt_operands): Encourage alternative
9975 when unassigned pseudo class is superset of the alternative class.
9976 (inherit_reload_reg): Don't inherit when optimizing for code size.
9977 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
9978 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
9979 modes not less than 4 for Thumb1.
9980
5d88af08
KM
99812014-02-14 Kyle McMartin <kyle@redhat.com>
9982
9983 PR pch/60010
9984 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
9985
3069b421
RB
99862014-02-14 Richard Biener <rguenther@suse.de>
9987
9988 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
9989 (get_frame_arg): Drop the assert with langhook types_compatible_p.
9990 Do not strip INDIRECT_REFs.
9991
1966fd99
RB
99922014-02-14 Richard Biener <rguenther@suse.de>
9993
9994 PR lto/60179
9995 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
9996 DECL_FUNCTION_SPECIFIC_TARGET.
9997 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
9998 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 9999 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
10000 (write_ts_function_decl_tree_pointers): Do not stream
10001 DECL_FUNCTION_SPECIFIC_TARGET.
10002 * tree-streamer-in.c (unpack_ts_target_option): Remove.
10003 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
10004 (lto_input_ts_function_decl_tree_pointers): Do not stream
10005 DECL_FUNCTION_SPECIFIC_TARGET.
10006
b010d601
JJ
100072014-02-14 Jakub Jelinek <jakub@redhat.com>
10008
223cdd15 10009 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
10010 (get_initial_def_for_induction, vectorizable_induction): Ignore
10011 debug stmts when looking for exit_phi.
10012 (vectorizable_live_operation): Fix up condition.
10013
f2dafb91
CJW
100142014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
10015
10016 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
10017 nreverse() because it changes the content of original tree list.
10018
59043e75
CJW
100192014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
10020
10021 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
10022 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
10023
810f736f
CJW
100242014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
10025
10026 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
10027 GNU coding standards.
10028
1a025bbf
JJ
100292014-02-13 Jakub Jelinek <jakub@redhat.com>
10030
10031 PR debug/60152
10032 * dwarf2out.c (gen_subprogram_die): Don't call
10033 add_calling_convention_attribute if subr_die is old_die.
10034
69479ebd
SS
100352014-02-13 Sharad Singhai <singhai@google.com>
10036
10037 * doc/optinfo.texi: Fix order of nodes.
10038
1287ae50
UB
100392014-02-13 Uros Bizjak <ubizjak@gmail.com>
10040
10041 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
10042 operands[2], not operands[3].
10043
43372236
RB
100442014-02-13 Richard Biener <rguenther@suse.de>
10045
10046 PR bootstrap/59878
10047 * doc/install.texi (ISL): Update recommended version to 0.12.2,
10048 mention the possibility of an in-tree build.
10049 (CLooG): Update recommended version to 0.18.1, mention the
10050 possibility of an in-tree build and clarify that the ISL
10051 bundled with CLooG does not work.
10052
a4d70cfa
JJ
100532014-02-13 Jakub Jelinek <jakub@redhat.com>
10054
10055 PR target/43546
10056 * expr.c (compress_float_constant): If x is a hard register,
10057 extend into a pseudo and then move to x.
10058
e697d119
DV
100592014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
10060
10061 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
10062 caused by bad second argument to warning_at() with -mhotpatch and
10063 nested functions (e.g. with gfortran).
10064
9f8da907
RS
100652014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
10066
10067 * opts.c (option_name): Remove "enabled by default" rider.
10068
0fdd1196
JDA
100692014-02-12 John David Anglin <danglin@gcc.gnu.org>
10070
10071 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
10072
0544c448
L
100732014-02-12 H.J. Lu <hongjiu.lu@intel.com>
10074 Uros Bizjak <ubizjak@gmail.com>
10075
10076 PR target/60151
1287ae50 10077 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
10078 * configure: Regenerated.
10079
3a938d75
RB
100802014-02-12 Richard Biener <rguenther@suse.de>
10081
10082 * vec.c (vec_prefix::calculate_allocation): Move as
10083 inline variant to vec.h.
10084 (vec_prefix::calculate_allocation_1): New out-of-line version.
10085 * vec.h (vec_prefix::calculate_allocation_1): Declare.
10086 (vec_prefix::m_has_auto_buf): Rename to ...
10087 (vec_prefix::m_using_auto_storage): ... this.
10088 (vec_prefix::calculate_allocation): Inline the easy cases
10089 and dispatch to calculate_allocation_1 which doesn't need the
10090 prefix address.
10091 (va_heap::reserve): Use gcc_checking_assert.
10092 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
10093 m_using_auto_storage.
10094 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
10095 member and adjust.
10096 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
10097 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
10098 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
10099
ad0188be
RB
101002014-02-12 Richard Biener <rguenther@suse.de>
10101
10102 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
10103 when we found a dependence.
10104
64e5ace5
TS
101052014-02-12 Thomas Schwinge <thomas@codesourcery.com>
10106
88ac13da
TS
10107 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
10108 common code...
10109 (maybe_fold_stmt): ... into this new function.
10110 * omp-low.c (lower_omp): Update comment.
10111
bae729a2
TS
10112 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
10113 last use.
10114
64e5ace5
TS
10115 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
10116 dereference.
10117
7b40f5cf
JG
101182014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
10119
10120 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
10121 identifiers in comments.
10122 (cortexa53_extra_costs): Likewise.
1287ae50 10123 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
10124 (cortexa7_extra_costs): Likewise.
10125 (cortexa12_extra_costs): Likewise.
10126 (cortexa15_extra_costs): Likewise.
10127 (v7m_extra_costs): Likewise.
10128
c4c8514e
RB
101292014-02-12 Richard Biener <rguenther@suse.de>
10130
10131 PR middle-end/60092
10132 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
10133 of posix_memalign being successful.
10134 (lower_stmt): Restrict lowering of posix_memalign to when
10135 -ftree-bit-ccp is enabled.
10136
8eb651bd
SKS
101372014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10138
10139 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
10140 arg_loc.
10141 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
10142
62b03553
EB
101432014-02-12 Eric Botcazou <ebotcazou@adacore.com>
10144
10145 PR rtl-optimization/60116
10146 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
10147 other_insn once the combination has been validated.
10148
ec77d61f
JH
101492014-02-11 Jan Hubicka <hubicka@ucw.cz>
10150
10151 PR lto/59468
10152 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
10153 and wrapper.
10154 * ipa-devirt.c: Include demangle.h
10155 (odr_violation_reported): New static variable.
10156 (add_type_duplicate): Update odr_violations.
10157 (maybe_record_node): Add completep parameter; update it.
10158 (record_target_from_binfo): Add COMPLETEP parameter;
10159 update it as needed.
10160 (possible_polymorphic_call_targets_1): Likewise.
10161 (struct polymorphic_call_target_d): Add nonconstruction_targets;
10162 rename FINAL to COMPLETE.
10163 (record_targets_from_bases): Sanity check we found the binfo;
10164 fix COMPLETEP updating.
10165 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
10166 parameter, fix computing of COMPLETEP.
1287ae50
UB
10167 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
10168 at LTO time do demangling.
ec77d61f
JH
10169 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
10170 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
10171 parameter.
10172 (gimple_get_virt_method_for_binfo): Likewise.
10173 * gimple-fold.h (gimple_get_virt_method_for_binfo,
10174 gimple_get_virt_method_for_vtable): Update prototypes.
10175
5a4dcd9b
VM
101762014-02-11 Vladimir Makarov <vmakarov@redhat.com>
10177
10178 PR target/49008
10179 * genautomata.c (add_presence_absence): Fix typo with
10180 {final_}presence_list.
10181
69b7afed
MM
101822014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
10183
10184 PR target/60137
10185 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
10186 for VSX/Altivec vectors that land in GPR registers.
10187
8268ad5c
JJ
101882014-02-11 Richard Henderson <rth@redhat.com>
10189 Jakub Jelinek <jakub@redhat.com>
10190
10191 PR debug/59776
10192 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
10193 around drhs if type conversion to lacc->type is not useless.
10194
4fd92af6
KT
101952014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10196
10197 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
10198 tuning struct.
10199 (cortex-a57.cortex-a53): Likewise.
10200 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
10201
7cb14cb8
KT
102022014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10203
10204 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
10205 arm_restrict_it.
10206
6d3715b9
RL
102072014-02-11 Renlin Li <Renlin.Li@arm.com>
10208
10209 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
10210 add_options_for_arm_vfp3.
10211
cddddfff
JL
102122014-02-11 Jeff Law <law@redhat.com>
10213
10214 PR middle-end/54041
10215 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
10216 object with an undesirable mode.
10217
7c1aef7e
RO
102182014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10219
10220 PR libgomp/60107
10221 * config/i386/sol2-9.h: New file.
10222 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
10223 *-*-solaris2.9*): Use it.
10224
4bb66ef3 102252014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
10226
10227 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
10228 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
10229
4bb66ef3 102302014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
10231
10232 * config/microblaze/microblaze.c: Extend mcpu version format
10233
4bb66ef3 102342014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
10235
10236 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
10237
004a7e45 102382014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
10239
10240 PR target/59927
10241 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
10242 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
10243 ms-abi vs -mno-accumulate-outgoing-args.
10244 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
10245 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
10246 respect to ms-abi.
10247
e2fc3b4f
BE
102482014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
10249
10250 PR middle-end/60080
10251 * cfgexpand.c (expand_asm_operands): Attach source location to
10252 ASM_INPUT rtx objects.
10253 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
10254
3a22ad89
NC
102552014-02-10 Nick Clifton <nickc@redhat.com>
10256
10257 * config/mn10300/mn10300.c (popcount): New function.
10258 (mn10300_expand_prologue): Include saved registers in stack usage
10259 count.
10260
f27be550
JL
102612014-02-10 Jeff Law <law@redhat.com>
10262
10263 PR middle-end/52306
10264 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 10265 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 10266
e15e3815
UW
102672014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10268
10269 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
10270 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
10271 -mcall-openbsd, or -mcall-linux.
10272 (CC1_ENDIAN_BIG_SPEC): Remove.
10273 (CC1_ENDIAN_LITTLE_SPEC): Remove.
10274 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
10275 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
10276 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
10277 and %cc1_endian_default.
10278 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
10279
4e1f39e4
RB
102802014-02-10 Richard Biener <rguenther@suse.de>
10281
10282 PR tree-optimization/60115
10283 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
10284 MEM_REF handling. Properly verify that the accesses are not
10285 out of the objects bound.
10286
e7af1c22
KT
102872014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10288
10289 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
10290 coretex to cortex.
10291
79c7de84
EB
102922014-02-10 Eric Botcazou <ebotcazou@adacore.com>
10293
10294 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
10295 proper constants and fix formatting.
10296 (possible_polymorphic_call_targets): Fix formatting.
10297
cf73ee60
KY
102982014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
10299 Ilya Tocar <ilya.tocar@intel.com>
10300
10301 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
10302 (_mm512_loadu_epi32): Renamed into...
10303 (_mm512_loadu_si512): This.
10304 (_mm512_storeu_epi32): Renamed into...
10305 (_mm512_storeu_si512): This.
10306 (_mm512_maskz_ceil_ps): Removed.
10307 (_mm512_maskz_ceil_pd): Ditto.
10308 (_mm512_maskz_floor_ps): Ditto.
10309 (_mm512_maskz_floor_pd): Ditto.
10310 (_mm512_floor_round_ps): Ditto.
10311 (_mm512_floor_round_pd): Ditto.
10312 (_mm512_ceil_round_ps): Ditto.
10313 (_mm512_ceil_round_pd): Ditto.
10314 (_mm512_mask_floor_round_ps): Ditto.
10315 (_mm512_mask_floor_round_pd): Ditto.
10316 (_mm512_mask_ceil_round_ps): Ditto.
10317 (_mm512_mask_ceil_round_pd): Ditto.
10318 (_mm512_maskz_floor_round_ps): Ditto.
10319 (_mm512_maskz_floor_round_pd): Ditto.
10320 (_mm512_maskz_ceil_round_ps): Ditto.
10321 (_mm512_maskz_ceil_round_pd): Ditto.
10322 (_mm512_expand_pd): Ditto.
10323 (_mm512_expand_ps): Ditto.
10324 * config/i386/i386.c (ix86_builtins): Remove
10325 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
10326 (bdesc_args): Ditto.
10327 * config/i386/predicates.md (const1256_operand): New.
10328 (const_1_to_2_operand): Ditto.
10329 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
10330 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
10331 (*avx512pf_gatherpf<mode>sf): Ditto.
10332 (avx512pf_gatherpf<mode>df): Ditto.
10333 (*avx512pf_gatherpf<mode>df_mask): Ditto.
10334 (*avx512pf_gatherpf<mode>df): Ditto.
10335 (avx512pf_scatterpf<mode>sf): Ditto.
10336 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
10337 (*avx512pf_scatterpf<mode>sf): Ditto.
10338 (avx512pf_scatterpf<mode>df): Ditto.
10339 (*avx512pf_scatterpf<mode>df_mask): Ditto.
10340 (*avx512pf_scatterpf<mode>df): Ditto.
10341 (avx512f_expand<mode>): Removed.
10342 (<shift_insn><mode>3<mask_name>): Change predicate type.
10343
8fcbce72
JJ
103442014-02-08 Jakub Jelinek <jakub@redhat.com>
10345
41475e96
JJ
10346 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
10347 not at the end of datarefs vector use ordered_remove to avoid
10348 reordering datarefs vector.
10349
c74559df
JJ
10350 PR c/59984
10351 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
10352 mark local addressable non-static vars as GOVD_PRIVATE
10353 instead of GOVD_LOCAL.
10354 * omp-low.c (lower_omp_for): Move gimple_bind_vars
10355 and BLOCK_VARS of gimple_bind_block to new_stmt rather
10356 than copying them.
10357
8fcbce72
JJ
10358 PR middle-end/60092
10359 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
10360 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
10361 assume_aligned or alloc_align attributes.
10362 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
10363 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
10364 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
10365 calls to functions with assume_aligned or alloc_align attributes.
10366 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 10367
451bdd23
TG
103682014-02-08 Terry Guo <terry.guo@arm.com>
10369
10370 * doc/invoke.texi: Document ARM -march=armv7e-m.
10371
d31d42c7
JJ
103722014-02-08 Jakub Jelinek <jakub@redhat.com>
10373
d71dfeb7
JJ
10374 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
10375 flag on __cilkrts_rethrow builtin.
10376
d31d42c7
JJ
10377 PR ipa/60026
10378 * ipa-cp.c (determine_versionability): Fail at -O0
10379 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
10380 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
10381
10382 Revert:
10383 2014-02-04 Jakub Jelinek <jakub@redhat.com>
10384
10385 PR ipa/60026
10386 * tree-inline.c (copy_forbidden): Fail for
10387 __attribute__((optimize (0))) functions.
10388
a0a98fef
JH
103892014-02-07 Jan Hubicka <hubicka@ucw.cz>
10390
10391 * varpool.c: Include pointer-set.h.
10392 (varpool_remove_unreferenced_decls): Variables in other partitions
10393 will not be output; be however careful to not lose information
10394 about partitioning.
10395
8c311b50
JH
103962014-02-07 Jan Hubicka <hubicka@ucw.cz>
10397
10398 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
10399 lookup in the vtable constructor.
10400
7ba03e5e
JL
104012014-02-07 Jeff Law <law@redhat.com>
10402
63e6247d
JL
10403 PR target/40977
10404 * config/m68k/m68k.md (ashldi_extsi): Turn into a
10405 define_insn_and_split.
10406
7ba03e5e
JL
10407 * ipa-inline.c (inline_small_functions): Fix typos.
10408
177bc204
RS
104092014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10410
10411 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
10412 (s390_can_use_return_insn): Declare.
10413 * config/s390/s390.h (EPILOGUE_USES): Define.
10414 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
10415 instructions.
10416 (s390_chunkify_start): Handle return JUMP_LABELs.
10417 (s390_early_mach): Emit a main_pool instruction on the entry edge.
10418 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
10419 (s390_can_use_return_insn): New functions.
10420 (s390_fix_long_loop_prediction): Handle conditional returns.
10421 (TARGET_SET_UP_BY_PROLOGUE): Define.
10422 * config/s390/s390.md (ANY_RETURN): New code iterator.
10423 (*creturn, *csimple_return, return, simple_return): New patterns.
10424
0621cf3c
RS
104252014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10426
10427 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
10428 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
10429 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
10430 REG_CFA_RESTORE list when deciding not to restore a register.
10431
4099494d
RS
104322014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10433
10434 * config/s390/s390.c: Include tree-pass.h and context.h.
10435 (s390_early_mach): New function, split out from...
10436 (s390_emit_prologue): ...here.
10437 (pass_data_s390_early_mach): New pass structure.
10438 (pass_s390_early_mach): New class.
10439 (s390_option_override): Create and register early_mach pass.
10440 Move to end of file.
10441
3489cc33
RS
104422014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10443
10444 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
10445 to match for the exit block.
10446
75cc21e2
AK
104472014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10448
10449 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
10450 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
10451 Reject misaligned operands.
10452
8bd7070a
AK
104532014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10454
1287ae50 10455 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 10456
831806cb
RB
104572014-02-07 Richard Biener <rguenther@suse.de>
10458
10459 PR middle-end/60092
10460 * gimple-low.c (lower_builtin_posix_memalign): New function.
10461 (lower_stmt): Call it to lower posix_memalign in a way
10462 to make alignment info accessible.
10463
7ee9c16f
JJ
104642014-02-07 Jakub Jelinek <jakub@redhat.com>
10465
10466 PR c++/60082
10467 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
10468 __builtin_setjmp_receiver.
10469
32cab212
RB
104702014-02-07 Richard Biener <rguenther@suse.de>
10471
10472 PR middle-end/60092
10473 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
10474 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
10475 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
10476 Handle BUILT_IN_POSIX_MEMALIGN.
10477 (find_func_clobbers): Likewise.
10478 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
10479 (call_may_clobber_ref_p_1): Likewise.
10480
6d6af792
JH
104812014-02-06 Jan Hubicka <hubicka@ucw.cz>
10482
10483 PR ipa/59918
1287ae50
UB
10484 * ipa-devirt.c (record_target_from_binfo): Remove overactive
10485 sanity check.
6d6af792 10486
3c0f1105
JH
104872014-02-06 Jan Hubicka <hubicka@ucw.cz>
10488
10489 PR ipa/59469
10490 * lto-cgraph.c (lto_output_node): Use
10491 symtab_get_symbol_partitioning_class.
10492 (lto_output_varpool_node): likewise.
10493 (symtab_get_symbol_partitioning_class): Move here from
10494 lto/lto-partition.c
10495 * cgraph.h (symbol_partitioning_class): Likewise.
10496 (symtab_get_symbol_partitioning_class): Declare.
10497
b3bb0eb9
JH
104982014-02-06 Jan Hubicka <hubicka@ucw.cz>
10499
10500 * ggc.h (ggc_internal_cleared_alloc): New macro.
10501 * vec.h (vec_safe_copy): Handle memory stats.
10502 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
10503 * target-globals.c (save_target_globals): Likewise.
10504
105052014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
10506
10507 PR target/60077
10508 * expr.c (emit_move_resolve_push): Export; be bit more selective
10509 on when to clear alias set.
10510 * expr.h (emit_move_resolve_push): Declare.
10511 * function.h (struct function): Add tail_call_marked.
10512 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
10513 * config/i386/i386-protos.h (ix86_expand_push): Remove.
10514 * config/i386/i386.md (TImode move expander): De not call
10515 ix86_expand_push.
10516 (FP push expanders): Preserve memory attributes.
10517 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 10518 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
10519 (ix86_expand_push): Remove.
10520 * config/i386/mmx.md (push<mode>1): Remove.
10521
47d552eb
JJ
105222014-02-06 Jakub Jelinek <jakub@redhat.com>
10523
10524 PR rtl-optimization/60030
10525 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
10526 lopart with paradoxical subreg before shifting it up by hprec.
10527
45c75ea7
KT
105282014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10529
10530 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
10531 Remove extra newline at end of file.
10532 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
10533 (arm_issue_rate): Handle cortexa57.
10534 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
10535 (cortex-a57.cortex-a53): Likewise.
10536
af116cae
JJ
105372014-02-06 Jakub Jelinek <jakub@redhat.com>
10538
652a3e3a
JJ
10539 PR target/59575
10540 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
10541 don't record in REG_FRAME_RELATED_EXPR registers not set in that
10542 bitmask.
10543 (arm_expand_prologue): Adjust all callers.
10544 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
10545 info, registers also at the lowest numbered registers side. Use
10546 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
10547 XEXP.
10548
af116cae 10549 PR debug/59992
1287ae50
UB
10550 * var-tracking.c (adjust_mems): Before adding a SET to
10551 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 10552
fdcee33b
AM
105532014-02-06 Alan Modra <amodra@gmail.com>
10554
10555 PR target/60032
10556 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
10557 change SDmode to DDmode when lra_in_progress.
10558
251901a0
JJ
105592014-02-06 Jakub Jelinek <jakub@redhat.com>
10560
d3ef8c53
JJ
10561 PR middle-end/59150
10562 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
10563 free_data_ref on the dr first, and before goto again also set dr
10564 to the next dr. For simd_lane_access, free old datarefs[i] before
10565 overwriting it. For get_vectype_for_scalar_type failure, don't
10566 free_data_ref if simd_lane_access.
10567
2754b38f
JJ
10568 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
10569
251901a0
JJ
10570 PR target/60062
10571 * tree.h (opts_for_fn): New inline function.
10572 (opt_for_fn): Define.
10573 * config/i386/i386.c (ix86_function_regparm): Use
10574 opt_for_fn (decl, optimize) instead of optimize.
10575
4a985a37
MS
105762014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
10577
10578 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
10579 for SYMBOL_REF in large memory model.
10580
c366d38c
KT
105812014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10582
10583 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
10584 and crypto support.
10585 (cortex-a57): Likewise.
10586 (cortex-a57.cortex-a53): Likewise.
10587
c801e246
YG
105882014-02-06 Yury Gribov <y.gribov@samsung.com>
10589 Kugan Vivekanandarajah <kuganv@linaro.org>
10590
10591 * config/arm/arm.c (arm_vector_alignment_reachable): Check
10592 unaligned_access.
10593 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
10594
d50f7b84
RB
105952014-02-06 Richard Biener <rguenther@suse.de>
10596
10597 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
10598 set_loop_copy and initialize_original_copy_tables.
10599
179d2941
AV
106002014-02-06 Alex Velenko <Alex.Velenko@arm.com>
10601
10602 * config/aarch64/aarch64-simd.md
10603 (aarch64_ashr_simddi): Change QI to SI.
10604
78b1469d
JH
106052014-02-05 Jan Hubicka <hubicka@ucw.cz>
10606 Jakub Jelinek <jakub@redhat.com>
10607
10608 PR middle-end/60013
10609 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
10610 of the dataflow.
10611
d85f364c
BS
106122014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10613
10614 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
10615 CODE_FOR_altivec_vpku[hw]um to
10616 CODE_FOR_altivec_vpku[hw]um_direct.
10617 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
10618 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
10619 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
10620 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
10621
7b1cd427
BS
106222014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10623
10624 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
10625 generation for -maltivec=be.
10626 (altivec_vsumsws): Simplify redundant test.
10627
52a93551
BS
106282014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10629
10630 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
10631 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
10632 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
10633 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
10634 gen_altivec_vpkuwum.
10635 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
10636 BYTES_BIG_ENDIAN.
10637 (altivec_vpks<VI_char>ss): Likewise.
10638 (altivec_vpks<VI_char>us): Likewise.
10639 (altivec_vpku<VI_char>us): Likewise.
10640 (altivec_vpku<VI_char>um): Likewise.
10641 (altivec_vpku<VI_char>um_direct): New (copy of
10642 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
10643 internal use).
10644 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
10645 target is little endian and -maltivec=be is not specified.
10646 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 10647 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
10648 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
10649 target is little endian and -maltivec=be is not specified.
10650 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 10651 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
10652 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
10653 little endian and -maltivec=be is not specified.
10654 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
10655 little endian and -maltivec=be is not specified.
10656
004a7e45 106572014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
10658
10659 PR debug/52727
10660 * combine-stack-adj.c: Revert r206943.
10661 * sched-int.h (struct deps_desc): Add last_args_size.
10662 * sched-deps.c (init_deps): Initialize it.
10663 (sched_analyze_insn): Add OUTPUT dependencies between insns that
10664 contain REG_ARGS_SIZE notes.
10665
f300e7b8
JH
106662014-02-05 Jan Hubicka <hubicka@ucw.cz>
10667
10668 * lto-cgraph.c (asm_nodes_output): Make global.
10669 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 10670 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
10671 (driver_handle_option): Handle OPT_fwpa.
10672
609524d2
JJ
106732014-02-05 Jakub Jelinek <jakub@redhat.com>
10674
add5c763
JJ
10675 PR ipa/59947
10676 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
10677 a comment typo and formatting issue. If odr_hash hasn't been
10678 created, return vNULL and set *completep to false.
10679
609524d2
JJ
10680 PR middle-end/57499
10681 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
10682 bb with no successors.
10683
05ab6e21
JG
106842014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
10685
10686 PR target/59718
10687 * doc/invoke.texi (-march): Clarify documentation for ARM.
10688 (-mtune): Likewise.
10689 (-mcpu): Likewise.
10690
d55d9ed0
RB
106912014-02-05 Richard Biener <rguenther@suse.de>
10692
10693 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
10694 when not vectorizing because of too many alias checks.
10695 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
10696 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
10697
c70da878
NC
106982014-02-05 Nick Clifton <nickc@redhat.com>
10699
10700 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 10701 accept extended registers in any mode when compiling for the MN10300.
c70da878 10702
25a07c7e
YG
107032014-02-05 Yury Gribov <y.gribov@samsung.com>
10704
10705 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
10706 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
10707 sanitization attributes.
10708 (can_inline_edge_p): Likewise.
10709 (sanitize_attrs_match_for_inline_p): New function.
10710
4bf2a588
JH
107112014-02-04 Jan Hubicka <hubicka@ucw.cz>
10712
10713 * ipa-prop.c (detect_type_change): Shor circuit testing of
10714 type changes on THIS pointer.
10715
d92f4df0
JDA
107162014-02-04 John David Anglin <danglin@gcc.gnu.org>
10717
10718 PR target/59777
10719 * config/pa/pa.c (legitimize_tls_address): Return original address
10720 if not passed a SYMBOL_REF rtx.
10721 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
10722 addresses.
10723 (pa_emit_move_sequence): Simplify TLS source operands.
10724 (pa_legitimate_constant_p): Reject all TLS constants.
10725 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
10726 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
10727
d665f8dd
JH
107282014-02-04 Jan Hubicka <hubicka@ucw.cz>
10729
10730 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
10731 groups when we know they are controlled by LTO.
10732 * varasm.c (default_binds_local_p_1): If object is in other partition,
10733 it will be resolved locally.
10734
6a071860
BE
107352014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
10736
e2fc3b4f 10737 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 10738 use SSIZE_MAX because it is not always defined.
6a071860 10739
8e9d68a9
VM
107402014-02-04 Vladimir Makarov <vmakarov@redhat.com>
10741
10742 PR bootstrap/59913
10743 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
10744 threshold for pseudo splitting.
10745 (update_ebb_live_info): Process call argument hard registers and
10746 hard registers from insn definition too.
10747 (max_small_class_regs_num): New constant.
10748 (inherit_in_ebb): Update live hard regs through EBBs. Update
10749 reloads_num only for small register classes. Don't split for
10750 outputs of jumps.
10751
8472fa80
MT
107522014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
10753
10754 PR ipa/60058
10755 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
10756 is non-null.
10757
df98e37f
JH
107582014-02-04 Jan Hubicka <hubicka@ucw.cz>
10759
1287ae50
UB
10760 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
10761 visibility is safe.
df98e37f 10762
71e55f04
MP
107632014-02-04 Marek Polacek <polacek@redhat.com>
10764
10765 * gdbinit.in (pel): Define.
10766
229e56f9
BE
107672014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
10768
10769 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
10770 behavior.
10771
c39276b8
RB
107722014-02-04 Richard Biener <rguenther@suse.de>
10773
10774 PR lto/59723
10775 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
10776 in function context local.
10777 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
10778 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
10779 similar to LTO_imported_decl_ref.
10780
66b3ed5f
JJ
107812014-02-04 Jakub Jelinek <jakub@redhat.com>
10782
029ce7a2
JJ
10783 PR tree-optimization/60002
10784 * cgraphclones.c (build_function_decl_skip_args): Clear
10785 DECL_LANG_SPECIFIC.
10786
8e91d222
JJ
10787 PR tree-optimization/60023
10788 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
10789 false to gsi_replace.
10790 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
10791 has been in some EH region and vec_stmt could throw, add
10792 vec_stmt into the same EH region.
10793 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
10794 has no lhs, ignore it.
10795 * internal-fn.c (expand_MASK_LOAD): Likewise.
10796
eb259c4a
JJ
10797 PR ipa/60026
10798 * tree-inline.c (copy_forbidden): Fail for
10799 __attribute__((optimize (0))) functions.
10800
92d05580
JJ
10801 PR other/58712
10802 * omp-low.c (simd_clone_struct_copy): If from->inbranch
10803 is set, copy one less argument.
30540e79
JJ
10804 (expand_simd_clones): Don't subtract clone_info->inbranch
10805 from simd_clone_struct_alloc argument.
92d05580 10806
be3afd67
JJ
10807 PR rtl-optimization/57915
10808 * recog.c (simplify_while_replacing): If all unary/binary/relational
10809 operation arguments are constant, attempt to simplify those.
10810
66b3ed5f
JJ
10811 PR middle-end/59261
10812 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
10813 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
10814
5961d779
RB
108152014-02-04 Richard Biener <rguenther@suse.de>
10816
10817 PR tree-optimization/60012
10818 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
10819 TBAA disambiguation to all DDRs.
10820
91da0481
RO
108212014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10822
10823 PR target/59788
10824 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
10825 (LINK_SPEC): Use it for -shared, -shared-libgcc.
10826
39960d1c
JH
108272014-02-03 Jan Hubicka <hubicka@ucw.cz>
10828
10829 PR ipa/59882
10830 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
10831
108322014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
10833
10834 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
10835 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
10836
39960d1c 108372014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
10838
10839 PR ipa/59831
10840 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
10841 to figure out targets of polymorphic calls with known decl.
10842 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
10843 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
10844 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
10845 (get_polymorphic_call_info): ... here.
10846 (get_polymorphic_call_info_from_invariant): New function.
10847
39960d1c 108482014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
10849
10850 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
10851 lookup via vtable pointer; check for type consistency
10852 and turn inconsitent facts into UNREACHABLE.
10853 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
10854 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
10855 type inconsistent querries; return UNREACHABLE instead.
9de2f554 10856
ade3ff24
RH
108572014-02-03 Richard Henderson <rth@twiddle.net>
10858
10859 PR tree-opt/59924
10860 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
10861 already processed this node.
10862 (normalize_one_pred_1): Pass along mark_set.
10863 (normalize_one_pred): Create and destroy a pointer_set_t.
10864 (normalize_one_pred_chain): Likewise.
10865
55428cc3
LA
108662014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
10867
10868 PR gcov-profile/58602
1287ae50 10869 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 10870
85942f45
JH
108712014-02-03 Jan Hubicka <hubicka@ucw.cz>
10872
10873 PR ipa/59831
1287ae50
UB
10874 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
10875 -fno-devirtualize; try to devirtualize by the knowledge of
10876 virtual table pointer given by aggregate propagation.
85942f45 10877 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 10878 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
10879 is relevant for polymorphic calls.
10880 (determine_known_aggregate_parts): Add arg_type parameter; use it
10881 instead of determining the type from pointer type.
10882 (ipa_compute_jump_functions_for_edge): Update call of
10883 determine_known_aggregate_parts.
10884 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
10885 (gimple_get_virt_method_for_binfo): ... here; simplify using
10886 vtable_pointer_value_to_vtable.
10887 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
10888 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 10889 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
10890 (vtable_pointer_value_to_vtable): Break out from ...; handle also
10891 POINTER_PLUS_EXPR.
10892 (vtable_pointer_value_to_binfo): ... here.
10893 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
10894
bddc974e
TJ
108952014-02-03 Teresa Johnson <tejohnson@google.com>
10896
10897 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
10898 redef of outer loop index variable.
10899
5d77fb19
MG
109002014-02-03 Marc Glisse <marc.glisse@inria.fr>
10901
10902 PR c++/53017
10903 PR c++/59211
10904 * doc/extend.texi (Function Attributes): Typo.
10905
cf5b2be2
CH
109062014-02-03 Cong Hou <congh@google.com>
10907
10908 PR tree-optimization/60000
10909 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
10910 if the vectorized statement is a store. A store statement can only
10911 appear at the end of pattern statements.
10912
a2a1ddb5
L
109132014-02-03 H.J. Lu <hongjiu.lu@intel.com>
10914
10915 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
10916 (ix86_option_override_internal): Default long double to 64-bit for
10917 32-bit Bionic and to 128-bit for 64-bit Bionic.
10918
10919 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
10920 TARGET_LONG_DOUBLE_128 is true.
10921 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
10922
10923 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
10924 (mlong-double-64): Negate -mlong-double-128.
10925 (mlong-double-128): New option.
10926
10927 * config/i386/i386-c.c (ix86_target_macros): Define
10928 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
10929
10930 * doc/invoke.texi: Document -mlong-double-128.
10931
f742cf90
L
109322014-02-03 H.J. Lu <hongjiu.lu@intel.com>
10933
10934 PR rtl-optimization/60024
10935 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
10936
8f36fd30
MT
109372014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
10938
1287ae50 10939 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 10940
861ec4f3
AB
109412014-02-03 Andrey Belevantsev <abel@ispras.ru>
10942
10943 PR rtl-optimization/57662
10944 * sel-sched.c (code_motion_path_driver): Do not mark already not
10945 existing blocks in the visiting bitmap.
10946
fe08255d
AB
109472014-02-03 Andrey Belevantsev <abel@ispras.ru>
10948
10949 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
10950 on the insn being emitted.
10951
96d3a240
JG
109522014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
10953 Will Deacon <will.deacon@arm.com>
10954
10955 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
10956
9dd6c9f7
KT
109572014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10958
10959 * config/arm/arm-tables.opt: Regenerate.
10960
60331d00
BS
109612014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10962
10963 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
10964 for vector types other than V16QImode.
10965 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
10966 define_expand, and call altivec_expand_vec_perm_le when producing
10967 code with little endian element order.
10968 (*altivec_vperm_<mode>_internal): New insn having previous
10969 behavior of altivec_vperm_<mode>.
10970 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
10971 altivec_expand_vec_perm_le when producing code with little endian
10972 element order.
10973 (*altivec_vperm_<mode>_uns_internal): New insn having previous
10974 behavior of altivec_vperm_<mode>_uns.
10975
b80afde9
BS
109762014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10977
10978 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
10979 (altivec_vsumsws): Add handling for -maltivec=be with a little
10980 endian target.
10981 (altivec_vsumsws_direct): New.
10982 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
10983 gen_altivec_vsumsws.
10984
39960d1c 109852014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
10986
10987 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
10988 vtable_pointer_value_to_binfo): New functions.
10989 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
10990 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
10991
02b67731
SL
109922014-02-02 Sandra Loosemore <sandra@codesourcery.com>
10993
10994 * config/nios2/nios2.md (load_got_register): Initialize GOT
10995 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
10996 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
10997
2ace77c2
JH
109982014-02-02 Jan Hubicka <hubicka@ucw.cz>
10999
11000 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
11001 preserverd by passthrough, do not propagate the type.
11002
70b2d364
RS
110032014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
11004
11005 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
11006 (mips_atomic_assign_expand_fenv): New function.
11007 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
11008
a90c0245
RS
110092014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
11010
11011 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
11012 (__builtin_mips_set_fcsr): Likewise.
11013 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
11014 MIPS_USI_FTYPE_VOID.
11015 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
11016 (mips16_expand_set_fcsr): Likewise.
11017 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
11018 (mips16_set_fcsr_stub): Likewise.
11019 (mips16_get_fcsr_one_only_stub): New class.
11020 (mips16_set_fcsr_one_only_stub): Likewise.
11021 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
11022 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
11023 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
11024 (hard_float): New availability predicate.
11025 (mips_builtins): Add get_fcsr and set_fcsr.
11026 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
11027 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
11028 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
11029 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
11030 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
11031 patterns.
11032
6d51cc90
RS
110332014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
11034
11035 * config/mips/mips.c (mips_one_only_stub): New class.
11036 (mips_need_mips16_rdhwr_p): Replace with...
11037 (mips16_rdhwr_stub): ...this new variable.
11038 (mips16_stub_call_address): New function.
11039 (mips16_rdhwr_one_only_stub): New class.
11040 (mips_expand_thread_pointer): Use mips16_stub_call_address.
11041 (mips_output_mips16_rdhwr): Delete.
11042 (mips_finish_stub): New function.
11043 (mips_code_end): Use it to handle rdhwr stubs.
11044
6c90f137
UB
110452014-02-02 Uros Bizjak <ubizjak@gmail.com>
11046
11047 PR target/60017
11048 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
11049 when calculating size of integer atomic types.
11050
5e64bbbb
L
110512014-02-02 H.J. Lu <hongjiu.lu@intel.com>
11052
11053 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
11054
021293cb
JJ
110552014-02-01 Jakub Jelinek <jakub@redhat.com>
11056
11057 PR tree-optimization/60003
11058 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
11059 * profile.c (branch_prob): Use gimple_call_builtin_p
11060 to check for BUILT_IN_SETJMP_RECEIVER.
11061 * tree-inline.c (copy_bb): Call notice_special_calls.
11062
6334f3e9
VM
110632014-01-31 Vladimir Makarov <vmakarov@redhat.com>
11064
11065 PR bootstrap/59985
11066 * lra-constraints.c (process_alt_operands): Update reload_sum only
11067 on the first pass.
11068
efa7882f
RH
110692014-01-31 Richard Henderson <rth@redhat.com>
11070
11071 PR middle-end/60004
11072 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
11073 until after else_eh is processed.
11074
de72ea02
IT
110752014-01-31 Ilya Tocar <ilya.tocar@intel.com>
11076
11077 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
11078 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
11079 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
11080 in smmintrin.h, remove them.
11081 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
11082 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
11083 * config/i386/i386.md (ROUND_SAE): Fix value.
11084 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
11085 (const48_operand): New.
11086 * config/i386/subst.md (round), (round_expand): Use
11087 const_4_or_8_to_11_operand.
11088 (round_saeonly), (round_saeonly_expand): Use const48_operand.
11089
be792bce
IT
110902014-01-31 Ilya Tocar <ilya.tocar@intel.com>
11091
11092 * config/i386/constraints.md (Yk): Swap meaning with k.
11093 * config/i386/i386.md (movhi_internal): Change Yk to k.
11094 (movqi_internal): Ditto.
11095 (*k<logic><mode>): Ditto.
11096 (*andhi_1): Ditto.
11097 (*andqi_1): Ditto.
11098 (kandn<mode>): Ditto.
11099 (*<code>hi_1): Ditto.
11100 (*<code>qi_1): Ditto.
11101 (kxnor<mode>): Ditto.
11102 (kortestzhi): Ditto.
11103 (kortestchi): Ditto.
11104 (kunpckhi): Ditto.
11105 (*one_cmplhi2_1): Ditto.
11106 (*one_cmplqi2_1): Ditto.
11107 * config/i386/sse.md (): Change k to Yk.
11108 (avx512f_load<mode>_mask): Ditto.
11109 (avx512f_blendm<mode>): Ditto.
11110 (avx512f_store<mode>_mask): Ditto.
11111 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
11112 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
11113 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
11114 Ditto.
be792bce
IT
11115 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
11116 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
11117 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
11118 (avx512f_maskcmp<mode>3): Ditto.
11119 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
11120 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
11121 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
11122 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
11123 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
11124 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
11125 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
11126 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
11127 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
11128 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
11129 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
11130 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
11131 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
11132 (vec_extract_lo_<mode>_maskm): Ditto.
11133 (vec_extract_hi_<mode>_maskm): Ditto.
11134 (avx512f_vternlog<mode>_mask): Ditto.
11135 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
11136 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
11137 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
11138 (avx512f_<code>v8div16qi2_mask): Ditto.
11139 (avx512f_<code>v8div16qi2_mask_store): Ditto.
11140 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
11141 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
11142 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
11143 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
11144 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
11145 (*avx512pf_gatherpf<mode>df_mask): Ditto.
11146 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
11147 (*avx512pf_scatterpf<mode>df_mask): Ditto.
11148 (avx512cd_maskb_vec_dupv8di): Ditto.
11149 (avx512cd_maskw_vec_dupv16si): Ditto.
11150 (avx512f_vpermi2var<mode>3_maskz): Ditto.
11151 (avx512f_vpermi2var<mode>3_mask): Ditto.
11152 (avx512f_vpermi2var<mode>3_mask): Ditto.
11153 (avx512f_vpermt2var<mode>3_maskz): Ditto.
11154 (*avx512f_gathersi<mode>): Ditto.
11155 (*avx512f_gathersi<mode>_2): Ditto.
11156 (*avx512f_gatherdi<mode>): Ditto.
11157 (*avx512f_gatherdi<mode>_2): Ditto.
11158 (*avx512f_scattersi<mode>): Ditto.
11159 (*avx512f_scatterdi<mode>): Ditto.
11160 (avx512f_compress<mode>_mask): Ditto.
11161 (avx512f_compressstore<mode>_mask): Ditto.
11162 (avx512f_expand<mode>_mask): Ditto.
11163 * config/i386/subst.md (mask): Change k to Yk.
11164 (mask_scalar_merge): Ditto.
11165 (sd): Ditto.
11166
0878d68a
MG
111672014-01-31 Marc Glisse <marc.glisse@inria.fr>
11168
11169 * doc/extend.texi (Vector Extensions): Document ?: in C++.
11170
fdfd537b
RB
111712014-01-31 Richard Biener <rguenther@suse.de>
11172
11173 PR middle-end/59990
11174 * builtins.c (fold_builtin_memory_op): Make sure to not
11175 use a floating-point mode or a boolean or enumeral type for
11176 the copy operation.
11177
4f50b9ff
DD
111782014-01-30 DJ Delorie <dj@redhat.com>
11179
11180 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
11181 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
11182 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
11183 whenever main() has an epilogue.
11184
c3e96073
BS
111852014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11186
11187 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
11188 unused variable "field".
11189 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
11190 (vsx_mergeh_<mode>): Likewise.
11191 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
11192 (altivec_vmrghh): Likewise.
11193 (altivec_vmrghw): Likewise.
11194 (altivec_vmrglb): Likewise.
11195 (altivec_vmrglh): Likewise.
11196 (altivec_vmrglw): Likewise.
11197 (altivec_vspltb): Add missing uses.
11198 (altivec_vsplth): Likewise.
11199 (altivec_vspltw): Likewise.
11200 (altivec_vspltsf): Likewise.
11201
4bb9c32d
JJ
112022014-01-30 Jakub Jelinek <jakub@redhat.com>
11203
11204 PR target/59923
11205 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
11206 frame related instructions.
11207
7613fa50
VM
112082014-01-30 Vladimir Makarov <vmakarov@redhat.com>
11209
11210 PR rtl-optimization/59959
11211 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
11212 any reload of register whose subreg is invalid.
11213
6fb82517
JJ
112142014-01-30 Jakub Jelinek <jakub@redhat.com>
11215
33425d6c 11216 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
11217 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
11218 Add missing return type - void.
11219
bf53d4b8
BS
112202014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11221
11222 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
11223 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
11224 remove element index adjustment for endian (now handled in vsx.md
11225 and altivec.md).
11226 (altivec_expand_vec_perm_const): Use
11227 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
11228 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
11229 (vsx_xxspltw_<mode>): Adjust element index for little endian.
11230 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
11231 define_expand and a new define_insn *altivec_vspltb_internal;
11232 adjust for -maltivec=be on a little endian target.
11233 (altivec_vspltb_direct): New.
11234 (altivec_vsplth): Divide into a define_expand and a new
11235 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
11236 little endian target.
11237 (altivec_vsplth_direct): New.
11238 (altivec_vspltw): Divide into a define_expand and a new
11239 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
11240 little endian target.
11241 (altivec_vspltw_direct): New.
11242 (altivec_vspltsf): Divide into a define_expand and a new
11243 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
11244 a little endian target.
11245
c965e187
RB
112462014-01-30 Richard Biener <rguenther@suse.de>
11247
11248 PR tree-optimization/59993
11249 * tree-ssa-forwprop.c (associate_pointerplus): Check we
11250 can propagate form the earlier stmt and avoid the transform
11251 when the intermediate result is needed.
11252
ba117645
AD
112532014-01-30 Alangi Derick <alangiderick@gmail.com>
11254
11255 * README.Portability: Fix typo.
11256
4bb66ef3 112572014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
11258
11259 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
11260 comparison_operator with ordered_comparison_operator.
11261
c345a0b1
NC
112622014-01-30 Nick Clifton <nickc@redhat.com>
11263
11264 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
11265 Rename to mn10300_store_multiple_regs.
11266 * config/mn10300/mn10300.c: Likewise.
11267 * config/mn10300/mn10300.md (store_movm): Fix typo: call
11268 store_multiple_regs.
11269 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
11270 Call mn10300_store_multiple_regs.
11271
2d70f6d4
NC
112722014-01-30 Nick Clifton <nickc@redhat.com>
11273 DJ Delorie <dj@redhat.com>
11274
11275 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
11276 %fp 2 to keep registers after it properly word-aligned.
11277 (rl78_alloc_physical_registers_umul): Handle the case where both
11278 input operands are the same.
11279
c972624e
RB
112802014-01-30 Richard Biener <rguenther@suse.de>
11281
11282 PR tree-optimization/59903
11283 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
11284 check properly.
11285
fc044323
JM
112862014-01-30 Jason Merrill <jason@redhat.com>
11287
404c2aea
JM
11288 PR c++/59633
11289 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
11290
fc044323
JM
11291 PR c++/59645
11292 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
11293
f30a0ba5
RB
112942014-01-30 Richard Biener <rguenther@suse.de>
11295
11296 PR tree-optimization/59951
33425d6c 11297 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 11298
aad8816f
SZ
112992014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
11300
11301 PR target/59784
11302 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
11303 SFmode to DFmode case.
11304
3b16363e
DD
113052014-01-29 DJ Delorie <dj@redhat.com>
11306
11307 * config/msp430/msp430.opt (-minrt): New.
11308 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
11309 if -minrt given.
11310 (ENDFILE_SPEC): Likewise.
11311
39960d1c 113122014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
11313
11314 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
11315 (estimate_function_body_sizes): Use it.
11316
1200933c
PC
113172014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
11318
11319 PR c++/58561
11320 * dwarf2out.c (is_cxx_auto): New.
11321 (is_base_type): Use it.
11322 (gen_type_die_with_usage): Likewise.
11323
68d3bacf
BS
113242014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11325
11326 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
11327 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
11328 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
11329 -maltivec=be with LE targets.
11330 (vsx_mergeh_<mode>): Likewise.
33425d6c 11331 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
11332 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
11333 (altivec_vmrghb): Replace with define_expand and new
33425d6c 11334 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11335 (altivec_vmrghb_direct): New define_insn.
11336 (altivec_vmrghh): Replace with define_expand and new
33425d6c 11337 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11338 (altivec_vmrghh_direct): New define_insn.
11339 (altivec_vmrghw): Replace with define_expand and new
33425d6c 11340 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11341 (altivec_vmrghw_direct): New define_insn.
11342 (*altivec_vmrghsf): Adjust for endianness.
11343 (altivec_vmrglb): Replace with define_expand and new
33425d6c 11344 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11345 (altivec_vmrglb_direct): New define_insn.
11346 (altivec_vmrglh): Replace with define_expand and new
33425d6c 11347 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11348 (altivec_vmrglh_direct): New define_insn.
11349 (altivec_vmrglw): Replace with define_expand and new
33425d6c 11350 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11351 (altivec_vmrglw_direct): New define_insn.
11352 (*altivec_vmrglsf): Adjust for endianness.
11353 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
11354 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
11355 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
11356 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
11357 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
11358 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
11359 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
11360 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
11361
aef66c94
MS
113622014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
11363
11364 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
11365 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
11366 whitespace.
11367
77574c35
RB
113682014-01-29 Richard Biener <rguenther@suse.de>
11369
11370 PR tree-optimization/58742
11371 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
11372 associate_pointerplus_align.
11373 (associate_pointerplus_diff): New function.
11374 (associate_pointerplus): Likewise. Call associate_pointerplus_align
11375 and associate_pointerplus_diff.
11376
15b25b24
RB
113772014-01-29 Richard Biener <rguenther@suse.de>
11378
11379 * lto-streamer.h (LTO_major_version): Bump to 3.
11380 (LTO_minor_version): Reset to 0.
11381
eb6006ad
RL
113822014-01-29 Renlin Li <Renlin.Li@arm.com>
11383
11384 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
11385 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
11386 (arm_file_start): Generate correct asm header for armv7ve.
11387 * config/arm/bpabi.h: Add multilib support for armv7ve.
11388 * config/arm/driver-arm.c: Change the architectures of cortex-a7
11389 and cortex-a15 to armv7ve.
11390 * config/arm/t-aprofile: Add multilib support for armv7ve.
11391 * doc/invoke.texi: Document -march=armv7ve.
11392
4bfb2fa2
RB
113932014-01-29 Richard Biener <rguenther@suse.de>
11394
11395 PR tree-optimization/58742
11396 * tree-ssa-forwprop.c (associate_plusminus): Return true
11397 if we changed sth, defer EH cleanup to ...
11398 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
11399 (simplify_mult): New function.
11400
42eb8bd1
JJ
114012014-01-29 Jakub Jelinek <jakub@redhat.com>
11402
09b22f48
JJ
11403 PR middle-end/59917
11404 PR tree-optimization/59920
11405 * tree.c (build_common_builtin_nodes): Remove
11406 __builtin_setjmp_dispatcher initialization.
11407 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
11408 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
11409 instead of gsi_after_labels + manually skipping debug stmts.
11410 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
11411 ignore bbs with IFN_ABNORMAL_DISPATCHER.
11412 * tree-inline.c (copy_edges_for_bb): Remove
11413 can_make_abnormal_goto argument, instead add abnormal_goto_dest
11414 argument. Ignore computed_goto_p stmts. Don't call
11415 make_abnormal_goto_edges. If a call might need abnormal edges
11416 for non-local gotos, see if it already has an edge to
11417 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
11418 with true argument, don't do anything then, otherwise add
11419 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
11420 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
11421 caller.
11422 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
11423 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
11424 (lower_stmt): Don't set data->calls_builtin_setjmp.
11425 (lower_builtin_setjmp): Adjust comment.
11426 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
11427 * tree-cfg.c (found_computed_goto): Remove.
11428 (factor_computed_gotos): Remove.
11429 (make_goto_expr_edges): Return bool, true for computed gotos.
11430 Don't call make_abnormal_goto_edges.
11431 (build_gimple_cfg): Don't set found_computed_goto, don't call
11432 factor_computed_gotos.
11433 (computed_goto_p): No longer static.
11434 (make_blocks): Don't set found_computed_goto.
11435 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
11436 (make_edges): If make_goto_expr_edges returns true, push bb
11437 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
11438 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
11439 vector. Record mapping between bbs and OpenMP regions if there
11440 are any, adjust make_gimple_omp_edges caller. Call
11441 handle_abnormal_edges.
11442 (make_abnormal_goto_edges): Remove.
11443 * tree-cfg.h (make_abnormal_goto_edges): Remove.
11444 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
11445 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 11446 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
11447 * internal-fn.def (ABNORMAL_DISPATCHER): New.
11448 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
11449 filling *region also set *region_idx to (*region)->entry->index.
11450
42eb8bd1
JJ
11451 PR other/58712
11452 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
11453 For REGs set ORIGINAL_REGNO.
11454
4a271b7e
BM
114552014-01-29 Bingfeng Mei <bmei@broadcom.com>
11456
33425d6c 11457 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
11458 vec_widen_(s|u)mul_even/odd pair if it is less efficient
11459 than hi/lo pair.
11460
3d54b29d
JJ
114612014-01-29 Jakub Jelinek <jakub@redhat.com>
11462
11463 PR tree-optimization/59594
11464 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
11465 a copy of the datarefs vector rather than the vector itself.
11466
2e5e7103
JM
114672014-01-28 Jason Merrill <jason@redhat.com>
11468
11469 PR c++/53756
11470 * dwarf2out.c (auto_die): New static.
11471 (gen_type_die_with_usage): Handle C++1y 'auto'.
11472 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
11473 on definition.
11474
d5d618b5
L
114752014-01-28 H.J. Lu <hongjiu.lu@intel.com>
11476
11477 PR target/59672
11478 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
11479 (SPEC_X32): Likewise.
11480 (SPEC_64): Likewise.
11481 * config/i386/i386.c (ix86_option_override_internal): Turn off
11482 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
11483 for TARGET_16BIT.
11484 (x86_file_start): Output .code16gcc for TARGET_16BIT.
11485 * config/i386/i386.h (TARGET_16BIT): New macro.
11486 (TARGET_16BIT_P): Likewise.
11487 * config/i386/i386.opt: Add m16.
11488 * doc/invoke.texi: Document -m16.
11489
367c8286
DS
114902014-01-28 Jakub Jelinek <jakub@redhat.com>
11491
11492 PR preprocessor/59935
11493 * input.c (location_get_source_line): Bail out on when line number
33425d6c 11494 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 11495
07ec81f9
RB
114962014-01-28 Richard Biener <rguenther@suse.de>
11497
11498 PR tree-optimization/58742
11499 * tree-ssa-forwprop.c (associate_plusminus): Handle
11500 pointer subtraction of the form (T)(P + A) - (T)P.
11501
5facb998
KT
115022014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11503
11504 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
11505 at const_int_cost.
11506
e04faf24
RB
115072014-01-28 Richard Biener <rguenther@suse.de>
11508
11509 Revert
11510 2014-01-28 Richard Biener <rguenther@suse.de>
11511
11512 PR rtl-optimization/45364
11513 PR rtl-optimization/59890
11514 * var-tracking.c (local_get_addr_clear_given_value): Handle
11515 already cleared slot.
11516 (val_reset): Handle not allocated local_get_addr_cache.
11517 (vt_find_locations): Use post-order on the inverted CFG.
11518
6593260b
RB
115192014-01-28 Richard Biener <rguenther@suse.de>
11520
33425d6c 11521 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 11522
9ec2d2c1
RB
115232014-01-28 Richard Biener <rguenther@suse.de>
11524
11525 PR rtl-optimization/45364
11526 PR rtl-optimization/59890
11527 * var-tracking.c (local_get_addr_clear_given_value): Handle
11528 already cleared slot.
11529 (val_reset): Handle not allocated local_get_addr_cache.
11530 (vt_find_locations): Use post-order on the inverted CFG.
11531
2ceb362d
AM
115322014-01-28 Alan Modra <amodra@gmail.com>
11533
11534 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
11535 * configure.ac <recursive call for build != host>: Define
11536 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
11537 and LD_FOR_BUILD too.
11538 * configure: Regenerate.
11539
0ebe2584
ASJ
115402014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
11541
11542 * config/i386/i386.c (get_builtin_code_for_version): Separate
11543 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
11544 Broadwell from Haswell.
11545
a33fc7fe
SE
115462014-01-27 Steve Ellcey <sellcey@mips.com>
11547
11548 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
11549 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
11550 * config/mips/mips.c (mips_option_override): Change setting
11551 of TARGET_DSP.
11552 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
11553 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
11554 Change from Mask to Var.
a33fc7fe 11555
a99be3c9
JL
115562014-01-27 Jeff Law <law@redhat.com>
11557
11558 * ipa-inline.c (inline_small_functions): Fix typo.
11559
d256b866
IT
115602014-01-27 Ilya Tocar <ilya.tocar@intel.com>
11561
11562 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
11563 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
11564 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
11565 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
11566 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
11567 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
11568 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
11569 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
11570 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
11571 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
11572 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
11573 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
11574 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
11575 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
11576 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
11577 (_mm512_storeu_epi64): Ditto.
11578 (_mm512_cmpge_epi32_mask): Ditto.
11579 (_mm512_cmpge_epu32_mask): Ditto.
11580 (_mm512_cmpge_epi64_mask): Ditto.
11581 (_mm512_cmpge_epu64_mask): Ditto.
11582 (_mm512_cmple_epi32_mask): Ditto.
11583 (_mm512_cmple_epu32_mask): Ditto.
11584 (_mm512_cmple_epi64_mask): Ditto.
11585 (_mm512_cmple_epu64_mask): Ditto.
11586 (_mm512_cmplt_epi32_mask): Ditto.
11587 (_mm512_cmplt_epu32_mask): Ditto.
11588 (_mm512_cmplt_epi64_mask): Ditto.
11589 (_mm512_cmplt_epu64_mask): Ditto.
11590 (_mm512_cmpneq_epi32_mask): Ditto.
11591 (_mm512_cmpneq_epu32_mask): Ditto.
11592 (_mm512_cmpneq_epi64_mask): Ditto.
11593 (_mm512_cmpneq_epu64_mask): Ditto.
11594 (_mm512_expand_pd): Ditto.
11595 (_mm512_expand_ps): Ditto.
11596 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
11597 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
11598 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
11599 * config/i386/i386.c (ix86_builtins): Add
11600 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
11601 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
11602 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
11603 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
11604 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
11605 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
11606 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
11607 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
11608 IX86_BUILTIN_PMOVUSQW512_MEM.
11609 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
11610 __builtin_ia32_pmovsqd512mem_mask,
11611 __builtin_ia32_pmovqd512mem_mask,
11612 __builtin_ia32_pmovusqw512mem_mask,
11613 __builtin_ia32_pmovsqw512mem_mask,
11614 __builtin_ia32_pmovqw512mem_mask,
11615 __builtin_ia32_pmovusdw512mem_mask,
11616 __builtin_ia32_pmovsdw512mem_mask,
11617 __builtin_ia32_pmovdw512mem_mask,
11618 __builtin_ia32_pmovqb512mem_mask,
11619 __builtin_ia32_pmovusqb512mem_mask,
11620 __builtin_ia32_pmovsqb512mem_mask,
11621 __builtin_ia32_pmovusdb512mem_mask,
11622 __builtin_ia32_pmovsdb512mem_mask,
11623 __builtin_ia32_pmovdb512mem_mask.
11624 (bdesc_args): Add __builtin_ia32_expanddf512,
11625 __builtin_ia32_expandsf512.
11626 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
11627 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
11628 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
11629 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
11630 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
11631 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
11632 (avx512f_<code>v8div16qi2_mask_store): This.
11633 (avx512f_expand<mode>): New.
11634
e711dffd
KY
116352014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
11636
1287ae50 11637 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 11638 New.
e711dffd
KY
11639 (_mm512_mask_prefetch_i64gather_pd): Ditto.
11640 (_mm512_prefetch_i32scatter_pd): Ditto.
11641 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
11642 (_mm512_prefetch_i64scatter_pd): Ditto.
11643 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
11644 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
11645 (_mm512_mask_prefetch_i64gather_ps): Ditto.
11646 (_mm512_prefetch_i32scatter_ps): Ditto.
11647 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
11648 (_mm512_prefetch_i64scatter_ps): Ditto.
11649 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
11650 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
11651 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
11652 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
11653 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
11654 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
11655 IX86_BUILTIN_SCATTERPFQPD.
11656 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
11657 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
11658 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
11659 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
11660 __builtin_ia32_scatterpfqps.
11661 (ix86_expand_builtin): Expand new built-ins.
11662 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
11663 fix memory access data type.
11664 (*avx512pf_gatherpf<mode>_mask): Ditto.
11665 (*avx512pf_gatherpf<mode>): Ditto.
11666 (avx512pf_scatterpf<mode>): Ditto.
11667 (*avx512pf_scatterpf<mode>_mask): Ditto.
11668 (*avx512pf_scatterpf<mode>): Ditto.
11669 (GATHER_SCATTER_SF_MEM_MODE): New.
11670 (avx512pf_gatherpf<mode>df): Ditto.
11671 (*avx512pf_gatherpf<mode>df_mask): Ditto.
11672 (*avx512pf_scatterpf<mode>df): Ditto.
11673
904e5ccd
JJ
116742014-01-27 Jakub Jelinek <jakub@redhat.com>
11675
11676 PR bootstrap/59934
11677 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
11678 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
11679 reached.
11680
84e90123
JG
116812014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
11682
11683 * common/config/arm/arm-common.c
11684 (arm_rewrite_mcpu): Handle multiple names.
11685 * config/arm/arm.h
11686 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
11687
c6f6157a
JG
116882014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
11689
11690 * gimple-builder.h (create_gimple_tmp): Delete.
11691
770516c9
CB
116922014-01-27 Christian Bruel <christian.bruel@st.com>
11693
11694 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
11695 words comparisons.
11696
cc5cec10
JDA
116972014-01-26 John David Anglin <danglin@gcc.gnu.org>
11698
5aa3c762
JDA
11699 * config/pa/pa.md (call): Generate indirect long calls to non-local
11700 functions when outputing 32-bit code.
11701 (call_value): Likewise except for special call to buggy powf function.
11702
cc5cec10
JDA
11703 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
11704 portable runtime and PIC indirect calls.
11705 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
11706 and PIC call sequences. Use ldo instead of blr to set return register
11707 in PIC call sequence.
11708
6bb0e248
WL
117092014-01-25 Walter Lee <walt@tilera.com>
11710
11711 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
11712 avoid clobbering a live register.
11713
dab03fe3
WL
117142014-01-25 Walter Lee <walt@tilera.com>
11715
770516c9 11716 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 11717 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 11718 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
11719 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
11720
905c20c1
WL
117212014-01-25 Walter Lee <walt@tilera.com>
11722
11723 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
11724 arguments on even registers.
11725 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
11726 STACK_BOUNDARY.
11727 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
11728 (BIGGEST_ALIGNMENT): Ditto.
11729 (BIGGEST_FIELD_ALIGNMENT): Ditto.
11730
8e90a625
WL
117312014-01-25 Walter Lee <walt@tilera.com>
11732
11733 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
11734 insns before bundling.
0ebe2584 11735 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 11736
450c1ffe
WL
117372014-01-25 Walter Lee <walt@tilera.com>
11738
11739 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
11740 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
11741 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 11742
450c1ffe 117432014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 11744
317a951f
RS
11745 * config/mips/constraints.md (kl): Delete.
11746 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
11747 define expands, using...
11748 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
11749 instructions for MIPS16.
11750 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
11751 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
11752
3abe9053
WL
117532014-01-25 Walter Lee <walt@tilera.com>
11754
0ebe2584 11755 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
11756 (clzdi2): Ditto.
11757 (ffsdi2): Ditto.
11758
b0e0fe41
WL
117592014-01-25 Walter Lee <walt@tilera.com>
11760
11761 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
11762 (TARGET_EXPAND_TO_RTL_HOOK): Define.
11763
2c8798a2
RS
117642014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
11765
11766 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
11767 Handle XOR.
11768
2105be5a
JJ
117692014-01-25 Jakub Jelinek <jakub@redhat.com>
11770
4def6060
JJ
11771 * print-rtl.c (in_call_function_usage): New var.
11772 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
11773 EXPR_LIST mode as mode and not as reg note name.
11774
2105be5a
JJ
11775 PR middle-end/59561
11776 * cfgloopmanip.c (copy_loop_info): If
11777 loop->warned_aggressive_loop_optimizations, make sure
11778 the flag is set in target loop too.
11779
b72271b9
BI
117802014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
11781
11782 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
11783 flag_cilkplus.
11784 * builtins.def: Likewise.
11785 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
11786 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
11787 * ira.c (ira_setup_eliminable_regset): Likewise.
11788 * omp-low.c (gate_expand_omp): Likewise.
11789 (execute_lower_omp): Likewise.
11790 (diagnose_sb_0): Likewise.
11791 (gate_diagnose_omp_blocks): Likewise.
11792 (simd_clone_clauses_extract): Likewise.
11793 (gate): Likewise.
11794
8adcc78b
BS
117952014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11796
11797 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
11798 correction for little endian...
11799 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
11800 here.
11801
3d750496
JL
118022014-01-24 Jeff Law <law@redhat.com>
11803
11804 PR tree-optimization/59919
11805 * tree-vrp.c (find_assert_locations_1): Do not register asserts
11806 for non-returning calls.
11807
1c05df59
JG
118082014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
11809
11810 * common/config/aarch64/aarch64-common.c
11811 (aarch64_rewrite_mcpu): Handle multiple names.
11812 * config/aarch64/aarch64.h
11813 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
11814
317363b4
DS
118152014-01-24 Dodji Seketeli <dodji@redhat.com>
11816
11817 * input.c (add_file_to_cache_tab): Handle the case where fopen
11818 returns NULL.
11819
16370fa7
L
118202014-01-23 H.J. Lu <hongjiu.lu@intel.com>
11821
11822 PR target/59929
11823 * config/i386/i386.md (pushsf splitter): Get stack adjustment
11824 from push operand if code of push isn't PRE_DEC.
11825
b846c948
MM
118262014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
11827
11828 PR target/59909
11829 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
11830 -mquad-memory-atomic. Update -mquad-memory documentation to say
11831 it is only used for non-atomic loads/stores.
11832
11833 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
11834 -mquad-memory or -mquad-memory-atomic switches.
11835
11836 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
11837 -mquad-memory-atomic to ISA 2.07 support.
11838
11839 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
11840 to separate support of normal quad word memory operations (ldq, stq)
11841 from the atomic quad word memory operations.
b846c948
MM
11842
11843 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
11844 support to separate non-atomic quad word operations from atomic
11845 quad word operations. Disable non-atomic quad word operations in
11846 little endian mode so that we don't have to swap words after the
11847 load and before the store.
11848 (quad_load_store_p): Add comment about atomic quad word support.
11849 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
11850 options printed with -mdebug=reg.
11851
11852 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
11853 -mquad-memory-atomic as the test for whether we have quad word
11854 atomic instructions.
0ebe2584
ASJ
11855 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
11856 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
11857
11858 * config/rs6000/sync.md (load_lockedti): Insure that the address
11859 is a proper indexed or indirect address for the lqarx instruction.
11860 On little endian systems, swap the hi/lo registers after the lqarx
11861 instruction.
11862 (load_lockedpti): Use indexed_or_indirect_operand predicate to
11863 insure the address is valid for the lqarx instruction.
11864 (store_conditionalti): Insure that the address is a proper indexed
11865 or indirect address for the stqcrx. instruction. On little endian
11866 systems, swap the hi/lo registers before doing the stqcrx.
11867 instruction.
11868 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
11869 insure the address is valid for the stqcrx. instruction.
11870
11871 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
11872 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
11873 type of quad memory support is available.
11874
6e23f296
VM
118752014-01-23 Vladimir Makarov <vmakarov@redhat.com>
11876
11877 PR regression/59915
11878 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
11879 there is a danger of looping.
11880
0a4f04e5
PH
118812014-01-23 Pat Haugen <pthaugen@us.ibm.com>
11882
11883 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
11884 force flag_ira_loop_pressure if set via command line.
11885
f9a4c9a6
AV
118862014-01-23 Alex Velenko <Alex.Velenko@arm.com>
11887
11888 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
11889 (ashr_simd): New builtin handling DI mode.
11890 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
11891 (aarch64_sshr_simddi): New match pattern.
11892 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
11893 (vshrd_n_s64): Likewise.
11894 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
11895
949ad971
NC
118962014-01-23 Nick Clifton <nickc@redhat.com>
11897
11898 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
11899 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
11900 favour of mcu specific scripts.
11901 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
11902 430x multilibs.
11903
d5ecead9
JG
119042014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
11905 Alex Velenko <Alex.Velenko@arm.com>
11906
11907 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
11908 (vaddv_s16): Likewise.
11909 (vaddv_s32): Likewise.
11910 (vaddv_u8): Likewise.
11911 (vaddv_u16): Likewise.
11912 (vaddv_u32): Likewise.
11913 (vaddvq_s8): Likewise.
11914 (vaddvq_s16): Likewise.
11915 (vaddvq_s32): Likewise.
11916 (vaddvq_s64): Likewise.
11917 (vaddvq_u8): Likewise.
11918 (vaddvq_u16): Likewise.
11919 (vaddvq_u32): Likewise.
11920 (vaddvq_u64): Likewise.
11921 (vaddv_f32): Likewise.
11922 (vaddvq_f32): Likewise.
11923 (vaddvq_f64): Likewise.
11924 (vmaxv_f32): Likewise.
11925 (vmaxv_s8): Likewise.
11926 (vmaxv_s16): Likewise.
11927 (vmaxv_s32): Likewise.
11928 (vmaxv_u8): Likewise.
11929 (vmaxv_u16): Likewise.
11930 (vmaxv_u32): Likewise.
11931 (vmaxvq_f32): Likewise.
11932 (vmaxvq_f64): Likewise.
11933 (vmaxvq_s8): Likewise.
11934 (vmaxvq_s16): Likewise.
11935 (vmaxvq_s32): Likewise.
11936 (vmaxvq_u8): Likewise.
11937 (vmaxvq_u16): Likewise.
11938 (vmaxvq_u32): Likewise.
11939 (vmaxnmv_f32): Likewise.
11940 (vmaxnmvq_f32): Likewise.
11941 (vmaxnmvq_f64): Likewise.
11942 (vminv_f32): Likewise.
11943 (vminv_s8): Likewise.
11944 (vminv_s16): Likewise.
11945 (vminv_s32): Likewise.
11946 (vminv_u8): Likewise.
11947 (vminv_u16): Likewise.
11948 (vminv_u32): Likewise.
11949 (vminvq_f32): Likewise.
11950 (vminvq_f64): Likewise.
11951 (vminvq_s8): Likewise.
11952 (vminvq_s16): Likewise.
11953 (vminvq_s32): Likewise.
11954 (vminvq_u8): Likewise.
11955 (vminvq_u16): Likewise.
11956 (vminvq_u32): Likewise.
11957 (vminnmv_f32): Likewise.
11958 (vminnmvq_f32): Likewise.
11959 (vminnmvq_f64): Likewise.
11960
1dd055a2
JG
119612014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
11962
11963 * config/aarch64/aarch64-simd.md
11964 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
11965 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
11966 (*aarch64_mul3_elt<mode>): Likewise.
11967 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
11968 (*aarch64_mul3_elt_to_64v2df): Likewise.
11969 (*aarch64_mla_elt<mode>): Likewise.
11970 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
11971 (*aarch64_mls_elt<mode>): Likewise.
11972 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
11973 (*aarch64_fma4_elt<mode>): Likewise.
11974 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
11975 (*aarch64_fma4_elt_to_64v2df): Likewise.
11976 (*aarch64_fnma4_elt<mode>): Likewise.
11977 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
11978 (*aarch64_fnma4_elt_to_64v2df): Likewise.
11979 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
11980 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
11981 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
11982 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
11983 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
11984 (aarch64_sqdmull_lane<mode>_internal): Likewise.
11985 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
11986
dafb9b64
AV
119872013-01-23 Alex Velenko <Alex.Velenko@arm.com>
11988
11989 * config/aarch64/aarch64-simd.md
11990 (aarch64_be_checked_get_lane<mode>): New define_expand.
11991 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 11992 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
11993 New builtin definition.
11994 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
11995 Use new safe be builtin.
11996
89b4515c
AV
119972014-01-23 Alex Velenko <Alex.Velenko@arm.com>
11998
11999 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
12000 New define_insn.
12001 (aarch64_be_st1<mode>): Likewise.
12002 (aarch_ld1<VALL:mode>): Define_expand modified.
12003 (aarch_st1<VALL:mode>): Likewise.
12004 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
12005 (UNSPEC_ST1): Likewise.
12006
4bb66ef3 120072014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
12008
12009 * config/microblaze/microblaze.md: Add trap insn and attribute
12010
7ecc3eb9
DS
120112014-01-23 Dodji Seketeli <dodji@redhat.com>
12012
12013 PR preprocessor/58580
12014 * input.h (location_get_source_line): Take an additional line_size
12015 parameter.
12016 (void diagnostics_file_cache_fini): Declare new function.
12017 * input.c (struct fcache): New type.
12018 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
12019 New static constants.
12020 (diagnostic_file_cache_init, total_lines_num)
12021 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
12022 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
12023 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
12024 (get_next_line, read_next_line, goto_next_line, read_line_num):
12025 New static function definitions.
12026 (diagnostic_file_cache_fini): New function.
12027 (location_get_source_line): Take an additional output line_len
12028 parameter. Re-write using lookup_or_add_file_to_cache_tab and
12029 read_line_num.
12030 * diagnostic.c (diagnostic_finish): Call
12031 diagnostic_file_cache_fini.
12032 (adjust_line): Take an additional input parameter for the length
12033 of the line, rather than calculating it with strlen.
12034 (diagnostic_show_locus): Adjust the use of
12035 location_get_source_line and adjust_line with respect to their new
12036 signature. While displaying a line now, do not stop at the first
12037 null byte. Rather, display the zero byte as a space and keep
12038 going until we reach the size of the line.
12039 * Makefile.in: Add vec.o to OBJS-libcommon
12040
2196a885 120412014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
40c0a159 12042 Ilya Tocar <ilya.tocar@intel.com>
2196a885
KY
12043
12044 * config/i386/avx512fintrin.h (_mm512_kmov): New.
12045 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
12046 (__builtin_ia32_kmov16): Ditto.
12047 * config/i386/i386.md (UNSPEC_KMOV): New.
12048 (kmovw): Ditto.
12049
70473c63
KY
120502014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
12051
12052 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
12053 (_mm512_storeu_si512): Ditto.
12054
f9ae4df8
RS
120552014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
12056
12057 PR target/52125
12058 * rtl.h (get_referenced_operands): Declare.
12059 * recog.c (get_referenced_operands): New function.
12060 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
12061 operands have been referenced when recording LO_SUM references.
12062
4bb66ef3 120632014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
12064
12065 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
12066
39960d1c 120672014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
12068
12069 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
12070 Enable for generic and recent AMD targets.
12071
39960d1c 120722014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
12073
12074 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
12075 ARG_SIZE note when adjustment was eliminated.
12076
bb50b870
JL
120772014-01-22 Jeff Law <law@redhat.com>
12078
12079 PR tree-optimization/59597
12080 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
12081 in file. Accept new argument REGISTERING and use it to modify
12082 dump output appropriately.
12083 (register_jump_thread): Corresponding changes.
12084 (mark_threaded_blocks): Reinstate code to cancel unprofitable
12085 thread paths involving joiner blocks. Add code to dump cancelled
12086 jump threading paths.
12087
df2980be
VM
120882014-01-22 Vladimir Makarov <vmakarov@redhat.com>
12089
12090 PR rtl-optimization/59477
12091 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 12092 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 12093
1bb99900
TT
120942014-01-22 Tom Tromey <tromey@redhat.com>
12095
12096 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
12097 PARAMS.
12098 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
12099
9102dadd
VM
121002014-01-21 Vladimir Makarov <vmakarov@redhat.com>
12101
12102 PR rtl-optimization/59896
12103 * lra-constraints.c (process_alt_operands): Check unused note for
12104 matched operands of insn with no output reloads.
12105
ca376eb8
RS
121062014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
12107
12108 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
12109 (mips_move_from_gpr_cost): Likewise.
12110
a9711f36
VM
121112014-01-21 Vladimir Makarov <vmakarov@redhat.com>
12112
12113 PR rtl-optimization/59858
12114 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
12115 ira_class_hard_regs_num.
12116 (process_alt_operands): Increase reject for dying matched operand.
12117
f8ea7cb0
JJ
121182014-01-21 Jakub Jelinek <jakub@redhat.com>
12119
12120 PR target/59003
12121 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
12122 smaller than size, perform several stores or loads and stores
12123 at dst + count - size to store or copy all of size bytes, rather
12124 than just last modesize bytes.
12125
84db09e3
DD
121262014-01-20 DJ Delorie <dj@redhat.com>
12127
12128 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
12129 that CLOBBERs are REGs before propogating their values.
12130
1cf11770
L
121312014-01-20 H.J. Lu <hongjiu.lu@intel.com>
12132
12133 PR middle-end/59789
12134 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
12135 (cgraph_inline_failed_type): New function.
12136 * cgraph.h (DEFCIFCODE): Add type.
12137 (cgraph_inline_failed_type_t): New enum.
12138 (cgraph_inline_failed_type): New prototype.
12139 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
12140 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
12141 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
12142 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
12143 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
12144 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
12145 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 12146 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
12147 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
12148 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
12149 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
12150 OPTIMIZATION_MISMATCH.
12151 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 12152 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 12153
8586e4bd
UB
121542014-01-20 Uros Bizjak <ubizjak@gmail.com>
12155
12156 PR target/59685
12157 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
12158 mode attribute in insn output.
12159
99482090
EB
121602014-01-20 Eric Botcazou <ebotcazou@adacore.com>
12161
12162 * output.h (output_constant): Delete.
12163 * varasm.c (output_constant): Make private.
12164
ede23272
AV
121652014-01-20 Alex Velenko <Alex.Velenko@arm.com>
12166
12167 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
12168
9a7eefec
JJ
121692014-01-20 Jakub Jelinek <jakub@redhat.com>
12170
12171 PR middle-end/59860
12172 * tree.h (fold_builtin_strcat): New prototype.
12173 * builtins.c (fold_builtin_strcat): No longer static. Add len
12174 argument, if non-NULL, don't call c_strlen. Optimize
12175 directly into __builtin_memcpy instead of __builtin_strcpy.
12176 (fold_builtin_2): Adjust fold_builtin_strcat caller.
12177 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
12178
3e729145
UB
121792014-01-20 Uros Bizjak <ubizjak@gmail.com>
12180
12181 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
12182 for SImode_address_operand operands, having only a REG argument.
12183
eee0e487
MS
121842014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
12185
12186 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
12187 loader name using mbig-endian.
12188 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
12189
9e540e37
JG
121902014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
12191
12192 * doc/invoke.texi (-march): Clarify documentation for AArch64.
12193 (-mtune): Likewise.
12194 (-mcpu): Likewise.
12195
69675d50
TB
121962014-01-20 Tejas Belagod <tejas.belagod@arm.com>
12197
12198 * config/aarch64/aarch64-protos.h
12199 (aarch64_cannot_change_mode_class_ptr): Declare.
12200 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
12201 aarch64_cannot_change_mode_class_ptr): New.
12202 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
12203 backend hook aarch64_cannot_change_mode_class.
12204
ffee7aa9
JG
122052014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
12206
12207 * common/config/aarch64/aarch64-common.c
12208 (aarch64_handle_option): Don't handle any option order logic here.
12209 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
12210 selected_cpu, warn on architecture version mismatch.
12211 (aarch64_override_options): Fix parsing order for option strings.
12212
c7169779
JBG
122132014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12214 Iain Sandoe <iain@codesourcery.com>
12215
12216 PR bootstrap/59496
12217 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
12218 warning. Amend comment to reflect current functionality.
12219
409b6ac1
RB
122202014-01-20 Richard Biener <rguenther@suse.de>
12221
12222 PR middle-end/59860
12223 * builtins.c (fold_builtin_strcat): Remove case better handled
12224 by tree-ssa-strlen.c.
12225
608df31f
AL
122262014-01-20 Alan Lawrence <alan.lawrence@arm.com>
12227
12228 * config/aarch64/aarch64.opt
12229 (mcpu, march, mtune): Make case-insensitive.
12230
0fabe5f3
JJ
122312014-01-20 Jakub Jelinek <jakub@redhat.com>
12232
12233 PR target/59880
12234 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
12235 if operands[1] is a REG or ZERO_EXTEND of a REG.
12236
39960d1c 122372014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
12238
12239 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
12240
925cb97d
JDA
122412014-01-19 John David Anglin <danglin@gcc.gnu.org>
12242
12243 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
12244 long non-pic millicode calls.
12245
f43856db
JBG
122462014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12247
12248 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
12249
d2be9965
ILT
122502014-01-19 Kito Cheng <kito@0xlab.org>
12251
12252 * builtins.c (expand_movstr): Check movstr expand done or fail.
12253
efc90043
UB
122542014-01-18 Uros Bizjak <ubizjak@gmail.com>
12255 H.J. Lu <hongjiu.lu@intel.com>
12256
12257 PR target/59379
12258 * config/i386/i386.md (*lea<mode>): Zero-extend return register
12259 to DImode for zero-extended addresses.
12260
8fce217e
JJ
122612014-01-19 Jakub Jelinek <jakub@redhat.com>
12262
12263 PR rtl-optimization/57763
12264 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
12265 on the new indirect jump_insn and increment LABEL_NUSES (label).
12266
efc90043 122672014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
12268
12269 PR bootstrap/59580
12270 PR bootstrap/59583
12271 * config.gcc (x86_archs): New variable.
12272 (x86_64_archs): Likewise.
12273 (x86_cpus): Likewise.
12274 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
12275 --with-arch/--with-cpu= options.
12276 Support --with-arch=/--with-cpu={nehalem,westmere,
12277 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
12278
7f3af6d3
UB
122792014-01-18 Uros Bizjak <ubizjak@gmail.com>
12280
12281 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
12282 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
12283
122842014-01-18 Uros Bizjak <ubizjak@gmail.com>
12285
12286 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
12287
fa5d6c75
JJ
122882014-01-18 Jakub Jelinek <jakub@redhat.com>
12289
12290 PR target/58944
12291 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
12292 clear cpp_get_options (parse_in)->warn_unused_macros for
12293 ix86_target_macros_internal with cpp_define.
12294
04da5680
RS
122952014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
12296
12297 * jump.c (delete_related_insns): Keep (use (insn))s.
12298 * reorg.c (redundant_insn): Check for barriers too.
12299
1e99bee5
L
123002014-01-17 H.J. Lu <hongjiu.lu@intel.com>
12301
7f3af6d3 12302 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 12303
fa7d0c60
JDA
123042014-01-17 John David Anglin <danglin@gcc.gnu.org>
12305
12306 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
12307 call to $$dyncall when TARGET_LONG_CALLS is true.
12308
2043135a
JL
123092014-01-17 Jeff Law <law@redhat.com>
12310
12311 * ree.c (combine_set_extension): Temporarily disable test for
12312 changing number of hard registers.
12313
39960d1c 123142014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
12315
12316 PR middle-end/58125
12317 * ipa-inline-analysis.c (inline_free_summary):
12318 Do not free summary of aliases.
12319
664ceb1e
JJ
123202014-01-17 Jakub Jelinek <jakub@redhat.com>
12321
12322 PR middle-end/59706
12323 * gimplify.c (gimplify_expr): Use create_tmp_var
12324 instead of create_tmp_var_raw. If cond doesn't have
12325 integral type, don't add the IFN_ANNOTATE builtin at all.
12326
aef83682
MJ
123272014-01-17 Martin Jambor <mjambor@suse.cz>
12328
12329 PR ipa/59736
12330 * ipa-cp.c (prev_edge_clone): New variable.
12331 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
12332 Also resize prev_edge_clone vector.
12333 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
12334 (ipcp_edge_removal_hook): New function.
12335 (ipcp_driver): Register ipcp_edge_removal_hook.
12336
4bb66ef3 123372014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
12338 Steve Ellcey <sellcey@mips.com>
12339
12340 PR target/59462
12341 * config/mips/mips.c (mips_print_operand): Check operand mode instead
12342 of operator mode.
12343
4ee5c752
JL
123442014-01-17 Jeff Law <law@redhat.com>
12345
12346 PR middle-end/57904
12347 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
12348 so that pass_ccp runs first.
12349
40cfac7c
L
123502014-01-17 H.J. Lu <hongjiu.lu@intel.com>
12351
12352 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
12353 (ix86_adjust_cost): Use !TARGET_XXX.
12354 (do_reorder_for_imul): Likewise.
12355 (swap_top_of_ready_list): Likewise.
12356 (ix86_sched_reorder): Likewise.
12357
9a7f94d7
L
123582014-01-17 H.J. Lu <hongjiu.lu@intel.com>
12359
12360 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
12361 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
12362 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
12363 (intel_memset): New. Duplicate slm_memset.
12364 (intel_cost): New. Duplicate slm_cost.
12365 (m_INTEL): New macro.
12366 (processor_target_table): Add "intel".
12367 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
12368 with PROCESSOR_INTEL for "intel".
12369 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
12370 PROCESSOR_SILVERMONT.
9a7f94d7
L
12371 (ix86_issue_rate): Likewise.
12372 (ix86_adjust_cost): Likewise.
12373 (ia32_multipass_dfa_lookahead): Likewise.
12374 (swap_top_of_ready_list): Likewise.
12375 (ix86_sched_reorder): Likewise.
8cdcf750
L
12376 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
12377 instead of TARGET_OPT_AGU.
9a7f94d7
L
12378 * config/i386/i386.h (TARGET_INTEL): New.
12379 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
12380 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
12381 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
12382 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 12383
30078c0a
MP
123842014-01-17 Marek Polacek <polacek@redhat.com>
12385
12386 PR c/58346
12387 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
12388 size is zero.
12389
14379e66
RB
123902014-01-17 Richard Biener <rguenther@suse.de>
12391
12392 PR tree-optimization/46590
12393 * opts.c (default_options_table): Add entries for
12394 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
12395 all enabled at -O1 but not for -Og.
12396 * common.opt (fbranch-count-reg): Remove Init(1).
12397 (fmove-loop-invariants): Likewise.
12398 (ftree-pta): Likewise.
12399
f7d594d2
JJ
124002014-01-17 Jakub Jelinek <jakub@redhat.com>
12401
88e18bd5
JJ
12402 * config/i386/i386.c (ix86_data_alignment): For compatibility with
12403 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
12404 decls to at least the GCC 4.8 used alignments.
12405
f7d594d2
JJ
12406 PR fortran/59440
12407 * tree-nested.c (convert_nonlocal_reference_stmt,
12408 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
12409 of GIMPLE_BIND stmts, adjust associated decls.
12410
32500433
RB
124112014-01-17 Richard Biener <rguenther@suse.de>
12412
12413 PR tree-optimization/46590
12414 * vec.h (vec<>::bseach): New member function implementing
12415 binary search according to C89 bsearch.
12416 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
12417 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
12418 bitmap pointer again. Make accesses_in_loop a flat array.
12419 (mem_ref_obstack): New global.
12420 (outermost_indep_loop): Adjust for mem_ref->stored changes.
12421 (mark_ref_stored): Likewise.
12422 (ref_indep_loop_p_2): Likewise.
12423 (set_ref_stored_in_loop): New helper function.
12424 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
12425 (memref_free): Adjust.
12426 (record_mem_ref_loc): Simplify.
12427 (gather_mem_refs_stmt): Adjust.
12428 (sort_locs_in_loop_postorder_cmp): New function.
12429 (analyze_memory_references): Sort accesses_in_loop after
12430 loop postorder number.
12431 (find_ref_loc_in_loop_cmp): New function.
12432 (for_all_locs_in_loop): Find relevant cluster of locs in
12433 accesses_in_loop and iterate without recursion.
12434 (execute_sm): Avoid uninit warning.
12435 (struct ref_always_accessed): Simplify.
12436 (ref_always_accessed::operator ()): Likewise.
12437 (ref_always_accessed_p): Likewise.
12438 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
12439 loop postorder numbers here.
12440 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
12441 numbers.
12442
24fcf4bc
JJ
124432014-01-17 Jan Hubicka <hubicka@ucw.cz>
12444
12445 PR c++/57945
12446 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
12447 on decls for which assemble_alias has been called.
12448
d4f283a1
NC
124492014-01-17 Nick Clifton <nickc@redhat.com>
12450
12451 * config/msp430/msp430.opt: (mcpu): New option.
12452 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
12453 (msp430_option_override): Parse target_cpu. If the MCU name
12454 matches a generic string, clear target_mcu.
12455 (msp430_attr): Allow numeric interrupt values up to 63.
12456 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
12457 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
12458 option.
12459 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
12460 Add mcpu matches.
12461 * config/msp430/msp430.md (popm): Use %J rather than %I.
12462 (addsi3): Use msp430_nonimmediate_operand for operand 2.
12463 (addhi_cy_i): Use immediate_operand for operand 2.
12464 * doc/invoke.texi: Document -mcpu option.
12465
7be64667
RB
124662014-01-17 Richard Biener <rguenther@suse.de>
12467
12468 PR rtl-optimization/38518
12469 * df.h (df_analyze_loop): Declare.
12470 * df-core.c: Include cfgloop.h.
12471 (df_analyze_1): Split out main part of df_analyze.
12472 (df_analyze): Adjust.
12473 (loop_inverted_post_order_compute): New function.
12474 (loop_post_order_compute): Likewise.
12475 (df_analyze_loop): New function avoiding whole-function
12476 postorder computes.
12477 * loop-invariant.c (find_defs): Use df_analyze_loop.
12478 (find_invariants): Adjust.
12479 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
12480
82a197a2
ZC
124812014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
12482
12483 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
12484 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
12485
c68b3f52
IE
124862014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
12487
12488 * ipa-ref.c (ipa_remove_stmt_references): Fix references
12489 traversal when removing references.
12490
39960d1c 124912014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
12492
12493 PR ipa/59775
12494 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
12495
9e6f9ad6
BS
124962014-01-16 Bernd Schmidt <bernds@codesourcery.com>
12497
12498 PR middle-end/56791
12499 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
12500 pushing a reload for an autoinc when we had previously reloaded an
12501 inner part of the address.
12502
a611d7cb
JJ
125032014-01-16 Jakub Jelinek <jakub@redhat.com>
12504
d1417442
JJ
12505 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
12506 field.
12507 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
12508 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
12509 when not giving up or versioning for alias only because of
12510 loop->safelen.
12511 (vect_analyze_data_ref_dependences): Set to true.
12512 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
12513 is a GIMPLE_PHI.
12514 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
12515 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
12516 to the condition.
12517
42ed6cde
JJ
12518 PR middle-end/58344
12519 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
12520
a611d7cb 12521 PR target/59839
7f3af6d3
UB
12522 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
12523 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 12524
8f21260c
VM
125252014-01-16 Vladimir Makarov <vmakarov@redhat.com>
12526
12527 PR middle-end/59609
7f3af6d3
UB
12528 * lra-constraints.c (process_alt_operands): Add printing debug info.
12529 Check absence of input/output reloads for matched operands too.
8f21260c 12530
1a788c05
VM
125312014-01-16 Vladimir Makarov <vmakarov@redhat.com>
12532
12533 PR rtl-optimization/59835
12534 * ira.c (ira_init_register_move_cost): Increase cost for
12535 impossible modes.
12536
4cf24d27
AL
125372014-01-16 Alan Lawrence <alan.lawrence@arm.com>
12538
cc3a9f0d 12539 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 12540
030d03b8
RE
125412014-01-16 Richard Earnshaw <rearnsha@arm.com>
12542
12543 PR target/59780
12544 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
12545 non-register objects. Use gen_(high/low)part more consistently.
12546 Fix assertions.
12547
e78f06a8
MM
125482014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
12549
12550 PR target/59844
12551 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
12552 endian support, remove tests for WORDS_BIG_ENDIAN.
12553 (p8_mfvsrd_3_<mode>): Likewise.
12554 (reload_gpr_from_vsx<mode>): Likewise.
12555 (reload_gpr_from_vsxsf): Likewise.
12556 (p8_mfvsrd_4_disf): Likewise.
12557
9d1ae52c
RB
125582014-01-16 Richard Biener <rguenther@suse.de>
12559
12560 PR rtl-optimization/46590
12561 * lcm.c (compute_antinout_edge): Use postorder iteration.
12562 (compute_laterin): Use inverted postorder iteration.
12563
54c7a7f3
NC
125642014-01-16 Nick Clifton <nickc@redhat.com>
12565
12566 PR middle-end/28865
12567 * varasm.c (output_constant): Return the number of bytes actually
12568 emitted.
12569 (output_constructor_array_range): Update the field size with the
12570 number of bytes emitted by output_constant.
12571 (output_constructor_regular_field): Likewise. Also do not
12572 complain if the total number of bytes emitted is now greater
12573 than the expected fieldpos.
7f3af6d3 12574 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 12575
5147d10a
MP
125762014-01-16 Marek Polacek <polacek@redhat.com>
12577
12578 PR middle-end/59827
12579 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
12580 it is error_mark_node.
12581
4ac005ba
UB
125822014-01-15 Uros Bizjak <ubizjak@gmail.com>
12583
12584 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
12585 VALID_AVX256_REG_OR_OI_MODE.
12586
5d7574fa
PH
125872014-01-15 Pat Haugen <pthaugen@us.ibm.com>
12588
12589 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
12590 current procedure should be profiled.
12591
6ee70f81
AP
125922014-01-15 Andrew Pinski <apinski@cavium.com>
12593
12594 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
12595 of moving from/to the STACK_REG register class.
12596
004a7e45 125972014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
12598
12599 PR debug/54694
12600 * reginfo.c (global_regs_decl): Globalize.
12601 * rtl.h (global_regs_decl): Declare.
12602 * ira.c (do_reload): Diagnose frame_pointer_needed and it
12603 reserved via global_regs.
12604
4583fada
TJ
126052014-01-15 Teresa Johnson <tejohnson@google.com>
12606
12607 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
12608
d13dfec8
BS
126092014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
12610
12611 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
12612 and vmulosh rather than call gen_vec_widen_smult_*.
12613 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
12614 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
12615 (vec_widen_smult_even_v16qi): Likewise.
12616 (vec_widen_umult_even_v8hi): Likewise.
12617 (vec_widen_smult_even_v8hi): Likewise.
12618 (vec_widen_umult_odd_v16qi): Likewise.
12619 (vec_widen_smult_odd_v16qi): Likewise.
12620 (vec_widen_umult_odd_v8hi): Likewise.
12621 (vec_widen_smult_odd_v8hi): Likewise.
12622 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
12623 vmuloub rather than call gen_vec_widen_umult_*.
12624 (vec_widen_umult_lo_v16qi): Likewise.
12625 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
12626 vmulosb rather than call gen_vec_widen_smult_*.
12627 (vec_widen_smult_lo_v16qi): Likewise.
12628 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
12629 rather than call gen_vec_widen_umult_*.
12630 (vec_widen_umult_lo_v8hi): Likewise.
12631 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
12632 rather than call gen_vec_widen_smult_*.
12633 (vec_widen_smult_lo_v8hi): Likewise.
12634
a6a2d67b
JL
126352014-01-15 Jeff Law <law@redhat.com>
12636
12637 PR tree-optimization/59747
12638 * ree.c (find_and_remove_re): Properly handle case where a second
12639 eliminated extension requires widening a copy created for elimination
12640 of a prior extension.
12641 (combine_set_extension): Ensure that the number of hard regs needed
12642 for a destination register does not change when we widen it.
12643
aefe4056
SH
126442014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
12645
12646 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
12647 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
12648 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
12649 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
12650 (avr-*-rtems*): Likewise.
12651 (bfin*-rtems*): Likewise.
12652 (moxie-*-rtems*): Likewise.
12653 (h8300-*-rtems*): Likewise.
12654 (i[34567]86-*-rtems*): Likewise.
12655 (lm32-*-rtems*): Likewise.
12656 (m32r-*-rtems*): Likewise.
12657 (m68k-*-rtems*): Likewise.
12658 (microblaze*-*-rtems*): Likewise.
12659 (mips*-*-rtems*): Likewise.
12660 (powerpc-*-rtems*): Likewise.
12661 (sh-*-rtems*): Likewise.
12662 (sparc-*-rtems*): Likewise.
12663 (sparc64-*-rtems*): Likewise.
12664 (v850-*-rtems*): Likewise.
12665 (m32c-*-rtems*): Likewise.
12666
fef37404
VM
126672014-01-15 Vladimir Makarov <vmakarov@redhat.com>
12668
12669 PR rtl-optimization/59511
12670 * ira.c (ira_init_register_move_cost): Use memory costs for some
12671 cases of register move cost calculations.
12672 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
12673 instead of BB frequency.
12674 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
12675 * lra-assigns.c (find_hard_regno_for): Ditto.
12676
6b916b36
RB
126772014-01-15 Richard Biener <rguenther@suse.de>
12678
12679 PR tree-optimization/59822
12680 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
12681 (vectorizable_load): Use it to hoist defs of uses of invariant
12682 loads out of the loop.
12683
d103f29b 126842014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 12685 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
12686
12687 PR target/59695
12688 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
12689 truncation.
12690
95cb8697
RB
126912014-01-15 Richard Biener <rguenther@suse.de>
12692
12693 PR rtl-optimization/59802
12694 * lcm.c (compute_available): Use inverted postorder to seed
12695 the initial worklist.
12696
cb4b6d17
AK
126972014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12698
1c8b5303 12699 PR target/59803
cb4b6d17
AK
12700 * config/s390/s390.c (s390_preferred_reload_class): Don't return
12701 ADDR_REGS for invalid symrefs in non-PIC code.
12702
2738b4c7
JJ
127032014-01-15 Jakub Jelinek <jakub@redhat.com>
12704
12705 PR other/58712
12706 * builtins.c (determine_block_size): Initialize *probable_max_size
12707 even if len_rtx is CONST_INT.
12708
d126a4ae
AP
127092014-01-14 Andrew Pinski <apinski@cavium.com>
12710
12711 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
12712 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
12713 (cortexa53_tunings): Likewise.
12714 (aarch64_sched_issue_rate): New function.
12715 (TARGET_SCHED_ISSUE_RATE): Define.
12716
dc687582
VM
127172014-01-14 Vladimir Makarov <vmakarov@redhat.com>
12718
12719 * ira-costs.c (find_costs_and_classes): Add missed
12720 ira_init_register_move_cost_if_necessary.
12721
e940b2ec
VM
127222014-01-14 Vladimir Makarov <vmakarov@redhat.com>
12723
12724 PR target/59787
12725 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
12726
3292e376
L
127272014-01-14 H.J. Lu <hongjiu.lu@intel.com>
12728
12729 PR target/59794
12730 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
12731 to indicate if type is used for function return value. Warn ABI
12732 change if the vector mode isn't available for function return value.
3292e376
L
12733 (ix86_function_arg_advance): Pass false to type_natural_mode.
12734 (ix86_function_arg): Likewise.
12735 (ix86_gimplify_va_arg): Likewise.
12736 (function_arg_32): Don't warn ABI change.
12737 (ix86_function_value): Pass true to type_natural_mode.
12738 (ix86_return_in_memory): Likewise.
12739 (ix86_struct_value_rtx): Removed.
12740 (TARGET_STRUCT_VALUE_RTX): Likewise.
12741
db930875
RS
127422014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
12743
12744 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
12745 converting a conditional jump into a conditional return.
12746
a0e35eb0
RB
127472014-01-14 Richard Biener <rguenther@suse.de>
12748
12749 PR tree-optimization/58921
12750 PR tree-optimization/59006
12751 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
12752 hoisting invariant stmts.
12753 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
12754 invariant loads on the preheader edge if possible.
12755
a984e92e
JY
127562014-01-14 Joey Ye <joey.ye@arm.com>
12757
12758 * doc/plugin.texi (Building GCC plugins): Update to C++.
12759
c56a42b9
KY
127602014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
12761
3292e376 12762 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
12763 (_mm_rcp28_round_ss): Ditto.
12764 (_mm_rsqrt28_round_sd): Ditto.
12765 (_mm_rsqrt28_round_ss): Ditto.
12766 (_mm_rcp28_sd): Ditto.
12767 (_mm_rcp28_ss): Ditto.
12768 (_mm_rsqrt28_sd): Ditto.
12769 (_mm_rsqrt28_ss): Ditto.
12770 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
12771 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
12772 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
12773 (IX86_BUILTIN_RCP28SD): Ditto.
12774 (IX86_BUILTIN_RCP28SS): Ditto.
12775 (IX86_BUILTIN_RSQRT28SD): Ditto.
12776 (IX86_BUILTIN_RSQRT28SS): Ditto.
12777 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
12778 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
12779 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
12780 (ix86_expand_special_args_builtin): Expand new FTYPE.
12781 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
12782 (srcp14<mode>): Make insn unary.
12783 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
12784 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
12785 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
12786 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
12787 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
12788 Fix rounding: make it SAE only.
4ac005ba
UB
12789 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
12790 Ditto.
12791 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
12792 Ditto.
c56a42b9
KY
12793 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
12794 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
12795 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
12796 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
12797 (round_saeonly_mask_scalar_operand4): Ditto.
12798 (round_saeonly_mask_scalar_op3): Ditto.
12799 (round_saeonly_mask_scalar_op4): Ditto.
12800
09fccb62
BS
128012014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12802
12803 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
12804 Implement -maltivec=be for vec_insert and vec_extract.
12805
fb28dac0
DD
128062014-01-10 DJ Delorie <dj@redhat.com>
12807
12808 * config/msp430/msp430.md (call_internal): Don't allow memory
12809 references with SP as the base register.
12810 (call_value_internal): Likewise.
12811 * config/msp430/constraints.md (Yc): New. For memory references
12812 that don't use SP as a base register.
12813
12814 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
12815 "an integer without a # prefix"
12816 * config/msp430/msp430.md (epilogue_helper): Use it.
12817
19e51b40
JJ
128182014-01-13 Jakub Jelinek <jakub@redhat.com>
12819
03b9e8e4
JJ
12820 PR target/59617
12821 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
12822 AVX512F gather builtins.
12823 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
12824 on gather decls with INTEGER_TYPE masktype.
12825 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
12826 directly into the builtin rather than hoisting it before loop.
12827
19e51b40
JJ
12828 PR tree-optimization/59387
12829 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
12830 (scev_const_prop): If folded_casts and type has undefined overflow,
12831 use force_gimple_operand instead of force_gimple_operand_gsi and
12832 for each added stmt if it is assign with
12833 arith_code_with_undefined_signed_overflow, call
12834 rewrite_to_defined_overflow.
12835 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
12836 gimple-fold.h instead.
12837 (arith_code_with_undefined_signed_overflow,
12838 rewrite_to_defined_overflow): Moved to ...
12839 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
12840 rewrite_to_defined_overflow): ... here. No longer static.
12841 Include gimplify-me.h.
12842 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
12843 rewrite_to_defined_overflow): New prototypes.
12844
cd794ed4
KT
128452014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12846
12847 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
12848
e75fde1a
EB
128492014-01-13 Eric Botcazou <ebotcazou@adacore.com>
12850
12851 * builtins.c (get_object_alignment_2): Minor tweak.
12852 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
12853
eae298d6
CB
128542014-01-13 Christian Bruel <christian.bruel@st.com>
12855
12856 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 12857 optimized non constant lengths.
eae298d6 12858
8175be9a
JJ
128592014-01-13 Jakub Jelinek <jakub@redhat.com>
12860
12861 PR libgomp/59194
12862 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
12863 load as __atomic_load_N if possible.
12864
9c111368
DE
128652014-01-11 David Edelsohn <dje.gcc@gmail.com>
12866
12867 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
12868 target parameter.
12869 (rs6000_expand_builtin): Adjust call.
12870
c82846bc
DE
128712014-01-11 David Edelsohn <dje.gcc@gmail.com>
12872
12873 PR target/58115
12874 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
12875 * config/rs6000/rs6000.c: Include target-globals.h.
12876 (rs6000_set_current_function): Instead of doing target_reinit
12877 unconditionally, use save_target_globals_default_opts and
12878 restore_target_globals.
12879
12880 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
12881 FPSCR.
12882 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
12883 (rs6000_expand_builtin): Handle mffs and mtfsf.
12884 (rs6000_init_builtins): Define mffs and mtfsf.
12885 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
12886 (rs6000_mffs): New pattern.
12887 (rs6000_mtfsf): New pattern.
12888
2c407426
BC
128892014-01-11 Bin Cheng <bin.cheng@arm.com>
12890
12891 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
12892 Start narrowing with START. Apply candidate-use pair
12893 and check overall cost in narrowing.
12894 (iv_ca_prune): Pass new argument.
12895
7e41c852
JL
128962014-01-10 Jeff Law <law@redhat.com>
12897
12898 PR middle-end/59743
12899 * ree.c (combine_reaching_defs): Ensure the defining statement
12900 occurs before the extension when optimizing extensions with
12901 different source and destination hard registers.
12902
39960d1c 129032014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
12904
12905 PR ipa/58585
4ac005ba
UB
12906 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
12907 vtables into the type inheritance graph.
b270b096 12908
0d6d7b9a
JJ
129092014-01-10 Jakub Jelinek <jakub@redhat.com>
12910
12911 PR rtl-optimization/59754
12912 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
12913 modes in the REGNO != REGNO case.
12914
110132c1
BS
129152014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12916
12917 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
12918
5da96960
JJ
129192014-01-10 Jakub Jelinek <jakub@redhat.com>
12920
4f87d581
JJ
12921 PR tree-optimization/59745
12922 * tree-predcom.c (tree_predictive_commoning_loop): Call
12923 free_affine_expand_cache if giving up because components is NULL.
12924
5da96960
JJ
12925 * target-globals.c (save_target_globals): Allocate < 4KB structs using
12926 GC in payload of target_globals struct instead of allocating them on
12927 the heap and the larger structs separately using GC.
12928 * target-globals.h (struct target_globals): Make regs, hard_regs,
12929 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
12930 of GTY((skip)) and change type to void *.
12931 (reset_target_globals): Cast loads from those fields to corresponding
12932 types.
12933
1aa26aac
SE
129342014-01-10 Steve Ellcey <sellcey@mips.com>
12935
12936 PR plugins/59335
12937 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
12938 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
12939 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
12940
1c992d1e
RE
129412014-01-10 Richard Earnshaw <rearnsha@arm.com>
12942
7783a246 12943 PR target/59744
1c992d1e
RE
12944 * aarch64-modes.def (CC_Zmode): New flags mode.
12945 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
12946 represents an equality.
7783a246 12947 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
12948 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
12949
86464cbd
AK
129502014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12951
12952 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
12953 extraction in good case.
12954
5e6667b2
RB
129552014-01-10 Richard Biener <rguenther@suse.de>
12956
12957 PR tree-optimization/59374
12958 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
12959 checking after SLP discovery. Mark stmts not participating
12960 in any SLP instance properly.
12961
5619162c
KT
129622014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12963
12964 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
12965 when handling a SET rtx.
12966
2d17b99f
KT
129672014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12968
12969 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
12970 (cortex-a57): Likewise.
12971 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
12972
bcca645c
KT
129732014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12974
12975 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
12976 non-iwmmxt builtins.
12977
a3788dde
JH
129782014-01-10 Jan Hubicka <hubicka@ucw.cz>
12979
12980 PR ipa/58252
12981 PR ipa/59226
12982 * ipa-devirt.c record_target_from_binfo): Take as argument
12983 stack of binfos and lookup matching one for virtual inheritance.
12984 (possible_polymorphic_call_targets_1): Update.
12985
87ed883e
HC
129862014-01-10 Huacai Chen <chenhc@lemote.com>
12987
12988 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
12989 kernel strings for Loongson-2E/2F/3A.
12990
cd4447e2
JJ
129912014-01-10 Jakub Jelinek <jakub@redhat.com>
12992
12993 PR middle-end/59670
12994 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
12995 is_gimple_call before calling gimple_call_internal_p.
12996
3fadf78a
SE
129972014-01-09 Steve Ellcey <sellcey@mips.com>
12998
12999 * Makefile.in (TREE_FLOW_H): Remove.
13000 (TREE_SSA_H): Add file names from tree-flow.h.
13001 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
13002 * tree.h: Remove tree-flow.h reference.
13003 * hash-table.h: Remove tree-flow.h reference.
13004 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
13005 reference with tree-ssa-loop.h.
13006
6edc217d
BS
130072014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13008
13009 * doc/invoke.texi: Add -maltivec={be,le} options, and document
13010 default element-order behavior for -maltivec.
13011 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
13012 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
13013 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
13014 when targeting big endian, at least for now.
13015 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
13016
a70e9985
JJ
130172014-01-09 Jakub Jelinek <jakub@redhat.com>
13018
3396aba5
JJ
13019 PR middle-end/47735
13020 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
13021 var satisfies use_register_for_decl, just take into account type
13022 alignment, rather than decl alignment.
13023
a70e9985
JJ
13024 PR tree-optimization/59622
13025 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
13026 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
13027 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
13028 Don't devirtualize for inplace at all. For targets.length () == 1,
13029 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
13030
6e9cc565
L
130312014-01-09 H.J. Lu <hongjiu.lu@intel.com>
13032
13033 * config/i386/i386.md (cpu): Remove the unused btver1.
13034
d1c0e4ac
L
130352014-01-09 H.J. Lu <hongjiu.lu@intel.com>
13036
13037 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
13038
e83b8e2e
JJ
130392014-01-09 Jakub Jelinek <jakub@redhat.com>
13040
13041 PR target/58115
13042 * tree-core.h (struct target_globals): New forward declaration.
13043 (struct tree_target_option): Add globals field.
13044 * tree.h (TREE_TARGET_GLOBALS): Define.
13045 (prepare_target_option_nodes_for_pch): New prototype.
13046 * target-globals.h (struct target_globals): Define even if
13047 !SWITCHABLE_TARGET.
13048 * tree.c (prepare_target_option_node_for_pch,
13049 prepare_target_option_nodes_for_pch): New functions.
13050 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
13051 * config/i386/i386.c: Include target-globals.h.
13052 (ix86_set_current_function): Instead of doing target_reinit
13053 unconditionally, use save_target_globals_default_opts and
13054 restore_target_globals.
13055
2aaed0f3
RB
130562014-01-09 Richard Biener <rguenther@suse.de>
13057
13058 PR tree-optimization/59715
13059 * tree-cfg.h (split_critical_edges): Declare.
13060 * tree-cfg.c (split_critical_edges): Export.
13061 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
13062
b5ebc991
MO
130632014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
13064
4ac005ba 13065 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
13066 asan stack protection.
13067 (expand_used_vars): Likewise.
13068 (partition_stack_vars): Likewise.
4ac005ba 13069 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 13070 after return stack usage.
7f3af6d3 13071 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
13072 (instrument_builtin_call): Likewise.
13073 (instrument_strlen_call): Likewise.
7f3af6d3 13074 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
13075 * doc/invoke.texi: Added doc for new options.
13076 * params.def: Added new options.
13077 * params.h: Likewise.
13078
b59e0455
JJ
130792014-01-09 Jakub Jelinek <jakub@redhat.com>
13080
13081 PR rtl-optimization/59724
13082 * ifcvt.c (cond_exec_process_if_block): Don't call
13083 flow_find_head_matching_sequence with 0 longest_match.
13084 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
13085 non-active insns if !stop_after.
13086 (try_head_merge_bb): Revert 2014-01-07 changes.
13087
650c4c85
JL
130882014-01-08 Jeff Law <law@redhat.com>
13089
13090 * ree.c (get_sub_rtx): New function, extracted from...
13091 (merge_def_and_ext): Here.
13092 (combine_reaching_defs): Use get_sub_rtx.
13093
ff36fcbe
EB
130942014-01-08 Eric Botcazou <ebotcazou@adacore.com>
13095
13096 * cgraph.h (varpool_variable_node): Do not choke on null node.
13097
9f9d82aa
CM
130982014-01-08 Catherine Moore <clm@codesourcery.com>
13099
4ac005ba
UB
13100 * config/mips/mips.md (simple_return): Attempt to use JRC
13101 for microMIPS.
9f9d82aa
CM
13102 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
13103
df6c8808
RS
131042014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
13105
13106 PR rtl-optimization/59137
13107 * reorg.c (steal_delay_list_from_target): Call update_block for
13108 elided insns.
13109 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
13110
6170ceff
BS
131112014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13112
13113 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
13114 two duplicate entries.
13115
3f140f32
RS
131162014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
13117
13118 Revert:
13119 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
13120
13121 * config/mips/mips.c (mips_truncated_op_cost): New function.
13122 (mips_rtx_costs): Adjust test for BADDU.
13123 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
13124
13125 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
13126
13127 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
13128 (*baddu_si): ...this new pattern.
13129
c6de6665
JJ
131302014-01-08 Jakub Jelinek <jakub@redhat.com>
13131
13132 PR ipa/59722
13133 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
13134
4c437f02
BE
131352014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
13136
13137 PR middle-end/57748
13138 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
13139 inner_reference_p.
13140 (expand_expr, expand_normal): Adjust.
13141 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
13142 inner_reference_p. Use inner_reference_p to expand inner references.
13143 (store_expr): Adjust.
13144 * cfgexpand.c (expand_call_stmt): Adjust.
13145
4ac005ba 131462014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
13147
13148 * gcov-io.c (gcov_var): Move from gcov-io.h.
13149 (gcov_position): Ditto.
13150 (gcov_is_error): Ditto.
13151 (gcov_rewrite): Ditto.
13152 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
13153 only part to libgcc/libgcov.h.
13154
ab04b46e
MP
131552014-01-08 Marek Polacek <polacek@redhat.com>
13156
13157 PR middle-end/59669
13158 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
13159
06636b32
MP
131602014-01-08 Marek Polacek <polacek@redhat.com>
13161
13162 PR sanitizer/59667
13163 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
13164
c15677b6
JJ
131652014-01-08 Jakub Jelinek <jakub@redhat.com>
13166
13167 PR rtl-optimization/59649
13168 * stor-layout.c (get_mode_bounds): For BImode return
13169 0 and STORE_FLAG_VALUE.
13170
5c944c6c
RB
131712014-01-08 Richard Biener <rguenther@suse.de>
13172
13173 PR middle-end/59630
13174 * gimple.h (is_gimple_builtin_call): Remove.
13175 (gimple_builtin_call_types_compatible_p): New.
13176 (gimple_call_builtin_p): New overload.
13177 * gimple.c (is_gimple_builtin_call): Remove.
13178 (validate_call): Rename to ...
13179 (gimple_builtin_call_types_compatible_p): ... this and export. Also
13180 check return types.
13181 (validate_type): New static function.
13182 (gimple_call_builtin_p): New overload and adjust.
13183 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
13184 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
13185 (gimple_fold_stmt_to_constant_1): Likewise.
13186 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
13187
0bd34ae4
RB
131882014-01-08 Richard Biener <rguenther@suse.de>
13189
13190 PR middle-end/59471
13191 * gimplify.c (gimplify_expr): Gimplify register-register type
13192 VIEW_CONVERT_EXPRs to separate stmts.
13193
04af8ab6
JL
131942014-01-07 Jeff Law <law@redhat.com>
13195
3c92da90
JL
13196 PR middle-end/53623
13197 * ree.c (combine_set_extension): Handle case where source
13198 and destination registers in an extension insn are different.
4ac005ba
UB
13199 (combine_reaching_defs): Allow source and destination registers
13200 in extension to be different under limited circumstances.
3c92da90 13201 (add_removable_extension): Remove restriction that the
4ac005ba 13202 source and destination registers in the extension are the same.
3c92da90
JL
13203 (find_and_remove_re): Emit a copy from the extension's
13204 destination to its source after the defining insn if
13205 the source and destination registers are different.
13206
04af8ab6
JL
13207 PR middle-end/59285
13208 * ifcvt.c (merge_if_block): If we are merging a block with more than
13209 one successor with a block with no successors, remove any BARRIER
13210 after the second block.
13211
4bb66ef3 132122014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
13213
13214 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
13215
55ada375
JDA
132162014-01-07 John David Anglin <danglin@gcc.gnu.org>
13217
13218 PR target/59652
13219 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
13220 for 14-bit register offsets when INT14_OK_STRICT is false.
13221
877c72e7
RS
132222014-01-07 Roland Stigge <stigge@antcom.de>
13223 Michael Meissner <meissner@linux.vnet.ibm.com>
13224
13225 PR 57386/target
13226 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 13227 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 13228
8b2721da
JG
132292014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
13230
13231 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
13232 -mcpu.
13233
5d72b79f
YZ
132342014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
13235
13236 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
13237 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
13238 rtx is const0_rtx or not.
13239
48d53439
RS
132402014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
13241
13242 PR target/58115
13243 * target-globals.c (save_target_globals): Remove this_fn_optab
13244 handling.
13245 * toplev.c: Include optabs.h.
13246 (target_reinit): Temporarily restore the global options if another
13247 set of options are in force.
13248
41626746
JJ
132492014-01-07 Jakub Jelinek <jakub@redhat.com>
13250
a0cbe71e
JJ
13251 PR rtl-optimization/58668
13252 * cfgcleanup.c (flow_find_cross_jump): Don't count
13253 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
13254 to determine what is counted.
13255 (flow_find_head_matching_sequence): Use active_insn_p to determine
13256 what is counted.
13257 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
13258 counting change.
13259 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
13260 determine what is counted.
13261
41626746
JJ
13262 PR tree-optimization/59643
13263 * tree-predcom.c (split_data_refs_to_components): If one dr is
13264 read and one write, determine_offset fails and the write isn't
13265 in the bad component, just put the read into the bad component.
13266
cc349a39
MS
132672014-01-07 Mike Stump <mikestump@comcast.net>
13268 Jakub Jelinek <jakub@redhat.com>
13269
13270 PR pch/59436
13271 * tree-core.h (struct tree_optimization_option): Change optabs
13272 type from unsigned char * to void *.
13273 * optabs.c (init_tree_optimization_optabs): Adjust
13274 TREE_OPTIMIZATION_OPTABS initialization.
13275
529a6471
JJ
132762014-01-06 Jakub Jelinek <jakub@redhat.com>
13277
13278 PR target/59644
13279 * config/i386/i386.h (struct machine_function): Add
13280 no_drap_save_restore field.
13281 * config/i386/i386.c (ix86_save_reg): Use
13282 !cfun->machine->no_drap_save_restore instead of
13283 crtl->stack_realign_needed.
13284 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
13285 this function clears frame_pointer_needed. Set
13286 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
13287 and DRAP reg is needed.
13288
96066ce1
MP
132892014-01-06 Marek Polacek <polacek@redhat.com>
13290
13291 PR c/57773
13292 * doc/implement-c.texi: Mention that other integer types are
13293 permitted as bit-field types in strictly conforming mode.
13294
955b33ed 132952014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
13296
13297 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
13298 is newly allocated.
13299
328402a9
RE
133002014-01-06 Richard Earnshaw <rearnsha@arm.com>
13301
13302 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
13303
a4e33812
MJ
133042014-01-06 Martin Jambor <mjambor@suse.cz>
13305
13306 PR ipa/59008
13307 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
13308 to int.
13309 * ipa-prop.c (ipa_print_node_params): Fix indentation.
13310
b5cd2a02
EB
133112014-01-06 Eric Botcazou <ebotcazou@adacore.com>
13312
13313 PR debug/59350
13314 PR debug/59510
13315 * var-tracking.c (add_stores): Preserve the value of the source even if
13316 we don't record the store.
13317
c7d19c0b
TG
133182014-01-06 Terry Guo <terry.guo@arm.com>
13319
13320 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
13321
e0c70bd7
IS
133222014-01-05 Iain Sandoe <iain@codesourcery.com>
13323
13324 PR bootstrap/59541
13325 * config/darwin.c (darwin_function_section): Adjust return values to
13326 correspond to optimisation changes made in r206070.
13327
c30f016c
UB
133282014-01-05 Uros Bizjak <ubizjak@gmail.com>
13329
13330 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
13331 from prefetch_block tune setting.
13332 (nocona_cost): Correct size of prefetch block to 64.
13333
f2bc252b
EB
133342014-01-04 Eric Botcazou <ebotcazou@adacore.com>
13335
13336 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
13337 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
13338 used to save the static chain register in the computation of the offset
13339 from which the FP registers need to be restored.
13340
dad5ed2e
JJ
133412014-01-04 Jakub Jelinek <jakub@redhat.com>
13342
39719c84
JJ
13343 PR tree-optimization/59519
13344 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
13345 ICE if get_current_def (current_new_name) is already non-NULL, as long
13346 as it is a phi result of some other phi in *new_exit_bb that has
13347 the same argument.
13348
dad5ed2e
JJ
13349 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
13350 or vmovdqu* for misaligned_operand.
13351 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
13352 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
13353 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
13354 aligned_mem for AVX512F masked aligned load and store builtins and for
13355 non-temporal moves.
13356
133572014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
13358
13359 PR tree-optimization/59651
c30f016c 13360 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
13361 Address range for negative step should be added by TYPE_SIZE_UNIT.
13362
e864837a
AS
133632014-01-03 Andreas Schwab <schwab@linux-m68k.org>
13364
13365 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 13366 overlapping registers also for registers other than the stack pointer.
e864837a 13367
56a34230
MP
133682014-01-03 Marek Polacek <polacek@redhat.com>
13369
13370 PR other/59661
13371 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
13372 __builtin_FILE.
13373
039eee3f
JJ
133742014-01-03 Jakub Jelinek <jakub@redhat.com>
13375
3bcdbd50
JJ
13376 PR target/59625
13377 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
13378 asm goto as jump.
13379
039eee3f
JJ
13380 * config/i386/i386.md (MODE_SIZE): New mode attribute.
13381 (push splitter): Use <P:MODE_SIZE> instead of
13382 GET_MODE_SIZE (<P:MODE>mode).
13383 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
13384 (mov -1, reg peephole2): Likewise.
13385 * config/i386/sse.md (*mov<mode>_internal,
13386 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
13387 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
13388 *<code><mode>3, *andnot<mode>3<mask_name>,
13389 <mask_codefor><code><mode>3<mask_name>): Likewise.
13390 * config/i386/subst.md (mask_mode512bit_condition,
13391 sd_mask_mode512bit_condition): Likewise.
13392
927734cf
XDL
133932014-01-02 Xinliang David Li <davidxl@google.com>
13394
13395 PR tree-optimization/59303
039eee3f 13396 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
13397 (dump_predicates): Better output format.
13398 (pred_equal_p): New function.
13399 (is_neq_relop_p): Ditto.
13400 (is_neq_zero_form_p): Ditto.
13401 (pred_expr_equal_p): Ditto.
13402 (pred_neg_p): Ditto.
13403 (simplify_pred): Ditto.
13404 (simplify_preds_2): Ditto.
13405 (simplify_preds_3): Ditto.
13406 (simplify_preds_4): Ditto.
13407 (simplify_preds): Ditto.
13408 (push_pred): Ditto.
13409 (push_to_worklist): Ditto.
13410 (get_pred_info_from_cmp): Ditto.
13411 (is_degenerated_phi): Ditto.
13412 (normalize_one_pred_1): Ditto.
13413 (normalize_one_pred): Ditto.
13414 (normalize_one_pred_chain): Ditto.
13415 (normalize_preds): Ditto.
13416 (normalize_cond_1): Remove function.
13417 (normalize_cond): Ditto.
13418 (is_gcond_subset_of): Ditto.
13419 (is_subset_of_any): Ditto.
13420 (is_or_set_subset_of): Ditto.
13421 (is_and_set_subset_of): Ditto.
13422 (is_norm_cond_subset_of): Ditto.
13423 (pred_chain_length_cmp): Ditto.
13424 (convert_control_dep_chain_into_preds): Type change.
13425 (find_predicates): Ditto.
13426 (find_def_preds): Ditto.
13427 (destroy_predicates_vecs): Ditto.
13428 (find_matching_predicates_in_rest_chains): Ditto.
13429 (use_pred_not_overlap_with_undef_path_pred): Ditto.
13430 (is_pred_expr_subset): Ditto.
13431 (is_pred_chain_subset_of): Ditto.
13432 (is_included_in): Ditto.
13433 (is_superset_of): Ditto.
13434
23a5b65a
RS
134352014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13436
c30f016c 13437 Update copyright years.
23a5b65a 13438
f9030485
RS
134392014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13440
13441 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
13442 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
13443 config/arc/arc.md, config/arc/arc.opt,
13444 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
13445 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
13446 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
13447 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
13448 config/linux-protos.h, config/linux.c, config/winnt-c.c,
13449 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
13450 vtable-verify.c, vtable-verify.h: Use the standard form for the
13451 copyright notice.
f9030485 13452
98db73df
TB
134532014-01-02 Tobias Burnus <burnus@net-b.de>
13454
13455 * gcc.c (process_command): Update copyright notice dates.
13456 * gcov-dump.c: Ditto.
13457 * gcov.c: Ditto.
13458 * doc/cpp.texi: Bump @copying's copyright year.
13459 * doc/cppinternals.texi: Ditto.
13460 * doc/gcc.texi: Ditto.
13461 * doc/gccint.texi: Ditto.
13462 * doc/gcov.texi: Ditto.
13463 * doc/install.texi: Ditto.
13464 * doc/invoke.texi: Ditto.
13465
2898d204 134662014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
13467
13468 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
13469
dfebbdc6 134702014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 13471
726c3546
JJ
13472 * config/i386/sse.md (*mov<mode>_internal): Guard
13473 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
13474
dfebbdc6
JJ
13475 PR rtl-optimization/59647
13476 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
13477 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 13478\f
970c3b33 13479Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
13480
13481Copying and distribution of this file, with or without modification,
13482are permitted in any medium without royalty provided the copyright
13483notice and this notice are preserved.
This page took 7.721508 seconds and 5 git commands to generate.