]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Merge longlong.h from glibc tree.
[gcc.git] / gcc / ChangeLog
CommitLineData
e54c2dd3
L
12014-04-22 H.J. Lu <hongjiu.lu@intel.com>
2
3 PR target/60868
4 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
5 on count_exp to get mode.
6
621ad2de
AP
72014-04-22 Andrew Pinski <apinski@cavium.com>
8
9 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
10 Handle TLS for ILP32.
11 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
12 (tlsie_small_<mode>): this and handle PTR.
13 (tlsie_small_sidi): New pattern.
14 (tlsle_small): Change to an expand to handle ILP32.
15 (tlsle_small_<mode>): New pattern.
16 (tlsdesc_small): Rename to ...
17 (tlsdesc_small_<mode>): this and handle PTR.
18
5cb74e90
RR
192014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20
21 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
22
bcd48995
AV
232014-04-22 Alex Velenko <Alex.Velenko@arm.com>
24
25 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
26 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
27 (aarch64_types_signed_poly_qualifiers): Likewise.
28 (aarch64_types_unsigned_signed_qualifiers): Likewise.
29 (aarch64_types_poly_signed_qualifiers): Likewise.
30 (TYPES_REINTERP_SS): Type macro added.
31 (TYPES_REINTERP_SU): Likewise.
32 (TYPES_REINTERP_SP): Likewise.
33 (TYPES_REINTERP_US): Likewise.
34 (TYPES_REINTERP_PS): Likewise.
35 (aarch64_fold_builtin): New expression folding added.
36 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
37 Declarations removed.
38 (REINTERP_SS): Declarations added.
39 (REINTERP_US): Likewise.
40 (REINTERP_PS): Likewise.
41 (REINTERP_SU): Likewise.
42 (REINTERP_SP): Likewise.
43 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
44 (vreinterpretq_p8_f64): Likewise.
45 (vreinterpret_p16_f64): Likewise.
46 (vreinterpretq_p16_f64): Likewise.
47 (vreinterpret_f32_f64): Likewise.
48 (vreinterpretq_f32_f64): Likewise.
49 (vreinterpret_f64_f32): Likewise.
50 (vreinterpret_f64_p8): Likewise.
51 (vreinterpret_f64_p16): Likewise.
52 (vreinterpret_f64_s8): Likewise.
53 (vreinterpret_f64_s16): Likewise.
54 (vreinterpret_f64_s32): Likewise.
55 (vreinterpret_f64_s64): Likewise.
56 (vreinterpret_f64_u8): Likewise.
57 (vreinterpret_f64_u16): Likewise.
58 (vreinterpret_f64_u32): Likewise.
59 (vreinterpret_f64_u64): Likewise.
60 (vreinterpretq_f64_f32): Likewise.
61 (vreinterpretq_f64_p8): Likewise.
62 (vreinterpretq_f64_p16): Likewise.
63 (vreinterpretq_f64_s8): Likewise.
64 (vreinterpretq_f64_s16): Likewise.
65 (vreinterpretq_f64_s32): Likewise.
66 (vreinterpretq_f64_s64): Likewise.
67 (vreinterpretq_f64_u8): Likewise.
68 (vreinterpretq_f64_u16): Likewise.
69 (vreinterpretq_f64_u32): Likewise.
70 (vreinterpretq_f64_u64): Likewise.
71 (vreinterpret_s64_f64): Likewise.
72 (vreinterpretq_s64_f64): Likewise.
73 (vreinterpret_u64_f64): Likewise.
74 (vreinterpretq_u64_f64): Likewise.
75 (vreinterpret_s8_f64): Likewise.
76 (vreinterpretq_s8_f64): Likewise.
77 (vreinterpret_s16_f64): Likewise.
78 (vreinterpretq_s16_f64): Likewise.
79 (vreinterpret_s32_f64): Likewise.
80 (vreinterpretq_s32_f64): Likewise.
81 (vreinterpret_u8_f64): Likewise.
82 (vreinterpretq_u8_f64): Likewise.
83 (vreinterpret_u16_f64): Likewise.
84 (vreinterpretq_u16_f64): Likewise.
85 (vreinterpret_u32_f64): Likewise.
86 (vreinterpretq_u32_f64): Likewise.
87
0bf3afc1
AV
882014-04-22 Alex Velenko <Alex.Velenko@arm.com>
89
90 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
91 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
92 (vreinterpret_p8_s8): Likewise.
93 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
94 (vreinterpret_p8_s16): Likewise.
95 (vreinterpret_p8_s32): Likewise.
96 (vreinterpret_p8_s64): Likewise.
97 (vreinterpret_p8_f32): Likewise.
98 (vreinterpret_p8_u8): Likewise.
99 (vreinterpret_p8_u16): Likewise.
100 (vreinterpret_p8_u32): Likewise.
101 (vreinterpret_p8_u64): Likewise.
102 (vreinterpret_p8_p16): Likewise.
103 (vreinterpretq_p8_s8): Likewise.
104 (vreinterpretq_p8_s16): Likewise.
105 (vreinterpretq_p8_s32): Likewise.
106 (vreinterpretq_p8_s64): Likewise.
107 (vreinterpretq_p8_f32): Likewise.
108 (vreinterpretq_p8_u8): Likewise.
109 (vreinterpretq_p8_u16): Likewise.
110 (vreinterpretq_p8_u32): Likewise.
111 (vreinterpretq_p8_u64): Likewise.
112 (vreinterpretq_p8_p16): Likewise.
113 (vreinterpret_p16_s8): Likewise.
114 (vreinterpret_p16_s16): Likewise.
115 (vreinterpret_p16_s32): Likewise.
116 (vreinterpret_p16_s64): Likewise.
117 (vreinterpret_p16_f32): Likewise.
118 (vreinterpret_p16_u8): Likewise.
119 (vreinterpret_p16_u16): Likewise.
120 (vreinterpret_p16_u32): Likewise.
121 (vreinterpret_p16_u64): Likewise.
122 (vreinterpret_p16_p8): Likewise.
123 (vreinterpretq_p16_s8): Likewise.
124 (vreinterpretq_p16_s16): Likewise.
125 (vreinterpretq_p16_s32): Likewise.
126 (vreinterpretq_p16_s64): Likewise.
127 (vreinterpretq_p16_f32): Likewise.
128 (vreinterpretq_p16_u8): Likewise.
129 (vreinterpretq_p16_u16): Likewise.
130 (vreinterpretq_p16_u32): Likewise.
131 (vreinterpretq_p16_u64): Likewise.
132 (vreinterpretq_p16_p8): Likewise.
133 (vreinterpret_f32_s8): Likewise.
134 (vreinterpret_f32_s16): Likewise.
135 (vreinterpret_f32_s32): Likewise.
136 (vreinterpret_f32_s64): Likewise.
137 (vreinterpret_f32_u8): Likewise.
138 (vreinterpret_f32_u16): Likewise.
139 (vreinterpret_f32_u32): Likewise.
140 (vreinterpret_f32_u64): Likewise.
141 (vreinterpret_f32_p8): Likewise.
142 (vreinterpret_f32_p16): Likewise.
143 (vreinterpretq_f32_s8): Likewise.
144 (vreinterpretq_f32_s16): Likewise.
145 (vreinterpretq_f32_s32): Likewise.
146 (vreinterpretq_f32_s64): Likewise.
147 (vreinterpretq_f32_u8): Likewise.
148 (vreinterpretq_f32_u16): Likewise.
149 (vreinterpretq_f32_u32): Likewise.
150 (vreinterpretq_f32_u64): Likewise.
151 (vreinterpretq_f32_p8): Likewise.
152 (vreinterpretq_f32_p16): Likewise.
153 (vreinterpret_s64_s8): Likewise.
154 (vreinterpret_s64_s16): Likewise.
155 (vreinterpret_s64_s32): Likewise.
156 (vreinterpret_s64_f32): Likewise.
157 (vreinterpret_s64_u8): Likewise.
158 (vreinterpret_s64_u16): Likewise.
159 (vreinterpret_s64_u32): Likewise.
160 (vreinterpret_s64_u64): Likewise.
161 (vreinterpret_s64_p8): Likewise.
162 (vreinterpret_s64_p16): Likewise.
163 (vreinterpretq_s64_s8): Likewise.
164 (vreinterpretq_s64_s16): Likewise.
165 (vreinterpretq_s64_s32): Likewise.
166 (vreinterpretq_s64_f32): Likewise.
167 (vreinterpretq_s64_u8): Likewise.
168 (vreinterpretq_s64_u16): Likewise.
169 (vreinterpretq_s64_u32): Likewise.
170 (vreinterpretq_s64_u64): Likewise.
171 (vreinterpretq_s64_p8): Likewise.
172 (vreinterpretq_s64_p16): Likewise.
173 (vreinterpret_u64_s8): Likewise.
174 (vreinterpret_u64_s16): Likewise.
175 (vreinterpret_u64_s32): Likewise.
176 (vreinterpret_u64_s64): Likewise.
177 (vreinterpret_u64_f32): Likewise.
178 (vreinterpret_u64_u8): Likewise.
179 (vreinterpret_u64_u16): Likewise.
180 (vreinterpret_u64_u32): Likewise.
181 (vreinterpret_u64_p8): Likewise.
182 (vreinterpret_u64_p16): Likewise.
183 (vreinterpretq_u64_s8): Likewise.
184 (vreinterpretq_u64_s16): Likewise.
185 (vreinterpretq_u64_s32): Likewise.
186 (vreinterpretq_u64_s64): Likewise.
187 (vreinterpretq_u64_f32): Likewise.
188 (vreinterpretq_u64_u8): Likewise.
189 (vreinterpretq_u64_u16): Likewise.
190 (vreinterpretq_u64_u32): Likewise.
191 (vreinterpretq_u64_p8): Likewise.
192 (vreinterpretq_u64_p16): Likewise.
193 (vreinterpret_s8_s16): Likewise.
194 (vreinterpret_s8_s32): Likewise.
195 (vreinterpret_s8_s64): Likewise.
196 (vreinterpret_s8_f32): Likewise.
197 (vreinterpret_s8_u8): Likewise.
198 (vreinterpret_s8_u16): Likewise.
199 (vreinterpret_s8_u32): Likewise.
200 (vreinterpret_s8_u64): Likewise.
201 (vreinterpret_s8_p8): Likewise.
202 (vreinterpret_s8_p16): Likewise.
203 (vreinterpretq_s8_s16): Likewise.
204 (vreinterpretq_s8_s32): Likewise.
205 (vreinterpretq_s8_s64): Likewise.
206 (vreinterpretq_s8_f32): Likewise.
207 (vreinterpretq_s8_u8): Likewise.
208 (vreinterpretq_s8_u16): Likewise.
209 (vreinterpretq_s8_u32): Likewise.
210 (vreinterpretq_s8_u64): Likewise.
211 (vreinterpretq_s8_p8): Likewise.
212 (vreinterpretq_s8_p16): Likewise.
213 (vreinterpret_s16_s8): Likewise.
214 (vreinterpret_s16_s32): Likewise.
215 (vreinterpret_s16_s64): Likewise.
216 (vreinterpret_s16_f32): Likewise.
217 (vreinterpret_s16_u8): Likewise.
218 (vreinterpret_s16_u16): Likewise.
219 (vreinterpret_s16_u32): Likewise.
220 (vreinterpret_s16_u64): Likewise.
221 (vreinterpret_s16_p8): Likewise.
222 (vreinterpret_s16_p16): Likewise.
223 (vreinterpretq_s16_s8): Likewise.
224 (vreinterpretq_s16_s32): Likewise.
225 (vreinterpretq_s16_s64): Likewise.
226 (vreinterpretq_s16_f32): Likewise.
227 (vreinterpretq_s16_u8): Likewise.
228 (vreinterpretq_s16_u16): Likewise.
229 (vreinterpretq_s16_u32): Likewise.
230 (vreinterpretq_s16_u64): Likewise.
231 (vreinterpretq_s16_p8): Likewise.
232 (vreinterpretq_s16_p16): Likewise.
233 (vreinterpret_s32_s8): Likewise.
234 (vreinterpret_s32_s16): Likewise.
235 (vreinterpret_s32_s64): Likewise.
236 (vreinterpret_s32_f32): Likewise.
237 (vreinterpret_s32_u8): Likewise.
238 (vreinterpret_s32_u16): Likewise.
239 (vreinterpret_s32_u32): Likewise.
240 (vreinterpret_s32_u64): Likewise.
241 (vreinterpret_s32_p8): Likewise.
242 (vreinterpret_s32_p16): Likewise.
243 (vreinterpretq_s32_s8): Likewise.
244 (vreinterpretq_s32_s16): Likewise.
245 (vreinterpretq_s32_s64): Likewise.
246 (vreinterpretq_s32_f32): Likewise.
247 (vreinterpretq_s32_u8): Likewise.
248 (vreinterpretq_s32_u16): Likewise.
249 (vreinterpretq_s32_u32): Likewise.
250 (vreinterpretq_s32_u64): Likewise.
251 (vreinterpretq_s32_p8): Likewise.
252 (vreinterpretq_s32_p16): Likewise.
253 (vreinterpret_u8_s8): Likewise.
254 (vreinterpret_u8_s16): Likewise.
255 (vreinterpret_u8_s32): Likewise.
256 (vreinterpret_u8_s64): Likewise.
257 (vreinterpret_u8_f32): Likewise.
258 (vreinterpret_u8_u16): Likewise.
259 (vreinterpret_u8_u32): Likewise.
260 (vreinterpret_u8_u64): Likewise.
261 (vreinterpret_u8_p8): Likewise.
262 (vreinterpret_u8_p16): Likewise.
263 (vreinterpretq_u8_s8): Likewise.
264 (vreinterpretq_u8_s16): Likewise.
265 (vreinterpretq_u8_s32): Likewise.
266 (vreinterpretq_u8_s64): Likewise.
267 (vreinterpretq_u8_f32): Likewise.
268 (vreinterpretq_u8_u16): Likewise.
269 (vreinterpretq_u8_u32): Likewise.
270 (vreinterpretq_u8_u64): Likewise.
271 (vreinterpretq_u8_p8): Likewise.
272 (vreinterpretq_u8_p16): Likewise.
273 (vreinterpret_u16_s8): Likewise.
274 (vreinterpret_u16_s16): Likewise.
275 (vreinterpret_u16_s32): Likewise.
276 (vreinterpret_u16_s64): Likewise.
277 (vreinterpret_u16_f32): Likewise.
278 (vreinterpret_u16_u8): Likewise.
279 (vreinterpret_u16_u32): Likewise.
280 (vreinterpret_u16_u64): Likewise.
281 (vreinterpret_u16_p8): Likewise.
282 (vreinterpret_u16_p16): Likewise.
283 (vreinterpretq_u16_s8): Likewise.
284 (vreinterpretq_u16_s16): Likewise.
285 (vreinterpretq_u16_s32): Likewise.
286 (vreinterpretq_u16_s64): Likewise.
287 (vreinterpretq_u16_f32): Likewise.
288 (vreinterpretq_u16_u8): Likewise.
289 (vreinterpretq_u16_u32): Likewise.
290 (vreinterpretq_u16_u64): Likewise.
291 (vreinterpretq_u16_p8): Likewise.
292 (vreinterpretq_u16_p16): Likewise.
293 (vreinterpret_u32_s8): Likewise.
294 (vreinterpret_u32_s16): Likewise.
295 (vreinterpret_u32_s32): Likewise.
296 (vreinterpret_u32_s64): Likewise.
297 (vreinterpret_u32_f32): Likewise.
298 (vreinterpret_u32_u8): Likewise.
299 (vreinterpret_u32_u16): Likewise.
300 (vreinterpret_u32_u64): Likewise.
301 (vreinterpret_u32_p8): Likewise.
302 (vreinterpret_u32_p16): Likewise.
303 (vreinterpretq_u32_s8): Likewise.
304 (vreinterpretq_u32_s16): Likewise.
305 (vreinterpretq_u32_s32): Likewise.
306 (vreinterpretq_u32_s64): Likewise.
307 (vreinterpretq_u32_f32): Likewise.
308 (vreinterpretq_u32_u8): Likewise.
309 (vreinterpretq_u32_u16): Likewise.
310 (vreinterpretq_u32_u64): Likewise.
311 (vreinterpretq_u32_p8): Likewise.
312 (vreinterpretq_u32_p16): Likewise.
313
9551c7ec
AV
3142014-04-22 Alex Velenko <Alex.Velenko@arm.com>
315
316 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
317 Pattern extended.
318 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator
319 extended.
320 (sqabs): Likewise.
321 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
322 (vqnegd_s64): Likewise.
323 (vqabs_s64): Likewise.
324 (vqabsd_s64): Likewise.
325
f2a2c4b5
RH
3262014-04-22 Richard Henderson <rth@redhat.com>
327
328 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
329 computation to the top of the loop.
330
53e5ace2
RL
3312014-04-22 Renlin <renlin.li@arm.com>
332 Jiong Wang <jiong.wang@arm.com>
333
334 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
335 * config/aarch64/aarch64.c (aarch64_layout_frame)
336 (aarch64_initial_elimination_offset): Likewise.
337
78c29983
MS
3382014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
339
340 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
341 Fix indentation.
342
dbf23a79
RS
3432014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
344
345 * machmode.h (bitwise_mode_for_mode): Declare.
346 * stor-layout.h (bitwise_type_for_mode): Likewise.
347 * stor-layout.c (bitwise_mode_for_mode): New function.
348 (bitwise_type_for_mode): Likewise.
349 * builtins.c (fold_builtin_memory_op): Use it instead of
350 int_mode_for_mode and build_nonstandard_integer_type.
351
d9f069ab
RO
3522014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
353
354 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
355 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
356 (*-*-solaris2*): Simplify.
357 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
358 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
359 *-*-solaris2.9* handling.
360
361 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
362 as bug.
363 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
364 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
365 handling, simplify.
366 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
367 * configure: Regenerate.
368
369 * config/i386/sol2-9.h: Remove.
370
371 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
372 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
373 Remove Solaris 9 references.
374
0d35c5c2
VP
3752014-04-22 Vidya Praveen <vidyapraveen@arm.com>
376
377 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
378 (floatuns<GPI:mode><GPF:mode>2): Remove.
379 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
380 and floatuns conversions.
381 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
382 and floatuns conversions.
383 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
384 (w1,w2): New mode attributes for inequal width conversions.
385
16a3246f
RL
3862014-04-22 Renlin Li <Renlin.Li@arm.com>
387
388 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
389 the output asm format.
390
110e1ccc
JG
3912014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
392
393 * config/aarch64/aarch64-simd.md
394 (aarch64_cm<optab>di): Always split.
395 (*aarch64_cm<optab>di): New.
396 (aarch64_cmtstdi): Always split.
397 (*aarch64_cmtstdi): New.
398
2044a4c3
JJ
3992014-04-22 Jakub Jelinek <jakub@redhat.com>
400
401 PR tree-optimization/60823
402 * omp-low.c (ipa_simd_modify_function_body): Go through
403 all SSA_NAMEs and for those refering to vector arguments
404 which are going to be replaced adjust SSA_NAME_VAR and,
405 if it is a default definition, change it into a non-default
406 definition assigned at the beginning of function from new_decl.
407 (ipa_simd_modify_stmt_ops): Rewritten.
408 * tree-dfa.c (set_ssa_default_def): When removing default def,
409 check for NULL loc instead of NULL *loc.
410
9d8b4d1c
RR
4112014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
412
413 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
414 restrictions on core registers for DImode values in Thumb2.
415
a01be1ae
IB
4162014-04-22 Ian Bolton <ian.bolton@arm.com>
417
418 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
419 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
420
80d3417b
IB
4212014-04-22 Ian Bolton <ian.bolton@arm.com>
422
423 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
424 (*iordi_notzesidi_di): Likewise.
425 (*iordi_notsesidi_di): Likewise.
426
46fbb3eb
IB
4272014-04-22 Ian Bolton <ian.bolton@arm.com>
428
429 * config/arm/arm-protos.h (tune_params): New struct members.
430 * config/arm/arm.c: Initialise tune_params per processor.
431 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
432 for speed, based on new tune_params.
433
74dc11ed
AV
4342014-04-22 Alex Velenko <Alex.Velenko@arm.com>
435
436 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro
437 added.
438 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added
439 macro.
440 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment
441 corrected.
442 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
443 * config/aarch64/arm_neon.h (vrnd_f64): Added.
444 (vrnda_f64): Likewise.
445 (vrndi_f64): Likewise.
446 (vrndm_f64): Likewise.
447 (vrndn_f64): Likewise.
448 (vrndp_f64): Likewise.
449 (vrndx_f64): Likewise.
450
35923e46
ZC
4512014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
452
453 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
454 GET_MODE_SIZE argument is enum machine_mode.
455
4552e70c
JJ
4562014-04-22 Jakub Jelinek <jakub@redhat.com>
457
458 PR target/60910
459 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
460 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
461
e5dcd695
LZ
4622014-04-22 Lin Zuojian <manjian2006@gmail.com>
463
464 PR middle-end/60281
465 * asan.c (asan_emit_stack_protection): Force the base to align to
466 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
467 appropriate bits if STRICT_ALIGNMENT.
468 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
469 when asan is on.
470 (expand_used_vars): Leave a space in the stack frame for alignment
471 if STRICT_ALIGNMENT.
472
7455080c
DM
4732014-04-21 David Malcolm <dmalcolm@redhat.com>
474
475 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
476 than a gimple.
477 (gimple_store_p): Likewise.
478 (gimple_assign_load_p): Likewise.
479 (gimple_assign_cast_p): Likewise.
480 (gimple_clobber_p): Likewise.
481
482 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
483 rather than a gimple.
484 (gimple_assign_cast_p): Likewise.
485
aeb9579a
MM
4862014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
487
488 PR target/60735
489 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
490 If mode is DDmode and TARGET_E500_DOUBLE allow move.
491
492 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
493 more debug information for E500 if -mdebug=reg.
494
b15d92bf
UB
4952014-04-21 Uros Bizjak <ubizjak@gmail.com>
496
497 PR target/60909
498 * config/i386/i386.c (ix86_expand_builtin)
499 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
500 register for target RTX.
501 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
502
d367387c
CH
5032014-04-18 Cong Hou <congh@google.com>
504
505 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
b15d92bf
UB
506 the widen-mult pattern by handling two operands with different sizes,
507 and operands whose size is smaller than half of the result type.
d367387c 508
b6d627e4
JH
5092014-04-18 Jan Hubicka <hubicka@ucw.cz>
510
511 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
512 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
513 (do_estimate_edge_time): Compute it.
514 * ipa-inline.c (want_inline_small_function_p): Bypass
b15d92bf 515 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
b6d627e4 516
e86a910f
JH
5172014-04-18 Jan Hubicka <hubicka@ucw.cz>
518
519 * ipa-inline.c (spec_rem): New static variable.
520 (dump_overall_stats): New function.
521 (dump_inline_stats): New function.
522
8a3a7e67
RH
5232014-04-18 Richard Henderson <rth@redhat.com>
524
525 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
526 to GET_MODE_SIZE, not a reg_class_t.
527
ed79f4d0
BS
5282014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
529
b15d92bf 530 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
ed79f4d0
BS
531 (vsx_xxmrglw_<mode>): Likewise.
532
fe799eea
MM
5332014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
534
535 PR target/60876
536 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
b15d92bf 537 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
fe799eea
MM
538 (rs6000_init_hard_regno_mode_ok): Likewise.
539
5e750dc6
JH
5402014-04-17 Jan Hubicka <hubicka@ucw.cz>
541
542 * ipa-inline.c (inline_small_functions): Account only non-cold
543 functions.
544 * doc/invoke.texi (inline-unit-growth): Update documentation.
545
32337f10
PH
5462014-04-17 Pat Haugen <pthaugen@us.ibm.com>
547
548 * config/rs6000/rs6000.md (addti3, subti3): New.
549
40ed344a
L
5502014-04-17 H.J. Lu <hongjiu.lu@intel.com>
551
552 PR target/60863
553 * config/i386/i386.c (ix86_expand_clear): Remove outdated
554 comment. Check optimize_insn_for_size_p instead of
555 optimize_insn_for_speed_p.
556
104cb50b
MJ
5572014-04-17 Martin Jambor <mjambor@suse.cz>
558
559 * gimple-iterator.c (gsi_start_edge): New function.
560 * gimple-iterator.h (gsi_start_edge): Declare.
561 * tree-sra.c (single_non_eh_succ): New function.
562 (disqualify_ops_if_throwing_stmt): Renamed to
563 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
564 having one non-EH successor BB.
565 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
566 generate loads into replacements.
567 (sra_modify_assign): Likewise and and also use the simple path for
568 such statements.
569 (sra_modify_function_body): Commit statements on edges.
570
b94970bc
RB
5712014-04-17 Richard Biener <rguenther@suse.de>
572
573 PR middle-end/60849
574 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
575 comparison results and add clarifying comment.
576
92f0f3ec
JJ
5772014-04-17 Jakub Jelinek <jakub@redhat.com>
578
579 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
580 (blank_mode): Initialize it.
581 (emit_mode_size_inline, emit_mode_nunits_inline,
582 emit_mode_inner_inline): New functions.
583 (emit_insn_modes_h): Call them and surround their output with
584 #if GCC_VERSION >= 4001 ... #endif.
585 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
586 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
587 mode_* arrays if the argument is __builtin_constant_p.
588 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
589 is enum machine_mode.
590
be55bfe6
TS
5912014-04-17 Trevor Saunders <tsaunders@mozilla.com>
592
593 * passes.c (opt_pass::execute): Adjust.
594 (pass_manager::execute_pass_mode_switching): Likewise.
595 (early_local_passes::execute): Likewise.
596 (execute_one_pass): Pass cfun to the pass's execute method.
597 * tree-pass.h (opt_pass::execute): Add function * argument.
598 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
599 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
600 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
601 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
602 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
603 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
604 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
605 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
606 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
607 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
608 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
609 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
610 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
611 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
612 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
613 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
614 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
615 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
616 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
617 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
618 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
619 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
620 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
621 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
622 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
623 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
624 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
625 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
626 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
627 Adjust.
628
1a3d085c
TS
6292014-04-17 Trevor Saunders <tsaunders@mozilla.com>
630
631 * passes.c (opt_pass::gate): Take function * argument.
632 (gate_all_early_local_passes): Merge into
633 (early_local_passes::gate): this.
634 (gate_all_early_optimizations): Merge into
635 (all_early_optimizations::gate): this.
636 (gate_all_optimizations): Mege into
637 (all_optimizations::gate): this.
638 (gate_all_optimizations_g): Merge into
639 (all_optimizations_g::gate): this.
640 (gate_rest_of_compilation): Mege into
641 (rest_of_compilation::gate): this.
642 (gate_postreload): Merge into
643 (postreload::gate): this.
644 (dump_one_pass): Pass cfun to the pass's gate method.
645 (execute_ipa_summary_passes): Likewise.
646 (execute_one_pass): Likewise.
647 (ipa_write_summaries_2): Likewise.
648 (ipa_write_optimization_summaries_1): Likewise.
649 (ipa_read_summaries_1): Likewise.
650 (ipa_read_optimization_summaries_1): Likewise.
651 (execute_ipa_stmt_fixups): Likewise.
652 * tree-pass.h (opt_pass::gate): Add function * argument.
653 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
654 combine-stack-adj.c, combine.c, compare-elim.c,
655 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
656 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
657 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
658 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
659 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
660 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
661 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
662 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
663 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
664 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
665 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
666 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
667 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
668 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
669 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
670 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
671 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
672 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
673 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
674 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
675 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
676 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
677 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
678 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
679 var-tracking.c, vtable-verify.c, web.c: Adjust.
680
45887209
TS
6812014-04-17 Trevor Saunders <tsaunders@mozilla.com>
682
683 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
684 * configure: Regenerate.
685
0481253d 6862014-04-17 Trevor Saunders <tsaunders@mozilla.com>
b15d92bf 687
0481253d
TS
688 * passes.c (dump_one_pass): don't check pass->has_gate.
689 (execute_ipa_summary_passes): Likewise.
690 (execute_one_pass): Likewise.
691 (ipa_write_summaries_2): Likewise.
692 (ipa_write_optimization_summaries_1): Likewise.
693 (ipa_read_optimization_summaries_1): Likewise.
694 (execute_ipa_stmt_fixups): Likewise.
695 * tree-pass.h (pass_data::has_gate): Remove.
696 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
697 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
698 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
699 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
700 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
701 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
702 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
703 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
704 gimple-low.c, gimple-ssa-isolate-paths.c,
705 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
706 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
707 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
708 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
709 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
710 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
711 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
712 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
713 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
714 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
715 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
716 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
717 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
718 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
719 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
720 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
721 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
722 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
723 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
724 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
725 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
726 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
727 Adjust.
728
a23c217d
TS
7292014-04-17 Trevor Saunders <tsaunders@mozilla.com>
730
b15d92bf
UB
731 * pass_manager.h (pass_manager::register_dump_files_1): Remove
732 declaration.
a23c217d
TS
733 * passes.c (pass_manager::register_dump_files_1): Merge into
734 (pass_manager::register_dump_files): this, and remove its handling of
735 properties since the pass always has the properties anyway.
736 (pass_manager::pass_manager): Adjust.
737
0cd11b40
TS
7382014-04-17 Trevor Saunders <tsaunders@mozilla.com>
739
740 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
741 * passes.c (pass_manager::register_dump_files_1): Remove dead code
742 dealing with properties.
743 (pass_manager::register_dump_files): Adjust.
744
79896351
MW
7452014-03-20 Mark Wielaard <mjw@redhat.com>
746
747 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
748 then represent the bound as normal constant value.
749
5a65129e
JJ
7502014-04-17 Jakub Jelinek <jakub@redhat.com>
751
752 PR target/60847
753 Forward port from 4.8 branch
754 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
755
756 * config/i386/bmiintrin.h (_blsi_u32): New.
757 (_blsi_u64): Ditto.
758 (_blsr_u32): Ditto.
759 (_blsr_u64): Ditto.
760 (_blsmsk_u32): Ditto.
761 (_blsmsk_u64): Ditto.
762 (_tzcnt_u32): Ditto.
763 (_tzcnt_u64): Ditto.
764
59b266b1
KC
7652014-04-17 Kito Cheng <kito@0xlab.org>
766
767 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
768
83ad208e
RB
7692014-04-17 Richard Biener <rguenther@suse.de>
770
771 PR middle-end/60849
772 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
773 boolean results for comparisons.
774
730e78b0
RB
7752014-04-17 Richard Biener <rguenther@suse.de>
776
777 PR tree-optimization/60836
778 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
779 initial PHI args to be gimple values.
780
1428105c
RB
7812014-04-17 Richard Biener <rguenther@suse.de>
782
783 PR tree-optimization/60841
784 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
785 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
786 of stmts to SLP build.
787 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
788 (vect_analyze_slp): Likewise.
789 (vect_analyze_slp_instance): Likewise.
790 (vect_build_slp_tree): Limit overall SLP tree growth.
791 * tree-vectorizer.h (vect_analyze_data_refs,
792 vect_analyze_slp): Adjust prototypes.
793
170c1776
ES
7942014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
795
796 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
797 Silvermont.
798
a4ef7f3e
ES
7992014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
800
801 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
802 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
803 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
804 for TARGET_SLOW_PSHUFB
805
cf055f6e
ES
8062014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
807
808 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
809 * config/i386/i386.c (intel_cost): Ditto.
810
eeee2277
JY
8112014-04-17 Joey Ye <joey.ye@arm.com>
812
813 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
814
1c58fe29
JH
8152014-04-16 Jan Hubicka <hubicka@ucw.cz>
816
817 * opts.c (common_handle_option): Disable -fipa-reference coorectly
818 with -fuse-profile.
819
2d1644bf
JH
8202014-04-16 Jan Hubicka <hubicka@ucw.cz>
821
822 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
823 (type_all_derivations_known_p): New predicate.
824 (type_all_ctors_visible_p): New predicate.
825 (type_possibly_instantiated_p): New predicate.
826 (get_odr_type): Compute all_derivations_known.
827 (dump_odr_type): Dump the flag.
828 (maybe_record_type): Cleanup.
829 (record_target_from_binfo): Add bases_to_consider array;
830 record bases for types w/o instances and skip CXX destructor.
831 (possible_polymorphic_call_targets_1): Add bases_to_consider
b15d92bf 832 and consider_construction parameters; check if type may have instance.
2d1644bf
JH
833 (get_polymorphic_call_info): Set maybe_in_construction to true
834 when we know nothing.
835 (record_targets_from_bases): Skip CXX destructors; they are
836 never called for types in construction.
837 (possible_polymorphic_call_targets): Do not record target when
838 type may not have instance.
839
789c2741
JH
8402014-04-16 Jan Hubicka <hubicka@ucw.cz>
841
842 PR ipa/60854
843 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
844 external aliases alive, too.
845
9950a4f2
AP
8462014-04-16 Andrew Pinski <apinski@cavium.com>
847
848 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
b15d92bf 849 definition.
9950a4f2 850
82b9c015
EB
8512014-04-16 Eric Botcazou <ebotcazou@adacore.com>
852
853 * final.c (compute_alignments): Do not apply loop alignment to a block
854 falling through to the exit.
855
d2dfaca3
CM
8562014-04-16 Catherine Moore <clm@codesourcery.com>
857
858 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
859 Adjust constraints for microMIPS store patterns.
860
10353a79
PS
8612014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
862
863 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
864
61c7fb30
EB
8652014-04-16 Eric Botcazou <ebotcazou@adacore.com>
866
867 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
868 (append_use): Run at -O0.
869 (append_vdef): Likewise.
870 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
871 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
872
42fae17c
JJ
8732014-04-16 Jakub Jelinek <jakub@redhat.com>
874
875 PR tree-optimization/60844
876 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
877 (propagate_op_to_single_use, remove_visited_stmt_chain,
878 linearize_expr, repropagate_negates, reassociate_bb): Use it
879 instead of gsi_remove.
880
ca860d03
MJ
8812014-04-16 Martin Jambor <mjambor@suse.cz>
882
883 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
884 ipa_transforms_to_apply.
885 (cgraph_function_versioning): Assert that old_node has empty
886 ipa_transforms_to_apply.
887 * trans-mem.c (ipa_tm_create_version): Likewise.
888 * tree-inline.c (tree_function_versioning): Do not duplicate
889 ipa_transforms_to_apply.
890
fe4e71e4
RO
8912014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
892
893 PR target/60817
894 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
895 x86_64-*-* cases.
896 Pass necessary as flags on 64-bit Solaris/x86.
897 Use lowercase relocs for x86_64-*-*.
898 * configure: Regenerate.
899
ccb05ef2
JH
9002014-04-15 Jan Hubicka <jh@suse.cz>
901
902 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
903 (maybe_record_node, likely_target_p): Use it.
904
dfe449d1
BS
9052014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
906
907 PR target/60839
908 Revert following patch
909
910 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
911
912 PR target/60735
913 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
914 software floating point or no floating point registers, do not
915 allow any type in the FPRs. Eliminate a test for SPE SIMD types
916 in GPRs that occurs after we tested for GPRs that would never be
917 true.
918
919 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
920 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
921 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
922 specifically allow DDmode, since that does not use the SPE SIMD
923 instructions.
924
25dce5c6
MW
9252014-03-21 Mark Wielaard <mjw@redhat.com>
926
927 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
928 as unsigned or int depending on type and value used.
929
8d3c076f
RB
9302014-04-15 Richard Biener <rguenther@suse.de>
931
932 PR rtl-optimization/56965
933 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
934 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
935 ... here.
936 * alias.c (true_dependence_1): Do not call
937 nonoverlapping_component_refs_p.
938 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
939 nonoverlapping_component_refs_p.
940 (indirect_refs_may_alias_p): Likewise.
941
d00e4baa
TJ
9422014-04-15 Teresa Johnson <tejohnson@google.com>
943
944 * cfg.c (dump_bb_info): Fix flags check.
945 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
946
98a2fdfb
KT
9472014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
948
949 PR rtl-optimization/60663
950 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
951 avoid 0 cost.
952
b9ed2c2c
RB
9532014-04-15 Richard Biener <rguenther@suse.de>
954
955 * lto-streamer.h (LTO_major_version): Bump to 4.
956
783dab6b
RB
9572014-04-15 Richard Biener <rguenther@suse.de>
958
959 * common.opt (lto_partition_model): New enum.
960 (flto-partition=): Merge separate options with a single with argument,
961 add -flto-partition=one support.
962 * flag-types.h (enum lto_partition_model): Declare.
963 * opts.c (finish_options): Remove duplicate -flto-partition=
964 option check.
965 * lto-wrapper.c (run_gcc): Adjust.
966
d8e4ce6d
RB
9672014-04-15 Richard Biener <rguenther@suse.de>
968
969 * alias.c (ncr_compar): New function.
970 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
971
1999fd7d
RB
9722014-04-15 Richard Biener <rguenther@suse.de>
973
974 * alias.c (record_component_aliases): Do not walk BINFOs.
975
628169e0
RB
9762014-04-15 Richard Biener <rguenther@suse.de>
977
978 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
979 Add struct function argument and adjust.
980 (find_func_aliases_for_call): Likewise.
981 (find_func_aliases): Likewise.
982 (find_func_clobbers): Likewise.
983 (intra_create_variable_infos): Likewise.
984 (compute_points_to_sets): Likewise.
985 (ipa_pta_execute): Adjust. Do not push/pop cfun.
986
349e6210
RB
9872014-04-15 Richard Biener <rguenther@suse.de>
988
989 * tree.c (iterative_hash_expr): Use enum tree_code_class
990 to store TREE_CODE_CLASS.
991 (tree_block): Likewise.
992 (tree_set_block): Likewise.
993 * tree.h (fold_build_pointer_plus_loc): Use
994 convert_to_ptrofftype_loc.
995
4f0ddb6f
JJ
9962014-04-15 Jakub Jelinek <jakub@redhat.com>
997
998 PR plugins/59335
999 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
1000 added in 4.9.
1001
718c4601
EB
10022014-04-15 Eric Botcazou <ebotcazou@adacore.com>
1003
1004 * cfgloop.h (struct loop): Move force_vectorize down.
1005 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
1006 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
1007 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
1008 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
1009 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
1010 * tree-core.h (enum annot_expr_kind): Add new kind values.
1011 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
1012 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
1013 kinds.
1014 * tree.def (ANNOTATE_EXPR): Tweak comment.
1015
88f592e3
JH
10162014-04-14 Jan Hubicka <hubicka@ucw.cz>
1017
1018 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
1019 cxa_pure_virtual).
1020
9dba4b55
PC
10212014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
1022
1023 * tree.h (TYPE_IDENTIFIER): Declare.
1024 * tree.c (subrange_type_for_debug_p): Use it.
1025 * godump.c (go_format_type): Likewise.
1026 * dwarf2out.c (is_cxx_auto, modified_type_die,
1027 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
1028 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
1029
006202e8
JH
10302014-04-14 Jan Hubicka <hubicka@ucw.cz>
1031
1032 PR lto/60820
1033 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
1034
e0a81db1
UB
10352014-04-14 Uros Bizjak <ubizjak@gmail.com>
1036
1037 * config/i386/i386.c (examine_argument): Return bool. Return true if
1038 parameter should be passed in memory.
1039 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
1040 (construct_container): Update calls to examine_argument.
1041 (function_arg_advance_64): Ditto.
1042 (return_in_memory_32): Merge with ix86_return_in_memory.
1043 (return_in_memory_64): Ditto.
1044 (return_in_memory_ms_64): Ditto.
1045
cb90235d
JH
10462014-04-14 Jan Hubicka <hubicka@ucw.cz>
1047
1048 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
1049 * coverage.c (coverage_compute_profile_id): Handle externally visible
1050 symbols.
1051
7b3b340e
MJ
10522014-04-14 Martin Jambor <mjambor@suse.cz>
1053
1054 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
1055 DECL_DISREGARD_INLINE_LIMITS functions.
1056
2ed3b4ee
L
10572014-04-14 H.J. Lu <hongjiu.lu@intel.com>
1058
1059 PR target/60827
e0a81db1 1060 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 1061
10fa463f
L
10622014-04-14 H.J. Lu <hongjiu.lu@intel.com>
1063
1064 PR target/60827
1065 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
1066 optimize_insn_for_speed_p instead of
1067 optimize_function_for_speed_p.
1068
b621e875
YZ
10692014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
1070
1071 * doc/invoke.texi (free): Document AArch64.
1072
cddaefa3
RB
10732014-04-14 Richard Biener <rguenther@suse.de>
1074
1075 PR tree-optimization/60042
1076 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
1077 (insert_into_preds_of_block): Do not prevent PHI insertion
1078 for REFERENCE exprs here ...
1079 (eliminate_dom_walker::before_dom_children): ... but prevent
1080 their use here under similar conditions when applied to the
1081 IL after PRE optimizations.
1082
a9e4c82f
RB
10832014-04-14 Richard Biener <rguenther@suse.de>
1084
1085 * passes.def: Move early points-to after early SRA.
1086
7b4cae1b
RB
10872014-04-14 Richard Biener <rguenther@suse.de>
1088
1089 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
1090 check for which sign-changes we allow when forwarding
1091 a converted value into a switch.
1092
cb27986c
EB
10932014-04-14 Eric Botcazou <ebotcazou@adacore.com>
1094
1095 * stor-layout.c (place_field): Finalize non-constant offset for the
1096 field, if any.
1097
72798784
RB
10982014-04-14 Richard Biener <rguenther@suse.de>
1099
1100 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
1101 as argument.
1102 (expand_switch_using_bit_tests_p): Likewise.
1103 (process_switch): Compute and pass on speed_p based on the
1104 switch stmt.
1105 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
1106 optimize_bb_for_speed_p.
1107
b15b5979
EB
11082014-04-14 Eric Botcazou <ebotcazou@adacore.com>
1109
1110 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
1111 * function.h (struct function): Rename has_force_vect_loops into
1112 has_force_vectorize_loops.
1113 * lto-streamer-in.c (input_cfg): Adjust for renaming.
1114 (input_struct_function_base): Likewise.
1115 * lto-streamer-out.c (output_cfg): Likewise.
1116 (output_struct_function_base): Likewise.
1117 * omp-low.c (expand_omp_simd): Likewise.
1118 * tree-cfg.c (move_sese_region_to_fn): Likewise.
1119 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
1120 (version_loop_for_if_conversion): Likewise.
1121 (tree_if_conversion): Likewise.
1122 (main_tree_if_conversion): Likewise.
1123 (gate_tree_if_conversion): Likewise.
1124 * tree-inline.c (copy_loops): Likewise.
1125 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
1126 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
1127 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
1128 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
1129 * tree-vectorizer.c (vectorize_loops): Likewise.
1130 * tree-vectorizer.h (unlimited_cost_model): Likewise.
1131
8359c87e
RB
11322014-04-14 Richard Biener <rguenther@suse.de>
1133
1134 PR lto/60720
1135 * lto-streamer-out.c (wrap_refs): New function.
1136 (lto_output): Wrap symbol references in global initializes in
1137 type-preserving MEM_REFs.
1138
9447df74
CB
11392014-04-14 Christian Bruel <christian.bruel@st.com>
1140
b15d92bf 1141 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
9447df74 1142
fa1aecc1
CB
11432014-04-14 Christian Bruel <christian.bruel@st.com>
1144
1145 * config/sh/sh.md (setmemqi): New expand pattern.
1146 * config/sh/sh.h (CLEAR_RATIO): Define.
1147 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
1148 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
1149
a3c77ce9
RB
11502014-04-14 Richard Biener <rguenther@suse.de>
1151
1152 PR middle-end/55022
1153 * fold-const.c (negate_expr_p): Don't negate directional rounding
1154 division.
1155 (fold_negate_expr): Likewise.
1156
033aa406
RB
11572014-04-14 Richard Biener <rguenther@suse.de>
1158
1159 PR tree-optimization/59817
1160 PR tree-optimization/60453
1161 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
1162 recursion to catch all CHRECs in the scalar evolution and restrict
1163 the predicate for the remains appropriately.
1164
5e7d8b4c
RS
11652014-04-12 Catherine Moore <clm@codesourcery.com>
1166
1167 * config/mips/constraints.md: Add new register constraint "kb".
1168 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
1169 (*movhi_internal): Likewise.
1170 (*movqi_internal): Likewise.
1171 * config/mips/mips.h (M16_STORE_REGS): New register class.
1172 (REG_CLASS_NAMES): Add M16_STORE_REGS.
1173 (REG_CLASS_CONTENTS): Likewise.
1174 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
1175
cbbd2b1c
TB
11762014-04-11 Tobias Burnus <burnus@net-b.de>
1177
1178 PR c/60194
1179 * doc/invoke.texi (-Wformat-signedness): Document it.
1180 (Wformat=2): Mention that this enables -Wformat-signedness.
1181
d9bb5800
JR
11822014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
1183
1184 * common/config/epiphany/epiphany-common.c
1185 (epiphany_option_optimization_table): Enable section anchors by
1186 default at -O1 or higher.
1187 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
1188 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
1189 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
1190 carries no extra cost.
1191 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
1192 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
1193 * config/epiphany/predicates.md (memclob_operand): New predicate.
1194 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
1195 Use memclob_operand predicate and X constraint for operand 3.
1196
b5d0ecea
JR
11972014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
1198
1199 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
1200 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
1201 its operands.
1202
473fd99a
JR
12032014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
1204
1205 PR rtl-optimization/60651
1206 * mode-switching.c (optimize_mode_switching): Make sure to emit
1207 sets of a lower numbered entity before sets of a higher numbered
1208 entity to a mode of the same or lower priority.
1209 When creating a seginfo for a basic block that starts with a code
1210 label, move the insertion point past the code label.
1211 (new_seginfo): Document and enforce requirement that
1212 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
1213 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
1214 * doc/tm.texi: Regenerate.
1215
6ace1161
JR
12162014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
1217
1218 PR target/60811
1219 * config/arc/arc.c (arc_save_restore): Fix assert typo.
1220
89eb97de
JJ
12212013-04-11 Jakub Jelinek <jakub@redhat.com>
1222
6602e7fc 1223 * BASE-VER: Set to 4.10.0.
89eb97de 1224
9d0c7214
TB
12252014-04-11 Tobias Burnus <burnus@net-b.de>
1226
1227 PR other/59055
e0a81db1 1228 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
1229 * doc/gcc.texi (Service): Update description in the @menu
1230 * doc/invoke.texi (Option Summary): Remove misplaced and
1231 duplicated @menu.
1232
3662b277
SE
12332014-04-11 Steve Ellcey <sellcey@mips.com>
1234 Jakub Jelinek <jakub@redhat.com>
1235
1236 PR middle-end/60556
1237 * expr.c (convert_move): Use emit_store_flag_force instead of
1238 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
1239 argument to it.
1240
8330537b
RB
12412014-04-11 Richard Biener <rguenther@suse.de>
1242
1243 PR middle-end/60797
1244 * varasm.c (assemble_alias): Avoid endless error reporting
1245 recursion by setting TREE_ASM_WRITTEN.
1246
3c91f126
AK
12472014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1248
1249 * config/s390/s390.md: Add a splitter for NOT rtx.
1250
d8d6ea53
JJ
12512014-04-11 Jakub Jelinek <jakub@redhat.com>
1252
1253 PR rtl-optimization/60663
e0a81db1 1254 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 1255
fa5866c0
JJ
12562014-04-10 Jan Hubicka <hubicka@ucw.cz>
1257 Jakub Jelinek <jakub@redhat.com>
073afca6 1258
fa5866c0 1259 PR lto/60567
e0a81db1
UB
1260 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
1261 flag from decl_node to node.
073afca6 1262
b322c36a
RR
12632014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1264
1265 PR debug/60655
1266 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
1267 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
1268 ameliorating the cases where it can be.
1269
8267f6bb
DE
12702014-04-09 David Edelsohn <dje.gcc@gmail.com>
1271
1272 Revert
1273 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
1274
1275 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
1276 (loadsync_<mode>): Change mode.
1277 (load_quadpti, store_quadpti): New.
1278 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
1279 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
1280 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
1281
5d1a5a53
CH
12822014-04-09 Cong Hou <congh@google.com>
1283
1284 PR testsuite/60773
1285 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
1286 documentation.
1287
da90fa4c
BS
12882014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1289
1290 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
1291 instead of vnor to exploit possible fusion opportunity in the
1292 future.
1293 (altivec_expand_vec_perm_const_le): Likewise.
1294
98e6ecab
PH
12952014-04-08 Pat Haugen <pthaugen@us.ibm.com>
1296
1297 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
1298 (loadsync_<mode>): Change mode.
1299 (load_quadpti, store_quadpti): New.
1300 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
1301 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
1302
8418cf33
RS
13032014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
1304
1305 PR target/60763
1306 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
1307 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
1308 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
1309
3fa68ccb
RB
13102014-04-08 Richard Biener <rguenther@suse.de>
1311
1312 PR middle-end/60706
1313 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
1314 a 64bit widest int print double-int similar to on HWI64 hosts.
1315
9038ae48
RB
13162014-04-08 Richard Biener <rguenther@suse.de>
1317
1318 PR tree-optimization/60785
1319 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
1320 default defs properly.
1321
38f09da3
NS
13222014-04-08 Nathan Sidwell <nathan@codesourcery.com>
1323
1324 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
1325 (Weffc++): Likewise.
1326
0439a947
JH
13272014-04-07 Jan Hubicka <hubcika@ucw.cz>
1328
1329 * ipa-devirt.c (maybe_record_node): When node is not recorded,
1330 set completep to false rather than true.
1331
3f2f838e
EB
13322014-04-07 Douglas B Rupp <rupp@adacore.com>
1333
1334 PR target/60504
1335 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
1336 ARM_TARGET2_DWARF_FORMAT.
1337
e75c1617
CB
13382014-04-07 Charles Baylis <charles.baylis@linaro.org>
1339
1340 PR target/60609
1341 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
1342 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
1343 ADDR_DIFF_VEC.
1344
d6adff07
RB
13452014-04-07 Richard Biener <rguenther@suse.de>
1346
1347 PR tree-optimization/60766
3f2f838e
EB
1348 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
1349 (may_eliminate_iv): Convert cand_value_at result to desired type.
d6adff07 1350
da34ade5
JM
13512014-04-07 Jason Merrill <jason@redhat.com>
1352
1353 PR c++/60731
1354 * common.opt (-fno-gnu-unique): Add.
1355 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
1356
151e9aac
KT
13572014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1358
1359 * haifa-sched.c: Fix outdated function reference and minor
1360 grammar errors in introductory comment.
1361
308173e3
RB
13622014-04-07 Richard Biener <rguenther@suse.de>
1363
1364 PR middle-end/60750
1365 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
1366 for noreturn calls.
1367 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
1368
a9a302d9
JDA
13692014-04-06 John David Anglin <danglin@gcc.gnu.org>
1370
1371 PR debug/55794
1372 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
1373 size accounting for thunks.
1374 (pa_asm_output_mi_thunk): Use final_start_function() and
1375 final_end_function() to output function start and end directives.
1376
576ba35c
PS
13772014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
1378
e0a81db1
UB
1379 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
1380 device specific ISA/ feature information. Remove short_sp and
1381 errata_skip ds. Add avr_device_specific_features enum to have device
1382 specific info.
576ba35c
PS
1383 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
1384 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
1385 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
1386 updated device specific info.
1387 * config/avr/avr-mcus.def: Merge device specific details to
1388 dev_attribute field.
1389 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
1390 errata_skip.
1391 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
1392 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
1393 assembler if RMW isa supported by current device.
1394 * config/avr/genmultilib.awk: Update as device info structure changed.
1395 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
1396
ebc047a2
CH
13972014-04-04 Cong Hou <congh@google.com>
1398
1399 PR tree-optimization/60656
1400 * tree-vect-stmts.c (supportable_widening_operation):
1401 Fix a bug that elements in a vector with vect_used_by_reduction
1402 property are incorrectly reordered when the operation on it is not
1403 consistant with the one in reduction operation.
1404
b6808818
JDA
14052014-04-04 John David Anglin <danglin@gcc.gnu.org>
1406
1407 PR rtl-optimization/60155
1408 * gcse.c (record_set_data): New function.
1409 (single_set_gcse): New function.
1410 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
1411 (hoist_code): Likewise.
1412 (get_pressure_class_and_nregs): Likewise.
1413
eabcc725
EB
14142014-04-04 Eric Botcazou <ebotcazou@adacore.com>
1415
1416 * explow.c (probe_stack_range): Emit a final optimization blockage.
1417
e005b753
AG
14182014-04-04 Anthony Green <green@moxielogic.com>
1419
1420 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
1421 typos.
1422
8fe91ca8
JH
14232014-04-04 Jan Hubicka <hubicka@ucw.cz>
1424
1425 PR ipa/59626
1426 * lto-cgraph.c (input_overwrite_node): Check that partitioning
1427 flags are set only during streaming.
1428 * ipa.c (process_references, walk_polymorphic_call_targets,
1429 symtab_remove_unreachable_nodes): Drop bodies of always inline
1430 after early inlining.
1431 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
576ba35c 1432
88d94632
RR
14332014-04-04 Jakub Jelinek <jakub@redhat.com>
1434 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1435
1436 PR debug/60655
1437 * dwarf2out.c (const_ok_for_output_1): Reject expressions
1438 containing a NOT.
1439
094bc219
KT
14402014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1441
1442 PR bootstrap/60743
1443 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
1444 duration.
1445 (cortex_a53_fdivd): Likewise.
1446
610c8ef0
MJ
14472014-04-04 Martin Jambor <mjambor@suse.cz>
1448
1449 PR ipa/60640
b15d92bf
UB
1450 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
1451 Adjust all callers.
610c8ef0
MJ
1452 * cgraph.c (clone_of_p): Also return true if thunks match.
1453 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
1454 cgraph_function_or_thunk_node and an obsolete comment.
b15d92bf
UB
1455 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
1456 file.
1457 (build_function_decl_skip_args): Likewise.
610c8ef0 1458 (set_new_clone_decl_and_node_flags): New function.
b15d92bf
UB
1459 (duplicate_thunk_for_node): Likewise.
1460 (redirect_edge_duplicating_thunks): Likewise.
1461 (cgraph_clone_node): New parameter args_to_skip, pass it to
1462 redirect_edge_duplicating_thunks which is called instead of
1463 cgraph_redirect_edge_callee.
1464 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
610c8ef0
MJ
1465 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
1466
fc02bcca
JL
14672014-04-04 Jeff Law <law@redhat.com>
1468
57ef133b 1469 PR target/60657
fc02bcca
JL
1470 * config/arm/predicates.md (const_int_I_operand): New predicate.
1471 (const_int_M_operand): Similarly.
1472 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
1473 const_int_operand.
1474 (insv_t2, extv_reg, extzv_t2): Likewise.
1475 (load_multiple_with_writeback): Similarly for const_int_I_operand.
1476 (pop_multiple_with_writeback_and_return): Likewise.
1477 (vfp_pop_multiple_with_writeback): Likewise
1478
45b62594
RB
14792014-04-04 Richard Biener <rguenther@suse.de>
1480
1481 PR ipa/60746
1482 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
1483 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
1484 non-GIMPLE_LABELs.
1485 * gimplify.h (gimple_add_tmp_var_fn): Declare.
1486 * gimplify.c (gimple_add_tmp_var_fn): New function.
1487 * gimple-expr.h (create_tmp_reg_fn): Declare.
1488 * gimple-expr.c (create_tmp_reg_fn): New function.
1489 * gimple-low.c (record_vars_into): Don't change cfun.
1490 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
1491 code generation without cfun.
1492
bb609c35
TS
14932014-04-04 Thomas Schwinge <thomas@codesourcery.com>
1494
1495 PR bootstrap/60719
1496 * Makefile.in (install-driver): Fix shell scripting.
1497
090cd8dc
CH
14982014-04-03 Cong Hou <congh@google.com>
1499
1500 PR tree-optimization/60505
1501 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
e0a81db1
UB
1502 threshold of number of iterations below which no vectorization
1503 will be done.
090cd8dc
CH
1504 * tree-vect-loop.c (new_loop_vec_info):
1505 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
1506 * tree-vect-loop.c (vect_analyze_loop_operations):
1507 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
1508 * tree-vect-loop.c (vect_transform_loop):
1509 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
1510 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
1511 of iterations of the loop and see if we should build the epilogue.
1512
bdc67fd6
RB
15132014-04-03 Richard Biener <rguenther@suse.de>
1514
e0a81db1 1515 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
1516 (streamer_tree_cache_create): Adjust.
1517 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
1518 to allow optional nodes array.
1519 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
1520 (streamer_tree_cache_append): Likewise.
1521 (streamer_tree_cache_create): Create nodes array optionally
1522 as specified by parameter.
1523 * lto-streamer-out.c (create_output_block): Avoid maintaining
1524 the node array in the writer cache.
1525 (DFS_write_tree): Remove assertion.
e0a81db1 1526 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
1527 * lto-streamer-in.c (lto_data_in_create): Adjust for
1528 streamer_tree_cache_create prototype change.
1529
a0daf659
RB
15302014-04-03 Richard Biener <rguenther@suse.de>
1531
1532 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
1533 set TREE_CHAIN to NULL_TREE.
1534
f16c88d2
RB
15352014-04-03 Richard Biener <rguenther@suse.de>
1536
1537 PR tree-optimization/60740
1538 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
1539 over all GIMPLE_COND operands.
1540
880a467b
NS
15412014-04-03 Nathan Sidwell <nathan@codesourcery.com>
1542
1543 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
1544 (Weffc++): Remove Scott's numbering, merge lists and reference
1545 Wnon-virtual-dtor.
1546
08866760
NC
15472014-04-03 Nick Clifton <nickc@redhat.com>
1548
1549 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
1550 properly.
1551
5bed50e8
MJ
15522014-04-03 Martin Jambor <mjambor@suse.cz>
1553
1554 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
1555 mention gcc_unreachable before failing.
1556 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
1557 removed symbols.
1558
3e86c6a8
JH
15592014-04-02 Jan Hubicka <hubicka@ucw.cz>
1560
1561 PR ipa/60659
e0a81db1
UB
1562 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
1563 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
1564 (possible_polymorphic_call_targets): For inconsistent contexts
1565 return empty complete list.
1566
2b9912aa
AG
15672014-04-02 Anthony Green <green@moxielogic.com>
1568
1569 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
1570 (extendqisi2, extendhisi2): Define.
1571 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
1572 (WCHAR_TYPE): Change to unsigned int.
1573
1e386bb8
BS
15742014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1575
1576 PR tree-optimization/60733
1577 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
1578 insertion point for PHI candidates to be the end of the feeding
1579 block for the PHI argument.
1580
f4581282
VM
15812014-04-02 Vladimir Makarov <vmakarov@redhat.com>
1582
1583 PR rtl-optimization/60650
1584 * lra-constraints.c (process_alt_operands): Decrease reject for
1585 earlyclobber matching.
1586
a9d46e32
AK
15872014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1588
1589 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
1590
7c40228a
UW
15912014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1592
1593 * config/spu/spu.c (pad_bb): Do not crash when the last
1594 insn is CODE_FOR_blockage.
1595
c6596193
UW
15962014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1597
1598 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
1599 lies outside the target mode.
1600
690c229f
MM
16012014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
1602
1603 PR target/60735
1604 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
1605 software floating point or no floating point registers, do not
1606 allow any type in the FPRs. Eliminate a test for SPE SIMD types
1607 in GPRs that occurs after we tested for GPRs that would never be
1608 true.
1609
1610 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
1611 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
1612 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
1613 specifically allow DDmode, since that does not use the SPE SIMD
1614 instructions.
1615
dad16761
RB
16162014-04-02 Richard Biener <rguenther@suse.de>
1617
1618 PR middle-end/60729
1619 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
1620 MODE_INTs. Properly use negv_optab.
1621 (expand_abs): Likewise.
1622
a1ce39be
RB
16232014-04-02 Richard Biener <rguenther@suse.de>
1624
1625 PR bootstrap/60719
1626 * Makefile.in (install-driver): Guard extra installs with special
1627 names properly.
1628
6fb619e4
MM
16292014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
1630
1631 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
1632 Document vec_vgbbd.
1633
2a1ffd6d
RH
16342014-04-01 Richard Henderson <rth@redhat.com>
1635
1636 PR target/60704
1637 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
1638 alternative enabled before register allocation.
1639
98e8dd4d
CLT
16402014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
1641
1642 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
1643 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
1644 typo.
1645 (nios2_large_got_address): Remove unneeded 'sym' parameter.
1646 (nios2_got_address): Update nios2_large_got_address call site.
1647 (nios2_delegitimize_address): New function.
1648 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
1649 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
1650 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
1651
8785c60a
MH
16522014-04-01 Martin Husemann <martin@duskware.de>
1653
1654 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
1655 for -mabi=32.
1656
3343cf6a
RS
16572014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
1658
1659 PR rtl-optimization/60604
1660 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
1661 check from register_operand.
1662 (register_operand): Redefine in terms of general_operand.
1663 (nonmemory_operand): Use register_operand for the non-constant cases.
1664
1503cb6b
RB
16652014-04-01 Richard Biener <rguenther@suse.de>
1666
e0a81db1 1667 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 1668
cded08ea
SH
16692014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
1670
1671 * doc/invoke.texi (mapp-regs): Clarify.
1672
7d9088c2
UD
16732014-03-31 Ulrich Drepper <drepper@gmail.com>
1674
1675 * config/i386/avx512fintrin.h (__v32hi): Define type.
1676 (__v64qi): Likewise.
1677 (_mm512_set1_epi8): Define.
1678 (_mm512_set1_epi16): Define.
1679 (_mm512_set4_epi32): Define.
1680 (_mm512_set4_epi64): Define.
1681 (_mm512_set4_pd): Define.
1682 (_mm512_set4_ps): Define.
1683 (_mm512_setr4_epi64): Define.
1684 (_mm512_setr4_epi32): Define.
1685 (_mm512_setr4_pd): Define.
1686 (_mm512_setr4_ps): Define.
1687 (_mm512_setzero_epi32): Define.
1688
c18ff8a4
MJ
16892014-03-31 Martin Jambor <mjambor@suse.cz>
1690
1691 PR middle-end/60647
1692 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
1693 callsite_arguments_match_p. Updated all callers. Also check types of
1694 corresponding formal parameters and actual arguments.
1695 (not_all_callers_have_enough_arguments_p) Renamed to
1696 some_callers_have_mismatched_arguments_p.
1697
9a96d5b7
YR
16982014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
1699
1700 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
1701
6c031d8d
KV
17022014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
1703
1704 PR target/60034
1705 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
1706 section anchor.
1707
429749e2
UB
17082014-03-30 Uros Bizjak <ubizjak@gmail.com>
1709
1710 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
1711 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
1712 Split out
1713 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
1714 Use FMAMODE_NOVF512 mode iterator.
1715 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
1716 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
1717 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
1718 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
1719 Split out
1720 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
1721 Use VF_128_256 mode iterator.
1722 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
1723 Ditto.
1724
1f91035f
JH
17252014-03-28 Jan Hubicka <hubicka@ucw.cz>
1726
1727 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
1728 static chain if needed.
1729
6e071b1e
VM
17302014-03-28 Vladimir Makarov <vmakarov@redhat.com>
1731
1732 PR target/60697
1733 * lra-constraints.c (index_part_to_reg): New.
1734 (process_address): Use it.
1735
e7f31789 17362014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 1737 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
1738
1739 PR target/60648
4bb66ef3
JJ
1740 * expr.c (do_tablejump): Use simplify_gen_binary rather than
1741 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 1742
4bb66ef3
JJ
1743 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
1744 creating non-canonical RTL.
e7f31789 1745
4cd8957f
JH
17462014-03-28 Jan Hubicka <hubicka@ucw.cz>
1747
1748 PR ipa/60243
1749 * ipa-inline.c (want_inline_small_function_p): Short circuit large
1750 functions; reorganize to make cheap checks first.
1751 (inline_small_functions): Do not estimate growth when dumping;
1752 it is expensive.
1753 * ipa-inline.h (inline_summary): Add min_size.
1754 (growth_likely_positive): New function.
1755 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
1756 (set_cond_stmt_execution_predicate): Cleanup.
1757 (estimate_edge_size_and_time): Compute min_size.
1758 (estimate_calls_size_and_time): Likewise.
1759 (estimate_node_size_and_time): Likewise.
1760 (inline_update_overall_summary): Update min_size.
1761 (do_estimate_edge_time): Likewise.
1762 (do_estimate_edge_size): Update.
1763 (do_estimate_edge_hints): Update.
1764 (growth_likely_positive): New function.
1765
ff76f4e2
JJ
17662014-03-28 Jakub Jelinek <jakub@redhat.com>
1767
1768 PR target/60693
1769 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
1770 also if addr has VOIDmode.
1771
ed6eb6dc
KT
17722014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1773
1774 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
1775 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
1776 Declare extern.
1777 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
1778 instructions as well as AdvancedSIMD loads.
1779
b10baa95
KT
17802014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1781
1782 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
1783 Use crypto_aese type.
1784 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
1785 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
1786 crypto_aese, crypto_aesmc. Move to types.md.
1787 * config/arm/types.md (crypto_aes): Split into crypto_aese,
1788 crypto_aesmc.
1789 * config/arm/iterators.md (crypto_type): Likewise.
1790
23a04216
JH
17912014-03-28 Jan Hubicka <hubicka@ucw.cz>
1792
1793 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
1794 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
1795 remove LHS.
23a04216 1796
a4971e68
VM
17972014-03-28 Vladimir Makarov <vmakarov@redhat.com>
1798
1799 PR target/60675
1800 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
1801 regs from checking multi-reg pseudos.
1802
7ac84c02
RR
18032014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1804
1805 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
1806
bd302a18
UW
18072014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1808
1809 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
1810 if it would clobber the stack pointer, even temporarily.
1811
cee9defb
EB
18122014-03-28 Eric Botcazou <ebotcazou@adacore.com>
1813
1814 * mode-switching.c: Make small adjustments to the top comment.
1815
117f16fb
MM
18162014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
1817
1818 * config/rs6000/constraints.md (wD constraint): New constraint to
1819 match the constant integer to get the top DImode/DFmode out of a
1820 vector in a VSX register.
1821
1822 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
1823 match the constant integer to get the top DImode/DFmode out of a
1824 vector in a VSX register.
1825
1826 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
1827 for ISA 2.07.
1828
1829 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1830 vbpermq builtins.
1831
1832 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
1833 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
1834
1835 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
1836 Optimize vec_extract of 64-bit values, where the value being
1837 extracted is in the top word, where we can use scalar
1838 instructions. Add direct move and store support. Combine the big
429749e2 1839 endian/little endian vector select load support into a single insn.
117f16fb
MM
1840 (vsx_extract_<mode>_internal1): Likewise.
1841 (vsx_extract_<mode>_internal2): Likewise.
1842 (vsx_extract_<mode>_load): Likewise.
1843 (vsx_extract_<mode>_store): Likewise.
1844 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
1845 combined into vsx_extract_<mode>_load.
1846 (vsx_extract_<mode>_one_le): Likewise.
1847
1848 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
1849 define the top 64-bit vector element.
1850
1851 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
1852 constraint.
1853
6788164b
MM
1854 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
1855 Document vec_vbpermq builtin.
1856
117f16fb
MM
1857 PR target/60672
1858 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
1859 enable use of xxsldwi and xxpermdi builtin functions.
1860 (vec_xxpermdi): Likewise.
1861
1862 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
1863 Document use of vec_xxsldwi and vec_xxpermdi builtins.
1864
9e038952
VM
18652014-03-27 Vladimir Makarov <vmakarov@redhat.com>
1866
1867 PR rtl-optimization/60650
f4581282 1868 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
1869 first_p. Use it.
1870 (find_spills_for): New.
1871 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
1872 Spill all pseudos on the second iteration.
1873
324dc401
MP
18742014-03-27 Marek Polacek <polacek@redhat.com>
1875
1876 PR c/50347
1877 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
1878 types.
1879
6e77facf
AK
18802014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1881
1882 * config/s390/s390.c (s390_can_use_return_insn): Check for
1883 call-saved FPRs on 31 bit.
1884
47519a14
JJ
18852014-03-27 Jakub Jelinek <jakub@redhat.com>
1886
1887 PR middle-end/60682
1888 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
1889 if they need regimplification, just drop them instead of
1890 calling gimple_regimplify_operands on them.
1891
0b7f8166
MS
18922014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
1893
1894 PR target/60580
1895 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
1896 (aarch64_frame_pointer_required): Adjust logic.
1897 (aarch64_can_eliminate): Adjust logic.
1898 (aarch64_override_options_after_change): Adjust logic.
1899
2f2a7d15
DC
19002014-03-27 Dehao Chen <dehao@google.com>
1901
1902 * ipa-inline.c (early_inliner): Update node's inline info.
1903
a0dbf285
DC
19042014-03-26 Dehao Chen <dehao@google.com>
1905
1906 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
1907 compiler inserted conditional jumps for NAN float check.
1908
ed0ca1e1
JJ
19092014-03-26 Jakub Jelinek <jakub@redhat.com>
1910
07d72e1d
JJ
1911 * ubsan.h (ubsan_create_data): Change second argument's type
1912 to const location_t *.
1913 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
1914 _("<unknown>").
1915 (ubsan_create_data): Change second argument to const location_t *PLOC.
1916 Create Loc field whenever PLOC is non-NULL.
1917 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
1918 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
1919 callers.
1920
ed0ca1e1
JJ
1921 PR other/59545
1922 * real.c (real_to_integer2): Change type of low to UHWI.
1923
b9487dd8
TB
19242014-03-26 Tobias Burnus <burnus@net-b.de>
1925
1926 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
1927 (CILK_SELF_SPECS): New define.
1928 (driver_self_specs): Use it.
1929
3a2700f6
RB
19302014-03-26 Richard Biener <rguenther@suse.de>
1931
1932 * tree-pretty-print.c (percent_K_format): Implement special
1933 case for LTO and its stripped down BLOCK tree.
1934
368b454d
JJ
19352014-03-26 Jakub Jelinek <jakub@redhat.com>
1936
aa6b742f
JJ
1937 PR sanitizer/60636
1938 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
1939
368b454d
JJ
1940 * tree-vrp.c (simplify_internal_call_using_ranges): If only
1941 one range is range_int_cst_p, but not both, at least optimize
1942 addition/subtraction of 0 and multiplication by 0 or 1.
1943 * gimple-fold.c (gimple_fold_call): Fold
1944 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
1945 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
1946 INTEGER_CSTs, try to fold at least x * 0 and y - y.
1947
c7e30a96
EB
19482014-03-26 Eric Botcazou <ebotcazou@adacore.com>
1949
1950 PR rtl-optimization/60452
1951 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
1952 <case REG>: Return 1 for invalid offsets from the frame pointer.
1953
d615d763
MP
19542014-03-26 Marek Polacek <polacek@redhat.com>
1955
1956 PR c/37428
1957 * doc/extend.texi (C Extensions): Mention variable-length arrays in
1958 a structure/union.
1959
1b226529
MP
19602014-03-26 Marek Polacek <polacek@redhat.com>
1961
1962 PR c/39525
1963 * doc/extend.texi (Designated Inits): Describe what happens to omitted
1964 field members.
1965
6686e0bc
MP
19662014-03-26 Marek Polacek <polacek@redhat.com>
1967
1968 PR other/59545
1969 * ira-color.c (update_conflict_hard_regno_costs): Perform the
1970 multiplication in unsigned type.
1971
d4fbc3ae
CJW
19722014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
1973
1974 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
1975
dfa6c87b
CJW
19762014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
1977
1978 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
1979
9de6f6c3
JH
19802014-03-25 Jan Hubicka <hubicka@ucw.cz>
1981
1982 PR ipa/60315
1983 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
1984 * ipa-inline.c (inline_small_functions): Skip edges to
1985 __builtlin_unreachable.
9de6f6c3
JH
1986 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
1987 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
1988 predicate to __bulitin_unreachable.
429749e2
UB
1989 (set_cond_stmt_execution_predicate): Fix issue when
1990 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
1991 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
1992 propagate to inline clones.
1993 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
1994 to unreachable.
1995 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
1996 * cgraphclones.c (cgraph_clone_node): If call destination is already
1997 ureachable, do not redirect it back.
1998 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
1999 unreachable.
2000
d7636f56
JH
20012014-03-25 Jan Hubicka <hubicka@ucw.cz>
2002
2003 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
2004 Do not modify inline clones.
2005
d1873c57
JJ
20062014-03-25 Jakub Jelinek <jakub@redhat.com>
2007
2008 * config/i386/i386.md (general_sext_operand): New mode attr.
2009 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
2010 don't generate (sign_extend (const_int)).
2011 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
429749e2
UB
2012 operands[2]. Use We constraint instead of <i> and
2013 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
2014 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
2015 * config/i386/constraints.md (We): New constraint.
2016 * config/i386/predicates.md (x86_64_sext_operand,
2017 sext_operand): New predicates.
2018
b5165eb0
MJ
20192014-03-25 Martin Jambor <mjambor@suse.cz>
2020
2021 PR ipa/60600
2022 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
2023 inconsistent devirtualizations to __builtin_unreachable.
2024
3102858d
MP
20252014-03-25 Marek Polacek <polacek@redhat.com>
2026
2027 PR c/35449
2028 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
2029
4b1e108c
AL
20302014-03-25 Alan Lawrence <alan.lawrence@arm.com>
2031
2032 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
2033 order of elements for big-endian.
2034
40b0722f
RB
20352014-03-25 Richard Biener <rguenther@suse.de>
2036
2037 PR middle-end/60635
2038 * gimplify-me.c (gimple_regimplify_operands): Update the
2039 re-gimplifed stmt.
2040
4a5798de
MJ
20412014-03-25 Martin Jambor <mjambor@suse.cz>
2042
2043 PR ipa/59176
2044 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
2045 (lto_output_varpool_node): Likewise.
2046 (input_overwrite_node): Likewise.
2047 (input_varpool_node): Likewise.
2048
585d0088
RB
20492014-03-25 Richard Biener <rguenther@suse.de>
2050
429749e2 2051 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
2052 (run_gcc): Likewise.
2053
a8acccdd
JJ
20542014-03-25 Jakub Jelinek <jakub@redhat.com>
2055
51ee05d0
JJ
2056 * combine.c (simplify_compare_const): Add MODE argument.
2057 Handle mode_width 0 as very large mode_width.
2058 (try_combine, simplify_comparison): Adjust callers.
2059
a8acccdd
JJ
2060 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
2061 type to avoid signed integer overflow.
2062 * explow.c (plus_constant): Likewise.
2063
57fc74a4
DV
20642014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
2065
2066 * doc/generic.texi: Correct typos.
2067
09f15d1b
TB
20682014-03-24 Tobias Burnus <burnus@net-b.de>
2069
2070 * doc/invoke.texi (-flto): Expand section about
2071 using static libraries with LTO.
2072
72a4ddf2
AK
20732014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2074
2075 PR rtl-optimization/60501
2076 * optabs.def (addptr3_optab): New optab.
2077 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
2078 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
2079 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
2080
2081 * lra.c (emit_add3_insn): Use the addptr pattern if available.
2082
2083 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
2084
0b192937
UD
20852014-03-24 Ulrich Drepper <drepper@gmail.com>
2086
2b2384e8
UD
2087 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
2088 _mm512_set1_pd.
2089
0b192937
UD
2090 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
2091 (_mm256_undefined_ps): Define.
2092 (_mm256_undefined_pd): Define.
2093 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
2094 (_mm_undefined_pd): Define.
2095 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
2096 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
2097 (_mm512_undefined_ps): Define.
2098 (_mm512_undefined_pd): Define.
2099 Use _mm*_undefined_*.
2100 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
2101
252c7556
AV
21022014-03-24 Alex Velenko <Alex.Velenko@arm.com>
2103
2104 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
2105 (lshr_simd): DI mode added.
2106 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
2107 (aarch64_ushr_simddi): Likewise.
2108 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
2109 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
2110 (vshrd_n_u64): Likewise.
2111
15e3d4f1
RO
21122014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2113
2114 * Makefile.in (s-macro_list): Depend on cc1.
2115
1858c2d3
TJ
21162014-03-23 Teresa Johnson <tejohnson@google.com>
2117
2118 * ipa-utils.c (ipa_print_order): Use specified dump file.
2119
f87604f8
EB
21202014-03-23 Eric Botcazou <ebotcazou@adacore.com>
2121
2122 PR rtl-optimization/60601
2123 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
2124
2125 * gcc.c (eval_spec_function): Initialize save_growing_value.
2126
3db31fd1
JJ
21272014-03-22 Jakub Jelinek <jakub@redhat.com>
2128
f451d3a8
JJ
2129 PR sanitizer/60613
2130 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
2131 code == MINUS_EXPR, never swap op0 with op1.
2132
3db31fd1
JJ
2133 * toplev.c (init_local_tick): Avoid signed integer multiplication
2134 overflow.
2135 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
2136 shift by first operand's bitsize.
2137
e49080ec
JJ
21382014-03-21 Jakub Jelinek <jakub@redhat.com>
2139
2140 PR target/60610
2141 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
2142 redefine to 1 or 0.
2143 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
2144 TARGET_ISA_64BIT_P(x).
2145
44eb6c40
BS
21462014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2147
2148 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
2149 pattern for vector nor instead of subtract from splat(-1).
2150 (altivec_expand_vec_perm_const_le): Likewise.
2151
ec6f831a
RH
21522014-03-21 Richard Henderson <rth@twiddle.net>
2153
2154 PR target/60598
2155 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
2156 related insns after epilogue_completed.
2157
3d8d0043
MJ
21582014-03-21 Martin Jambor <mjambor@suse.cz>
2159
2160 PR ipa/59176
2161 * cgraph.h (symtab_node): New flag body_removed.
2162 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
2163 when removing bodies.
2164 * symtab.c (dump_symtab_base): Dump body_removed flag.
2165 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
2166 had their bodies removed.
2167
d833415c
MJ
21682014-03-21 Martin Jambor <mjambor@suse.cz>
2169
2170 PR ipa/60419
2171 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
2172 in the border.
2173
400a4f6c
RB
21742014-03-21 Richard Biener <rguenther@suse.de>
2175
2176 PR tree-optimization/60577
2177 * tree-core.h (struct tree_base): Document nothrow_flag use
2178 in VAR_DECL_NONALIASED.
2179 * tree.h (VAR_DECL_NONALIASED): New.
2180 (may_be_aliased): Adjust.
2181 * coverage.c (build_var): Set VAR_DECL_NONALIASED.
2182
c6c2314f
EB
21832014-03-20 Eric Botcazou <ebotcazou@adacore.com>
2184
2185 * expr.c (expand_expr_real_1): Remove outdated comment.
2186
d02b6ac7
JJ
21872014-03-20 Jakub Jelinek <jakub@redhat.com>
2188
b8f045e2
JJ
2189 PR middle-end/60597
2190 * ira.c (adjust_cleared_regs): Call copy_rtx on
2191 *reg_equiv[REGNO (loc)].src_p before passing it to
2192 simplify_replace_fn_rtx.
2193
d02b6ac7
JJ
2194 PR target/60568
2195 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
2196 into CONST, put pic register as first operand of PLUS. Use
2197 gen_const_mem for both 32-bit and 64-bit PIC got loads.
2198
e2f98c01
RR
21992014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2200
2201 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
2202
7075c792
EB
22032014-03-20 Eric Botcazou <ebotcazou@adacore.com>
2204
2205 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
2206 around for store forwarding issue in the FPU on the UT699.
2207 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
2208 loads and operations if -mfix-ut699 is specified.
2209 (divtf3_hq): Tweak attribute.
2210 (sqrttf2_hq): Likewise.
2211
9ee5337d
EB
22122014-03-20 Eric Botcazou <ebotcazou@adacore.com>
2213
2214 * calls.c (store_one_arg): Remove incorrect const qualification on the
2215 type of the temporary.
2216 * cfgexpand.c (expand_return): Likewise.
2217 * expr.c (expand_constructor): Likewise.
2218 (expand_expr_real_1): Likewise.
2219
a69e09c8
ZC
22202014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
2221
2222 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
2223 of parts.
2224
8659d57b
KK
22252014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
2226
2227 PR target/60039
2228 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
2229
985e0d33
JG
22302014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
2231
2232 * config/arm/aarch-common-protos.h
2233 (alu_cost_table): Fix spelling of "extend".
2234 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
2235
ce2f49b3
RB
22362014-03-19 Richard Biener <rguenther@suse.de>
2237
2238 PR middle-end/60553
2239 * tree-core.h (tree_type_common): Re-order pointer members
2240 to reduce recursion depth during GC walks.
2241
6daa2d91
MP
22422014-03-19 Marek Polacek <polacek@redhat.com>
2243
2244 PR sanitizer/60569
2245 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
2246 before accessing it.
2247
8c9cfbe6
RB
22482014-03-19 Richard Biener <rguenther@suse.de>
2249
2250 PR lto/59543
2251 * lto-streamer-in.c (input_function): In WPA stage do not drop
2252 debug stmts.
2253
3efe2e2c
JJ
22542014-03-19 Jakub Jelinek <jakub@redhat.com>
2255
2256 PR tree-optimization/60559
2257 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
2258 with build_zero_cst assignment.
2259
234f76cb
KT
22602014-03-18 Kai Tietz <ktietz@redhat.com>
2261
2262 PR rtl-optimization/56356
2263 * sdbout.c (sdbout_parms): Verify that parms'
2264 incoming argument is valid.
2265 (sdbout_reg_parms): Likewise.
2266
58ca6edf
RH
22672014-03-18 Richard Henderson <rth@redhat.com>
2268
2269 PR target/60562
2270 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
2271 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 2272 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
2273
22742014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
2275
4bb66ef3 2276 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 2277 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 2278 Italicize plugin event names in description. Explain that
429749e2
UB
2279 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
2280 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 2281 Explain what pragmas with expansion are.
b318e404 2282
eb14a79f
ML
22832014-03-18 Martin Liska <mliska@suse.cz>
2284
2285 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
2286 gimple call statement is update.
2287 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
2288 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
2289
415e2e6b
JJ
22902014-03-18 Jakub Jelinek <jakub@redhat.com>
2291
ead96f13
JJ
2292 PR sanitizer/60557
2293 * ubsan.c (ubsan_instrument_unreachable): Call
2294 initialize_sanitizer_builtins.
2295 (ubsan_pass): Likewise.
2296
415e2e6b
JJ
2297 PR sanitizer/60535
2298 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
2299 varpool_finalize_decl instead of rest_of_decl_compilation.
2300
4ca40f52
RB
23012014-03-18 Richard Biener <rguenther@suse.de>
2302
2303 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
2304 by using bitmap_and_compl instead of bitmap_and_compl_into.
2305 (df_rd_transfer_function): Likewise.
2306
6404e190
RB
23072014-03-18 Richard Biener <rguenther@suse.de>
2308
2309 * doc/lto.texi (fresolution): Fix typo.
2310
b9abf793
RB
23112014-03-18 Richard Biener <rguenther@suse.de>
2312
2313 * doc/invoke.texi (flto): Update for changes in 4.9.
2314
3f00cf18
RB
23152014-03-18 Richard Biener <rguenther@suse.de>
2316
2317 * doc/loop.texi: Remove section on the removed lambda framework.
2318 Update loop docs with recent changes in preserving loop structure.
2319
c2679d84
RB
23202014-03-18 Richard Biener <rguenther@suse.de>
2321
2322 * doc/lto.texi (-fresolution): Document.
2323
c07990cc
RB
23242014-03-18 Richard Biener <rguenther@suse.de>
2325
2326 * doc/contrib.texi: Adjust my name.
2327
ed9c79e1
JJ
23282014-03-18 Jakub Jelinek <jakub@redhat.com>
2329
2330 PR ipa/58721
2331 * internal-fn.c: Include diagnostic-core.h.
2332 (expand_BUILTIN_EXPECT): New function.
2333 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
2334 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
2335 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
2336 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
2337 IFN_BUILTIN_EXPECT.
2338 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
2339 Revert 3 argument __builtin_expect code.
2340 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
2341 * gimple-fold.c (gimple_fold_call): Likewise.
2342 * tree.h (fold_builtin_expect): New prototype.
2343 * builtins.c (build_builtin_expect_predicate): Add predictor
2344 argument, if non-NULL, create 3 argument __builtin_expect.
2345 (fold_builtin_expect): No longer static. Add ARG2 argument,
2346 pass it through to build_builtin_expect_predicate.
2347 (fold_builtin_2): Adjust caller.
2348 (fold_builtin_3): Handle BUILT_IN_EXPECT.
2349 * internal-fn.def (BUILTIN_EXPECT): New.
2350
23512014-03-18 Tobias Burnus <burnus@net-b.de>
2352
2353 PR ipa/58721
2354 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
2355 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
2356 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
2357
23582014-03-18 Jan Hubicka <hubicka@ucw.cz>
2359
2360 PR ipa/58721
2361 * predict.c (combine_predictions_for_bb): Fix up formatting.
2362 (expr_expected_value_1, expr_expected_value): Add predictor argument,
2363 fill what it points to if non-NULL.
2364 (tree_predict_by_opcode): Adjust caller, use the predictor.
2365 * predict.def (PRED_COMPARE_AND_SWAP): Add.
2366
e33da4a1
EB
23672014-03-18 Eric Botcazou <ebotcazou@adacore.com>
2368
2369 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
2370 proper constant for the store mode.
2371
1fed15fc
IE
23722014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
2373
2374 * symtab.c (change_decl_assembler_name): Fix transparent alias
2375 chain construction.
2376
454fdba9
RL
23772014-03-16 Renlin Li <Renlin.Li@arm.com>
2378
2379 * config/aarch64/aarch64.c: Correct the comments about the
2380 aarch64 stack layout.
2381
e2110f8f
TS
23822014-03-18 Thomas Schwinge <thomas@codesourcery.com>
2383
2384 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
2385 check for GF_OMP_FOR_KIND_FOR.
2386
7c831c4d
KY
23872013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
2388
2389 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
2390 ymm and zmm register names.
2391
e318c1e1
JJ
23922014-03-17 Jakub Jelinek <jakub@redhat.com>
2393
2394 PR target/60516
2395 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
2396 note creation for the 2010-08-31 changes.
2397
ab2ffbeb
MP
23982014-03-17 Marek Polacek <polacek@redhat.com>
2399
2400 PR middle-end/60534
2401 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
2402 as -fno-tree-loop-vectorize.
2403 (expand_omp_simd): Likewise.
2404
890fa568
EB
24052014-03-15 Eric Botcazou <ebotcazou@adacore.com>
2406
2407 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
2408 (eligible_for_call_delay): New prototype.
2409 * config/sparc/sparc.c (tls_call_delay): Rename into...
2410 (eligible_for_call_delay): ...this. Return false if the instruction
2411 cannot be put in the delay slot of a branch.
2412 (eligible_for_restore_insn): Simplify.
2413 (eligible_for_return_delay): Return false if the instruction cannot be
2414 put in the delay slot of a branch and simplify.
2415 (eligible_for_sibcall_delay): Return false if the instruction cannot be
2416 put in the delay slot of a branch.
2417 * config/sparc/sparc.md (fix_ut699): New attribute.
2418 (tls_call_delay): Delete.
2419 (in_call_delay): Reimplement.
2420 (eligible_for_sibcall_delay): Rename into...
2421 (in_sibcall_delay): ...this.
2422 (eligible_for_return_delay): Rename into...
2423 (in_return_delay): ...this.
2424 (in_branch_delay): Reimplement.
2425 (in_uncond_branch_delay): Delete.
2426 (in_annul_branch_delay): Delete.
2427
cfce90ac
RH
24282014-03-14 Richard Henderson <rth@redhat.com>
2429
2430 PR target/60525
2431 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
2432 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
2433 (*floathi<X87MODEF>2_i387_with_temp): Remove.
2434 (floathi splitters): Remove.
2435 (float<SWI48x>xf2): New pattern.
2436 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
2437 code that tried to handle DImode for 32-bit, but which was excluded
2438 by the pattern's condition. Drop allocation of stack temporary.
2439 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
2440 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
2441 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
2442 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
2443 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
2444 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
2445 (*float<SWI48><MODEF>2_sse_interunit): Remove.
2446 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
2447 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
2448 (*float<SWI48x><X87MODEF>2_i387): Remove.
2449 (all float _with_temp splitters): Remove.
2450 (*float<SWI48x><MODEF>2_i387): New pattern.
2451 (*float<SWI48><MODEF>2_sse): New pattern.
2452 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
2453 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
2454
91035653
JJ
24552014-03-14 Jakub Jelinek <jakub@redhat.com>
2456 Marek Polacek <polacek@redhat.com>
2457
2458 PR middle-end/60484
2459 * common.opt (dump_base_name_prefixed): New Variable.
2460 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
2461 if x_dump_base_name_prefixed is already set, set it at the end.
2462
95921002
VM
24632014-03-14 Vladimir Makarov <vmakarov@redhat.com>
2464
2465 PR rtl-optimization/60508
2466 * lra-constraints.c (get_reload_reg): Add new parameter
2467 in_subreg_p.
2468 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
2469 Pass the new parameter values.
2470
25e57622
RB
24712014-03-14 Richard Biener <rguenther@suse.de>
2472
2473 * common.opt: Revert unintented changes from r205065.
2474 * opts.c: Likewise.
2475
1f3388fe
RB
24762014-03-14 Richard Biener <rguenther@suse.de>
2477
2478 PR middle-end/60518
2479 * cfghooks.c (split_block): Properly adjust all loops the
2480 block was a latch of.
2481
24822014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
2483
2484 PR lto/60461
2485 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
2486 and simplify it.
2487
2832dc22
GJL
24882014-03-14 Georg-Johann Lay <avr@gjlay.de>
2489
2490 PR target/59396
2491 * config/avr/avr.c (avr_set_current_function): Pass function name
2492 through default_strip_name_encoding before sanity checking instead
2493 of skipping the first char of the assembler name.
2494
3386d77e
RH
24952014-03-13 Richard Henderson <rth@redhat.com>
2496
2497 PR debug/60438
2498 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
2499 (ix86_force_to_memory, ix86_free_from_memory): Remove.
2500 * config/i386/i386-protos.h: Likewise.
2501 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
2502 in the expander instead of a splitter.
2503 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
2504 any possibility of requiring a memory.
2505 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
2506 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
2507 (fp branch splitters): Update for ix86_split_fp_branch.
2508 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
2509 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
2510 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
2511 (*fop_<MODEF>_2_i387): Remove f/r alternative.
2512 (*fop_<MODEF>_3_i387): Likewise.
2513 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
2514 (splitters for the fop_* register patterns): Remove.
2515 (fscalexf4_i387): Rename from *fscalexf4_i387.
2516 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
4bb66ef3 2517
5b5d7f31
JJ
25182014-03-13 Jakub Jelinek <jakub@redhat.com>
2519
2520 PR tree-optimization/59779
2521 * tree-dfa.c (get_ref_base_and_extent): Use double_int
2522 type for bitsize and maxsize instead of HOST_WIDE_INT.
2523
bdc6e1ae
SB
25242014-03-13 Steven Bosscher <steven@gcc.gnu.org>
2525
2526 PR rtl-optimization/57320
2527 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
2528 the CFG after thread_prologue_and_epilogue_insns.
2529
7891065a
VM
25302014-03-13 Vladimir Makarov <vmakarov@redhat.com>
2531
2532 PR rtl-optimization/57189
2533 * lra-constraints.c (process_alt_operands): Disfavor spilling
2534 vector pseudos.
2535
eba14fca
CP
25362014-03-13 Cesar Philippidis <cesar@codesourcery.com>
2537
429749e2 2538 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 2539
f661b085
JJ
25402014-03-13 Jakub Jelinek <jakub@redhat.com>
2541
2542 PR tree-optimization/59025
2543 PR middle-end/60418
2544 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
2545 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
2546
8f3a3138
GJL
25472014-03-13 Georg-Johann Lay <avr@gjlay.de>
2548
2549 PR target/60486
2550 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
2551 calls of avr_out_plus_1.
2552
d731ee04
BC
25532014-03-13 Bin Cheng <bin.cheng@arm.com>
2554
2555 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
2556 BB's single pred and update the father loop's latch info later.
2557
a16a872d
MM
25582014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
2559
2560 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
2561 (VEC_M): Likewise.
2562 (VEC_N): Likewise.
2563 (VEC_R): Likewise.
2564 (VEC_base): Likewise.
2565 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
2566 registers, we need to swap double words in little endian mode.
2567
2568 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
2569 to be a container mode for 128-bit integer operations added in ISA
2570 2.07. Unlike TImode and PTImode, the preferred register set is
2571 the Altivec/VMX registers for the 128-bit operations.
2572
2573 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
2574 declarations.
2575 (rs6000_split_128bit_ok_p): Likewise.
2576
2577 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
2578 macros for creating ISA 2.07 normal and overloaded builtin
2579 functions with 3 arguments.
2580 (BU_P8V_OVERLOAD_3): Likewise.
2581 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
2582 for use as overloaded functions.
2583 (VPERM_1TI_UNS): Likewise.
2584 (VSEL_1TI): Likewise.
2585 (VSEL_1TI_UNS): Likewise.
2586 (ST_INTERNAL_1ti): Likewise.
2587 (LD_INTERNAL_1ti): Likewise.
2588 (XXSEL_1TI): Likewise.
2589 (XXSEL_1TI_UNS): Likewise.
2590 (VPERM_1TI): Likewise.
2591 (VPERM_1TI_UNS): Likewise.
2592 (XXPERMDI_1TI): Likewise.
2593 (SET_1TI): Likewise.
2594 (LXVD2X_V1TI): Likewise.
2595 (STXVD2X_V1TI): Likewise.
2596 (VEC_INIT_V1TI): Likewise.
2597 (VEC_SET_V1TI): Likewise.
2598 (VEC_EXT_V1TI): Likewise.
2599 (EQV_V1TI): Likewise.
2600 (NAND_V1TI): Likewise.
2601 (ORC_V1TI): Likewise.
2602 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
2603 added in ISA 2.07. Add both normal 'altivec' builtins, and the
2604 overloaded builtin.
2605 (VADDUQM): Likewise.
2606 (VSUBCUQ): Likewise.
2607 (VADDEUQM): Likewise.
2608 (VADDECUQ): Likewise.
2609 (VSUBEUQM): Likewise.
2610 (VSUBECUQ): Likewise.
2611
2612 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
2613 __int128_t and __uint128_t types.
2614 (__uint128_type): Likewise.
2615 (altivec_categorize_keyword): Add support for vector __int128_t,
2616 vector __uint128_t, vector __int128, and vector unsigned __int128
2617 as a container type for TImode operations that need to be done in
2618 VSX/Altivec registers.
2619 (rs6000_macro_to_expand): Likewise.
2620 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
2621 to support 128-bit integer instructions vaddcuq, vadduqm,
2622 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
2623 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
2624
2625 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
2626 for V1TImode, and set up preferences to use VSX/Altivec registers.
2627 Setup VSX reload handlers.
a16a872d
MM
2628 (rs6000_debug_reg_global): Likewise.
2629 (rs6000_init_hard_regno_mode_ok): Likewise.
2630 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 2631 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
2632 (easy_altivec_constant): Likewise.
2633 (output_vec_const_move): Likewise.
2634 (rs6000_expand_vector_set): Convert V1TImode set and extract to
2635 simple move.
2636 (rs6000_expand_vector_extract): Likewise.
2637 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
2638 addressing.
2639 (rs6000_const_vec): Add support for V1TImode.
2640 (rs6000_emit_le_vsx_load): Swap double words when loading or
2641 storing TImode/V1TImode.
2642 (rs6000_emit_le_vsx_store): Likewise.
2643 (rs6000_emit_le_vsx_move): Likewise.
2644 (rs6000_emit_move): Add support for V1TImode.
2645 (altivec_expand_ld_builtin): Likewise.
2646 (altivec_expand_st_builtin): Likewise.
2647 (altivec_expand_vec_init_builtin): Likewise.
2648 (altivec_expand_builtin): Likewise.
2649 (rs6000_init_builtins): Add support for V1TImode type. Add
2650 support for ISA 2.07 128-bit integer builtins. Define type names
2651 for the VSX/Altivec vector types.
2652 (altivec_init_builtins): Add support for overloaded vector
2653 functions with V1TImode type.
0bb29a05 2654 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
2655 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
2656 external function.
2657 (rs6000_split_128bit_ok_p): Likewise.
2658 (rs6000_handle_altivec_attribute): Create V1TImode from vector
2659 __int128_t and vector __uint128_t.
2660
2661 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
2662 and mode attributes.
2663 (VSX_M): Likewise.
2664 (VSX_M2): Likewise.
2665 (VSm): Likewise.
2666 (VSs): Likewise.
2667 (VSr): Likewise.
2668 (VSv): Likewise.
2669 (VS_scalar): Likewise.
2670 (VS_double): Likewise.
0bb29a05 2671 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 2672
0bb29a05
UB
2673 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
2674 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
2675 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
2676 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
2677 and TImode types for use with the builtin functions.
2678 (V1TI_type_node): Likewise.
2679 (unsigned_V1TI_type_node): Likewise.
2680 (intTI_type_internal_node): Likewise.
2681 (uintTI_type_internal_node): Likewise.
2682
0bb29a05
UB
2683 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
2684 128-bit builtin functions.
a16a872d
MM
2685 (UNSPEC_VADDEUQM): Likewise.
2686 (UNSPEC_VADDECUQ): Likewise.
2687 (UNSPEC_VSUBCUQ): Likewise.
2688 (UNSPEC_VSUBEUQM): Likewise.
2689 (UNSPEC_VSUBECUQ): Likewise.
2690 (VM): Add V1TImode to vector mode iterators.
2691 (VM2): Likewise.
2692 (VI_unit): Likewise.
2693 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
2694 (altivec_vaddcuq): Likewise.
2695 (altivec_vsubuqm): Likewise.
2696 (altivec_vsubcuq): Likewise.
2697 (altivec_vaddeuqm): Likewise.
2698 (altivec_vaddecuq): Likewise.
2699 (altivec_vsubeuqm): Likewise.
2700 (altivec_vsubecuq): Likewise.
2701
2702 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
2703 mode iterators.
2704 (BOOL_128): Likewise.
2705 (BOOL_REGS_OUTPUT): Likewise.
2706 (BOOL_REGS_OP1): Likewise.
2707 (BOOL_REGS_OP2): Likewise.
2708 (BOOL_REGS_UNARY): Likewise.
2709 (BOOL_REGS_AND_CR0): Likewise.
2710
2711 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
2712 128-bit integer builtin support.
2713 (vec_vadduqm): Likewise.
2714 (vec_vaddecuq): Likewise.
2715 (vec_vaddeuqm): Likewise.
2716 (vec_vsubecuq): Likewise.
2717 (vec_vsubeuqm): Likewise.
2718 (vec_vsubcuq): Likewise.
2719 (vec_vsubuqm): Likewise.
2720
2721 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
2722 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
2723 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
2724 128-bit integer add/subtract to ISA 2.07.
2725
eeac7d15
JR
27262014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
2727
2728 * config/arc/arc.c (arc_predicate_delay_insns):
2729 Fix third argument passed to conditionalize_nonjump.
2730
bf0f324e
YZ
27312014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
2732
2733 * config/aarch64/aarch64-builtins.c
2734 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
2735 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
2736 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
2737 instead of __builtin_lfloor.
2738 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
2739
bf4787b2
JJ
27402014-03-12 Jakub Jelinek <jakub@redhat.com>
2741
2742 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
2743 (tree_ssa_ifcombine_bb_1): New function.
2744 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
2745 is an empty forwarder block to then_bb or vice versa and then_bb
2746 and else_bb are effectively swapped.
2747
7d55b948
CB
27482014-03-12 Christian Bruel <christian.bruel@st.com>
2749
2750 PR target/60264
0bb29a05
UB
2751 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
2752 REG_CFA_DEF_CFA note.
7d55b948
CB
2753 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
2754 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
2755
882a5fbe
TP
27562014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
2757
2758 PR tree-optimization/60454
2759 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
2760
a3cd0246
KT
27612014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2762
2763 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
2764 Do not define target_cpu_default2 to generic.
2765 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
2766 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
2767 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
2768
c888139c
JJ
27692014-03-12 Jakub Jelinek <jakub@redhat.com>
2770 Marc Glisse <marc.glisse@inria.fr>
2771
2772 PR tree-optimization/60502
2773 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
2774 instead of build_low_bits_mask.
2775
b24ca895
JJ
27762014-03-12 Jakub Jelinek <jakub@redhat.com>
2777
2778 PR middle-end/60482
2779 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
2780 if there are multiple uses, but op doesn't live on E edge.
2781 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
2782 clobber stmts before __builtin_unreachable.
2783
f1257268
RS
27842014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
2785
2786 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
2787 hard_frame_pointer_rtx.
2788 * cse.c (cse_insn): Remove volatile check.
2789 * cselib.c (cselib_process_insn): Likewise.
2790 * dse.c (scan_insn): Likewise.
2791
bae56bbb
JR
27922014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
2793
0bb29a05
UB
2794 * config/arc/arc.c (conditionalize_nonjump): New function,
2795 broken out of ...
2796 (arc_ifcvt): ... this.
bae56bbb
JR
2797 (arc_predicate_delay_insns): Use it.
2798
167ba5b9
JR
27992014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
2800
2801 * config/arc/predicates.md (extend_operand): During/after reload,
2802 allow const_int_operand.
2803 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
2804 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
2805 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
2806 to "i".
2807 (umulsi3_highpart_i): Likewise.
2808
dfd7d2d6
RB
28092014-03-11 Richard Biener <rguenther@suse.de>
2810
2811 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
2812 Add asserts to guard possible wrong-code bugs.
2813
af1ab449
RB
28142014-03-11 Richard Biener <rguenther@suse.de>
2815
2816 PR tree-optimization/60429
2817 PR tree-optimization/60485
2818 * tree-ssa-structalias.c (set_union_with_increment): Properly
2819 take into account all fields that overlap the shifted vars.
2820 (do_sd_constraint): Likewise.
2821 (do_ds_constraint): Likewise.
2822 (get_constraint_for_ptr_offset): Likewise.
2823
747425d0
CLT
28242014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
2825
2826 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
2827 (nios2_compute_frame_layout):
2828 Add calculation of cfun->machine->fp_save_offset.
2829 (nios2_expand_prologue): Correct setting of frame pointer register
2830 in prologue.
2831 (nios2_expand_epilogue): Update recovery of stack pointer from
2832 frame pointer accordingly.
2833 (nios2_initial_elimination_offset): Update calculation of offset
2834 for eliminating to HARD_FRAME_POINTER_REGNUM.
2835
31dad809
JJ
28362014-03-10 Jakub Jelinek <jakub@redhat.com>
2837
2838 PR ipa/60457
2839 * ipa.c (symtab_remove_unreachable_nodes): Don't call
2840 cgraph_get_create_node on VAR_DECLs.
2841
3c1c08d6
RB
28422014-03-10 Richard Biener <rguenther@suse.de>
2843
2844 PR middle-end/60474
2845 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
2846
21d89690
DR
28472014-03-08 Douglas B Rupp <rupp@gnat.com>
2848
2849 * config/vms/vms.opt (vms_float_format): New variable.
2850
634b8e9b
TB
28512014-03-08 Tobias Burnus <burnus@net-b.de>
2852
0bb29a05 2853 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 2854
f42c637e
PM
28552014-03-08 Paulo Matos <paulo@matos-sorge.com>
2856 Richard Biener <rguenther@suse.de>
2857
2858 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
2859 consistently accross all TUs.
2860 (run_gcc): Enable -fshort-double automatically at link at link-time
2861 and disallow override.
2862
bd65fc87
RS
28632014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
2864
2865 PR target/58271
2866 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
2867 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
2868 if they can't be used.
2869
040c446d
RO
28702014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2871
0bb29a05
UB
2872 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
2873 for Solaris 11/x86 ld.
040c446d
RO
2874 * configure: Regenerate.
2875
caa16d41
RO
28762014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2877
2878 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
2879 (LIB_TLS_SPEC): Save as ld_tls_libs.
2880 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
2881 (HAVE_AS_IX86_TLSLDM): New test.
2882 * configure, config.in: Regenerate.
2883 * config/i386/i386.c (legitimize_tls_address): Fall back to
2884 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
2885 cannot support TLS_MODEL_LOCAL_DYNAMIC.
2886 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
2887 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
2888
f3d83ffe
PM
28892014-03-07 Paulo Matos <paulo@matos-sorge.com>
2890
2891 * common.opt (fira-loop-pressure): Mark as optimization.
2892
b17a8b07
TS
28932014-03-07 Thomas Schwinge <thomas@codesourcery.com>
2894
2895 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
2896 an OpenMP mappable type.
2897
4973b0f9
MK
28982014-03-06 Matthias Klose <doko@ubuntu.com>
2899
2900 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
2901 MULTILIB_OSDIRNAMES is not defined.
2902
ab19cc6c
JJ
29032014-03-06 Jakub Jelinek <jakub@redhat.com>
2904 Meador Inge <meadori@codesourcery.com>
2905
2906 PR target/58595
2907 * config/arm/arm.c (arm_tls_symbol_p): Remove.
2908 (arm_legitimize_address): Call legitimize_tls_address for any
2909 arm_tls_referenced_p expression, handle constant addend. Call it
2910 before testing for !TARGET_ARM.
2911 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
2912
a74158c7
RB
29132014-03-06 Richard Biener <rguenther@suse.de>
2914
2915 PR middle-end/60445
2916 PR lto/60424
2917 PR lto/60427
2918 Revert
2919 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
2920
0bb29a05
UB
2921 * tree-streamer.c (record_common_node): Assert we don't record
2922 nodes with type double.
2923 (preload_common_node): Skip type double, complex double and double
2924 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 2925
f3ba16d0
RB
29262014-03-06 Richard Biener <rguenther@suse.de>
2927
2928 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
2929 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
2930 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
2931 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
2932 * lto-wrapper.c (merge_and_complain): Merge compile-time
2933 optimization levels.
2934 (run_gcc): And pass it through to the link options.
2935
4bb66ef3 29362014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
2937
2938 PR debug/60381
2939 Revert:
4bb66ef3 2940 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
2941 PR debug/59992
2942 * cselib.c (remove_useless_values): Skip to avoid quadratic
2943 behavior if the condition moved from...
2944 (cselib_process_insn): ... here holds.
2945
a05cca9b
JJ
29462014-03-05 Jakub Jelinek <jakub@redhat.com>
2947
487125e7
JJ
2948 PR plugins/59335
2949 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
2950 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
2951
a05cca9b
JJ
2952 PR plugins/59335
2953 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
2954 (TM_H): Add x86-tune.def.
2955
4e2cd668
KT
29562014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2957
2958 * config/aarch64/aarch64.c (generic_tunings):
2959 Use cortexa57_extra_costs.
2960
5525ed38
JJ
29612014-03-05 Jakub Jelinek <jakub@redhat.com>
2962
2963 PR lto/60404
2964 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
2965 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
2966 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
2967 cost for in_lto_p.
2968
0c72fa78
H
29692014-03-04 Heiher <r@hev.cc>
2970
2971 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
2972 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
2973
66b03f81
UB
29742014-03-04 Uros Bizjak <ubizjak@gmail.com>
2975
2976 * config/i386/predicates.md (const2356_operand): Change to ...
2977 (const2367_operand): ... this.
2978 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
2979 const2367_operand.
2980 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
2981 (*avx512pf_scatterpf<mode>sf): Ditto.
2982 (avx512pf_scatterpf<mode>df): Ditto.
2983 (*avx512pf_scatterpf<mode>df_mask): Ditto.
2984 (*avx512pf_scatterpf<mode>df): Ditto.
2985 * config/i386/i386.c (ix86_expand_builtin): Update
2986 incorrect hint operand error message.
2987
3c24e842
RB
29882014-03-04 Richard Biener <rguenther@suse.de>
2989
2990 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 2991
3740bda6
PM
29922014-03-04 Paulo Matos <paulo@matos-sorge.com>
2993
0bb29a05
UB
2994 * tree-streamer.c (record_common_node): Assert we don't record
2995 nodes with type double.
2996 (preload_common_node): Skip type double, complex double and double
2997 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 2998
91856735
RB
29992014-03-04 Richard Biener <rguenther@suse.de>
3000
3001 PR lto/60405
66b03f81 3002 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
3003 (lto_input_toplevel_asms): Likewise.
3004 * lto-section-in.c (lto_get_section_data): Instead do it here
3005 for every section.
66b03f81 3006
b75f28e1
RB
30072014-03-04 Richard Biener <rguenther@suse.de>
3008
3009 PR tree-optimization/60382
3010 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
3011 dead PHIs a reduction.
3012
dd96e83a
UB
30132014-03-03 Uros Bizjak <ubizjak@gmail.com>
3014
3015 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
3016 hint value.
3017 (_mm_prefetch): Move out of GCC target("sse") pragma.
3018 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
3019 GCC target("prfchw") pragma.
3020 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
3021 for locality <= 2.
3022 * config/i386/i386.c (ix86_option_override_internal): Enable
3023 -mprfchw with -mprefetchwt1.
3024
220c1a51
JR
30252014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
3026
3027 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
3028 Mark as varying.
3029
212bfe71
JR
30302014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
3031
3032 * opts.h (CL_PCH_IGNORE): Define.
3033 * targhooks.c (option_affects_pch_p):
3034 Return false for options that have CL_PCH_IGNORE set.
3035 * opt-functions.awk: Process PchIgnore.
3036 * doc/options.texi: Document PchIgnore.
3037
7a3d0a39
JR
3038 * config/arc/arc.opt (misize): Add PchIgnore property.
3039
b46ed885
BS
30402014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3041
3042 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
3043 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
3044 constraint on constants to permit them being loaded into
3045 GENERAL_REGS or BASE_REGS.
3046
c6f709ec
NC
30472014-03-03 Nick Clifton <nickc@redhat.com>
3048
3049 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
3050 anti-cacnonical alternatives.
3051 (negandhi3_real): New pattern.
3052 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
3053
5752f78f
SKS
30542014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3055
3056 * config/avr/avr-mcus.def: Remove atxmega16x1.
3057 * config/avr/avr-tables.opt: Regenerate.
3058 * config/avr/t-multilib: Regenerate.
3059 * doc/avr-mmcu.texi: Regenerate.
3060
0afe7332 30612014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 3062 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
3063
3064 PR tree-optimization/58028
3065 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
3066 scalar dimensions.
3067
3416dd87
RR
30682014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3069
3070 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
3071 not handled by recognizers.
3072
79c7fda6
JJ
30732014-03-03 Jakub Jelinek <jakub@redhat.com>
3074
3075 PR middle-end/60175
3076 * function.c (expand_function_end): Don't emit
3077 clobber_return_register sequence if clobber_after is a BARRIER.
3078 * cfgexpand.c (construct_exit_block): Append instructions before
3079 return_label to prev_bb.
3080
715a5c85
BS
30812014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3082
3083 * config/rs6000/constraints.md: Document reserved use of "wc".
3084
9ffbf271
JH
30852014-03-02 Jan Hubicka <hubicka@ucw.cz>
3086
3087 PR ipa/60150
3088 * ipa.c (function_and_variable_visibility): When dissolving comdat
3089 group, also set all symbols to local.
3090
993df21e 30912014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 3092
993df21e
JH
3093 PR ipa/60306
3094
3095 Revert:
3096 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
3097 PR middle-end/58477
3098 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 3099
9b0af790
JB
31002014-03-02 Jon Beniston <jon@beniston.com>
3101
3102 PR bootstrap/48230
3103 PR bootstrap/50927
3104 PR bootstrap/52466
3105 PR target/46898
3106 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 3107 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 3108 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 3109 (simple_return, *simple_return): New patterns
9b0af790
JB
3110 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
3111 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
3112
c582aac9
PC
31132014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
3114
3115 * dwarf2out.c (gen_subprogram_die): Tidy.
3116
19305875
OE
31172014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
3118
3119 PR target/60071
3120 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
3121 (*mov_t_msb_neg_negc): ... this new insn.
3122
570215f9
JM
31232014-02-28 Jason Merrill <jason@redhat.com>
3124
3125 PR c++/58678
3126 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
3127 function.
3128
c5b001b5
PC
31292014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
3130
3131 PR c++/60314
3132 * dwarf2out.c (decltype_auto_die): New static.
3133 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
3134 (gen_type_die_with_usage): Handle 'decltype(auto)'.
3135 (is_cxx_auto): Likewise.
3136
5750e120
IB
31372014-02-28 Ian Bolton <ian.bolton@arm.com>
3138
3139 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
3140 we are not using general regs only.
3141
fba7c564
RB
31422014-02-28 Richard Biener <rguenther@suse.de>
3143
3144 PR target/60280
3145 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
3146 previous fix and only allow to remove trivial pre-headers
3147 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 3148 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 3149
4bb66ef3 31502014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
3151
3152 PR debug/59992
3153 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
3154 (cselib_preserved_hash_table): New.
3155 (preserve_constants_and_equivs): Move preserved vals to it.
3156 (cselib_find_slot): Look it up first.
3157 (cselib_init): Initialize it.
3158 (cselib_finish): Release it.
3159 (dump_cselib_table): Dump it.
3160
4bb66ef3 31612014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
3162
3163 PR debug/59992
3164 * cselib.c (remove_useless_values): Skip to avoid quadratic
3165 behavior if the condition moved from...
3166 (cselib_process_insn): ... here holds.
3167
4bb66ef3 31682014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
3169
3170 PR debug/57232
3171 * var-tracking.c (vt_initialize): Apply the same condition to
3172 preserve the CFA base value.
3173
9910c53c
JY
31742014-02-28 Joey Ye <joey.ye@arm.com>
3175
3176 PR target/PR60169
3177 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
3178 if reload in progress or completed.
3179
ef271341
TB
31802014-02-28 Tobias Burnus <burnus@net-b.de>
3181
3182 PR middle-end/60147
3183 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
3184 NAMELIST_DECL.
3185
c4f6267b
L
31862014-02-27 H.J. Lu <hongjiu.lu@intel.com>
3187
3188 * doc/tm.texi.in (Condition Code Status): Update documention for
3189 relative locations of cc0-setter and cc0-user.
3190
7a76df7f
JL
31912014-02-27 Jeff Law <law@redhat.com>
3192
3193 PR rtl-optimization/52714
3194 * combine.c (try_combine): When splitting an unrecognized PARALLEL
3195 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 3196 pattern we place into I3 is a (set (pc) ...).
7a76df7f 3197
728acca0
MP
31982014-02-27 Mikael Pettersson <mikpe@it.uu.se>
3199 Jeff Law <law@redhat.com>
3200
3201 PR rtl-optimization/49847
3202 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
3203 are in different blocks.
3204 * doc/tm.texi (Condition Code Status): Update documention for
3205 relative locations of cc0-setter and cc0-user.
3206
93aaa05d
VM
32072014-02-27 Vladimir Makarov <vmakarov@redhat.com>
3208
3209 PR target/59222
3210 * lra.c (lra_emit_add): Check SUBREG too.
3211
1ee6eb01
AS
32122014-02-27 Andreas Schwab <schwab@suse.de>
3213
3214 * config/m68k/m68k.c (m68k_option_override): Disable
3215 -flive-range-shrinkage for classic m68k.
3216 (m68k_override_options_after_change): Likewise.
3217
bb0d8e84
MP
32182014-02-27 Marek Polacek <polacek@redhat.com>
3219
3220 PR middle-end/59223
3221 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
3222 -Wmaybe-uninitialized.
3223
3157b879
AM
32242014-02-27 Alan Modra <amodra@gmail.com>
3225
3e17cad2 3226 PR target/57936
3157b879
AM
3227 * reload1.c (emit_input_reload_insns): When reload_override_in,
3228 set old to rl->in_reg when rl->in_reg is a subreg.
3229
bb750f4f
RB
32302014-02-26 Richard Biener <rguenther@suse.de>
3231
3232 PR bootstrap/60343
3233 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
3234
22c8aab3
IT
32352014-02-25 Ilya Tocar <ilya.tocar@intel.com>
3236
3237 * common/config/i386/predicates.md (const1256_operand): Remove.
3238 (const2356_operand): New.
3239 (const_1_to_2_operand): Remove.
3240 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
3241 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
3242 (*avx512pf_gatherpf<mode>sf): Ditto.
3243 (avx512pf_gatherpf<mode>df): Ditto.
3244 (*avx512pf_gatherpf<mode>df_mask): Ditto.
3245 (*avx512pf_gatherpf<mode>df): Ditto.
3246 (avx512pf_scatterpf<mode>sf): Ditto.
3247 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
3248 (*avx512pf_scatterpf<mode>sf): Ditto.
3249 (avx512pf_scatterpf<mode>df): Ditto.
3250 (*avx512pf_scatterpf<mode>df_mask): Ditto.
3251 (*avx512pf_scatterpf<mode>df): Ditto.
3252 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
3253
260d3642
IT
32542014-02-26 Ilya Tocar <ilya.tocar@intel.com>
3255
3256 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
3257 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
3258 (_mm512_mask_testn_epi64_mask): Move to ...
3259 * config/i386/avx512cdintrin.h: Here.
3260 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
3261 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
3262 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
3263 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
3264 TARGET_AVX512F from TARGET_AVX512CD.
3265
477145c8
RB
32662014-02-26 Richard Biener <rguenther@suse.de>
3267
3268 PR ipa/60327
3269 * ipa.c (walk_polymorphic_call_targets): Properly guard
3270 call to inline_update_overall_summary.
3271
a3afdbb8
BC
32722014-02-26 Bin Cheng <bin.cheng@arm.com>
3273
3274 PR target/60280
84d7e312
UB
3275 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
3276 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
3277 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
3278 LOOPS_HAVE_PREHEADERS.
3279
b8a542c6
AP
32802014-02-25 Andrew Pinski <apinski@cavium.com>
3281
3282 * builtins.c (expand_builtin_thread_pointer): Create a new target
3283 when the target is NULL.
3284
88def637
VM
32852014-02-25 Vladimir Makarov <vmakarov@redhat.com>
3286
3287 PR rtl-optimization/60317
3288 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
3289 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
3290 * lra-assigns.c: Include params.h.
3291 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
3292 other reload pseudos considerations.
3293
68908a06
BS
32942014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3295
cf36d2cc
WS
3296 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
3297 to use canonical form for nor<mode>3.
68908a06 3298
db57bbc9
KT
32992014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3300
3301 PR target/55426
3302 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
3303 conversions.
3304
43b3f52f
IT
33052014-02-25 Ilya Tocar <ilya.tocar@intel.com>
3306
3307 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
3308 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
3309 (ix86_handle_option): Handle OPT_mprefetchwt1.
3310 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
3311 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
3312 PREFETCHWT1 CPUID.
3313 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
3314 OPTION_MASK_ISA_PREFETCHWT1.
3315 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
3316 (PTA_PREFETCHWT1): New.
3317 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
3318 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 3319 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
3320 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
3321 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 3322 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
3323 * config/i386/i386.opt (mprefetchwt1): New.
3324 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
3325 (_mm_prefetch): Handle intent to write.
3326 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
3327
84053e02
RB
33282014-02-25 Richard Biener <rguenther@suse.de>
3329
3330 PR middle-end/60291
3331 * emit-rtl.c (mem_attrs_htab): Remove.
3332 (mem_attrs_htab_hash): Likewise.
3333 (mem_attrs_htab_eq): Likewise.
84d7e312 3334 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
3335 (init_emit_once): Do not allocate mem_attrs_htab.
3336
4094757e
RB
33372014-02-25 Richard Biener <rguenther@suse.de>
3338
3339 PR lto/60319
3340 * lto-opts.c (lto_write_options): Output non-explicit conservative
3341 -fwrapv, -fno-trapv and -fno-strict-overflow.
3342 * lto-wrapper.c (merge_and_complain): Handle merging those options.
3343 (run_gcc): And pass them through.
3344
41b2d514 33452014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 3346
41b2d514
AB
3347 * sel-sched.c (calculate_new_fences): New parameter ptime.
3348 Calculate it as a maximum over all fence cycles.
3349 (sel_sched_region_2): Adjust the call to calculate_new_fences.
3350 Print the final schedule timing when sched_verbose.
3351
c1c99405
AB
33522014-02-25 Andrey Belevantsev <abel@ispras.ru>
3353
3354 PR rtl-optimization/60292
3355 * sel-sched.c (fill_vec_av_set): Do not reset target availability
3356 bit fot the fence instruction.
3357
1d9def42
AD
33582014-02-24 Alangi Derick <alangiderick@gmail.com>
3359
3360 * calls.h: Fix typo in comment.
3361
325fefe0
JDA
33622014-02-24 John David Anglin <danglin@gcc.gnu.org>
3363
3364 * config/pa/pa.c (pa_output_move_double): Don't valididate when
3365 adjusting offsetable addresses.
3366
ad43b47a
GW
33672014-02-24 Guozhi Wei <carrot@google.com>
3368
3369 * sparseset.h (sparseset_pop): Fix the wrong index.
3370
341c653c
WL
33712014-02-24 Walter Lee <walt@tilera.com>
3372
3373 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
3374 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
3375 triplet.
3376 * common/config/tilegx/tilegx-common.c
3377 (TARGET_DEFAULT_TARGET_FLAGS): Define.
3378 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
3379 (LINK_SPEC): Ditto.
3380 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
3381 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
3382 (tilegx_gimplify_va_arg_expr): Handle big endian.
3383 (tilegx_expand_unaligned_load): Ditto.
3384 (tilegx_expand_unaligned_store): Ditto.
3385 (TARGET_RETURN_IN_MSB): New.
3386 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
3387 (TARGET_ENDIAN_DEFAULT): New.
3388 (TARGET_BIG_ENDIAN): Handle big endian.
3389 (BYTES_BIG_ENDIAN): Ditto.
3390 (WORDS_BIG_ENDIAN): Ditto.
3391 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
3392 (ENDIAN_SPEC): New.
3393 (EXTRA_SPECS): New.
3394 * config/tilegx/tilegx.md (extv): Handle big endian.
3395 (extzv): Ditto.
3396 (insn_st<n>): Ditto.
3397 (insn_st<n>_add<bitsuffix>): Ditto.
3398 (insn_stnt<n>): Ditto.
3399 (insn_stnt<n>_add<bitsuffix>):Ditto.
3400 (vec_interleave_highv8qi): Handle big endian.
3401 (vec_interleave_highv8qi_be): New.
3402 (vec_interleave_highv8qi_le): New.
3403 (insn_v1int_h): Handle big endian.
3404 (vec_interleave_lowv8qi): Handle big endian.
3405 (vec_interleave_lowv8qi_be): New.
3406 (vec_interleave_lowv8qi_le): New.
3407 (insn_v1int_l): Handle big endian.
3408 (vec_interleave_highv4hi): Handle big endian.
3409 (vec_interleave_highv4hi_be): New.
3410 (vec_interleave_highv4hi_le): New.
3411 (insn_v2int_h): Handle big endian.
3412 (vec_interleave_lowv4hi): Handle big endian.
3413 (vec_interleave_lowv4hi_be): New.
3414 (vec_interleave_lowv4hi_le): New.
3415 (insn_v2int_l): Handle big endian.
3416 (vec_interleave_highv2si): Handle big endian.
3417 (vec_interleave_highv2si_be): New.
3418 (vec_interleave_highv2si_le): New.
3419 (insn_v4int_h): Handle big endian.
3420 (vec_interleave_lowv2si): Handle big endian.
3421 (vec_interleave_lowv2si_be): New.
3422 (vec_interleave_lowv2si_le): New.
3423 (insn_v4int_l): Handle big endian.
3424 * config/tilegx/tilegx.opt (mbig-endian): New option.
3425 (mlittle-endian): New option.
3426 * doc/install.texi: Document tilegxbe-linux.
3427 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
3428
f3fec19f
MJ
34292014-02-24 Martin Jambor <mjambor@suse.cz>
3430
3431 PR ipa/60266
3432 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
3433 there are no parameter descriptors.
3434
9039622a
AB
34352014-02-24 Andrey Belevantsev <abel@ispras.ru>
3436
3437 PR rtl-optimization/60268
3438 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
3439 initialization to ...
3440 (sched_rgn_init): ... here.
3441 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
3442
4bb66ef3 34432014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 3444
9039622a
AB
3445 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
3446 names.
e7e7bc4b 3447
4bb66ef3 34482014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
3449
3450 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
3451 definition.
3452
4bb66ef3 34532014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 3454
84d7e312
UB
3455 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
3456 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 3457
4bb66ef3 34582014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
3459
3460 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 3461 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 3462 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 3463 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
3464 to microblaze_expand_conditional_branch and consolidate logic.
3465 (microblaze_expand_conditional_branch): emit branch_compare
3466 insn instead of handling cmp op separate from branch insn.
3467
34c25d23
BS
34682014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3469
3470 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
3471 to permit subregs.
3472
a6eecdc1
BS
34732014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3474
d5a19af1
DH
3475 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
3476 define_insn with define_expand and new define_insn
3477 *altivec_lve<VI_char>x_internal.
3478 (altivec_stve<VI_char>x): Replace define_insn with define_expand
3479 and new define_insn *altivec_stve<VI_char>x_internal.
3480 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
3481 prototype.
3482 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
3483 lve*x built-ins.
3484 (altivec_expand_stvex_be): New function.
a6eecdc1 3485
8aa7d1fc
JR
34862014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
3487
3488 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 3489 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
3490 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
3491 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
3492
a810ee82
VM
34932014-02-21 Vladimir Makarov <vmakarov@redhat.com>
3494
3495 PR target/60298
3496 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
3497 instead of emit_move_insn.
3498
b90ab1ba
BS
34992014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3500
3501 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
3502 vspltw with vsldoi.
3503 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
3504 gen_altivec_vsumsws.
3505
1af73690
WS
35062014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3507
3508 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 3509 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
3510 (altivec_lvxl_<mode>): New define_expand incorporating
3511 -maltivec=be semantics where needed.
3512 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
3513 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
3514 semantics where needed.
3515 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
3516 (altivec_stvx_<mode>): New define_expand incorporating
3517 -maltivec=be semantics where needed.
3518 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
3519 VM2 iterator instead of V4SI.
3520 (altivec_stvxl_<mode>): New define_expand incorporating
3521 -maltivec=be semantics where needed.
3522 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
3523 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
3524 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
3525 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
3526 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
3527 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
3528 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
3529 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
3530 ALTIVEC_BUILTIN_STVXL.
84d7e312 3531 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
3532 (altivec_expand_stvx_be): Likewise.
3533 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
3534 (altivec_expand_lvx_be): Likewise.
3535 (altivec_expand_stvx_be): Likewise.
3536 (altivec_expand_builtin): Add cases for
3537 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
3538 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
3539 (altivec_init_builtins): Add definitions for
3540 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 3541 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 3542
0a39d07b
CM
35432014-02-21 Catherine Moore <clm@codesourcery.com>
3544
3545 * doc/invoke.texi (mvirt, mno-virt): Document.
3546 * config/mips/mips.opt (mvirt): New option.
3547 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
3548
f2556b68
RB
35492014-02-21 Richard Biener <rguenther@suse.de>
3550
3551 PR tree-optimization/60276
3552 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
3553 (STMT_VINFO_MIN_NEG_DIST): New macro.
3554 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
3555 STMT_VINFO_MIN_NEG_DIST.
3556 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
3557 made for negative dependence distances still hold.
3558
32417082
RB
35592014-02-21 Richard Biener <rguenther@suse.de>
3560
3561 PR middle-end/60291
3562 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
3563 DECL_INITIAL for globals not in the current function context.
3564
92261ce0
JJ
35652014-02-21 Jakub Jelinek <jakub@redhat.com>
3566
3567 PR tree-optimization/56490
3568 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
3569 * tree-ssa-uninit.c: Include params.h.
3570 (compute_control_dep_chain): Add num_calls argument, return false
3571 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
3572 num_calls to recursive call.
3573 (find_predicates): Change dep_chain into normal array,
3574 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
3575 variable and adjust compute_control_dep_chain caller.
3576 (find_def_preds): Likewise.
3577
aa6ef874
TS
35782014-02-21 Thomas Schwinge <thomas@codesourcery.com>
3579
3580 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
3581 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
3582
4b156fd0
NC
35832014-02-21 Nick Clifton <nickc@redhat.com>
3584
3585 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
3586 (pushhi1): Likewise.
3587 (popqi1): Add mode to pre_dec.
3588 (pophi1): Likewise.
3589
dffd569e
JJ
35902014-02-21 Jakub Jelinek <jakub@redhat.com>
3591
3592 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
3593 mode for mask of V8SFmode permutation.
3594
2fdc29e8
RH
35952014-02-20 Richard Henderson <rth@redhat.com>
3596
3597 PR c++/60272
3598 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
3599 a new pseudo for OLDVAL.
3600
aa637f66
JJ
36012014-02-20 Jakub Jelinek <jakub@redhat.com>
3602
3603 PR target/57896
3604 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
3605 gen_reg_rtx if d->testing_p.
3606 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
3607 if d->testing_p and we will certainly return true.
3608 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
3609 if d->testing_p.
3610
004a7e45
UB
36112014-02-20 Uros Bizjak <ubizjak@gmail.com>
3612
3613 * emit-rtl.c (gen_reg_rtx): Assert that
3614 crtl->emit.regno_pointer_align_length is non-zero.
3615
36162014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
3617
3618 PR c++/60272
3619 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
3620 on failure the store back into EXPECT.
3621
95ce7613
CLT
36222014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
3623 Sandra Loosemore <sandra@codesourcery.com>
3624
3625 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
3626 * config/nios2/nios2.c (nios2_function_profiler): Add
3627 -fPIC (flag_pic == 2) support.
95ce7613
CLT
3628 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
3629 (nios2_large_offset_p): New function.
3630 (nios2_unspec_reloc_p): Move up position, update to use
3631 nios2_large_offset_p.
3632 (nios2_unspec_address): Remove function.
3633 (nios2_unspec_offset): New function.
3634 (nios2_large_got_address): New function.
3635 (nios2_got_address): Add large offset support.
3636 (nios2_legitimize_tls_address): Update usage of removed and new
3637 functions.
3638 (nios2_symbol_binds_local_p): New function.
3639 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
3640 (nios2_legitimize_address): Update to use nios2_large_offset_p.
3641 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
3642 (nios2_print_operand): Merge H/L processing, add hiadj/lo
3643 processing for (const (unspec ...)).
3644 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
3645
efd2d3c8
RB
36462014-02-20 Richard Biener <rguenther@suse.de>
3647
3648 * tree-cfg.c (replace_uses_by): Mark altered BBs before
3649 doing the substitution.
004a7e45 3650 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 3651
9576e7b1
MJ
36522014-02-20 Martin Jambor <mjambor@suse.cz>
3653
3654 PR ipa/55260
3655 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
3656 info when checking whether lattices are bottom.
3657
25fe40b0
RB
36582014-02-20 Richard Biener <rguenther@suse.de>
3659
3660 PR middle-end/60221
3661 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
3662 regions at -O0.
3663
bd936951
JH
36642014-02-20 Jan Hubicka <hubicka@ucw.cz>
3665
3666 PR ipa/58555
004a7e45
UB
3667 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
3668 parameter specifying the scaling.
bd936951
JH
3669 (inline_call): Update.
3670 (want_inline_recursively): Guard division by zero.
3671 (recursive_inlining): Update.
3672 * ipa-inline.h (clone_inlined_nodes): Update.
3673
3c898e1a
IT
36742014-02-20 Ilya Tocar <ilya.tocar@intel.com>
3675
3676 PR target/60204
3677 * config/i386/i386.c (classify_argument): Pass structures of size
3678 64 bytes or less in register.
3679
df62b4af 36802014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 3681 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
3682
3683 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
3684 (_mm_rcp28_round_ss): Ditto.
3685 (_mm_rsqrt28_round_sd): Ditto.
3686 (_mm_rsqrt28_round_ss): Ditto.
3687 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
3688 (_mm_rcp14_round_ss): Ditto.
3689 (_mm_rsqrt14_round_sd): Ditto.
3690 (_mm_rsqrt14_round_ss): Ditto.
3691 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
3692 the first input operand, get rid of match_dup.
3693 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
3694 attribute to sse.
3695 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
3696 Ditto.
3697 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
3698 operand as the first input operand, set type attribute.
3699 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
3700 Set type attribute.
3701 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
3702 operand as the first input operand, set type attribute.
3703
9254148e
BS
37042014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3705
3706 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
3707 bit of zero.
3708
fff91793
L
37092014-02-19 H.J. Lu <hongjiu.lu@intel.com>
3710
3711 PR target/60207
3712 * config/i386/i386.c (construct_container): Remove TFmode check
3713 for X86_64_INTEGER_CLASS.
3714
6aa5b4b8
UB
37152014-02-19 Uros Bizjak <ubizjak@gmail.com>
3716
3717 PR target/59794
3718 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
3719 only when -Wpsabi is enabled.
3720
aadc1c43
MHD
37212014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
3722
3723 PR target/59799
3724 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
3725 passing arrays in registers are the same as for structs, so remove the
3726 special case for them.
3727
322913f8
EB
37282014-02-19 Eric Botcazou <ebotcazou@adacore.com>
3729
3730 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
3731 destination type, extract only the valid bits if the source type is not
3732 integral and has a different mode.
3733
fd9710dc
RB
37342014-02-19 Richard Biener <rguenther@suse.de>
3735
3736 PR ipa/60243
3737 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
3738 for all calls.
3739
4df65a85
RB
37402014-02-19 Richard Biener <rguenther@suse.de>
3741
3742 PR ipa/60243
3743 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
3744 (ipa_modify_call_arguments): Emit an argument load explicitely and
3745 preserve virtual SSA form there and for the replacement call.
3746 Do not update SSA form nor free dominance info.
3747
7fea98d8
JH
37482014-02-18 Jan Hubicka <hubicka@ucw.cz>
3749
3750 * ipa.c (function_and_variable_visibility): Also clear WEAK
3751 flag when disolving COMDAT_GROUP.
3752
0a2550e7
JH
37532014-02-18 Jan Hubicka <hubicka@ucw.cz>
3754
3755 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
3756 * ipa-prop.c (ipa_set_jf_known_type): Return early when
3757 not devirtualizing.
3758 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
3759 do more sanity checks.
3760 (detect_type_change): Return true when giving up early.
3761 (compute_complex_assign_jump_func): Fix type parameter of
3762 ipa_set_ancestor_jf.
3763 (compute_complex_ancestor_jump_func): Likewise.
3764 (update_jump_functions_after_inlining): Fix updating of
3765 ancestor function.
6aa5b4b8 3766 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 3767
2dbe8b70
JH
37682014-02-18 Jan Hubicka <hubicka@ucw.cz>
3769
3770 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
3771 inline clones when edge disappears.
3772
b9809dc4
MM
37732014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
3774
3775 PR target/60203
3776 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
3777 Split 64-bit moves into 2 patterns. Do not allow the use of
3778 direct move for TDmode in little endian, since the decimal value
3779 has little endian bytes within a word, but the 64-bit pieces are
3780 ordered in a big endian fashion, and normal subreg's of TDmode are
3781 not allowed.
3782 (mov<mode>_64bit_dm): Likewise.
3783 (movtd_64bit_nodm): Likewise.
3784
bababbfb
EB
37852014-02-18 Eric Botcazou <ebotcazou@adacore.com>
3786
3787 PR tree-optimization/60174
3788 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
3789 statement of an SSA_NAME that occurs in an abnormal PHI node.
3790
70aacc97
JJ
37912014-02-18 Jakub Jelinek <jakub@redhat.com>
3792
3793 PR sanitizer/60142
3794 * final.c (SEEN_BB): Remove.
3795 (SEEN_NOTE, SEEN_EMITTED): Renumber.
3796 (final_scan_insn): Don't force_source_line on second
3797 NOTE_INSN_BASIC_BLOCK.
3798
223cdd15
UB
37992014-02-18 Uros Bizjak <ubizjak@gmail.com>
3800
3801 PR target/60205
3802 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
3803 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
3804 (type_natural_mode): Warn ABI change when %zmm register is not
3805 available for AVX512F vector value passing.
3806
48810be0
KT
38072014-02-18 Kai Tietz <ktietz@redhat.com>
3808
3809 PR target/60193
223cdd15
UB
3810 * config/i386/i386.c (ix86_expand_prologue): Use value in
3811 rax register as displacement when restoring %r10 or %rax.
3812 Fix wrong offset when restoring both registers.
48810be0 3813
20afe640
EB
38142014-02-18 Eric Botcazou <ebotcazou@adacore.com>
3815
3816 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
3817 assertion with conditional return.
3818
d0b50387
JJ
38192014-02-18 Jakub Jelinek <jakub@redhat.com>
3820 Uros Bizjak <ubizjak@gmail.com>
3821
3822 PR driver/60233
3823 * config/i386/driver-i386.c (host_detect_local_cpu): If
3824 YMM state is not saved by the OS, also clear has_f16c. Move
3825 CPUID 0x80000001 handling before YMM state saving checking.
3826
c4cd7435
AB
38272014-02-18 Andrey Belevantsev <abel@ispras.ru>
3828
3829 PR rtl-optimization/58960
3830 * haifa-sched.c (alloc_global_sched_pressure_data): New,
3831 factored out from ...
3832 (sched_init): ... here.
3833 (free_global_sched_pressure_data): New, factored out from ...
3834 (sched_finish): ... here.
3835 * sched-int.h (free_global_sched_pressure_data): Declare.
3836 * sched-rgn.c (nr_regions_initial): New static global.
3837 (haifa_find_rgns): Initialize it.
3838 (schedule_region): Disable sched-pressure for the newly
3839 generated regions.
3840
f0281fde
RB
38412014-02-17 Richard Biener <rguenther@suse.de>
3842
3843 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
3844 release SSA defs of pattern stmts.
3845
c742772c
RB
38462014-02-17 Richard Biener <rguenther@suse.de>
3847
3848 * tree-inline.c (expand_call_inline): Release the virtual
3849 operand defined by the call we are about to inline.
3850
0492158e
RB
38512014-02-17 Richard Biener <rguenther@suse.de>
3852
3853 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
3854
583a9919
KY
38552014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
3856 Ilya Tocar <ilya.tocar@intel.com>
3857
3858 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
3859 arguments order in builtin.
3860 (_mm512_permutexvar_epi64): Ditto.
3861 (_mm512_mask_permutexvar_epi64): Ditto
3862 (_mm512_maskz_permutexvar_epi32): Ditto
3863 (_mm512_permutexvar_epi32): Ditto
3864 (_mm512_mask_permutexvar_epi32): Ditto
3865
d737743f
BS
38662014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3867
223cdd15 3868 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
3869 (p8_vmrgow): Likewise.
3870
54c4bfd7
BS
38712014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3872
3873 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
3874 endian targets.
3875
518fea64
MM
38762014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
3877
3878 PR target/60203
3879 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
3880 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
3881 into 64-bit and 32-bit moves. On 64-bit moves, add support for
3882 using direct move instructions on ISA 2.07. Also adjust
3883 instruction length for 64-bit.
3884 (mov<mode>_64bit, TFmode/TDmode): Likewise.
3885 (mov<mode>_32bit, TFmode/TDmode): Likewise.
3886
61640916
AM
38872014-02-15 Alan Modra <amodra@gmail.com>
3888
3889 PR target/58675
3890 PR target/57935
3891 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
3892 find_replacement on parts of insn rtl that might be reloaded.
3893
a2b33cc3
RB
38942014-02-15 Richard Biener <rguenther@suse.de>
3895
3896 PR tree-optimization/60183
223cdd15 3897 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
3898 (tree_ssa_phiprop): Calculate and free post-dominators.
3899
059742a4
JL
39002014-02-14 Jeff Law <law@redhat.com>
3901
3902 PR rtl-optimization/60131
3903 * ree.c (get_extended_src_reg): New function.
223cdd15 3904 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
3905 (find_and_remove_re): Verify first operand of extension is
3906 a REG before adding the insns to the copy list.
3907
88f7c49a
RM
39082014-02-14 Roland McGrath <mcgrathr@google.com>
3909
3910 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
3911 * configure: Regenerated.
3912 * config.in: Regenerated.
3913 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
3914 instead of ASM_SHORT.
3915
2ae577fd
VM
39162014-02-14 Vladimir Makarov <vmakarov@redhat.com>
3917 Richard Earnshaw <rearnsha@arm.com>
3918
3919 PR rtl-optimization/59535
3920 * lra-constraints.c (process_alt_operands): Encourage alternative
3921 when unassigned pseudo class is superset of the alternative class.
3922 (inherit_reload_reg): Don't inherit when optimizing for code size.
3923 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
3924 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
3925 modes not less than 4 for Thumb1.
3926
5d88af08
KM
39272014-02-14 Kyle McMartin <kyle@redhat.com>
3928
3929 PR pch/60010
3930 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
3931
3069b421
RB
39322014-02-14 Richard Biener <rguenther@suse.de>
3933
3934 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
3935 (get_frame_arg): Drop the assert with langhook types_compatible_p.
3936 Do not strip INDIRECT_REFs.
3937
1966fd99
RB
39382014-02-14 Richard Biener <rguenther@suse.de>
3939
3940 PR lto/60179
3941 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
3942 DECL_FUNCTION_SPECIFIC_TARGET.
3943 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
3944 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 3945 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
3946 (write_ts_function_decl_tree_pointers): Do not stream
3947 DECL_FUNCTION_SPECIFIC_TARGET.
3948 * tree-streamer-in.c (unpack_ts_target_option): Remove.
3949 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
3950 (lto_input_ts_function_decl_tree_pointers): Do not stream
3951 DECL_FUNCTION_SPECIFIC_TARGET.
3952
b010d601
JJ
39532014-02-14 Jakub Jelinek <jakub@redhat.com>
3954
223cdd15 3955 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
3956 (get_initial_def_for_induction, vectorizable_induction): Ignore
3957 debug stmts when looking for exit_phi.
3958 (vectorizable_live_operation): Fix up condition.
3959
f2dafb91
CJW
39602014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
3961
3962 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
3963 nreverse() because it changes the content of original tree list.
3964
59043e75
CJW
39652014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
3966
3967 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
3968 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
3969
810f736f
CJW
39702014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
3971
3972 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
3973 GNU coding standards.
3974
1a025bbf
JJ
39752014-02-13 Jakub Jelinek <jakub@redhat.com>
3976
3977 PR debug/60152
3978 * dwarf2out.c (gen_subprogram_die): Don't call
3979 add_calling_convention_attribute if subr_die is old_die.
3980
69479ebd
SS
39812014-02-13 Sharad Singhai <singhai@google.com>
3982
3983 * doc/optinfo.texi: Fix order of nodes.
3984
1287ae50
UB
39852014-02-13 Uros Bizjak <ubizjak@gmail.com>
3986
3987 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
3988 operands[2], not operands[3].
3989
43372236
RB
39902014-02-13 Richard Biener <rguenther@suse.de>
3991
3992 PR bootstrap/59878
3993 * doc/install.texi (ISL): Update recommended version to 0.12.2,
3994 mention the possibility of an in-tree build.
3995 (CLooG): Update recommended version to 0.18.1, mention the
3996 possibility of an in-tree build and clarify that the ISL
3997 bundled with CLooG does not work.
3998
a4d70cfa
JJ
39992014-02-13 Jakub Jelinek <jakub@redhat.com>
4000
4001 PR target/43546
4002 * expr.c (compress_float_constant): If x is a hard register,
4003 extend into a pseudo and then move to x.
4004
e697d119
DV
40052014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
4006
4007 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
4008 caused by bad second argument to warning_at() with -mhotpatch and
4009 nested functions (e.g. with gfortran).
4010
9f8da907
RS
40112014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
4012
4013 * opts.c (option_name): Remove "enabled by default" rider.
4014
0fdd1196
JDA
40152014-02-12 John David Anglin <danglin@gcc.gnu.org>
4016
4017 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
4018
0544c448
L
40192014-02-12 H.J. Lu <hongjiu.lu@intel.com>
4020 Uros Bizjak <ubizjak@gmail.com>
4021
4022 PR target/60151
1287ae50 4023 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
4024 * configure: Regenerated.
4025
3a938d75
RB
40262014-02-12 Richard Biener <rguenther@suse.de>
4027
4028 * vec.c (vec_prefix::calculate_allocation): Move as
4029 inline variant to vec.h.
4030 (vec_prefix::calculate_allocation_1): New out-of-line version.
4031 * vec.h (vec_prefix::calculate_allocation_1): Declare.
4032 (vec_prefix::m_has_auto_buf): Rename to ...
4033 (vec_prefix::m_using_auto_storage): ... this.
4034 (vec_prefix::calculate_allocation): Inline the easy cases
4035 and dispatch to calculate_allocation_1 which doesn't need the
4036 prefix address.
4037 (va_heap::reserve): Use gcc_checking_assert.
4038 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
4039 m_using_auto_storage.
4040 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
4041 member and adjust.
4042 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
4043 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
4044 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
4045
ad0188be
RB
40462014-02-12 Richard Biener <rguenther@suse.de>
4047
4048 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
4049 when we found a dependence.
4050
64e5ace5
TS
40512014-02-12 Thomas Schwinge <thomas@codesourcery.com>
4052
88ac13da
TS
4053 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
4054 common code...
4055 (maybe_fold_stmt): ... into this new function.
4056 * omp-low.c (lower_omp): Update comment.
4057
bae729a2
TS
4058 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
4059 last use.
4060
64e5ace5
TS
4061 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
4062 dereference.
4063
7b40f5cf
JG
40642014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
4065
4066 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
4067 identifiers in comments.
4068 (cortexa53_extra_costs): Likewise.
1287ae50 4069 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
4070 (cortexa7_extra_costs): Likewise.
4071 (cortexa12_extra_costs): Likewise.
4072 (cortexa15_extra_costs): Likewise.
4073 (v7m_extra_costs): Likewise.
4074
c4c8514e
RB
40752014-02-12 Richard Biener <rguenther@suse.de>
4076
4077 PR middle-end/60092
4078 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
4079 of posix_memalign being successful.
4080 (lower_stmt): Restrict lowering of posix_memalign to when
4081 -ftree-bit-ccp is enabled.
4082
8eb651bd
SKS
40832014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
4084
4085 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
4086 arg_loc.
4087 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
4088
62b03553
EB
40892014-02-12 Eric Botcazou <ebotcazou@adacore.com>
4090
4091 PR rtl-optimization/60116
4092 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
4093 other_insn once the combination has been validated.
4094
ec77d61f
JH
40952014-02-11 Jan Hubicka <hubicka@ucw.cz>
4096
4097 PR lto/59468
4098 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
4099 and wrapper.
4100 * ipa-devirt.c: Include demangle.h
4101 (odr_violation_reported): New static variable.
4102 (add_type_duplicate): Update odr_violations.
4103 (maybe_record_node): Add completep parameter; update it.
4104 (record_target_from_binfo): Add COMPLETEP parameter;
4105 update it as needed.
4106 (possible_polymorphic_call_targets_1): Likewise.
4107 (struct polymorphic_call_target_d): Add nonconstruction_targets;
4108 rename FINAL to COMPLETE.
4109 (record_targets_from_bases): Sanity check we found the binfo;
4110 fix COMPLETEP updating.
4111 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
4112 parameter, fix computing of COMPLETEP.
1287ae50
UB
4113 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
4114 at LTO time do demangling.
ec77d61f
JH
4115 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
4116 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
4117 parameter.
4118 (gimple_get_virt_method_for_binfo): Likewise.
4119 * gimple-fold.h (gimple_get_virt_method_for_binfo,
4120 gimple_get_virt_method_for_vtable): Update prototypes.
4121
5a4dcd9b
VM
41222014-02-11 Vladimir Makarov <vmakarov@redhat.com>
4123
4124 PR target/49008
4125 * genautomata.c (add_presence_absence): Fix typo with
4126 {final_}presence_list.
4127
69b7afed
MM
41282014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4129
4130 PR target/60137
4131 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
4132 for VSX/Altivec vectors that land in GPR registers.
4133
8268ad5c
JJ
41342014-02-11 Richard Henderson <rth@redhat.com>
4135 Jakub Jelinek <jakub@redhat.com>
4136
4137 PR debug/59776
4138 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
4139 around drhs if type conversion to lacc->type is not useless.
4140
4fd92af6
KT
41412014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4142
4143 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
4144 tuning struct.
4145 (cortex-a57.cortex-a53): Likewise.
4146 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
4147
7cb14cb8
KT
41482014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4149
4150 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
4151 arm_restrict_it.
4152
6d3715b9
RL
41532014-02-11 Renlin Li <Renlin.Li@arm.com>
4154
4155 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
4156 add_options_for_arm_vfp3.
4157
cddddfff
JL
41582014-02-11 Jeff Law <law@redhat.com>
4159
4160 PR middle-end/54041
4161 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
4162 object with an undesirable mode.
4163
7c1aef7e
RO
41642014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4165
4166 PR libgomp/60107
4167 * config/i386/sol2-9.h: New file.
4168 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
4169 *-*-solaris2.9*): Use it.
4170
4bb66ef3 41712014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
4172
4173 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
4174 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
4175
4bb66ef3 41762014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
4177
4178 * config/microblaze/microblaze.c: Extend mcpu version format
4179
4bb66ef3 41802014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
4181
4182 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
4183
004a7e45 41842014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
4185
4186 PR target/59927
4187 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
4188 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
4189 ms-abi vs -mno-accumulate-outgoing-args.
4190 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
4191 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
4192 respect to ms-abi.
4193
e2fc3b4f
BE
41942014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
4195
4196 PR middle-end/60080
4197 * cfgexpand.c (expand_asm_operands): Attach source location to
4198 ASM_INPUT rtx objects.
4199 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
4200
3a22ad89
NC
42012014-02-10 Nick Clifton <nickc@redhat.com>
4202
4203 * config/mn10300/mn10300.c (popcount): New function.
4204 (mn10300_expand_prologue): Include saved registers in stack usage
4205 count.
4206
f27be550
JL
42072014-02-10 Jeff Law <law@redhat.com>
4208
4209 PR middle-end/52306
4210 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 4211 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 4212
e15e3815
UW
42132014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4214
4215 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
4216 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
4217 -mcall-openbsd, or -mcall-linux.
4218 (CC1_ENDIAN_BIG_SPEC): Remove.
4219 (CC1_ENDIAN_LITTLE_SPEC): Remove.
4220 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
4221 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
4222 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
4223 and %cc1_endian_default.
4224 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
4225
4e1f39e4
RB
42262014-02-10 Richard Biener <rguenther@suse.de>
4227
4228 PR tree-optimization/60115
4229 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
4230 MEM_REF handling. Properly verify that the accesses are not
4231 out of the objects bound.
4232
e7af1c22
KT
42332014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4234
4235 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
4236 coretex to cortex.
4237
79c7de84
EB
42382014-02-10 Eric Botcazou <ebotcazou@adacore.com>
4239
4240 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
4241 proper constants and fix formatting.
4242 (possible_polymorphic_call_targets): Fix formatting.
4243
cf73ee60
KY
42442014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
4245 Ilya Tocar <ilya.tocar@intel.com>
4246
4247 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
4248 (_mm512_loadu_epi32): Renamed into...
4249 (_mm512_loadu_si512): This.
4250 (_mm512_storeu_epi32): Renamed into...
4251 (_mm512_storeu_si512): This.
4252 (_mm512_maskz_ceil_ps): Removed.
4253 (_mm512_maskz_ceil_pd): Ditto.
4254 (_mm512_maskz_floor_ps): Ditto.
4255 (_mm512_maskz_floor_pd): Ditto.
4256 (_mm512_floor_round_ps): Ditto.
4257 (_mm512_floor_round_pd): Ditto.
4258 (_mm512_ceil_round_ps): Ditto.
4259 (_mm512_ceil_round_pd): Ditto.
4260 (_mm512_mask_floor_round_ps): Ditto.
4261 (_mm512_mask_floor_round_pd): Ditto.
4262 (_mm512_mask_ceil_round_ps): Ditto.
4263 (_mm512_mask_ceil_round_pd): Ditto.
4264 (_mm512_maskz_floor_round_ps): Ditto.
4265 (_mm512_maskz_floor_round_pd): Ditto.
4266 (_mm512_maskz_ceil_round_ps): Ditto.
4267 (_mm512_maskz_ceil_round_pd): Ditto.
4268 (_mm512_expand_pd): Ditto.
4269 (_mm512_expand_ps): Ditto.
4270 * config/i386/i386.c (ix86_builtins): Remove
4271 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
4272 (bdesc_args): Ditto.
4273 * config/i386/predicates.md (const1256_operand): New.
4274 (const_1_to_2_operand): Ditto.
4275 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
4276 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
4277 (*avx512pf_gatherpf<mode>sf): Ditto.
4278 (avx512pf_gatherpf<mode>df): Ditto.
4279 (*avx512pf_gatherpf<mode>df_mask): Ditto.
4280 (*avx512pf_gatherpf<mode>df): Ditto.
4281 (avx512pf_scatterpf<mode>sf): Ditto.
4282 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
4283 (*avx512pf_scatterpf<mode>sf): Ditto.
4284 (avx512pf_scatterpf<mode>df): Ditto.
4285 (*avx512pf_scatterpf<mode>df_mask): Ditto.
4286 (*avx512pf_scatterpf<mode>df): Ditto.
4287 (avx512f_expand<mode>): Removed.
4288 (<shift_insn><mode>3<mask_name>): Change predicate type.
4289
8fcbce72
JJ
42902014-02-08 Jakub Jelinek <jakub@redhat.com>
4291
41475e96
JJ
4292 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
4293 not at the end of datarefs vector use ordered_remove to avoid
4294 reordering datarefs vector.
4295
c74559df
JJ
4296 PR c/59984
4297 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
4298 mark local addressable non-static vars as GOVD_PRIVATE
4299 instead of GOVD_LOCAL.
4300 * omp-low.c (lower_omp_for): Move gimple_bind_vars
4301 and BLOCK_VARS of gimple_bind_block to new_stmt rather
4302 than copying them.
4303
8fcbce72
JJ
4304 PR middle-end/60092
4305 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
4306 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
4307 assume_aligned or alloc_align attributes.
4308 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
4309 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
4310 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
4311 calls to functions with assume_aligned or alloc_align attributes.
4312 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 4313
451bdd23
TG
43142014-02-08 Terry Guo <terry.guo@arm.com>
4315
4316 * doc/invoke.texi: Document ARM -march=armv7e-m.
4317
d31d42c7
JJ
43182014-02-08 Jakub Jelinek <jakub@redhat.com>
4319
d71dfeb7
JJ
4320 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
4321 flag on __cilkrts_rethrow builtin.
4322
d31d42c7
JJ
4323 PR ipa/60026
4324 * ipa-cp.c (determine_versionability): Fail at -O0
4325 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
4326 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
4327
4328 Revert:
4329 2014-02-04 Jakub Jelinek <jakub@redhat.com>
4330
4331 PR ipa/60026
4332 * tree-inline.c (copy_forbidden): Fail for
4333 __attribute__((optimize (0))) functions.
4334
a0a98fef
JH
43352014-02-07 Jan Hubicka <hubicka@ucw.cz>
4336
4337 * varpool.c: Include pointer-set.h.
4338 (varpool_remove_unreferenced_decls): Variables in other partitions
4339 will not be output; be however careful to not lose information
4340 about partitioning.
4341
8c311b50
JH
43422014-02-07 Jan Hubicka <hubicka@ucw.cz>
4343
4344 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
4345 lookup in the vtable constructor.
4346
7ba03e5e
JL
43472014-02-07 Jeff Law <law@redhat.com>
4348
63e6247d
JL
4349 PR target/40977
4350 * config/m68k/m68k.md (ashldi_extsi): Turn into a
4351 define_insn_and_split.
4352
7ba03e5e
JL
4353 * ipa-inline.c (inline_small_functions): Fix typos.
4354
177bc204
RS
43552014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4356
4357 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
4358 (s390_can_use_return_insn): Declare.
4359 * config/s390/s390.h (EPILOGUE_USES): Define.
4360 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
4361 instructions.
4362 (s390_chunkify_start): Handle return JUMP_LABELs.
4363 (s390_early_mach): Emit a main_pool instruction on the entry edge.
4364 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
4365 (s390_can_use_return_insn): New functions.
4366 (s390_fix_long_loop_prediction): Handle conditional returns.
4367 (TARGET_SET_UP_BY_PROLOGUE): Define.
4368 * config/s390/s390.md (ANY_RETURN): New code iterator.
4369 (*creturn, *csimple_return, return, simple_return): New patterns.
4370
0621cf3c
RS
43712014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4372
4373 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
4374 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
4375 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
4376 REG_CFA_RESTORE list when deciding not to restore a register.
4377
4099494d
RS
43782014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4379
4380 * config/s390/s390.c: Include tree-pass.h and context.h.
4381 (s390_early_mach): New function, split out from...
4382 (s390_emit_prologue): ...here.
4383 (pass_data_s390_early_mach): New pass structure.
4384 (pass_s390_early_mach): New class.
4385 (s390_option_override): Create and register early_mach pass.
4386 Move to end of file.
4387
3489cc33
RS
43882014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4389
4390 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
4391 to match for the exit block.
4392
75cc21e2
AK
43932014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4394
4395 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
4396 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
4397 Reject misaligned operands.
4398
8bd7070a
AK
43992014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4400
1287ae50 4401 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 4402
831806cb
RB
44032014-02-07 Richard Biener <rguenther@suse.de>
4404
4405 PR middle-end/60092
4406 * gimple-low.c (lower_builtin_posix_memalign): New function.
4407 (lower_stmt): Call it to lower posix_memalign in a way
4408 to make alignment info accessible.
4409
7ee9c16f
JJ
44102014-02-07 Jakub Jelinek <jakub@redhat.com>
4411
4412 PR c++/60082
4413 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
4414 __builtin_setjmp_receiver.
4415
32cab212
RB
44162014-02-07 Richard Biener <rguenther@suse.de>
4417
4418 PR middle-end/60092
4419 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
4420 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
4421 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
4422 Handle BUILT_IN_POSIX_MEMALIGN.
4423 (find_func_clobbers): Likewise.
4424 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
4425 (call_may_clobber_ref_p_1): Likewise.
4426
6d6af792
JH
44272014-02-06 Jan Hubicka <hubicka@ucw.cz>
4428
4429 PR ipa/59918
1287ae50
UB
4430 * ipa-devirt.c (record_target_from_binfo): Remove overactive
4431 sanity check.
6d6af792 4432
3c0f1105
JH
44332014-02-06 Jan Hubicka <hubicka@ucw.cz>
4434
4435 PR ipa/59469
4436 * lto-cgraph.c (lto_output_node): Use
4437 symtab_get_symbol_partitioning_class.
4438 (lto_output_varpool_node): likewise.
4439 (symtab_get_symbol_partitioning_class): Move here from
4440 lto/lto-partition.c
4441 * cgraph.h (symbol_partitioning_class): Likewise.
4442 (symtab_get_symbol_partitioning_class): Declare.
4443
b3bb0eb9
JH
44442014-02-06 Jan Hubicka <hubicka@ucw.cz>
4445
4446 * ggc.h (ggc_internal_cleared_alloc): New macro.
4447 * vec.h (vec_safe_copy): Handle memory stats.
4448 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
4449 * target-globals.c (save_target_globals): Likewise.
4450
44512014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
4452
4453 PR target/60077
4454 * expr.c (emit_move_resolve_push): Export; be bit more selective
4455 on when to clear alias set.
4456 * expr.h (emit_move_resolve_push): Declare.
4457 * function.h (struct function): Add tail_call_marked.
4458 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
4459 * config/i386/i386-protos.h (ix86_expand_push): Remove.
4460 * config/i386/i386.md (TImode move expander): De not call
4461 ix86_expand_push.
4462 (FP push expanders): Preserve memory attributes.
4463 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 4464 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
4465 (ix86_expand_push): Remove.
4466 * config/i386/mmx.md (push<mode>1): Remove.
4467
47d552eb
JJ
44682014-02-06 Jakub Jelinek <jakub@redhat.com>
4469
4470 PR rtl-optimization/60030
4471 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
4472 lopart with paradoxical subreg before shifting it up by hprec.
4473
45c75ea7
KT
44742014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4475
4476 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
4477 Remove extra newline at end of file.
4478 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
4479 (arm_issue_rate): Handle cortexa57.
4480 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
4481 (cortex-a57.cortex-a53): Likewise.
4482
af116cae
JJ
44832014-02-06 Jakub Jelinek <jakub@redhat.com>
4484
652a3e3a
JJ
4485 PR target/59575
4486 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
4487 don't record in REG_FRAME_RELATED_EXPR registers not set in that
4488 bitmask.
4489 (arm_expand_prologue): Adjust all callers.
4490 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
4491 info, registers also at the lowest numbered registers side. Use
4492 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
4493 XEXP.
4494
af116cae 4495 PR debug/59992
1287ae50
UB
4496 * var-tracking.c (adjust_mems): Before adding a SET to
4497 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 4498
fdcee33b
AM
44992014-02-06 Alan Modra <amodra@gmail.com>
4500
4501 PR target/60032
4502 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
4503 change SDmode to DDmode when lra_in_progress.
4504
251901a0
JJ
45052014-02-06 Jakub Jelinek <jakub@redhat.com>
4506
d3ef8c53
JJ
4507 PR middle-end/59150
4508 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
4509 free_data_ref on the dr first, and before goto again also set dr
4510 to the next dr. For simd_lane_access, free old datarefs[i] before
4511 overwriting it. For get_vectype_for_scalar_type failure, don't
4512 free_data_ref if simd_lane_access.
4513
2754b38f
JJ
4514 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
4515
251901a0
JJ
4516 PR target/60062
4517 * tree.h (opts_for_fn): New inline function.
4518 (opt_for_fn): Define.
4519 * config/i386/i386.c (ix86_function_regparm): Use
4520 opt_for_fn (decl, optimize) instead of optimize.
4521
4a985a37
MS
45222014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
4523
4524 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
4525 for SYMBOL_REF in large memory model.
4526
c366d38c
KT
45272014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4528
4529 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
4530 and crypto support.
4531 (cortex-a57): Likewise.
4532 (cortex-a57.cortex-a53): Likewise.
4533
c801e246
YG
45342014-02-06 Yury Gribov <y.gribov@samsung.com>
4535 Kugan Vivekanandarajah <kuganv@linaro.org>
4536
4537 * config/arm/arm.c (arm_vector_alignment_reachable): Check
4538 unaligned_access.
4539 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
4540
d50f7b84
RB
45412014-02-06 Richard Biener <rguenther@suse.de>
4542
4543 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
4544 set_loop_copy and initialize_original_copy_tables.
4545
179d2941
AV
45462014-02-06 Alex Velenko <Alex.Velenko@arm.com>
4547
4548 * config/aarch64/aarch64-simd.md
4549 (aarch64_ashr_simddi): Change QI to SI.
4550
78b1469d
JH
45512014-02-05 Jan Hubicka <hubicka@ucw.cz>
4552 Jakub Jelinek <jakub@redhat.com>
4553
4554 PR middle-end/60013
4555 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
4556 of the dataflow.
4557
d85f364c
BS
45582014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4559
4560 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
4561 CODE_FOR_altivec_vpku[hw]um to
4562 CODE_FOR_altivec_vpku[hw]um_direct.
4563 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
4564 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
4565 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
4566 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
4567
7b1cd427
BS
45682014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4569
4570 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
4571 generation for -maltivec=be.
4572 (altivec_vsumsws): Simplify redundant test.
4573
52a93551
BS
45742014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4575
4576 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
4577 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
4578 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
4579 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
4580 gen_altivec_vpkuwum.
4581 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
4582 BYTES_BIG_ENDIAN.
4583 (altivec_vpks<VI_char>ss): Likewise.
4584 (altivec_vpks<VI_char>us): Likewise.
4585 (altivec_vpku<VI_char>us): Likewise.
4586 (altivec_vpku<VI_char>um): Likewise.
4587 (altivec_vpku<VI_char>um_direct): New (copy of
4588 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
4589 internal use).
4590 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
4591 target is little endian and -maltivec=be is not specified.
4592 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 4593 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
4594 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
4595 target is little endian and -maltivec=be is not specified.
4596 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 4597 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
4598 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
4599 little endian and -maltivec=be is not specified.
4600 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
4601 little endian and -maltivec=be is not specified.
4602
004a7e45 46032014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
4604
4605 PR debug/52727
4606 * combine-stack-adj.c: Revert r206943.
4607 * sched-int.h (struct deps_desc): Add last_args_size.
4608 * sched-deps.c (init_deps): Initialize it.
4609 (sched_analyze_insn): Add OUTPUT dependencies between insns that
4610 contain REG_ARGS_SIZE notes.
4611
f300e7b8
JH
46122014-02-05 Jan Hubicka <hubicka@ucw.cz>
4613
4614 * lto-cgraph.c (asm_nodes_output): Make global.
4615 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 4616 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
4617 (driver_handle_option): Handle OPT_fwpa.
4618
609524d2
JJ
46192014-02-05 Jakub Jelinek <jakub@redhat.com>
4620
add5c763
JJ
4621 PR ipa/59947
4622 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
4623 a comment typo and formatting issue. If odr_hash hasn't been
4624 created, return vNULL and set *completep to false.
4625
609524d2
JJ
4626 PR middle-end/57499
4627 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
4628 bb with no successors.
4629
05ab6e21
JG
46302014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
4631
4632 PR target/59718
4633 * doc/invoke.texi (-march): Clarify documentation for ARM.
4634 (-mtune): Likewise.
4635 (-mcpu): Likewise.
4636
d55d9ed0
RB
46372014-02-05 Richard Biener <rguenther@suse.de>
4638
4639 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
4640 when not vectorizing because of too many alias checks.
4641 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
4642 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
4643
c70da878
NC
46442014-02-05 Nick Clifton <nickc@redhat.com>
4645
4646 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 4647 accept extended registers in any mode when compiling for the MN10300.
c70da878 4648
25a07c7e
YG
46492014-02-05 Yury Gribov <y.gribov@samsung.com>
4650
4651 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
4652 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
4653 sanitization attributes.
4654 (can_inline_edge_p): Likewise.
4655 (sanitize_attrs_match_for_inline_p): New function.
4656
4bf2a588
JH
46572014-02-04 Jan Hubicka <hubicka@ucw.cz>
4658
4659 * ipa-prop.c (detect_type_change): Shor circuit testing of
4660 type changes on THIS pointer.
4661
d92f4df0
JDA
46622014-02-04 John David Anglin <danglin@gcc.gnu.org>
4663
4664 PR target/59777
4665 * config/pa/pa.c (legitimize_tls_address): Return original address
4666 if not passed a SYMBOL_REF rtx.
4667 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
4668 addresses.
4669 (pa_emit_move_sequence): Simplify TLS source operands.
4670 (pa_legitimate_constant_p): Reject all TLS constants.
4671 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
4672 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
4673
d665f8dd
JH
46742014-02-04 Jan Hubicka <hubicka@ucw.cz>
4675
4676 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
4677 groups when we know they are controlled by LTO.
4678 * varasm.c (default_binds_local_p_1): If object is in other partition,
4679 it will be resolved locally.
4680
6a071860
BE
46812014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
4682
e2fc3b4f 4683 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 4684 use SSIZE_MAX because it is not always defined.
6a071860 4685
8e9d68a9
VM
46862014-02-04 Vladimir Makarov <vmakarov@redhat.com>
4687
4688 PR bootstrap/59913
4689 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
4690 threshold for pseudo splitting.
4691 (update_ebb_live_info): Process call argument hard registers and
4692 hard registers from insn definition too.
4693 (max_small_class_regs_num): New constant.
4694 (inherit_in_ebb): Update live hard regs through EBBs. Update
4695 reloads_num only for small register classes. Don't split for
4696 outputs of jumps.
4697
8472fa80
MT
46982014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
4699
4700 PR ipa/60058
4701 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
4702 is non-null.
4703
df98e37f
JH
47042014-02-04 Jan Hubicka <hubicka@ucw.cz>
4705
1287ae50
UB
4706 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
4707 visibility is safe.
df98e37f 4708
71e55f04
MP
47092014-02-04 Marek Polacek <polacek@redhat.com>
4710
4711 * gdbinit.in (pel): Define.
4712
229e56f9
BE
47132014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
4714
4715 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
4716 behavior.
4717
c39276b8
RB
47182014-02-04 Richard Biener <rguenther@suse.de>
4719
4720 PR lto/59723
4721 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
4722 in function context local.
4723 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
4724 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
4725 similar to LTO_imported_decl_ref.
4726
66b3ed5f
JJ
47272014-02-04 Jakub Jelinek <jakub@redhat.com>
4728
029ce7a2
JJ
4729 PR tree-optimization/60002
4730 * cgraphclones.c (build_function_decl_skip_args): Clear
4731 DECL_LANG_SPECIFIC.
4732
8e91d222
JJ
4733 PR tree-optimization/60023
4734 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
4735 false to gsi_replace.
4736 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
4737 has been in some EH region and vec_stmt could throw, add
4738 vec_stmt into the same EH region.
4739 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
4740 has no lhs, ignore it.
4741 * internal-fn.c (expand_MASK_LOAD): Likewise.
4742
eb259c4a
JJ
4743 PR ipa/60026
4744 * tree-inline.c (copy_forbidden): Fail for
4745 __attribute__((optimize (0))) functions.
4746
92d05580
JJ
4747 PR other/58712
4748 * omp-low.c (simd_clone_struct_copy): If from->inbranch
4749 is set, copy one less argument.
30540e79
JJ
4750 (expand_simd_clones): Don't subtract clone_info->inbranch
4751 from simd_clone_struct_alloc argument.
92d05580 4752
be3afd67
JJ
4753 PR rtl-optimization/57915
4754 * recog.c (simplify_while_replacing): If all unary/binary/relational
4755 operation arguments are constant, attempt to simplify those.
4756
66b3ed5f
JJ
4757 PR middle-end/59261
4758 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
4759 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
4760
5961d779
RB
47612014-02-04 Richard Biener <rguenther@suse.de>
4762
4763 PR tree-optimization/60012
4764 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
4765 TBAA disambiguation to all DDRs.
4766
91da0481
RO
47672014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4768
4769 PR target/59788
4770 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
4771 (LINK_SPEC): Use it for -shared, -shared-libgcc.
4772
39960d1c
JH
47732014-02-03 Jan Hubicka <hubicka@ucw.cz>
4774
4775 PR ipa/59882
4776 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
4777
47782014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
4779
4780 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
4781 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
4782
39960d1c 47832014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
4784
4785 PR ipa/59831
4786 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
4787 to figure out targets of polymorphic calls with known decl.
4788 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
4789 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
4790 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
4791 (get_polymorphic_call_info): ... here.
4792 (get_polymorphic_call_info_from_invariant): New function.
4793
39960d1c 47942014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
4795
4796 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
4797 lookup via vtable pointer; check for type consistency
4798 and turn inconsitent facts into UNREACHABLE.
4799 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
4800 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
4801 type inconsistent querries; return UNREACHABLE instead.
9de2f554 4802
ade3ff24
RH
48032014-02-03 Richard Henderson <rth@twiddle.net>
4804
4805 PR tree-opt/59924
4806 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
4807 already processed this node.
4808 (normalize_one_pred_1): Pass along mark_set.
4809 (normalize_one_pred): Create and destroy a pointer_set_t.
4810 (normalize_one_pred_chain): Likewise.
4811
55428cc3
LA
48122014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
4813
4814 PR gcov-profile/58602
1287ae50 4815 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 4816
85942f45
JH
48172014-02-03 Jan Hubicka <hubicka@ucw.cz>
4818
4819 PR ipa/59831
1287ae50
UB
4820 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
4821 -fno-devirtualize; try to devirtualize by the knowledge of
4822 virtual table pointer given by aggregate propagation.
85942f45 4823 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 4824 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
4825 is relevant for polymorphic calls.
4826 (determine_known_aggregate_parts): Add arg_type parameter; use it
4827 instead of determining the type from pointer type.
4828 (ipa_compute_jump_functions_for_edge): Update call of
4829 determine_known_aggregate_parts.
4830 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
4831 (gimple_get_virt_method_for_binfo): ... here; simplify using
4832 vtable_pointer_value_to_vtable.
4833 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
4834 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 4835 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
4836 (vtable_pointer_value_to_vtable): Break out from ...; handle also
4837 POINTER_PLUS_EXPR.
4838 (vtable_pointer_value_to_binfo): ... here.
4839 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
4840
bddc974e
TJ
48412014-02-03 Teresa Johnson <tejohnson@google.com>
4842
4843 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
4844 redef of outer loop index variable.
4845
5d77fb19
MG
48462014-02-03 Marc Glisse <marc.glisse@inria.fr>
4847
4848 PR c++/53017
4849 PR c++/59211
4850 * doc/extend.texi (Function Attributes): Typo.
4851
cf5b2be2
CH
48522014-02-03 Cong Hou <congh@google.com>
4853
4854 PR tree-optimization/60000
4855 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
4856 if the vectorized statement is a store. A store statement can only
4857 appear at the end of pattern statements.
4858
a2a1ddb5
L
48592014-02-03 H.J. Lu <hongjiu.lu@intel.com>
4860
4861 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
4862 (ix86_option_override_internal): Default long double to 64-bit for
4863 32-bit Bionic and to 128-bit for 64-bit Bionic.
4864
4865 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
4866 TARGET_LONG_DOUBLE_128 is true.
4867 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
4868
4869 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
4870 (mlong-double-64): Negate -mlong-double-128.
4871 (mlong-double-128): New option.
4872
4873 * config/i386/i386-c.c (ix86_target_macros): Define
4874 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
4875
4876 * doc/invoke.texi: Document -mlong-double-128.
4877
f742cf90
L
48782014-02-03 H.J. Lu <hongjiu.lu@intel.com>
4879
4880 PR rtl-optimization/60024
4881 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
4882
8f36fd30
MT
48832014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
4884
1287ae50 4885 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 4886
861ec4f3
AB
48872014-02-03 Andrey Belevantsev <abel@ispras.ru>
4888
4889 PR rtl-optimization/57662
4890 * sel-sched.c (code_motion_path_driver): Do not mark already not
4891 existing blocks in the visiting bitmap.
4892
fe08255d
AB
48932014-02-03 Andrey Belevantsev <abel@ispras.ru>
4894
4895 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
4896 on the insn being emitted.
4897
96d3a240
JG
48982014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
4899 Will Deacon <will.deacon@arm.com>
4900
4901 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
4902
9dd6c9f7
KT
49032014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4904
4905 * config/arm/arm-tables.opt: Regenerate.
4906
60331d00
BS
49072014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4908
4909 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
4910 for vector types other than V16QImode.
4911 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
4912 define_expand, and call altivec_expand_vec_perm_le when producing
4913 code with little endian element order.
4914 (*altivec_vperm_<mode>_internal): New insn having previous
4915 behavior of altivec_vperm_<mode>.
4916 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
4917 altivec_expand_vec_perm_le when producing code with little endian
4918 element order.
4919 (*altivec_vperm_<mode>_uns_internal): New insn having previous
4920 behavior of altivec_vperm_<mode>_uns.
4921
b80afde9
BS
49222014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4923
4924 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
4925 (altivec_vsumsws): Add handling for -maltivec=be with a little
4926 endian target.
4927 (altivec_vsumsws_direct): New.
4928 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
4929 gen_altivec_vsumsws.
4930
39960d1c 49312014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
4932
4933 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
4934 vtable_pointer_value_to_binfo): New functions.
4935 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
4936 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
4937
02b67731
SL
49382014-02-02 Sandra Loosemore <sandra@codesourcery.com>
4939
4940 * config/nios2/nios2.md (load_got_register): Initialize GOT
4941 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
4942 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
4943
2ace77c2
JH
49442014-02-02 Jan Hubicka <hubicka@ucw.cz>
4945
4946 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
4947 preserverd by passthrough, do not propagate the type.
4948
70b2d364
RS
49492014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
4950
4951 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
4952 (mips_atomic_assign_expand_fenv): New function.
4953 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
4954
a90c0245
RS
49552014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
4956
4957 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
4958 (__builtin_mips_set_fcsr): Likewise.
4959 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
4960 MIPS_USI_FTYPE_VOID.
4961 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
4962 (mips16_expand_set_fcsr): Likewise.
4963 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
4964 (mips16_set_fcsr_stub): Likewise.
4965 (mips16_get_fcsr_one_only_stub): New class.
4966 (mips16_set_fcsr_one_only_stub): Likewise.
4967 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
4968 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
4969 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
4970 (hard_float): New availability predicate.
4971 (mips_builtins): Add get_fcsr and set_fcsr.
4972 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
4973 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
4974 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
4975 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
4976 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
4977 patterns.
4978
6d51cc90
RS
49792014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
4980
4981 * config/mips/mips.c (mips_one_only_stub): New class.
4982 (mips_need_mips16_rdhwr_p): Replace with...
4983 (mips16_rdhwr_stub): ...this new variable.
4984 (mips16_stub_call_address): New function.
4985 (mips16_rdhwr_one_only_stub): New class.
4986 (mips_expand_thread_pointer): Use mips16_stub_call_address.
4987 (mips_output_mips16_rdhwr): Delete.
4988 (mips_finish_stub): New function.
4989 (mips_code_end): Use it to handle rdhwr stubs.
4990
6c90f137
UB
49912014-02-02 Uros Bizjak <ubizjak@gmail.com>
4992
4993 PR target/60017
4994 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
4995 when calculating size of integer atomic types.
4996
5e64bbbb
L
49972014-02-02 H.J. Lu <hongjiu.lu@intel.com>
4998
4999 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
5000
021293cb
JJ
50012014-02-01 Jakub Jelinek <jakub@redhat.com>
5002
5003 PR tree-optimization/60003
5004 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
5005 * profile.c (branch_prob): Use gimple_call_builtin_p
5006 to check for BUILT_IN_SETJMP_RECEIVER.
5007 * tree-inline.c (copy_bb): Call notice_special_calls.
5008
6334f3e9
VM
50092014-01-31 Vladimir Makarov <vmakarov@redhat.com>
5010
5011 PR bootstrap/59985
5012 * lra-constraints.c (process_alt_operands): Update reload_sum only
5013 on the first pass.
5014
efa7882f
RH
50152014-01-31 Richard Henderson <rth@redhat.com>
5016
5017 PR middle-end/60004
5018 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
5019 until after else_eh is processed.
5020
de72ea02
IT
50212014-01-31 Ilya Tocar <ilya.tocar@intel.com>
5022
5023 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
5024 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
5025 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
5026 in smmintrin.h, remove them.
5027 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
5028 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
5029 * config/i386/i386.md (ROUND_SAE): Fix value.
5030 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
5031 (const48_operand): New.
5032 * config/i386/subst.md (round), (round_expand): Use
5033 const_4_or_8_to_11_operand.
5034 (round_saeonly), (round_saeonly_expand): Use const48_operand.
5035
be792bce
IT
50362014-01-31 Ilya Tocar <ilya.tocar@intel.com>
5037
5038 * config/i386/constraints.md (Yk): Swap meaning with k.
5039 * config/i386/i386.md (movhi_internal): Change Yk to k.
5040 (movqi_internal): Ditto.
5041 (*k<logic><mode>): Ditto.
5042 (*andhi_1): Ditto.
5043 (*andqi_1): Ditto.
5044 (kandn<mode>): Ditto.
5045 (*<code>hi_1): Ditto.
5046 (*<code>qi_1): Ditto.
5047 (kxnor<mode>): Ditto.
5048 (kortestzhi): Ditto.
5049 (kortestchi): Ditto.
5050 (kunpckhi): Ditto.
5051 (*one_cmplhi2_1): Ditto.
5052 (*one_cmplqi2_1): Ditto.
5053 * config/i386/sse.md (): Change k to Yk.
5054 (avx512f_load<mode>_mask): Ditto.
5055 (avx512f_blendm<mode>): Ditto.
5056 (avx512f_store<mode>_mask): Ditto.
5057 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
5058 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
5059 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
5060 Ditto.
be792bce
IT
5061 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
5062 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
5063 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
5064 (avx512f_maskcmp<mode>3): Ditto.
5065 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
5066 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
5067 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
5068 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
5069 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
5070 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
5071 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
5072 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
5073 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
5074 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
5075 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
5076 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
5077 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
5078 (vec_extract_lo_<mode>_maskm): Ditto.
5079 (vec_extract_hi_<mode>_maskm): Ditto.
5080 (avx512f_vternlog<mode>_mask): Ditto.
5081 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
5082 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
5083 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
5084 (avx512f_<code>v8div16qi2_mask): Ditto.
5085 (avx512f_<code>v8div16qi2_mask_store): Ditto.
5086 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
5087 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
5088 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
5089 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
5090 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
5091 (*avx512pf_gatherpf<mode>df_mask): Ditto.
5092 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
5093 (*avx512pf_scatterpf<mode>df_mask): Ditto.
5094 (avx512cd_maskb_vec_dupv8di): Ditto.
5095 (avx512cd_maskw_vec_dupv16si): Ditto.
5096 (avx512f_vpermi2var<mode>3_maskz): Ditto.
5097 (avx512f_vpermi2var<mode>3_mask): Ditto.
5098 (avx512f_vpermi2var<mode>3_mask): Ditto.
5099 (avx512f_vpermt2var<mode>3_maskz): Ditto.
5100 (*avx512f_gathersi<mode>): Ditto.
5101 (*avx512f_gathersi<mode>_2): Ditto.
5102 (*avx512f_gatherdi<mode>): Ditto.
5103 (*avx512f_gatherdi<mode>_2): Ditto.
5104 (*avx512f_scattersi<mode>): Ditto.
5105 (*avx512f_scatterdi<mode>): Ditto.
5106 (avx512f_compress<mode>_mask): Ditto.
5107 (avx512f_compressstore<mode>_mask): Ditto.
5108 (avx512f_expand<mode>_mask): Ditto.
5109 * config/i386/subst.md (mask): Change k to Yk.
5110 (mask_scalar_merge): Ditto.
5111 (sd): Ditto.
5112
0878d68a
MG
51132014-01-31 Marc Glisse <marc.glisse@inria.fr>
5114
5115 * doc/extend.texi (Vector Extensions): Document ?: in C++.
5116
fdfd537b
RB
51172014-01-31 Richard Biener <rguenther@suse.de>
5118
5119 PR middle-end/59990
5120 * builtins.c (fold_builtin_memory_op): Make sure to not
5121 use a floating-point mode or a boolean or enumeral type for
5122 the copy operation.
5123
4f50b9ff
DD
51242014-01-30 DJ Delorie <dj@redhat.com>
5125
5126 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
5127 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
5128 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
5129 whenever main() has an epilogue.
5130
c3e96073
BS
51312014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5132
5133 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
5134 unused variable "field".
5135 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
5136 (vsx_mergeh_<mode>): Likewise.
5137 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
5138 (altivec_vmrghh): Likewise.
5139 (altivec_vmrghw): Likewise.
5140 (altivec_vmrglb): Likewise.
5141 (altivec_vmrglh): Likewise.
5142 (altivec_vmrglw): Likewise.
5143 (altivec_vspltb): Add missing uses.
5144 (altivec_vsplth): Likewise.
5145 (altivec_vspltw): Likewise.
5146 (altivec_vspltsf): Likewise.
5147
4bb9c32d
JJ
51482014-01-30 Jakub Jelinek <jakub@redhat.com>
5149
5150 PR target/59923
5151 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
5152 frame related instructions.
5153
7613fa50
VM
51542014-01-30 Vladimir Makarov <vmakarov@redhat.com>
5155
5156 PR rtl-optimization/59959
5157 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
5158 any reload of register whose subreg is invalid.
5159
6fb82517
JJ
51602014-01-30 Jakub Jelinek <jakub@redhat.com>
5161
33425d6c 5162 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
5163 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
5164 Add missing return type - void.
5165
bf53d4b8
BS
51662014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5167
5168 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
5169 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
5170 remove element index adjustment for endian (now handled in vsx.md
5171 and altivec.md).
5172 (altivec_expand_vec_perm_const): Use
5173 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
5174 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
5175 (vsx_xxspltw_<mode>): Adjust element index for little endian.
5176 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
5177 define_expand and a new define_insn *altivec_vspltb_internal;
5178 adjust for -maltivec=be on a little endian target.
5179 (altivec_vspltb_direct): New.
5180 (altivec_vsplth): Divide into a define_expand and a new
5181 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
5182 little endian target.
5183 (altivec_vsplth_direct): New.
5184 (altivec_vspltw): Divide into a define_expand and a new
5185 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
5186 little endian target.
5187 (altivec_vspltw_direct): New.
5188 (altivec_vspltsf): Divide into a define_expand and a new
5189 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
5190 a little endian target.
5191
c965e187
RB
51922014-01-30 Richard Biener <rguenther@suse.de>
5193
5194 PR tree-optimization/59993
5195 * tree-ssa-forwprop.c (associate_pointerplus): Check we
5196 can propagate form the earlier stmt and avoid the transform
5197 when the intermediate result is needed.
5198
ba117645
AD
51992014-01-30 Alangi Derick <alangiderick@gmail.com>
5200
5201 * README.Portability: Fix typo.
5202
4bb66ef3 52032014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
5204
5205 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
5206 comparison_operator with ordered_comparison_operator.
5207
c345a0b1
NC
52082014-01-30 Nick Clifton <nickc@redhat.com>
5209
5210 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
5211 Rename to mn10300_store_multiple_regs.
5212 * config/mn10300/mn10300.c: Likewise.
5213 * config/mn10300/mn10300.md (store_movm): Fix typo: call
5214 store_multiple_regs.
5215 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
5216 Call mn10300_store_multiple_regs.
5217
2d70f6d4
NC
52182014-01-30 Nick Clifton <nickc@redhat.com>
5219 DJ Delorie <dj@redhat.com>
5220
5221 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
5222 %fp 2 to keep registers after it properly word-aligned.
5223 (rl78_alloc_physical_registers_umul): Handle the case where both
5224 input operands are the same.
5225
c972624e
RB
52262014-01-30 Richard Biener <rguenther@suse.de>
5227
5228 PR tree-optimization/59903
5229 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
5230 check properly.
5231
fc044323
JM
52322014-01-30 Jason Merrill <jason@redhat.com>
5233
404c2aea
JM
5234 PR c++/59633
5235 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
5236
fc044323
JM
5237 PR c++/59645
5238 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
5239
f30a0ba5
RB
52402014-01-30 Richard Biener <rguenther@suse.de>
5241
5242 PR tree-optimization/59951
33425d6c 5243 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 5244
aad8816f
SZ
52452014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
5246
5247 PR target/59784
5248 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
5249 SFmode to DFmode case.
5250
3b16363e
DD
52512014-01-29 DJ Delorie <dj@redhat.com>
5252
5253 * config/msp430/msp430.opt (-minrt): New.
5254 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
5255 if -minrt given.
5256 (ENDFILE_SPEC): Likewise.
5257
39960d1c 52582014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
5259
5260 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
5261 (estimate_function_body_sizes): Use it.
5262
1200933c
PC
52632014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
5264
5265 PR c++/58561
5266 * dwarf2out.c (is_cxx_auto): New.
5267 (is_base_type): Use it.
5268 (gen_type_die_with_usage): Likewise.
5269
68d3bacf
BS
52702014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5271
5272 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
5273 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
5274 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
5275 -maltivec=be with LE targets.
5276 (vsx_mergeh_<mode>): Likewise.
33425d6c 5277 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
5278 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
5279 (altivec_vmrghb): Replace with define_expand and new
33425d6c 5280 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
5281 (altivec_vmrghb_direct): New define_insn.
5282 (altivec_vmrghh): Replace with define_expand and new
33425d6c 5283 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
5284 (altivec_vmrghh_direct): New define_insn.
5285 (altivec_vmrghw): Replace with define_expand and new
33425d6c 5286 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
5287 (altivec_vmrghw_direct): New define_insn.
5288 (*altivec_vmrghsf): Adjust for endianness.
5289 (altivec_vmrglb): Replace with define_expand and new
33425d6c 5290 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
5291 (altivec_vmrglb_direct): New define_insn.
5292 (altivec_vmrglh): Replace with define_expand and new
33425d6c 5293 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
5294 (altivec_vmrglh_direct): New define_insn.
5295 (altivec_vmrglw): Replace with define_expand and new
33425d6c 5296 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
5297 (altivec_vmrglw_direct): New define_insn.
5298 (*altivec_vmrglsf): Adjust for endianness.
5299 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
5300 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
5301 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
5302 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
5303 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
5304 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
5305 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
5306 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
5307
aef66c94
MS
53082014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
5309
5310 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
5311 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
5312 whitespace.
5313
77574c35
RB
53142014-01-29 Richard Biener <rguenther@suse.de>
5315
5316 PR tree-optimization/58742
5317 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
5318 associate_pointerplus_align.
5319 (associate_pointerplus_diff): New function.
5320 (associate_pointerplus): Likewise. Call associate_pointerplus_align
5321 and associate_pointerplus_diff.
5322
15b25b24
RB
53232014-01-29 Richard Biener <rguenther@suse.de>
5324
5325 * lto-streamer.h (LTO_major_version): Bump to 3.
5326 (LTO_minor_version): Reset to 0.
5327
eb6006ad
RL
53282014-01-29 Renlin Li <Renlin.Li@arm.com>
5329
5330 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
5331 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
5332 (arm_file_start): Generate correct asm header for armv7ve.
5333 * config/arm/bpabi.h: Add multilib support for armv7ve.
5334 * config/arm/driver-arm.c: Change the architectures of cortex-a7
5335 and cortex-a15 to armv7ve.
5336 * config/arm/t-aprofile: Add multilib support for armv7ve.
5337 * doc/invoke.texi: Document -march=armv7ve.
5338
4bfb2fa2
RB
53392014-01-29 Richard Biener <rguenther@suse.de>
5340
5341 PR tree-optimization/58742
5342 * tree-ssa-forwprop.c (associate_plusminus): Return true
5343 if we changed sth, defer EH cleanup to ...
5344 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
5345 (simplify_mult): New function.
5346
42eb8bd1
JJ
53472014-01-29 Jakub Jelinek <jakub@redhat.com>
5348
09b22f48
JJ
5349 PR middle-end/59917
5350 PR tree-optimization/59920
5351 * tree.c (build_common_builtin_nodes): Remove
5352 __builtin_setjmp_dispatcher initialization.
5353 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
5354 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
5355 instead of gsi_after_labels + manually skipping debug stmts.
5356 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
5357 ignore bbs with IFN_ABNORMAL_DISPATCHER.
5358 * tree-inline.c (copy_edges_for_bb): Remove
5359 can_make_abnormal_goto argument, instead add abnormal_goto_dest
5360 argument. Ignore computed_goto_p stmts. Don't call
5361 make_abnormal_goto_edges. If a call might need abnormal edges
5362 for non-local gotos, see if it already has an edge to
5363 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
5364 with true argument, don't do anything then, otherwise add
5365 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
5366 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
5367 caller.
5368 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
5369 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
5370 (lower_stmt): Don't set data->calls_builtin_setjmp.
5371 (lower_builtin_setjmp): Adjust comment.
5372 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
5373 * tree-cfg.c (found_computed_goto): Remove.
5374 (factor_computed_gotos): Remove.
5375 (make_goto_expr_edges): Return bool, true for computed gotos.
5376 Don't call make_abnormal_goto_edges.
5377 (build_gimple_cfg): Don't set found_computed_goto, don't call
5378 factor_computed_gotos.
5379 (computed_goto_p): No longer static.
5380 (make_blocks): Don't set found_computed_goto.
5381 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
5382 (make_edges): If make_goto_expr_edges returns true, push bb
5383 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
5384 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
5385 vector. Record mapping between bbs and OpenMP regions if there
5386 are any, adjust make_gimple_omp_edges caller. Call
5387 handle_abnormal_edges.
5388 (make_abnormal_goto_edges): Remove.
5389 * tree-cfg.h (make_abnormal_goto_edges): Remove.
5390 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
5391 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 5392 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
5393 * internal-fn.def (ABNORMAL_DISPATCHER): New.
5394 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
5395 filling *region also set *region_idx to (*region)->entry->index.
5396
42eb8bd1
JJ
5397 PR other/58712
5398 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
5399 For REGs set ORIGINAL_REGNO.
5400
4a271b7e
BM
54012014-01-29 Bingfeng Mei <bmei@broadcom.com>
5402
33425d6c 5403 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
5404 vec_widen_(s|u)mul_even/odd pair if it is less efficient
5405 than hi/lo pair.
5406
3d54b29d
JJ
54072014-01-29 Jakub Jelinek <jakub@redhat.com>
5408
5409 PR tree-optimization/59594
5410 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
5411 a copy of the datarefs vector rather than the vector itself.
5412
2e5e7103
JM
54132014-01-28 Jason Merrill <jason@redhat.com>
5414
5415 PR c++/53756
5416 * dwarf2out.c (auto_die): New static.
5417 (gen_type_die_with_usage): Handle C++1y 'auto'.
5418 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
5419 on definition.
5420
d5d618b5
L
54212014-01-28 H.J. Lu <hongjiu.lu@intel.com>
5422
5423 PR target/59672
5424 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
5425 (SPEC_X32): Likewise.
5426 (SPEC_64): Likewise.
5427 * config/i386/i386.c (ix86_option_override_internal): Turn off
5428 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
5429 for TARGET_16BIT.
5430 (x86_file_start): Output .code16gcc for TARGET_16BIT.
5431 * config/i386/i386.h (TARGET_16BIT): New macro.
5432 (TARGET_16BIT_P): Likewise.
5433 * config/i386/i386.opt: Add m16.
5434 * doc/invoke.texi: Document -m16.
5435
367c8286
DS
54362014-01-28 Jakub Jelinek <jakub@redhat.com>
5437
5438 PR preprocessor/59935
5439 * input.c (location_get_source_line): Bail out on when line number
33425d6c 5440 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 5441
07ec81f9
RB
54422014-01-28 Richard Biener <rguenther@suse.de>
5443
5444 PR tree-optimization/58742
5445 * tree-ssa-forwprop.c (associate_plusminus): Handle
5446 pointer subtraction of the form (T)(P + A) - (T)P.
5447
5facb998
KT
54482014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5449
5450 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
5451 at const_int_cost.
5452
e04faf24
RB
54532014-01-28 Richard Biener <rguenther@suse.de>
5454
5455 Revert
5456 2014-01-28 Richard Biener <rguenther@suse.de>
5457
5458 PR rtl-optimization/45364
5459 PR rtl-optimization/59890
5460 * var-tracking.c (local_get_addr_clear_given_value): Handle
5461 already cleared slot.
5462 (val_reset): Handle not allocated local_get_addr_cache.
5463 (vt_find_locations): Use post-order on the inverted CFG.
5464
6593260b
RB
54652014-01-28 Richard Biener <rguenther@suse.de>
5466
33425d6c 5467 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 5468
9ec2d2c1
RB
54692014-01-28 Richard Biener <rguenther@suse.de>
5470
5471 PR rtl-optimization/45364
5472 PR rtl-optimization/59890
5473 * var-tracking.c (local_get_addr_clear_given_value): Handle
5474 already cleared slot.
5475 (val_reset): Handle not allocated local_get_addr_cache.
5476 (vt_find_locations): Use post-order on the inverted CFG.
5477
2ceb362d
AM
54782014-01-28 Alan Modra <amodra@gmail.com>
5479
5480 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
5481 * configure.ac <recursive call for build != host>: Define
5482 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
5483 and LD_FOR_BUILD too.
5484 * configure: Regenerate.
5485
0ebe2584
ASJ
54862014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
5487
5488 * config/i386/i386.c (get_builtin_code_for_version): Separate
5489 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
5490 Broadwell from Haswell.
5491
a33fc7fe
SE
54922014-01-27 Steve Ellcey <sellcey@mips.com>
5493
5494 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
5495 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
5496 * config/mips/mips.c (mips_option_override): Change setting
5497 of TARGET_DSP.
5498 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
5499 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
5500 Change from Mask to Var.
a33fc7fe 5501
a99be3c9
JL
55022014-01-27 Jeff Law <law@redhat.com>
5503
5504 * ipa-inline.c (inline_small_functions): Fix typo.
5505
d256b866
IT
55062014-01-27 Ilya Tocar <ilya.tocar@intel.com>
5507
5508 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
5509 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
5510 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
5511 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
5512 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
5513 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
5514 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
5515 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
5516 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
5517 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
5518 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
5519 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
5520 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
5521 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
5522 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
5523 (_mm512_storeu_epi64): Ditto.
5524 (_mm512_cmpge_epi32_mask): Ditto.
5525 (_mm512_cmpge_epu32_mask): Ditto.
5526 (_mm512_cmpge_epi64_mask): Ditto.
5527 (_mm512_cmpge_epu64_mask): Ditto.
5528 (_mm512_cmple_epi32_mask): Ditto.
5529 (_mm512_cmple_epu32_mask): Ditto.
5530 (_mm512_cmple_epi64_mask): Ditto.
5531 (_mm512_cmple_epu64_mask): Ditto.
5532 (_mm512_cmplt_epi32_mask): Ditto.
5533 (_mm512_cmplt_epu32_mask): Ditto.
5534 (_mm512_cmplt_epi64_mask): Ditto.
5535 (_mm512_cmplt_epu64_mask): Ditto.
5536 (_mm512_cmpneq_epi32_mask): Ditto.
5537 (_mm512_cmpneq_epu32_mask): Ditto.
5538 (_mm512_cmpneq_epi64_mask): Ditto.
5539 (_mm512_cmpneq_epu64_mask): Ditto.
5540 (_mm512_expand_pd): Ditto.
5541 (_mm512_expand_ps): Ditto.
5542 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
5543 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
5544 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
5545 * config/i386/i386.c (ix86_builtins): Add
5546 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
5547 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
5548 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
5549 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
5550 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
5551 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
5552 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
5553 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
5554 IX86_BUILTIN_PMOVUSQW512_MEM.
5555 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
5556 __builtin_ia32_pmovsqd512mem_mask,
5557 __builtin_ia32_pmovqd512mem_mask,
5558 __builtin_ia32_pmovusqw512mem_mask,
5559 __builtin_ia32_pmovsqw512mem_mask,
5560 __builtin_ia32_pmovqw512mem_mask,
5561 __builtin_ia32_pmovusdw512mem_mask,
5562 __builtin_ia32_pmovsdw512mem_mask,
5563 __builtin_ia32_pmovdw512mem_mask,
5564 __builtin_ia32_pmovqb512mem_mask,
5565 __builtin_ia32_pmovusqb512mem_mask,
5566 __builtin_ia32_pmovsqb512mem_mask,
5567 __builtin_ia32_pmovusdb512mem_mask,
5568 __builtin_ia32_pmovsdb512mem_mask,
5569 __builtin_ia32_pmovdb512mem_mask.
5570 (bdesc_args): Add __builtin_ia32_expanddf512,
5571 __builtin_ia32_expandsf512.
5572 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
5573 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
5574 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
5575 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
5576 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
5577 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
5578 (avx512f_<code>v8div16qi2_mask_store): This.
5579 (avx512f_expand<mode>): New.
5580
e711dffd
KY
55812014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
5582
1287ae50 5583 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 5584 New.
e711dffd
KY
5585 (_mm512_mask_prefetch_i64gather_pd): Ditto.
5586 (_mm512_prefetch_i32scatter_pd): Ditto.
5587 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
5588 (_mm512_prefetch_i64scatter_pd): Ditto.
5589 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
5590 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
5591 (_mm512_mask_prefetch_i64gather_ps): Ditto.
5592 (_mm512_prefetch_i32scatter_ps): Ditto.
5593 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
5594 (_mm512_prefetch_i64scatter_ps): Ditto.
5595 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
5596 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
5597 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
5598 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
5599 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
5600 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
5601 IX86_BUILTIN_SCATTERPFQPD.
5602 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
5603 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
5604 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
5605 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
5606 __builtin_ia32_scatterpfqps.
5607 (ix86_expand_builtin): Expand new built-ins.
5608 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
5609 fix memory access data type.
5610 (*avx512pf_gatherpf<mode>_mask): Ditto.
5611 (*avx512pf_gatherpf<mode>): Ditto.
5612 (avx512pf_scatterpf<mode>): Ditto.
5613 (*avx512pf_scatterpf<mode>_mask): Ditto.
5614 (*avx512pf_scatterpf<mode>): Ditto.
5615 (GATHER_SCATTER_SF_MEM_MODE): New.
5616 (avx512pf_gatherpf<mode>df): Ditto.
5617 (*avx512pf_gatherpf<mode>df_mask): Ditto.
5618 (*avx512pf_scatterpf<mode>df): Ditto.
5619
904e5ccd
JJ
56202014-01-27 Jakub Jelinek <jakub@redhat.com>
5621
5622 PR bootstrap/59934
5623 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
5624 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
5625 reached.
5626
84e90123
JG
56272014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
5628
5629 * common/config/arm/arm-common.c
5630 (arm_rewrite_mcpu): Handle multiple names.
5631 * config/arm/arm.h
5632 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
5633
c6f6157a
JG
56342014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
5635
5636 * gimple-builder.h (create_gimple_tmp): Delete.
5637
770516c9
CB
56382014-01-27 Christian Bruel <christian.bruel@st.com>
5639
5640 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
5641 words comparisons.
5642
cc5cec10
JDA
56432014-01-26 John David Anglin <danglin@gcc.gnu.org>
5644
5aa3c762
JDA
5645 * config/pa/pa.md (call): Generate indirect long calls to non-local
5646 functions when outputing 32-bit code.
5647 (call_value): Likewise except for special call to buggy powf function.
5648
cc5cec10
JDA
5649 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
5650 portable runtime and PIC indirect calls.
5651 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
5652 and PIC call sequences. Use ldo instead of blr to set return register
5653 in PIC call sequence.
5654
6bb0e248
WL
56552014-01-25 Walter Lee <walt@tilera.com>
5656
5657 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
5658 avoid clobbering a live register.
5659
dab03fe3
WL
56602014-01-25 Walter Lee <walt@tilera.com>
5661
770516c9 5662 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 5663 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 5664 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
5665 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
5666
905c20c1
WL
56672014-01-25 Walter Lee <walt@tilera.com>
5668
5669 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
5670 arguments on even registers.
5671 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
5672 STACK_BOUNDARY.
5673 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
5674 (BIGGEST_ALIGNMENT): Ditto.
5675 (BIGGEST_FIELD_ALIGNMENT): Ditto.
5676
8e90a625
WL
56772014-01-25 Walter Lee <walt@tilera.com>
5678
5679 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
5680 insns before bundling.
0ebe2584 5681 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 5682
450c1ffe
WL
56832014-01-25 Walter Lee <walt@tilera.com>
5684
5685 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
5686 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
5687 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 5688
450c1ffe 56892014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 5690
317a951f
RS
5691 * config/mips/constraints.md (kl): Delete.
5692 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
5693 define expands, using...
5694 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
5695 instructions for MIPS16.
5696 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
5697 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
5698
3abe9053
WL
56992014-01-25 Walter Lee <walt@tilera.com>
5700
0ebe2584 5701 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
5702 (clzdi2): Ditto.
5703 (ffsdi2): Ditto.
5704
b0e0fe41
WL
57052014-01-25 Walter Lee <walt@tilera.com>
5706
5707 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
5708 (TARGET_EXPAND_TO_RTL_HOOK): Define.
5709
2c8798a2
RS
57102014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
5711
5712 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
5713 Handle XOR.
5714
2105be5a
JJ
57152014-01-25 Jakub Jelinek <jakub@redhat.com>
5716
4def6060
JJ
5717 * print-rtl.c (in_call_function_usage): New var.
5718 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
5719 EXPR_LIST mode as mode and not as reg note name.
5720
2105be5a
JJ
5721 PR middle-end/59561
5722 * cfgloopmanip.c (copy_loop_info): If
5723 loop->warned_aggressive_loop_optimizations, make sure
5724 the flag is set in target loop too.
5725
b72271b9
BI
57262014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
5727
5728 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
5729 flag_cilkplus.
5730 * builtins.def: Likewise.
5731 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
5732 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
5733 * ira.c (ira_setup_eliminable_regset): Likewise.
5734 * omp-low.c (gate_expand_omp): Likewise.
5735 (execute_lower_omp): Likewise.
5736 (diagnose_sb_0): Likewise.
5737 (gate_diagnose_omp_blocks): Likewise.
5738 (simd_clone_clauses_extract): Likewise.
5739 (gate): Likewise.
5740
8adcc78b
BS
57412014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5742
5743 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
5744 correction for little endian...
5745 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
5746 here.
5747
3d750496
JL
57482014-01-24 Jeff Law <law@redhat.com>
5749
5750 PR tree-optimization/59919
5751 * tree-vrp.c (find_assert_locations_1): Do not register asserts
5752 for non-returning calls.
5753
1c05df59
JG
57542014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
5755
5756 * common/config/aarch64/aarch64-common.c
5757 (aarch64_rewrite_mcpu): Handle multiple names.
5758 * config/aarch64/aarch64.h
5759 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
5760
317363b4
DS
57612014-01-24 Dodji Seketeli <dodji@redhat.com>
5762
5763 * input.c (add_file_to_cache_tab): Handle the case where fopen
5764 returns NULL.
5765
16370fa7
L
57662014-01-23 H.J. Lu <hongjiu.lu@intel.com>
5767
5768 PR target/59929
5769 * config/i386/i386.md (pushsf splitter): Get stack adjustment
5770 from push operand if code of push isn't PRE_DEC.
5771
b846c948
MM
57722014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
5773
5774 PR target/59909
5775 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
5776 -mquad-memory-atomic. Update -mquad-memory documentation to say
5777 it is only used for non-atomic loads/stores.
5778
5779 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
5780 -mquad-memory or -mquad-memory-atomic switches.
5781
5782 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
5783 -mquad-memory-atomic to ISA 2.07 support.
5784
5785 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
5786 to separate support of normal quad word memory operations (ldq, stq)
5787 from the atomic quad word memory operations.
b846c948
MM
5788
5789 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
5790 support to separate non-atomic quad word operations from atomic
5791 quad word operations. Disable non-atomic quad word operations in
5792 little endian mode so that we don't have to swap words after the
5793 load and before the store.
5794 (quad_load_store_p): Add comment about atomic quad word support.
5795 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
5796 options printed with -mdebug=reg.
5797
5798 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
5799 -mquad-memory-atomic as the test for whether we have quad word
5800 atomic instructions.
0ebe2584
ASJ
5801 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
5802 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
5803
5804 * config/rs6000/sync.md (load_lockedti): Insure that the address
5805 is a proper indexed or indirect address for the lqarx instruction.
5806 On little endian systems, swap the hi/lo registers after the lqarx
5807 instruction.
5808 (load_lockedpti): Use indexed_or_indirect_operand predicate to
5809 insure the address is valid for the lqarx instruction.
5810 (store_conditionalti): Insure that the address is a proper indexed
5811 or indirect address for the stqcrx. instruction. On little endian
5812 systems, swap the hi/lo registers before doing the stqcrx.
5813 instruction.
5814 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
5815 insure the address is valid for the stqcrx. instruction.
5816
5817 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
5818 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
5819 type of quad memory support is available.
5820
6e23f296
VM
58212014-01-23 Vladimir Makarov <vmakarov@redhat.com>
5822
5823 PR regression/59915
5824 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
5825 there is a danger of looping.
5826
0a4f04e5
PH
58272014-01-23 Pat Haugen <pthaugen@us.ibm.com>
5828
5829 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
5830 force flag_ira_loop_pressure if set via command line.
5831
f9a4c9a6
AV
58322014-01-23 Alex Velenko <Alex.Velenko@arm.com>
5833
5834 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
5835 (ashr_simd): New builtin handling DI mode.
5836 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
5837 (aarch64_sshr_simddi): New match pattern.
5838 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
5839 (vshrd_n_s64): Likewise.
5840 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
5841
949ad971
NC
58422014-01-23 Nick Clifton <nickc@redhat.com>
5843
5844 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
5845 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
5846 favour of mcu specific scripts.
5847 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
5848 430x multilibs.
5849
d5ecead9
JG
58502014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
5851 Alex Velenko <Alex.Velenko@arm.com>
5852
5853 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
5854 (vaddv_s16): Likewise.
5855 (vaddv_s32): Likewise.
5856 (vaddv_u8): Likewise.
5857 (vaddv_u16): Likewise.
5858 (vaddv_u32): Likewise.
5859 (vaddvq_s8): Likewise.
5860 (vaddvq_s16): Likewise.
5861 (vaddvq_s32): Likewise.
5862 (vaddvq_s64): Likewise.
5863 (vaddvq_u8): Likewise.
5864 (vaddvq_u16): Likewise.
5865 (vaddvq_u32): Likewise.
5866 (vaddvq_u64): Likewise.
5867 (vaddv_f32): Likewise.
5868 (vaddvq_f32): Likewise.
5869 (vaddvq_f64): Likewise.
5870 (vmaxv_f32): Likewise.
5871 (vmaxv_s8): Likewise.
5872 (vmaxv_s16): Likewise.
5873 (vmaxv_s32): Likewise.
5874 (vmaxv_u8): Likewise.
5875 (vmaxv_u16): Likewise.
5876 (vmaxv_u32): Likewise.
5877 (vmaxvq_f32): Likewise.
5878 (vmaxvq_f64): Likewise.
5879 (vmaxvq_s8): Likewise.
5880 (vmaxvq_s16): Likewise.
5881 (vmaxvq_s32): Likewise.
5882 (vmaxvq_u8): Likewise.
5883 (vmaxvq_u16): Likewise.
5884 (vmaxvq_u32): Likewise.
5885 (vmaxnmv_f32): Likewise.
5886 (vmaxnmvq_f32): Likewise.
5887 (vmaxnmvq_f64): Likewise.
5888 (vminv_f32): Likewise.
5889 (vminv_s8): Likewise.
5890 (vminv_s16): Likewise.
5891 (vminv_s32): Likewise.
5892 (vminv_u8): Likewise.
5893 (vminv_u16): Likewise.
5894 (vminv_u32): Likewise.
5895 (vminvq_f32): Likewise.
5896 (vminvq_f64): Likewise.
5897 (vminvq_s8): Likewise.
5898 (vminvq_s16): Likewise.
5899 (vminvq_s32): Likewise.
5900 (vminvq_u8): Likewise.
5901 (vminvq_u16): Likewise.
5902 (vminvq_u32): Likewise.
5903 (vminnmv_f32): Likewise.
5904 (vminnmvq_f32): Likewise.
5905 (vminnmvq_f64): Likewise.
5906
1dd055a2
JG
59072014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
5908
5909 * config/aarch64/aarch64-simd.md
5910 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
5911 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
5912 (*aarch64_mul3_elt<mode>): Likewise.
5913 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
5914 (*aarch64_mul3_elt_to_64v2df): Likewise.
5915 (*aarch64_mla_elt<mode>): Likewise.
5916 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
5917 (*aarch64_mls_elt<mode>): Likewise.
5918 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
5919 (*aarch64_fma4_elt<mode>): Likewise.
5920 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
5921 (*aarch64_fma4_elt_to_64v2df): Likewise.
5922 (*aarch64_fnma4_elt<mode>): Likewise.
5923 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
5924 (*aarch64_fnma4_elt_to_64v2df): Likewise.
5925 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
5926 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
5927 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
5928 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
5929 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
5930 (aarch64_sqdmull_lane<mode>_internal): Likewise.
5931 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
5932
dafb9b64
AV
59332013-01-23 Alex Velenko <Alex.Velenko@arm.com>
5934
5935 * config/aarch64/aarch64-simd.md
5936 (aarch64_be_checked_get_lane<mode>): New define_expand.
5937 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 5938 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
5939 New builtin definition.
5940 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
5941 Use new safe be builtin.
5942
89b4515c
AV
59432014-01-23 Alex Velenko <Alex.Velenko@arm.com>
5944
5945 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
5946 New define_insn.
5947 (aarch64_be_st1<mode>): Likewise.
5948 (aarch_ld1<VALL:mode>): Define_expand modified.
5949 (aarch_st1<VALL:mode>): Likewise.
5950 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
5951 (UNSPEC_ST1): Likewise.
5952
4bb66ef3 59532014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
5954
5955 * config/microblaze/microblaze.md: Add trap insn and attribute
5956
7ecc3eb9
DS
59572014-01-23 Dodji Seketeli <dodji@redhat.com>
5958
5959 PR preprocessor/58580
5960 * input.h (location_get_source_line): Take an additional line_size
5961 parameter.
5962 (void diagnostics_file_cache_fini): Declare new function.
5963 * input.c (struct fcache): New type.
5964 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
5965 New static constants.
5966 (diagnostic_file_cache_init, total_lines_num)
5967 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
5968 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
5969 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
5970 (get_next_line, read_next_line, goto_next_line, read_line_num):
5971 New static function definitions.
5972 (diagnostic_file_cache_fini): New function.
5973 (location_get_source_line): Take an additional output line_len
5974 parameter. Re-write using lookup_or_add_file_to_cache_tab and
5975 read_line_num.
5976 * diagnostic.c (diagnostic_finish): Call
5977 diagnostic_file_cache_fini.
5978 (adjust_line): Take an additional input parameter for the length
5979 of the line, rather than calculating it with strlen.
5980 (diagnostic_show_locus): Adjust the use of
5981 location_get_source_line and adjust_line with respect to their new
5982 signature. While displaying a line now, do not stop at the first
5983 null byte. Rather, display the zero byte as a space and keep
5984 going until we reach the size of the line.
5985 * Makefile.in: Add vec.o to OBJS-libcommon
5986
2196a885
KY
59872014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
5988 Ilya Tocar <ilya.tocar@intel.com>
5989
5990 * config/i386/avx512fintrin.h (_mm512_kmov): New.
5991 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
5992 (__builtin_ia32_kmov16): Ditto.
5993 * config/i386/i386.md (UNSPEC_KMOV): New.
5994 (kmovw): Ditto.
5995
70473c63
KY
59962014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
5997
5998 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
5999 (_mm512_storeu_si512): Ditto.
6000
f9ae4df8
RS
60012014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
6002
6003 PR target/52125
6004 * rtl.h (get_referenced_operands): Declare.
6005 * recog.c (get_referenced_operands): New function.
6006 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
6007 operands have been referenced when recording LO_SUM references.
6008
4bb66ef3 60092014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
6010
6011 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
6012
39960d1c 60132014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
6014
6015 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
6016 Enable for generic and recent AMD targets.
6017
39960d1c 60182014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
6019
6020 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
6021 ARG_SIZE note when adjustment was eliminated.
6022
bb50b870
JL
60232014-01-22 Jeff Law <law@redhat.com>
6024
6025 PR tree-optimization/59597
6026 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
6027 in file. Accept new argument REGISTERING and use it to modify
6028 dump output appropriately.
6029 (register_jump_thread): Corresponding changes.
6030 (mark_threaded_blocks): Reinstate code to cancel unprofitable
6031 thread paths involving joiner blocks. Add code to dump cancelled
6032 jump threading paths.
6033
df2980be
VM
60342014-01-22 Vladimir Makarov <vmakarov@redhat.com>
6035
6036 PR rtl-optimization/59477
6037 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 6038 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 6039
1bb99900
TT
60402014-01-22 Tom Tromey <tromey@redhat.com>
6041
6042 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
6043 PARAMS.
6044 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
6045
9102dadd
VM
60462014-01-21 Vladimir Makarov <vmakarov@redhat.com>
6047
6048 PR rtl-optimization/59896
6049 * lra-constraints.c (process_alt_operands): Check unused note for
6050 matched operands of insn with no output reloads.
6051
ca376eb8
RS
60522014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
6053
6054 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
6055 (mips_move_from_gpr_cost): Likewise.
6056
a9711f36
VM
60572014-01-21 Vladimir Makarov <vmakarov@redhat.com>
6058
6059 PR rtl-optimization/59858
6060 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
6061 ira_class_hard_regs_num.
6062 (process_alt_operands): Increase reject for dying matched operand.
6063
f8ea7cb0
JJ
60642014-01-21 Jakub Jelinek <jakub@redhat.com>
6065
6066 PR target/59003
6067 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
6068 smaller than size, perform several stores or loads and stores
6069 at dst + count - size to store or copy all of size bytes, rather
6070 than just last modesize bytes.
6071
84db09e3
DD
60722014-01-20 DJ Delorie <dj@redhat.com>
6073
6074 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
6075 that CLOBBERs are REGs before propogating their values.
6076
1cf11770
L
60772014-01-20 H.J. Lu <hongjiu.lu@intel.com>
6078
6079 PR middle-end/59789
6080 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
6081 (cgraph_inline_failed_type): New function.
6082 * cgraph.h (DEFCIFCODE): Add type.
6083 (cgraph_inline_failed_type_t): New enum.
6084 (cgraph_inline_failed_type): New prototype.
6085 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
6086 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
6087 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
6088 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
6089 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
6090 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
6091 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 6092 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
6093 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
6094 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
6095 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
6096 OPTIMIZATION_MISMATCH.
6097 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 6098 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 6099
8586e4bd
UB
61002014-01-20 Uros Bizjak <ubizjak@gmail.com>
6101
6102 PR target/59685
6103 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
6104 mode attribute in insn output.
6105
99482090
EB
61062014-01-20 Eric Botcazou <ebotcazou@adacore.com>
6107
6108 * output.h (output_constant): Delete.
6109 * varasm.c (output_constant): Make private.
6110
ede23272
AV
61112014-01-20 Alex Velenko <Alex.Velenko@arm.com>
6112
6113 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
6114
9a7eefec
JJ
61152014-01-20 Jakub Jelinek <jakub@redhat.com>
6116
6117 PR middle-end/59860
6118 * tree.h (fold_builtin_strcat): New prototype.
6119 * builtins.c (fold_builtin_strcat): No longer static. Add len
6120 argument, if non-NULL, don't call c_strlen. Optimize
6121 directly into __builtin_memcpy instead of __builtin_strcpy.
6122 (fold_builtin_2): Adjust fold_builtin_strcat caller.
6123 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
6124
3e729145
UB
61252014-01-20 Uros Bizjak <ubizjak@gmail.com>
6126
6127 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
6128 for SImode_address_operand operands, having only a REG argument.
6129
eee0e487
MS
61302014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
6131
6132 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
6133 loader name using mbig-endian.
6134 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
6135
9e540e37
JG
61362014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
6137
6138 * doc/invoke.texi (-march): Clarify documentation for AArch64.
6139 (-mtune): Likewise.
6140 (-mcpu): Likewise.
6141
69675d50
TB
61422014-01-20 Tejas Belagod <tejas.belagod@arm.com>
6143
6144 * config/aarch64/aarch64-protos.h
6145 (aarch64_cannot_change_mode_class_ptr): Declare.
6146 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
6147 aarch64_cannot_change_mode_class_ptr): New.
6148 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
6149 backend hook aarch64_cannot_change_mode_class.
6150
ffee7aa9
JG
61512014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
6152
6153 * common/config/aarch64/aarch64-common.c
6154 (aarch64_handle_option): Don't handle any option order logic here.
6155 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
6156 selected_cpu, warn on architecture version mismatch.
6157 (aarch64_override_options): Fix parsing order for option strings.
6158
c7169779
JBG
61592014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
6160 Iain Sandoe <iain@codesourcery.com>
6161
6162 PR bootstrap/59496
6163 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
6164 warning. Amend comment to reflect current functionality.
6165
409b6ac1
RB
61662014-01-20 Richard Biener <rguenther@suse.de>
6167
6168 PR middle-end/59860
6169 * builtins.c (fold_builtin_strcat): Remove case better handled
6170 by tree-ssa-strlen.c.
6171
608df31f
AL
61722014-01-20 Alan Lawrence <alan.lawrence@arm.com>
6173
6174 * config/aarch64/aarch64.opt
6175 (mcpu, march, mtune): Make case-insensitive.
6176
0fabe5f3
JJ
61772014-01-20 Jakub Jelinek <jakub@redhat.com>
6178
6179 PR target/59880
6180 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
6181 if operands[1] is a REG or ZERO_EXTEND of a REG.
6182
39960d1c 61832014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
6184
6185 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
6186
925cb97d
JDA
61872014-01-19 John David Anglin <danglin@gcc.gnu.org>
6188
6189 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
6190 long non-pic millicode calls.
6191
f43856db
JBG
61922014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
6193
6194 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
6195
d2be9965
ILT
61962014-01-19 Kito Cheng <kito@0xlab.org>
6197
6198 * builtins.c (expand_movstr): Check movstr expand done or fail.
6199
efc90043
UB
62002014-01-18 Uros Bizjak <ubizjak@gmail.com>
6201 H.J. Lu <hongjiu.lu@intel.com>
6202
6203 PR target/59379
6204 * config/i386/i386.md (*lea<mode>): Zero-extend return register
6205 to DImode for zero-extended addresses.
6206
8fce217e
JJ
62072014-01-19 Jakub Jelinek <jakub@redhat.com>
6208
6209 PR rtl-optimization/57763
6210 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
6211 on the new indirect jump_insn and increment LABEL_NUSES (label).
6212
efc90043 62132014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
6214
6215 PR bootstrap/59580
6216 PR bootstrap/59583
6217 * config.gcc (x86_archs): New variable.
6218 (x86_64_archs): Likewise.
6219 (x86_cpus): Likewise.
6220 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
6221 --with-arch/--with-cpu= options.
6222 Support --with-arch=/--with-cpu={nehalem,westmere,
6223 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
6224
7f3af6d3
UB
62252014-01-18 Uros Bizjak <ubizjak@gmail.com>
6226
6227 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
6228 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
6229
62302014-01-18 Uros Bizjak <ubizjak@gmail.com>
6231
6232 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
6233
fa5d6c75
JJ
62342014-01-18 Jakub Jelinek <jakub@redhat.com>
6235
6236 PR target/58944
6237 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
6238 clear cpp_get_options (parse_in)->warn_unused_macros for
6239 ix86_target_macros_internal with cpp_define.
6240
04da5680
RS
62412014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
6242
6243 * jump.c (delete_related_insns): Keep (use (insn))s.
6244 * reorg.c (redundant_insn): Check for barriers too.
6245
1e99bee5
L
62462014-01-17 H.J. Lu <hongjiu.lu@intel.com>
6247
7f3af6d3 6248 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 6249
fa7d0c60
JDA
62502014-01-17 John David Anglin <danglin@gcc.gnu.org>
6251
6252 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
6253 call to $$dyncall when TARGET_LONG_CALLS is true.
6254
2043135a
JL
62552014-01-17 Jeff Law <law@redhat.com>
6256
6257 * ree.c (combine_set_extension): Temporarily disable test for
6258 changing number of hard registers.
6259
39960d1c 62602014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
6261
6262 PR middle-end/58125
6263 * ipa-inline-analysis.c (inline_free_summary):
6264 Do not free summary of aliases.
6265
664ceb1e
JJ
62662014-01-17 Jakub Jelinek <jakub@redhat.com>
6267
6268 PR middle-end/59706
6269 * gimplify.c (gimplify_expr): Use create_tmp_var
6270 instead of create_tmp_var_raw. If cond doesn't have
6271 integral type, don't add the IFN_ANNOTATE builtin at all.
6272
aef83682
MJ
62732014-01-17 Martin Jambor <mjambor@suse.cz>
6274
6275 PR ipa/59736
6276 * ipa-cp.c (prev_edge_clone): New variable.
6277 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
6278 Also resize prev_edge_clone vector.
6279 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
6280 (ipcp_edge_removal_hook): New function.
6281 (ipcp_driver): Register ipcp_edge_removal_hook.
6282
4bb66ef3 62832014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
6284 Steve Ellcey <sellcey@mips.com>
6285
6286 PR target/59462
6287 * config/mips/mips.c (mips_print_operand): Check operand mode instead
6288 of operator mode.
6289
4ee5c752
JL
62902014-01-17 Jeff Law <law@redhat.com>
6291
6292 PR middle-end/57904
6293 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
6294 so that pass_ccp runs first.
6295
40cfac7c
L
62962014-01-17 H.J. Lu <hongjiu.lu@intel.com>
6297
6298 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
6299 (ix86_adjust_cost): Use !TARGET_XXX.
6300 (do_reorder_for_imul): Likewise.
6301 (swap_top_of_ready_list): Likewise.
6302 (ix86_sched_reorder): Likewise.
6303
9a7f94d7
L
63042014-01-17 H.J. Lu <hongjiu.lu@intel.com>
6305
6306 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
6307 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
6308 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
6309 (intel_memset): New. Duplicate slm_memset.
6310 (intel_cost): New. Duplicate slm_cost.
6311 (m_INTEL): New macro.
6312 (processor_target_table): Add "intel".
6313 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
6314 with PROCESSOR_INTEL for "intel".
6315 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
6316 PROCESSOR_SILVERMONT.
9a7f94d7
L
6317 (ix86_issue_rate): Likewise.
6318 (ix86_adjust_cost): Likewise.
6319 (ia32_multipass_dfa_lookahead): Likewise.
6320 (swap_top_of_ready_list): Likewise.
6321 (ix86_sched_reorder): Likewise.
8cdcf750
L
6322 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
6323 instead of TARGET_OPT_AGU.
9a7f94d7
L
6324 * config/i386/i386.h (TARGET_INTEL): New.
6325 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
6326 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
6327 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
6328 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 6329
30078c0a
MP
63302014-01-17 Marek Polacek <polacek@redhat.com>
6331
6332 PR c/58346
6333 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
6334 size is zero.
6335
14379e66
RB
63362014-01-17 Richard Biener <rguenther@suse.de>
6337
6338 PR tree-optimization/46590
6339 * opts.c (default_options_table): Add entries for
6340 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
6341 all enabled at -O1 but not for -Og.
6342 * common.opt (fbranch-count-reg): Remove Init(1).
6343 (fmove-loop-invariants): Likewise.
6344 (ftree-pta): Likewise.
6345
f7d594d2
JJ
63462014-01-17 Jakub Jelinek <jakub@redhat.com>
6347
88e18bd5
JJ
6348 * config/i386/i386.c (ix86_data_alignment): For compatibility with
6349 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
6350 decls to at least the GCC 4.8 used alignments.
6351
f7d594d2
JJ
6352 PR fortran/59440
6353 * tree-nested.c (convert_nonlocal_reference_stmt,
6354 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
6355 of GIMPLE_BIND stmts, adjust associated decls.
6356
32500433
RB
63572014-01-17 Richard Biener <rguenther@suse.de>
6358
6359 PR tree-optimization/46590
6360 * vec.h (vec<>::bseach): New member function implementing
6361 binary search according to C89 bsearch.
6362 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
6363 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
6364 bitmap pointer again. Make accesses_in_loop a flat array.
6365 (mem_ref_obstack): New global.
6366 (outermost_indep_loop): Adjust for mem_ref->stored changes.
6367 (mark_ref_stored): Likewise.
6368 (ref_indep_loop_p_2): Likewise.
6369 (set_ref_stored_in_loop): New helper function.
6370 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
6371 (memref_free): Adjust.
6372 (record_mem_ref_loc): Simplify.
6373 (gather_mem_refs_stmt): Adjust.
6374 (sort_locs_in_loop_postorder_cmp): New function.
6375 (analyze_memory_references): Sort accesses_in_loop after
6376 loop postorder number.
6377 (find_ref_loc_in_loop_cmp): New function.
6378 (for_all_locs_in_loop): Find relevant cluster of locs in
6379 accesses_in_loop and iterate without recursion.
6380 (execute_sm): Avoid uninit warning.
6381 (struct ref_always_accessed): Simplify.
6382 (ref_always_accessed::operator ()): Likewise.
6383 (ref_always_accessed_p): Likewise.
6384 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
6385 loop postorder numbers here.
6386 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
6387 numbers.
6388
24fcf4bc
JJ
63892014-01-17 Jan Hubicka <hubicka@ucw.cz>
6390
6391 PR c++/57945
6392 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
6393 on decls for which assemble_alias has been called.
6394
d4f283a1
NC
63952014-01-17 Nick Clifton <nickc@redhat.com>
6396
6397 * config/msp430/msp430.opt: (mcpu): New option.
6398 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
6399 (msp430_option_override): Parse target_cpu. If the MCU name
6400 matches a generic string, clear target_mcu.
6401 (msp430_attr): Allow numeric interrupt values up to 63.
6402 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
6403 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
6404 option.
6405 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
6406 Add mcpu matches.
6407 * config/msp430/msp430.md (popm): Use %J rather than %I.
6408 (addsi3): Use msp430_nonimmediate_operand for operand 2.
6409 (addhi_cy_i): Use immediate_operand for operand 2.
6410 * doc/invoke.texi: Document -mcpu option.
6411
7be64667
RB
64122014-01-17 Richard Biener <rguenther@suse.de>
6413
6414 PR rtl-optimization/38518
6415 * df.h (df_analyze_loop): Declare.
6416 * df-core.c: Include cfgloop.h.
6417 (df_analyze_1): Split out main part of df_analyze.
6418 (df_analyze): Adjust.
6419 (loop_inverted_post_order_compute): New function.
6420 (loop_post_order_compute): Likewise.
6421 (df_analyze_loop): New function avoiding whole-function
6422 postorder computes.
6423 * loop-invariant.c (find_defs): Use df_analyze_loop.
6424 (find_invariants): Adjust.
6425 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
6426
82a197a2
ZC
64272014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
6428
6429 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
6430 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
6431
c68b3f52
IE
64322014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
6433
6434 * ipa-ref.c (ipa_remove_stmt_references): Fix references
6435 traversal when removing references.
6436
39960d1c 64372014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
6438
6439 PR ipa/59775
6440 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
6441
9e6f9ad6
BS
64422014-01-16 Bernd Schmidt <bernds@codesourcery.com>
6443
6444 PR middle-end/56791
6445 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
6446 pushing a reload for an autoinc when we had previously reloaded an
6447 inner part of the address.
6448
a611d7cb
JJ
64492014-01-16 Jakub Jelinek <jakub@redhat.com>
6450
d1417442
JJ
6451 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
6452 field.
6453 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
6454 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
6455 when not giving up or versioning for alias only because of
6456 loop->safelen.
6457 (vect_analyze_data_ref_dependences): Set to true.
6458 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
6459 is a GIMPLE_PHI.
6460 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
6461 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
6462 to the condition.
6463
42ed6cde
JJ
6464 PR middle-end/58344
6465 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
6466
a611d7cb 6467 PR target/59839
7f3af6d3
UB
6468 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
6469 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 6470
8f21260c
VM
64712014-01-16 Vladimir Makarov <vmakarov@redhat.com>
6472
6473 PR middle-end/59609
7f3af6d3
UB
6474 * lra-constraints.c (process_alt_operands): Add printing debug info.
6475 Check absence of input/output reloads for matched operands too.
8f21260c 6476
1a788c05
VM
64772014-01-16 Vladimir Makarov <vmakarov@redhat.com>
6478
6479 PR rtl-optimization/59835
6480 * ira.c (ira_init_register_move_cost): Increase cost for
6481 impossible modes.
6482
4cf24d27
AL
64832014-01-16 Alan Lawrence <alan.lawrence@arm.com>
6484
cc3a9f0d 6485 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 6486
030d03b8
RE
64872014-01-16 Richard Earnshaw <rearnsha@arm.com>
6488
6489 PR target/59780
6490 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
6491 non-register objects. Use gen_(high/low)part more consistently.
6492 Fix assertions.
6493
e78f06a8
MM
64942014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
6495
6496 PR target/59844
6497 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
6498 endian support, remove tests for WORDS_BIG_ENDIAN.
6499 (p8_mfvsrd_3_<mode>): Likewise.
6500 (reload_gpr_from_vsx<mode>): Likewise.
6501 (reload_gpr_from_vsxsf): Likewise.
6502 (p8_mfvsrd_4_disf): Likewise.
6503
9d1ae52c
RB
65042014-01-16 Richard Biener <rguenther@suse.de>
6505
6506 PR rtl-optimization/46590
6507 * lcm.c (compute_antinout_edge): Use postorder iteration.
6508 (compute_laterin): Use inverted postorder iteration.
6509
54c7a7f3
NC
65102014-01-16 Nick Clifton <nickc@redhat.com>
6511
6512 PR middle-end/28865
6513 * varasm.c (output_constant): Return the number of bytes actually
6514 emitted.
6515 (output_constructor_array_range): Update the field size with the
6516 number of bytes emitted by output_constant.
6517 (output_constructor_regular_field): Likewise. Also do not
6518 complain if the total number of bytes emitted is now greater
6519 than the expected fieldpos.
7f3af6d3 6520 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 6521
5147d10a
MP
65222014-01-16 Marek Polacek <polacek@redhat.com>
6523
6524 PR middle-end/59827
6525 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
6526 it is error_mark_node.
6527
4ac005ba
UB
65282014-01-15 Uros Bizjak <ubizjak@gmail.com>
6529
6530 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
6531 VALID_AVX256_REG_OR_OI_MODE.
6532
5d7574fa
PH
65332014-01-15 Pat Haugen <pthaugen@us.ibm.com>
6534
6535 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
6536 current procedure should be profiled.
6537
6ee70f81
AP
65382014-01-15 Andrew Pinski <apinski@cavium.com>
6539
6540 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
6541 of moving from/to the STACK_REG register class.
6542
004a7e45 65432014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
6544
6545 PR debug/54694
6546 * reginfo.c (global_regs_decl): Globalize.
6547 * rtl.h (global_regs_decl): Declare.
6548 * ira.c (do_reload): Diagnose frame_pointer_needed and it
6549 reserved via global_regs.
6550
4583fada
TJ
65512014-01-15 Teresa Johnson <tejohnson@google.com>
6552
6553 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
6554
d13dfec8
BS
65552014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
6556
6557 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
6558 and vmulosh rather than call gen_vec_widen_smult_*.
6559 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
6560 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
6561 (vec_widen_smult_even_v16qi): Likewise.
6562 (vec_widen_umult_even_v8hi): Likewise.
6563 (vec_widen_smult_even_v8hi): Likewise.
6564 (vec_widen_umult_odd_v16qi): Likewise.
6565 (vec_widen_smult_odd_v16qi): Likewise.
6566 (vec_widen_umult_odd_v8hi): Likewise.
6567 (vec_widen_smult_odd_v8hi): Likewise.
6568 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
6569 vmuloub rather than call gen_vec_widen_umult_*.
6570 (vec_widen_umult_lo_v16qi): Likewise.
6571 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
6572 vmulosb rather than call gen_vec_widen_smult_*.
6573 (vec_widen_smult_lo_v16qi): Likewise.
6574 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
6575 rather than call gen_vec_widen_umult_*.
6576 (vec_widen_umult_lo_v8hi): Likewise.
6577 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
6578 rather than call gen_vec_widen_smult_*.
6579 (vec_widen_smult_lo_v8hi): Likewise.
6580
a6a2d67b
JL
65812014-01-15 Jeff Law <law@redhat.com>
6582
6583 PR tree-optimization/59747
6584 * ree.c (find_and_remove_re): Properly handle case where a second
6585 eliminated extension requires widening a copy created for elimination
6586 of a prior extension.
6587 (combine_set_extension): Ensure that the number of hard regs needed
6588 for a destination register does not change when we widen it.
6589
aefe4056
SH
65902014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
6591
6592 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
6593 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
6594 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
6595 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
6596 (avr-*-rtems*): Likewise.
6597 (bfin*-rtems*): Likewise.
6598 (moxie-*-rtems*): Likewise.
6599 (h8300-*-rtems*): Likewise.
6600 (i[34567]86-*-rtems*): Likewise.
6601 (lm32-*-rtems*): Likewise.
6602 (m32r-*-rtems*): Likewise.
6603 (m68k-*-rtems*): Likewise.
6604 (microblaze*-*-rtems*): Likewise.
6605 (mips*-*-rtems*): Likewise.
6606 (powerpc-*-rtems*): Likewise.
6607 (sh-*-rtems*): Likewise.
6608 (sparc-*-rtems*): Likewise.
6609 (sparc64-*-rtems*): Likewise.
6610 (v850-*-rtems*): Likewise.
6611 (m32c-*-rtems*): Likewise.
6612
fef37404
VM
66132014-01-15 Vladimir Makarov <vmakarov@redhat.com>
6614
6615 PR rtl-optimization/59511
6616 * ira.c (ira_init_register_move_cost): Use memory costs for some
6617 cases of register move cost calculations.
6618 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
6619 instead of BB frequency.
6620 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
6621 * lra-assigns.c (find_hard_regno_for): Ditto.
6622
6b916b36
RB
66232014-01-15 Richard Biener <rguenther@suse.de>
6624
6625 PR tree-optimization/59822
6626 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
6627 (vectorizable_load): Use it to hoist defs of uses of invariant
6628 loads out of the loop.
6629
d103f29b 66302014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 6631 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
6632
6633 PR target/59695
6634 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
6635 truncation.
6636
95cb8697
RB
66372014-01-15 Richard Biener <rguenther@suse.de>
6638
6639 PR rtl-optimization/59802
6640 * lcm.c (compute_available): Use inverted postorder to seed
6641 the initial worklist.
6642
cb4b6d17
AK
66432014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6644
1c8b5303 6645 PR target/59803
cb4b6d17
AK
6646 * config/s390/s390.c (s390_preferred_reload_class): Don't return
6647 ADDR_REGS for invalid symrefs in non-PIC code.
6648
2738b4c7
JJ
66492014-01-15 Jakub Jelinek <jakub@redhat.com>
6650
6651 PR other/58712
6652 * builtins.c (determine_block_size): Initialize *probable_max_size
6653 even if len_rtx is CONST_INT.
6654
d126a4ae
AP
66552014-01-14 Andrew Pinski <apinski@cavium.com>
6656
6657 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
6658 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
6659 (cortexa53_tunings): Likewise.
6660 (aarch64_sched_issue_rate): New function.
6661 (TARGET_SCHED_ISSUE_RATE): Define.
6662
dc687582
VM
66632014-01-14 Vladimir Makarov <vmakarov@redhat.com>
6664
6665 * ira-costs.c (find_costs_and_classes): Add missed
6666 ira_init_register_move_cost_if_necessary.
6667
e940b2ec
VM
66682014-01-14 Vladimir Makarov <vmakarov@redhat.com>
6669
6670 PR target/59787
6671 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
6672
3292e376
L
66732014-01-14 H.J. Lu <hongjiu.lu@intel.com>
6674
6675 PR target/59794
6676 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
6677 to indicate if type is used for function return value. Warn ABI
6678 change if the vector mode isn't available for function return value.
3292e376
L
6679 (ix86_function_arg_advance): Pass false to type_natural_mode.
6680 (ix86_function_arg): Likewise.
6681 (ix86_gimplify_va_arg): Likewise.
6682 (function_arg_32): Don't warn ABI change.
6683 (ix86_function_value): Pass true to type_natural_mode.
6684 (ix86_return_in_memory): Likewise.
6685 (ix86_struct_value_rtx): Removed.
6686 (TARGET_STRUCT_VALUE_RTX): Likewise.
6687
db930875
RS
66882014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
6689
6690 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
6691 converting a conditional jump into a conditional return.
6692
a0e35eb0
RB
66932014-01-14 Richard Biener <rguenther@suse.de>
6694
6695 PR tree-optimization/58921
6696 PR tree-optimization/59006
6697 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
6698 hoisting invariant stmts.
6699 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
6700 invariant loads on the preheader edge if possible.
6701
a984e92e
JY
67022014-01-14 Joey Ye <joey.ye@arm.com>
6703
6704 * doc/plugin.texi (Building GCC plugins): Update to C++.
6705
c56a42b9
KY
67062014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
6707
3292e376 6708 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
6709 (_mm_rcp28_round_ss): Ditto.
6710 (_mm_rsqrt28_round_sd): Ditto.
6711 (_mm_rsqrt28_round_ss): Ditto.
6712 (_mm_rcp28_sd): Ditto.
6713 (_mm_rcp28_ss): Ditto.
6714 (_mm_rsqrt28_sd): Ditto.
6715 (_mm_rsqrt28_ss): Ditto.
6716 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
6717 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
6718 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
6719 (IX86_BUILTIN_RCP28SD): Ditto.
6720 (IX86_BUILTIN_RCP28SS): Ditto.
6721 (IX86_BUILTIN_RSQRT28SD): Ditto.
6722 (IX86_BUILTIN_RSQRT28SS): Ditto.
6723 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
6724 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
6725 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
6726 (ix86_expand_special_args_builtin): Expand new FTYPE.
6727 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
6728 (srcp14<mode>): Make insn unary.
6729 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
6730 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
6731 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
6732 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
6733 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
6734 Fix rounding: make it SAE only.
4ac005ba
UB
6735 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
6736 Ditto.
6737 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
6738 Ditto.
c56a42b9
KY
6739 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
6740 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
6741 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
6742 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
6743 (round_saeonly_mask_scalar_operand4): Ditto.
6744 (round_saeonly_mask_scalar_op3): Ditto.
6745 (round_saeonly_mask_scalar_op4): Ditto.
6746
09fccb62
BS
67472014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6748
6749 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
6750 Implement -maltivec=be for vec_insert and vec_extract.
6751
fb28dac0
DD
67522014-01-10 DJ Delorie <dj@redhat.com>
6753
6754 * config/msp430/msp430.md (call_internal): Don't allow memory
6755 references with SP as the base register.
6756 (call_value_internal): Likewise.
6757 * config/msp430/constraints.md (Yc): New. For memory references
6758 that don't use SP as a base register.
6759
6760 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
6761 "an integer without a # prefix"
6762 * config/msp430/msp430.md (epilogue_helper): Use it.
6763
19e51b40
JJ
67642014-01-13 Jakub Jelinek <jakub@redhat.com>
6765
03b9e8e4
JJ
6766 PR target/59617
6767 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
6768 AVX512F gather builtins.
6769 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
6770 on gather decls with INTEGER_TYPE masktype.
6771 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
6772 directly into the builtin rather than hoisting it before loop.
6773
19e51b40
JJ
6774 PR tree-optimization/59387
6775 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
6776 (scev_const_prop): If folded_casts and type has undefined overflow,
6777 use force_gimple_operand instead of force_gimple_operand_gsi and
6778 for each added stmt if it is assign with
6779 arith_code_with_undefined_signed_overflow, call
6780 rewrite_to_defined_overflow.
6781 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
6782 gimple-fold.h instead.
6783 (arith_code_with_undefined_signed_overflow,
6784 rewrite_to_defined_overflow): Moved to ...
6785 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
6786 rewrite_to_defined_overflow): ... here. No longer static.
6787 Include gimplify-me.h.
6788 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
6789 rewrite_to_defined_overflow): New prototypes.
6790
cd794ed4
KT
67912014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6792
6793 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
6794
e75fde1a
EB
67952014-01-13 Eric Botcazou <ebotcazou@adacore.com>
6796
6797 * builtins.c (get_object_alignment_2): Minor tweak.
6798 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
6799
eae298d6
CB
68002014-01-13 Christian Bruel <christian.bruel@st.com>
6801
6802 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 6803 optimized non constant lengths.
eae298d6 6804
8175be9a
JJ
68052014-01-13 Jakub Jelinek <jakub@redhat.com>
6806
6807 PR libgomp/59194
6808 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
6809 load as __atomic_load_N if possible.
6810
9c111368
DE
68112014-01-11 David Edelsohn <dje.gcc@gmail.com>
6812
6813 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
6814 target parameter.
6815 (rs6000_expand_builtin): Adjust call.
6816
c82846bc
DE
68172014-01-11 David Edelsohn <dje.gcc@gmail.com>
6818
6819 PR target/58115
6820 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
6821 * config/rs6000/rs6000.c: Include target-globals.h.
6822 (rs6000_set_current_function): Instead of doing target_reinit
6823 unconditionally, use save_target_globals_default_opts and
6824 restore_target_globals.
6825
6826 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
6827 FPSCR.
6828 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
6829 (rs6000_expand_builtin): Handle mffs and mtfsf.
6830 (rs6000_init_builtins): Define mffs and mtfsf.
6831 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
6832 (rs6000_mffs): New pattern.
6833 (rs6000_mtfsf): New pattern.
6834
2c407426
BC
68352014-01-11 Bin Cheng <bin.cheng@arm.com>
6836
6837 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
6838 Start narrowing with START. Apply candidate-use pair
6839 and check overall cost in narrowing.
6840 (iv_ca_prune): Pass new argument.
6841
7e41c852
JL
68422014-01-10 Jeff Law <law@redhat.com>
6843
6844 PR middle-end/59743
6845 * ree.c (combine_reaching_defs): Ensure the defining statement
6846 occurs before the extension when optimizing extensions with
6847 different source and destination hard registers.
6848
39960d1c 68492014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
6850
6851 PR ipa/58585
4ac005ba
UB
6852 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
6853 vtables into the type inheritance graph.
b270b096 6854
0d6d7b9a
JJ
68552014-01-10 Jakub Jelinek <jakub@redhat.com>
6856
6857 PR rtl-optimization/59754
6858 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
6859 modes in the REGNO != REGNO case.
6860
110132c1
BS
68612014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6862
6863 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
6864
5da96960
JJ
68652014-01-10 Jakub Jelinek <jakub@redhat.com>
6866
4f87d581
JJ
6867 PR tree-optimization/59745
6868 * tree-predcom.c (tree_predictive_commoning_loop): Call
6869 free_affine_expand_cache if giving up because components is NULL.
6870
5da96960
JJ
6871 * target-globals.c (save_target_globals): Allocate < 4KB structs using
6872 GC in payload of target_globals struct instead of allocating them on
6873 the heap and the larger structs separately using GC.
6874 * target-globals.h (struct target_globals): Make regs, hard_regs,
6875 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
6876 of GTY((skip)) and change type to void *.
6877 (reset_target_globals): Cast loads from those fields to corresponding
6878 types.
6879
1aa26aac
SE
68802014-01-10 Steve Ellcey <sellcey@mips.com>
6881
6882 PR plugins/59335
6883 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
6884 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
6885 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
6886
1c992d1e
RE
68872014-01-10 Richard Earnshaw <rearnsha@arm.com>
6888
7783a246 6889 PR target/59744
1c992d1e
RE
6890 * aarch64-modes.def (CC_Zmode): New flags mode.
6891 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
6892 represents an equality.
7783a246 6893 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
6894 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
6895
86464cbd
AK
68962014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6897
6898 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
6899 extraction in good case.
6900
5e6667b2
RB
69012014-01-10 Richard Biener <rguenther@suse.de>
6902
6903 PR tree-optimization/59374
6904 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
6905 checking after SLP discovery. Mark stmts not participating
6906 in any SLP instance properly.
6907
5619162c
KT
69082014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6909
6910 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
6911 when handling a SET rtx.
6912
2d17b99f
KT
69132014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6914
6915 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
6916 (cortex-a57): Likewise.
6917 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
6918
bcca645c
KT
69192014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6920
6921 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
6922 non-iwmmxt builtins.
6923
a3788dde
JH
69242014-01-10 Jan Hubicka <hubicka@ucw.cz>
6925
6926 PR ipa/58252
6927 PR ipa/59226
6928 * ipa-devirt.c record_target_from_binfo): Take as argument
6929 stack of binfos and lookup matching one for virtual inheritance.
6930 (possible_polymorphic_call_targets_1): Update.
6931
87ed883e
HC
69322014-01-10 Huacai Chen <chenhc@lemote.com>
6933
6934 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
6935 kernel strings for Loongson-2E/2F/3A.
6936
cd4447e2
JJ
69372014-01-10 Jakub Jelinek <jakub@redhat.com>
6938
6939 PR middle-end/59670
6940 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
6941 is_gimple_call before calling gimple_call_internal_p.
6942
3fadf78a
SE
69432014-01-09 Steve Ellcey <sellcey@mips.com>
6944
6945 * Makefile.in (TREE_FLOW_H): Remove.
6946 (TREE_SSA_H): Add file names from tree-flow.h.
6947 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
6948 * tree.h: Remove tree-flow.h reference.
6949 * hash-table.h: Remove tree-flow.h reference.
6950 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
6951 reference with tree-ssa-loop.h.
6952
6edc217d
BS
69532014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6954
6955 * doc/invoke.texi: Add -maltivec={be,le} options, and document
6956 default element-order behavior for -maltivec.
6957 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
6958 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
6959 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
6960 when targeting big endian, at least for now.
6961 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
6962
a70e9985
JJ
69632014-01-09 Jakub Jelinek <jakub@redhat.com>
6964
3396aba5
JJ
6965 PR middle-end/47735
6966 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
6967 var satisfies use_register_for_decl, just take into account type
6968 alignment, rather than decl alignment.
6969
a70e9985
JJ
6970 PR tree-optimization/59622
6971 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
6972 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
6973 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
6974 Don't devirtualize for inplace at all. For targets.length () == 1,
6975 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
6976
6e9cc565
L
69772014-01-09 H.J. Lu <hongjiu.lu@intel.com>
6978
6979 * config/i386/i386.md (cpu): Remove the unused btver1.
6980
d1c0e4ac
L
69812014-01-09 H.J. Lu <hongjiu.lu@intel.com>
6982
6983 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
6984
e83b8e2e
JJ
69852014-01-09 Jakub Jelinek <jakub@redhat.com>
6986
6987 PR target/58115
6988 * tree-core.h (struct target_globals): New forward declaration.
6989 (struct tree_target_option): Add globals field.
6990 * tree.h (TREE_TARGET_GLOBALS): Define.
6991 (prepare_target_option_nodes_for_pch): New prototype.
6992 * target-globals.h (struct target_globals): Define even if
6993 !SWITCHABLE_TARGET.
6994 * tree.c (prepare_target_option_node_for_pch,
6995 prepare_target_option_nodes_for_pch): New functions.
6996 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
6997 * config/i386/i386.c: Include target-globals.h.
6998 (ix86_set_current_function): Instead of doing target_reinit
6999 unconditionally, use save_target_globals_default_opts and
7000 restore_target_globals.
7001
2aaed0f3
RB
70022014-01-09 Richard Biener <rguenther@suse.de>
7003
7004 PR tree-optimization/59715
7005 * tree-cfg.h (split_critical_edges): Declare.
7006 * tree-cfg.c (split_critical_edges): Export.
7007 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
7008
b5ebc991
MO
70092014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
7010
4ac005ba 7011 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
7012 asan stack protection.
7013 (expand_used_vars): Likewise.
7014 (partition_stack_vars): Likewise.
4ac005ba 7015 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 7016 after return stack usage.
7f3af6d3 7017 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
7018 (instrument_builtin_call): Likewise.
7019 (instrument_strlen_call): Likewise.
7f3af6d3 7020 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
7021 * doc/invoke.texi: Added doc for new options.
7022 * params.def: Added new options.
7023 * params.h: Likewise.
7024
b59e0455
JJ
70252014-01-09 Jakub Jelinek <jakub@redhat.com>
7026
7027 PR rtl-optimization/59724
7028 * ifcvt.c (cond_exec_process_if_block): Don't call
7029 flow_find_head_matching_sequence with 0 longest_match.
7030 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
7031 non-active insns if !stop_after.
7032 (try_head_merge_bb): Revert 2014-01-07 changes.
7033
650c4c85
JL
70342014-01-08 Jeff Law <law@redhat.com>
7035
7036 * ree.c (get_sub_rtx): New function, extracted from...
7037 (merge_def_and_ext): Here.
7038 (combine_reaching_defs): Use get_sub_rtx.
7039
ff36fcbe
EB
70402014-01-08 Eric Botcazou <ebotcazou@adacore.com>
7041
7042 * cgraph.h (varpool_variable_node): Do not choke on null node.
7043
9f9d82aa
CM
70442014-01-08 Catherine Moore <clm@codesourcery.com>
7045
4ac005ba
UB
7046 * config/mips/mips.md (simple_return): Attempt to use JRC
7047 for microMIPS.
9f9d82aa
CM
7048 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
7049
df6c8808
RS
70502014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
7051
7052 PR rtl-optimization/59137
7053 * reorg.c (steal_delay_list_from_target): Call update_block for
7054 elided insns.
7055 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
7056
6170ceff
BS
70572014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7058
7059 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
7060 two duplicate entries.
7061
3f140f32
RS
70622014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
7063
7064 Revert:
7065 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
7066
7067 * config/mips/mips.c (mips_truncated_op_cost): New function.
7068 (mips_rtx_costs): Adjust test for BADDU.
7069 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
7070
7071 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
7072
7073 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
7074 (*baddu_si): ...this new pattern.
7075
c6de6665
JJ
70762014-01-08 Jakub Jelinek <jakub@redhat.com>
7077
7078 PR ipa/59722
7079 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
7080
4c437f02
BE
70812014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
7082
7083 PR middle-end/57748
7084 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
7085 inner_reference_p.
7086 (expand_expr, expand_normal): Adjust.
7087 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
7088 inner_reference_p. Use inner_reference_p to expand inner references.
7089 (store_expr): Adjust.
7090 * cfgexpand.c (expand_call_stmt): Adjust.
7091
4ac005ba 70922014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
7093
7094 * gcov-io.c (gcov_var): Move from gcov-io.h.
7095 (gcov_position): Ditto.
7096 (gcov_is_error): Ditto.
7097 (gcov_rewrite): Ditto.
7098 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
7099 only part to libgcc/libgcov.h.
7100
ab04b46e
MP
71012014-01-08 Marek Polacek <polacek@redhat.com>
7102
7103 PR middle-end/59669
7104 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
7105
06636b32
MP
71062014-01-08 Marek Polacek <polacek@redhat.com>
7107
7108 PR sanitizer/59667
7109 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
7110
c15677b6
JJ
71112014-01-08 Jakub Jelinek <jakub@redhat.com>
7112
7113 PR rtl-optimization/59649
7114 * stor-layout.c (get_mode_bounds): For BImode return
7115 0 and STORE_FLAG_VALUE.
7116
5c944c6c
RB
71172014-01-08 Richard Biener <rguenther@suse.de>
7118
7119 PR middle-end/59630
7120 * gimple.h (is_gimple_builtin_call): Remove.
7121 (gimple_builtin_call_types_compatible_p): New.
7122 (gimple_call_builtin_p): New overload.
7123 * gimple.c (is_gimple_builtin_call): Remove.
7124 (validate_call): Rename to ...
7125 (gimple_builtin_call_types_compatible_p): ... this and export. Also
7126 check return types.
7127 (validate_type): New static function.
7128 (gimple_call_builtin_p): New overload and adjust.
7129 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
7130 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
7131 (gimple_fold_stmt_to_constant_1): Likewise.
7132 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
7133
0bd34ae4
RB
71342014-01-08 Richard Biener <rguenther@suse.de>
7135
7136 PR middle-end/59471
7137 * gimplify.c (gimplify_expr): Gimplify register-register type
7138 VIEW_CONVERT_EXPRs to separate stmts.
7139
04af8ab6
JL
71402014-01-07 Jeff Law <law@redhat.com>
7141
3c92da90
JL
7142 PR middle-end/53623
7143 * ree.c (combine_set_extension): Handle case where source
7144 and destination registers in an extension insn are different.
4ac005ba
UB
7145 (combine_reaching_defs): Allow source and destination registers
7146 in extension to be different under limited circumstances.
3c92da90 7147 (add_removable_extension): Remove restriction that the
4ac005ba 7148 source and destination registers in the extension are the same.
3c92da90
JL
7149 (find_and_remove_re): Emit a copy from the extension's
7150 destination to its source after the defining insn if
7151 the source and destination registers are different.
7152
04af8ab6
JL
7153 PR middle-end/59285
7154 * ifcvt.c (merge_if_block): If we are merging a block with more than
7155 one successor with a block with no successors, remove any BARRIER
7156 after the second block.
7157
4bb66ef3 71582014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
7159
7160 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
7161
55ada375
JDA
71622014-01-07 John David Anglin <danglin@gcc.gnu.org>
7163
7164 PR target/59652
7165 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
7166 for 14-bit register offsets when INT14_OK_STRICT is false.
7167
877c72e7
RS
71682014-01-07 Roland Stigge <stigge@antcom.de>
7169 Michael Meissner <meissner@linux.vnet.ibm.com>
7170
7171 PR 57386/target
7172 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 7173 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 7174
8b2721da
JG
71752014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
7176
7177 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
7178 -mcpu.
7179
5d72b79f
YZ
71802014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
7181
7182 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
7183 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
7184 rtx is const0_rtx or not.
7185
48d53439
RS
71862014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
7187
7188 PR target/58115
7189 * target-globals.c (save_target_globals): Remove this_fn_optab
7190 handling.
7191 * toplev.c: Include optabs.h.
7192 (target_reinit): Temporarily restore the global options if another
7193 set of options are in force.
7194
41626746
JJ
71952014-01-07 Jakub Jelinek <jakub@redhat.com>
7196
a0cbe71e
JJ
7197 PR rtl-optimization/58668
7198 * cfgcleanup.c (flow_find_cross_jump): Don't count
7199 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
7200 to determine what is counted.
7201 (flow_find_head_matching_sequence): Use active_insn_p to determine
7202 what is counted.
7203 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
7204 counting change.
7205 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
7206 determine what is counted.
7207
41626746
JJ
7208 PR tree-optimization/59643
7209 * tree-predcom.c (split_data_refs_to_components): If one dr is
7210 read and one write, determine_offset fails and the write isn't
7211 in the bad component, just put the read into the bad component.
7212
cc349a39
MS
72132014-01-07 Mike Stump <mikestump@comcast.net>
7214 Jakub Jelinek <jakub@redhat.com>
7215
7216 PR pch/59436
7217 * tree-core.h (struct tree_optimization_option): Change optabs
7218 type from unsigned char * to void *.
7219 * optabs.c (init_tree_optimization_optabs): Adjust
7220 TREE_OPTIMIZATION_OPTABS initialization.
7221
529a6471
JJ
72222014-01-06 Jakub Jelinek <jakub@redhat.com>
7223
7224 PR target/59644
7225 * config/i386/i386.h (struct machine_function): Add
7226 no_drap_save_restore field.
7227 * config/i386/i386.c (ix86_save_reg): Use
7228 !cfun->machine->no_drap_save_restore instead of
7229 crtl->stack_realign_needed.
7230 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
7231 this function clears frame_pointer_needed. Set
7232 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
7233 and DRAP reg is needed.
7234
96066ce1
MP
72352014-01-06 Marek Polacek <polacek@redhat.com>
7236
7237 PR c/57773
7238 * doc/implement-c.texi: Mention that other integer types are
7239 permitted as bit-field types in strictly conforming mode.
7240
955b33ed 72412014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
7242
7243 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
7244 is newly allocated.
7245
328402a9
RE
72462014-01-06 Richard Earnshaw <rearnsha@arm.com>
7247
7248 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
7249
a4e33812
MJ
72502014-01-06 Martin Jambor <mjambor@suse.cz>
7251
7252 PR ipa/59008
7253 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
7254 to int.
7255 * ipa-prop.c (ipa_print_node_params): Fix indentation.
7256
b5cd2a02
EB
72572014-01-06 Eric Botcazou <ebotcazou@adacore.com>
7258
7259 PR debug/59350
7260 PR debug/59510
7261 * var-tracking.c (add_stores): Preserve the value of the source even if
7262 we don't record the store.
7263
c7d19c0b
TG
72642014-01-06 Terry Guo <terry.guo@arm.com>
7265
7266 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
7267
e0c70bd7
IS
72682014-01-05 Iain Sandoe <iain@codesourcery.com>
7269
7270 PR bootstrap/59541
7271 * config/darwin.c (darwin_function_section): Adjust return values to
7272 correspond to optimisation changes made in r206070.
7273
c30f016c
UB
72742014-01-05 Uros Bizjak <ubizjak@gmail.com>
7275
7276 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
7277 from prefetch_block tune setting.
7278 (nocona_cost): Correct size of prefetch block to 64.
7279
f2bc252b
EB
72802014-01-04 Eric Botcazou <ebotcazou@adacore.com>
7281
7282 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
7283 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
7284 used to save the static chain register in the computation of the offset
7285 from which the FP registers need to be restored.
7286
dad5ed2e
JJ
72872014-01-04 Jakub Jelinek <jakub@redhat.com>
7288
39719c84
JJ
7289 PR tree-optimization/59519
7290 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
7291 ICE if get_current_def (current_new_name) is already non-NULL, as long
7292 as it is a phi result of some other phi in *new_exit_bb that has
7293 the same argument.
7294
dad5ed2e
JJ
7295 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
7296 or vmovdqu* for misaligned_operand.
7297 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
7298 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
7299 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
7300 aligned_mem for AVX512F masked aligned load and store builtins and for
7301 non-temporal moves.
7302
73032014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
7304
7305 PR tree-optimization/59651
c30f016c 7306 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
7307 Address range for negative step should be added by TYPE_SIZE_UNIT.
7308
e864837a
AS
73092014-01-03 Andreas Schwab <schwab@linux-m68k.org>
7310
7311 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 7312 overlapping registers also for registers other than the stack pointer.
e864837a 7313
56a34230
MP
73142014-01-03 Marek Polacek <polacek@redhat.com>
7315
7316 PR other/59661
7317 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
7318 __builtin_FILE.
7319
039eee3f
JJ
73202014-01-03 Jakub Jelinek <jakub@redhat.com>
7321
3bcdbd50
JJ
7322 PR target/59625
7323 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
7324 asm goto as jump.
7325
039eee3f
JJ
7326 * config/i386/i386.md (MODE_SIZE): New mode attribute.
7327 (push splitter): Use <P:MODE_SIZE> instead of
7328 GET_MODE_SIZE (<P:MODE>mode).
7329 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
7330 (mov -1, reg peephole2): Likewise.
7331 * config/i386/sse.md (*mov<mode>_internal,
7332 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
7333 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
7334 *<code><mode>3, *andnot<mode>3<mask_name>,
7335 <mask_codefor><code><mode>3<mask_name>): Likewise.
7336 * config/i386/subst.md (mask_mode512bit_condition,
7337 sd_mask_mode512bit_condition): Likewise.
7338
927734cf
XDL
73392014-01-02 Xinliang David Li <davidxl@google.com>
7340
7341 PR tree-optimization/59303
039eee3f 7342 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
7343 (dump_predicates): Better output format.
7344 (pred_equal_p): New function.
7345 (is_neq_relop_p): Ditto.
7346 (is_neq_zero_form_p): Ditto.
7347 (pred_expr_equal_p): Ditto.
7348 (pred_neg_p): Ditto.
7349 (simplify_pred): Ditto.
7350 (simplify_preds_2): Ditto.
7351 (simplify_preds_3): Ditto.
7352 (simplify_preds_4): Ditto.
7353 (simplify_preds): Ditto.
7354 (push_pred): Ditto.
7355 (push_to_worklist): Ditto.
7356 (get_pred_info_from_cmp): Ditto.
7357 (is_degenerated_phi): Ditto.
7358 (normalize_one_pred_1): Ditto.
7359 (normalize_one_pred): Ditto.
7360 (normalize_one_pred_chain): Ditto.
7361 (normalize_preds): Ditto.
7362 (normalize_cond_1): Remove function.
7363 (normalize_cond): Ditto.
7364 (is_gcond_subset_of): Ditto.
7365 (is_subset_of_any): Ditto.
7366 (is_or_set_subset_of): Ditto.
7367 (is_and_set_subset_of): Ditto.
7368 (is_norm_cond_subset_of): Ditto.
7369 (pred_chain_length_cmp): Ditto.
7370 (convert_control_dep_chain_into_preds): Type change.
7371 (find_predicates): Ditto.
7372 (find_def_preds): Ditto.
7373 (destroy_predicates_vecs): Ditto.
7374 (find_matching_predicates_in_rest_chains): Ditto.
7375 (use_pred_not_overlap_with_undef_path_pred): Ditto.
7376 (is_pred_expr_subset): Ditto.
7377 (is_pred_chain_subset_of): Ditto.
7378 (is_included_in): Ditto.
7379 (is_superset_of): Ditto.
7380
23a5b65a
RS
73812014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7382
c30f016c 7383 Update copyright years.
23a5b65a 7384
f9030485
RS
73852014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7386
7387 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
7388 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
7389 config/arc/arc.md, config/arc/arc.opt,
7390 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
7391 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
7392 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
7393 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
7394 config/linux-protos.h, config/linux.c, config/winnt-c.c,
7395 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
7396 vtable-verify.c, vtable-verify.h: Use the standard form for the
7397 copyright notice.
f9030485 7398
98db73df
TB
73992014-01-02 Tobias Burnus <burnus@net-b.de>
7400
7401 * gcc.c (process_command): Update copyright notice dates.
7402 * gcov-dump.c: Ditto.
7403 * gcov.c: Ditto.
7404 * doc/cpp.texi: Bump @copying's copyright year.
7405 * doc/cppinternals.texi: Ditto.
7406 * doc/gcc.texi: Ditto.
7407 * doc/gccint.texi: Ditto.
7408 * doc/gcov.texi: Ditto.
7409 * doc/install.texi: Ditto.
7410 * doc/invoke.texi: Ditto.
7411
2898d204 74122014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
7413
7414 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
7415
dfebbdc6 74162014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 7417
726c3546
JJ
7418 * config/i386/sse.md (*mov<mode>_internal): Guard
7419 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
7420
dfebbdc6
JJ
7421 PR rtl-optimization/59647
7422 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
7423 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 7424\f
970c3b33 7425Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
7426
7427Copying and distribution of this file, with or without modification,
7428are permitted in any medium without royalty provided the copyright
7429notice and this notice are preserved.
This page took 6.24165 seconds and 5 git commands to generate.