]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
install.texi: Correct description of default directory for --with-gxx-include-dir.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
ae5cc016
MM
12009-04-12 Mark Mitchell <mark@codesourcery.com>
2
3 * doc/install.texi: Correct description of default directory for
4 --with-gxx-include-dir.
5
849d624b
EB
62009-04-12 Eric Botcazou <ebotcazou@adacore.com>
7
8 * fold-const.c (build_range_check): Properly deal with enumeral and
9 boolean base types.
10
3906a4a1
SB
112009-04-12 Steven Bosscher <steven@gcc.gnu.org>
12
13 * doc/invoke.texi (max_gcse_passes): Remove documentation.
14 * params.def (PARAM_MAX_GCSE_PASSES): Remove.
15 * params.h (MAX_GCSE_PASSES): Remove.
16 * gcse.c (gcse_main): Run CPROP1, PRE or HOIST, and CPROP2
17 in sequence. Remove ability to run multiple passes.
18 (bypass_jumps): Report run as third CPROP pass.
19
efaadb93
AN
202009-04-12 Adam Nemet <anemet@caviumnetworks.com>
21
22 PR middle-end/39651
23 * except.c (can_throw_external): Look at each insn in a SEQUENCE
24 when deciding whether the whole SEQUENCE can throw.
25
4c48007b
UB
262009-04-12 Uros Bizjak <ubizjak@gmail.com>
27
28 PR target/39740
29 * config/alpha/predicates.md (local_symbolic_operand): Return 1 for
30 offseted label references.
31
b4104018
JH
322009-04-11 Jan Hubicka <jh@suse.cz>
33
34 * tree-ssa-pre.c (eliminate): Fix call of update_stmt.
35
32848948
RG
362009-04-11 Richard Guenther <rguenther@suse.de>
37
38 PR middle-end/39732
39 * tree-inline.c (declare_return_variable): Mark DECL_BY_REFERENCE
40 return variables as TREE_ADDRESSABLE.
41
8810712e
RG
422009-04-11 Richard Guenther <rguenther@suse.de>
43
44 PR tree-optimization/39713
45 * tree-ssa-sccvn.c (vn_get_expr_for): Make sure built
46 reference trees have SSA_NAME operands.
47
fa78c0c1
RG
482009-04-11 Richard Guenther <rguenther@suse.de>
49
50 PR c/39712
51 * c-gimplify.c (c_gimplify_expr): Adjust check for mismatched
52 address expressions.
53
4d722130
DK
542009-04-11 Dave Korn <dave.korn.cygwin@gmail.com>
55
56 * config/i386/cygwin-stdint.h (INT_LEAST32_TYPE): Update to
57 match changes in Cygwin 1.7
58 (UINT_LEAST32_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE,
59 UINT_FAST16_TYPE, UINT_FAST32_TYPE): Likewise.
60
567a90f5
PB
612009-04-10 Paolo Bonzini <bonzini@gnu.org>
62
63 PR tree-optimization/39701
64 * doc/invoke.texi (Optimization Options): Document change in
65 meaning and initialization of -fdelete-null-pointer-checks.
66
1ad2f450
L
672009-04-10 H.J. Lu <hongjiu.lu@intel.com>
68
69 PR middle-end/39701
70 * common.opt (-fdelete-null-pointer-checks): Initialize to 1.
71
72 * opts.c (decode_options): Don't set flag_delete_null_pointer_checks
73 here.
74
75 * doc/invoke.texi: Update -fdelete-null-pointer-checks.
76
1afc5373
CF
772009-04-10 Chao-ying Fu <fu@mips.com>
78
79 * doc/tm.texi (Instruction Output): Document
80 TARGET_ASM_FINAL_POSTSCAN_INSN.
81 * target.h (final_postscan_insn): New field in asm_out.
82 * target-def.h (TARGET_ASM_FINAL_POSTSCAN_INSN): New define.
83 (TARGET_ASM_OUT): Add TARGET_ASM_FINAL_POSTSCAN_INSN.
84 * final.c (final_scan_insn): Call
85 targetm.asm_out.final_postscan_insn after outputting
86 an asm macro and a normal instruction.
87
88 * config/mips/mips.h (FINAL_PRESCAN_INSN): New define.
89 * config/mips/mips-protos.h (mips_final_prescan_insn): Declare.
90 * config/mips/mips.c (mips_at_reg_p): New for_each_rtx callback.
91 (mips_final_prescan_insn, mips_final_postscan_insn): New functions.
92 (TARGET_ASM_FINAL_POSTSCAN_INSN): New define.
93
4d35e75c
PB
942009-04-10 Paolo Bonzini <bonzini@gnu.org>
95
96 PR middle-end/39701
1ad2f450
L
97 * fold-const.c (tree_single_nonzero_warnv_p): Pass non-static
98 variables as non-NULL even with -fdelete-null-pointer-checks.
4d35e75c 99
62c49b83
L
1002009-04-10 H.J. Lu <hongjiu.lu@intel.com>
101
102 * config/rs6000/darwin-vecsave.asm: Remove extra "*/".
103
80558628
L
1042009-04-09 H.J. Lu <hongjiu.lu@intel.com>
105
106 PR target/39678
107 * config/i386/i386.c (classify_argument): Handle SCmode with
108 (bit_offset % 64) != 0.
109
8c70d28b
SL
1102009-04-09 Sandra Loosemore <sandra@codesourcery.com>
111
112 * doc/invoke.texi (Optimize Options): Add cross-reference to
113 -Q --help=optimizers examples.
114
e1ff19bf
BE
1152009-04-10 Ben Elliston <bje@au.ibm.com>
116
117 PR target/36800
118 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Do not set
119 regalign for the reg == fpr and TDmode case.
120
52daca75
DA
1212009-04-09 David Ayers <ayers@fsfe.org>
122
123 PR objc/29200
124 * objc/objc-act.c (warn_with_method): Remove helper function.
125 (check_duplicates): Call warning and inform directly.
126 (really_start_method): Likewise.
127
b45f0e58
PB
1282009-04-09 Paolo Bonzini <bonzini@gnu.org>
129
130 * expmed.c (expand_divmod): Always use a comparison for a division
131 by a large unsigned integer.
132
1ad2f450
L
133 * fold-const.c (tree_single_nonzero_warnv_p): Always treat decls
134 for things others than variables or functions as nonzero.
b45f0e58 135
748086b7
JJ
1362009-04-09 Nick Clifton <nickc@redhat.com>
137
138 * unwind-compat.c: Change copyright header to refer to version
139 3 of the GNU General Public License with version 3.1 of the
140 GCC Runtime Library Exception and to point readers at the
7a715bba 141 COPYING3 and COPYING3.RUNTIME files and the FSF's license web page.
748086b7
JJ
142 * config/alpha/crtfastmath.c: Likewise.
143 * config/alpha/linux-unwind.h: Likewise.
144 * config/alpha/qrnnd.asm: Likewise.
145 * config/alpha/vms-crt0-64.c: Likewise.
146 * config/alpha/vms-crt0.c: Likewise.
147 * config/alpha/vms-dwarf2.asm: Likewise.
148 * config/alpha/vms-dwarf2eh.asm: Likewise.
149 * config/alpha/vms-psxcrt0-64.c: Likewise.
150 * config/alpha/vms-psxcrt0.c: Likewise.
151 * config/alpha/vms_tramp.asm: Likewise.
152 * config/arc/initfini.c: Likewise.
153 * config/arc/lib1funcs.asm: Likewise.
154 * config/arm/bpabi-v6m.S: Likewise.
155 * config/arm/bpabi.S: Likewise.
156 * config/arm/bpabi.c: Likewise.
157 * config/arm/crti.asm: Likewise.
158 * config/arm/crtn.asm: Likewise.
159 * config/arm/ieee754-df.S: Likewise.
160 * config/arm/ieee754-sf.S: Likewise.
161 * config/arm/lib1funcs.asm: Likewise.
162 * config/arm/libunwind.S: Likewise.
163 * config/arm/linux-atomic.c: Likewise.
164 * config/arm/mmintrin.h: Likewise.
165 * config/arm/pr-support.c: Likewise.
166 * config/arm/unaligned-funcs.c: Likewise.
167 * config/arm/unwind-arm.c: Likewise.
168 * config/arm/unwind-arm.h: Likewise.
169 * config/avr/libgcc.S: Likewise.
170 * config/bfin/crti.s: Likewise.
171 * config/bfin/crtlibid.s: Likewise.
172 * config/bfin/crtn.s: Likewise.
173 * config/bfin/lib1funcs.asm: Likewise.
174 * config/bfin/linux-unwind.h: Likewise.
175 * config/cris/arit.c: Likewise.
176 * config/cris/cris_abi_symbol.c: Likewise.
177 * config/darwin-64.c: Likewise.
178 * config/darwin-crt2.c: Likewise.
179 * config/darwin-crt3.c: Likewise.
180 * config/darwin.h: Likewise.
181 * config/dbxelf.h: Likewise.
182 * config/dfp-bit.c: Likewise.
183 * config/dfp-bit.h: Likewise.
184 * config/elfos.h: Likewise.
185 * config/fixed-bit.c: Likewise.
186 * config/fixed-bit.h: Likewise.
187 * config/fp-bit.c: Likewise.
188 * config/fp-bit.h: Likewise.
189 * config/fr30/crti.asm: Likewise.
190 * config/fr30/crtn.asm: Likewise.
191 * config/fr30/lib1funcs.asm: Likewise.
192 * config/freebsd-spec.h: Likewise.
193 * config/frv/cmovd.c: Likewise.
194 * config/frv/cmovh.c: Likewise.
195 * config/frv/cmovw.c: Likewise.
196 * config/frv/frvbegin.c: Likewise.
197 * config/frv/frvend.c: Likewise.
198 * config/frv/lib1funcs.asm: Likewise.
199 * config/glibc-stdint.h: Likewise.
200 * config/h8300/clzhi2.c: Likewise.
201 * config/h8300/crti.asm: Likewise.
202 * config/h8300/crtn.asm: Likewise.
203 * config/h8300/ctzhi2.c: Likewise.
204 * config/h8300/fixunssfsi.c: Likewise.
205 * config/h8300/lib1funcs.asm: Likewise.
206 * config/h8300/parityhi2.c: Likewise.
207 * config/h8300/popcounthi2.c: Likewise.
208 * config/i386/ammintrin.h: Likewise.
209 * config/i386/att.h: Likewise.
210 * config/i386/avxintrin.h: Likewise.
211 * config/i386/biarch64.h: Likewise.
212 * config/i386/bmmintrin.h: Likewise.
213 * config/i386/cpuid.h: Likewise.
214 * config/i386/cross-stdarg.h: Likewise.
215 * config/i386/crtfastmath.c: Likewise.
216 * config/i386/crtprec.c: Likewise.
217 * config/i386/cygming-crtbegin.c: Likewise.
218 * config/i386/cygming-crtend.c: Likewise.
219 * config/i386/cygwin.asm: Likewise.
220 * config/i386/emmintrin.h: Likewise.
221 * config/i386/gmm_malloc.h: Likewise.
222 * config/i386/gthr-win32.c: Likewise.
223 * config/i386/i386.h: Likewise.
224 * config/i386/immintrin.h: Likewise.
225 * config/i386/linux-unwind.h: Likewise.
226 * config/i386/linux64.h: Likewise.
227 * config/i386/mm3dnow.h: Likewise.
228 * config/i386/mmintrin-common.h: Likewise.
229 * config/i386/mmintrin.h: Likewise.
230 * config/i386/nmmintrin.h: Likewise.
231 * config/i386/pmm_malloc.h: Likewise.
232 * config/i386/pmmintrin.h: Likewise.
233 * config/i386/smmintrin.h: Likewise.
234 * config/i386/sol2-c1.asm: Likewise.
235 * config/i386/sol2-ci.asm: Likewise.
236 * config/i386/sol2-cn.asm: Likewise.
237 * config/i386/sol2-gc1.asm: Likewise.
238 * config/i386/tmmintrin.h: Likewise.
239 * config/i386/unix.h: Likewise.
240 * config/i386/w32-unwind.h: Likewise.
241 * config/i386/wmmintrin.h: Likewise.
242 * config/i386/x86-64.h: Likewise.
243 * config/i386/x86intrin.h: Likewise.
244 * config/i386/xmmintrin.h: Likewise.
245 * config/ia64/crtbegin.asm: Likewise.
246 * config/ia64/crtend.asm: Likewise.
247 * config/ia64/crtfastmath.c: Likewise.
248 * config/ia64/crti.asm: Likewise.
249 * config/ia64/crtn.asm: Likewise.
250 * config/ia64/fde-glibc.c: Likewise.
251 * config/ia64/lib1funcs.asm: Likewise.
252 * config/ia64/linux-unwind.h: Likewise.
253 * config/ia64/quadlib.c: Likewise.
254 * config/ia64/unwind-ia64.c: Likewise.
255 * config/linux.h: Likewise.
256 * config/m32c/m32c-lib1.S: Likewise.
257 * config/m32c/m32c-lib2-trapv.c: Likewise.
258 * config/m32c/m32c-lib2.c: Likewise.
259 * config/m32r/initfini.c: Likewise.
260 * config/m68hc11/larith.asm: Likewise.
261 * config/m68hc11/m68hc11-crt0.S: Likewise.
262 * config/m68k/cf.md: Likewise.
263 * config/m68k/crti.s: Likewise.
264 * config/m68k/crtn.s: Likewise.
265 * config/m68k/lb1sf68.asm: Likewise.
266 * config/m68k/linux-unwind.h: Likewise.
267 * config/mcore/crti.asm: Likewise.
268 * config/mcore/crtn.asm: Likewise.
269 * config/mcore/lib1.asm: Likewise.
270 * config/mips/linux-unwind.h: Likewise.
271 * config/mips/loongson.h: Likewise.
272 * config/mips/mips16.S: Likewise.
273 * config/mmix/crti.asm: Likewise.
274 * config/mmix/crtn.asm: Likewise.
275 * config/pa/fptr.c: Likewise.
276 * config/pa/hpux-unwind.h: Likewise.
277 * config/pa/lib2funcs.asm: Likewise.
278 * config/pa/linux-atomic.c: Likewise.
279 * config/pa/linux-unwind.h: Likewise.
280 * config/pa/milli64.S: Likewise.
281 * config/pa/quadlib.c: Likewise.
282 * config/pa/stublib.c: Likewise.
283 * config/picochip/libgccExtras/adddi3.asm: Likewise.
284 * config/picochip/libgccExtras/ashlsi3.asm: Likewise.
285 * config/picochip/libgccExtras/ashlsi3.c: Likewise.
286 * config/picochip/libgccExtras/ashrsi3.asm: Likewise.
287 * config/picochip/libgccExtras/ashrsi3.c: Likewise.
288 * config/picochip/libgccExtras/cmpsi2.asm: Likewise.
289 * config/picochip/libgccExtras/divmod15.asm: Likewise.
290 * config/picochip/libgccExtras/divmodhi4.asm: Likewise.
291 * config/picochip/libgccExtras/divmodsi4.asm: Likewise.
292 * config/picochip/libgccExtras/longjmp.asm: Likewise.
293 * config/picochip/libgccExtras/lshrsi3.asm: Likewise.
294 * config/picochip/libgccExtras/lshrsi3.c: Likewise.
295 * config/picochip/libgccExtras/parityhi2.asm: Likewise.
296 * config/picochip/libgccExtras/popcounthi2.asm: Likewise.
297 * config/picochip/libgccExtras/setjmp.asm: Likewise.
298 * config/picochip/libgccExtras/subdi3.asm: Likewise.
299 * config/picochip/libgccExtras/ucmpsi2.asm: Likewise.
300 * config/picochip/libgccExtras/udivmodhi4.asm: Likewise.
301 * config/picochip/libgccExtras/udivmodsi4.asm: Likewise.
302 * config/rs6000/750cl.h: Likewise.
303 * config/rs6000/altivec.h: Likewise.
304 * config/rs6000/biarch64.h: Likewise.
305 * config/rs6000/crtresfpr.asm: Likewise.
306 * config/rs6000/crtresgpr.asm: Likewise.
307 * config/rs6000/crtresxfpr.asm: Likewise.
308 * config/rs6000/crtresxgpr.asm: Likewise.
309 * config/rs6000/crtsavfpr.asm: Likewise.
310 * config/rs6000/crtsavgpr.asm: Likewise.
311 * config/rs6000/darwin-asm.h: Likewise.
312 * config/rs6000/darwin-fallback.c: Likewise.
313 * config/rs6000/darwin-fpsave.asm: Likewise.
314 * config/rs6000/darwin-ldouble.c: Likewise.
315 * config/rs6000/darwin-tramp.asm: Likewise.
316 * config/rs6000/darwin-unwind.h: Likewise.
317 * config/rs6000/darwin-vecsave.asm: Likewise.
318 * config/rs6000/darwin-world.asm: Likewise.
319 * config/rs6000/e500crtres32gpr.asm: Likewise.
320 * config/rs6000/e500crtres64gpr.asm: Likewise.
321 * config/rs6000/e500crtres64gprctr.asm: Likewise.
322 * config/rs6000/e500crtrest32gpr.asm: Likewise.
323 * config/rs6000/e500crtrest64gpr.asm: Likewise.
324 * config/rs6000/e500crtresx32gpr.asm: Likewise.
325 * config/rs6000/e500crtresx64gpr.asm: Likewise.
326 * config/rs6000/e500crtsav32gpr.asm: Likewise.
327 * config/rs6000/e500crtsav64gpr.asm: Likewise.
328 * config/rs6000/e500crtsav64gprctr.asm: Likewise.
329 * config/rs6000/e500crtsavg32gpr.asm: Likewise.
330 * config/rs6000/e500crtsavg64gpr.asm: Likewise.
331 * config/rs6000/e500crtsavg64gprctr.asm: Likewise.
332 * config/rs6000/eabi-ci.asm: Likewise.
333 * config/rs6000/eabi-cn.asm: Likewise.
334 * config/rs6000/eabi.asm: Likewise.
335 * config/rs6000/linux-unwind.h: Likewise.
336 * config/rs6000/linux64.h: Likewise.
337 * config/rs6000/paired.h: Likewise.
338 * config/rs6000/paired.md: Likewise.
339 * config/rs6000/ppc64-fp.c: Likewise.
340 * config/rs6000/ppu_intrinsics.h: Likewise.
341 * config/rs6000/rs6000.h: Likewise.
342 * config/rs6000/si2vmx.h: Likewise.
343 * config/rs6000/sol-ci.asm: Likewise.
344 * config/rs6000/sol-cn.asm: Likewise.
345 * config/rs6000/spe.h: Likewise.
346 * config/rs6000/spu2vmx.h: Likewise.
347 * config/rs6000/sysv4.h: Likewise.
348 * config/rs6000/tramp.asm: Likewise.
349 * config/rs6000/vec_types.h: Likewise.
350 * config/s390/linux-unwind.h: Likewise.
351 * config/s390/tpf-unwind.h: Likewise.
352 * config/score/crti.asm: Likewise.
353 * config/score/crtn.asm: Likewise.
354 * config/sh/crt1.asm: Likewise.
355 * config/sh/crti.asm: Likewise.
356 * config/sh/crtn.asm: Likewise.
357 * config/sh/divtab-sh4-300.c: Likewise.
358 * config/sh/divtab-sh4.c: Likewise.
359 * config/sh/divtab.c: Likewise.
360 * config/sh/lib1funcs-4-300.asm: Likewise.
361 * config/sh/lib1funcs-Os-4-200.asm: Likewise.
362 * config/sh/lib1funcs.asm: Likewise.
363 * config/sh/lib1funcs.h: Likewise.
364 * config/sh/linux-atomic.asm: Likewise.
365 * config/sh/linux-unwind.h: Likewise.
366 * config/sh/shmedia.h: Likewise.
367 * config/sh/sshmedia.h: Likewise.
368 * config/sh/ushmedia.h: Likewise.
369 * config/sparc/crtfastmath.c: Likewise.
370 * config/sparc/linux-unwind.h: Likewise.
371 * config/sparc/sol2-c1.asm: Likewise.
372 * config/sparc/sol2-ci.asm: Likewise.
373 * config/sparc/sol2-cn.asm: Likewise.
374 * config/spu/divmodti4.c: Likewise.
375 * config/spu/divv2df3.c: Likewise.
376 * config/spu/float_disf.c: Likewise.
377 * config/spu/float_unsdidf.c: Likewise.
378 * config/spu/float_unsdisf.c: Likewise.
379 * config/spu/float_unssidf.c: Likewise.
380 * config/spu/mfc_multi_tag_release.c: Likewise.
381 * config/spu/mfc_multi_tag_reserve.c: Likewise.
382 * config/spu/mfc_tag_release.c: Likewise.
383 * config/spu/mfc_tag_reserve.c: Likewise.
384 * config/spu/mfc_tag_table.c: Likewise.
385 * config/spu/multi3.c: Likewise.
386 * config/spu/spu_internals.h: Likewise.
387 * config/spu/spu_intrinsics.h: Likewise.
388 * config/spu/spu_mfcio.h: Likewise.
389 * config/spu/vec_types.h: Likewise.
390 * config/spu/vmx2spu.h: Likewise.
391 * config/stormy16/stormy16-lib2.c: Likewise.
392 * config/svr4.h: Likewise.
393 * config/sync.c: Likewise.
394 * config/v850/lib1funcs.asm: Likewise.
395 * config/vxlib-tls.c: Likewise.
396 * config/vxlib.c: Likewise.
397 * config/vxworks-dummy.h: Likewise.
398 * config/xtensa/crti.asm: Likewise.
399 * config/xtensa/crtn.asm: Likewise.
400 * config/xtensa/ieee754-df.S: Likewise.
401 * config/xtensa/ieee754-sf.S: Likewise.
402 * config/xtensa/lib1funcs.asm: Likewise.
403 * config/xtensa/lib2funcs.S: Likewise.
404 * config/xtensa/linux-unwind.h: Likewise.
405 * config/xtensa/unwind-dw2-xtensa.c: Likewise.
406 * config/xtensa/unwind-dw2-xtensa.h: Likewise.
407 * coretypes.h: Likewise.
408 * crtstuff.c: Likewise.
409 * defaults.h: Likewise.
410 * dwarf2.h: Likewise.
411 * emutls.c: Likewise.
412 * gbl-ctors.h: Likewise.
413 * gcov-io.h: Likewise.
414 * ginclude/float.h: Likewise.
415 * ginclude/iso646.h: Likewise.
416 * ginclude/stdarg.h: Likewise.
417 * ginclude/stdbool.h: Likewise.
418 * ginclude/stddef.h: Likewise.
419 * ginclude/stdfix.h: Likewise.
420 * ginclude/stdint-gcc.h: Likewise.
421 * ginclude/tgmath.h: Likewise.
422 * gthr-aix.h: Likewise.
423 * gthr-dce.h: Likewise.
424 * gthr-gnat.c: Likewise.
425 * gthr-gnat.h: Likewise.
426 * gthr-lynx.h: Likewise.
427 * gthr-mipssde.h: Likewise.
428 * gthr-nks.h: Likewise.
429 * gthr-posix.c: Likewise.
430 * gthr-posix.h: Likewise.
431 * gthr-posix95.h: Likewise.
432 * gthr-rtems.h: Likewise.
433 * gthr-single.h: Likewise.
434 * gthr-solaris.h: Likewise.
435 * gthr-tpf.h: Likewise.
436 * gthr-vxworks.h: Likewise.
437 * gthr-win32.h: Likewise.
438 * gthr.h: Likewise.
439 * libgcc2.c: Likewise.
440 * libgcc2.h: Likewise.
441 * libgcov.c: Likewise.
442 * tsystem.h: Likewise.
443 * typeclass.h: Likewise.
444 * unwind-c.c: Likewise.
445 * unwind-compat.h: Likewise.
446 * unwind-dw2-fde-compat.c: Likewise.
447 * unwind-dw2-fde-darwin.c: Likewise.
448 * unwind-dw2-fde-glibc.c: Likewise.
449 * unwind-dw2-fde.c: Likewise.
450 * unwind-dw2-fde.h: Likewise.
451 * unwind-dw2.c: Likewise.
452 * unwind-dw2.h: Likewise.
453 * unwind-generic.h: Likewise.
454 * unwind-pe.h: Likewise.
455 * unwind-sjlj.c: Likewise.
456 * unwind.inc: Likewise.
457 * config/arm/neon-gen.ml: Change generated copyright header to
458 refer to version 3 of the GNU General Public License with
459 version 3.1 of the GCC Runtime Library Exception and to point
460 readers at the COPYING3 and COPYING3.RUNTIME files and the
461 FSF's license web page.
462 * config/arm/arm_neon.h: Regenerate.
463
4642009-04-09 Jakub Jelinek <jakub@redhat.com>
465
466 * config/cris/cris.md: Change copyright header to refer to version
467 3 of the GNU General Public License.
468 * doc/install.texi2html: Change copyright header to refer to version
469 3 of the GNU General Public License and to point readers at the
470 COPYING3 file and the FSF's license web page.
471 * config/vax/linux.h: Likewise.
472
4a77c72b
PB
4732009-04-09 Paolo Bonzini <bonzini@gnu.org>
474
1ad2f450
L
475 * config/i386/i386.md (cmpcc): New.
476 * config/i386/sync.md (sync_compare_and_swap*): Set FLAGS_REG.
477 (sync_compare_and_swap_cc*): Delete.
478
479 * config/s390/s390.c (s390_compare_emitted): Remove.
480 (s390_emit_compare): Handle MODE_CC s390_compare_op0 like
481 s390_compare_emitted used to be handled. Assert that modes match.
482 (s390_emit_compare_and_swap): Use s390_emit_compare, do not
483 refer to sync_compare_and_swap_ccsi.
484 * config/s390/s390.h (s390_compare_emitted): Remove.
485 * config/s390/s390.md (seq): Look for MODE_CC s390_compare_op0
486 instead of s390_compare_emitted.
487 (stack_protect_test, sync_compare_and_swap_cc): Set s390_compare_op0
488 instead of s390_compare_emitted.
489 * config/s390/s390.md (cmpcc): New.
490 (sync_compare_and_swapqi, sync_compare_and_swaphi): Clobber
491 CC_REGNUM, do not pretend it's set.
492 (sync_compare_and_swap_cc*): Delete.
493 * config/s390/predicates.md (cc_reg_operand): New.
494
495 * expr.c (sync_compare_and_swap_cc): Delete.
496 * optabs.h (sync_compare_and_swap_cc): Delete.
497 * optabs.c (prepare_cmp_insn): Ignore which specific CCmode
498 is being used with can_compare_p.
499 (emit_cmp_and_jump_insn_1): Likewise when looking in the optab.
500 (find_cc_set): New.
501 (expand_bool_compare_and_swap): Do not use sync_compare_and_swap_cc,
502 look for a MODE_CC set instead. Use emit_store_flag.
503 (expand_compare_and_swap_loop): Likewise, with some additional
504 complication to avoid a force_reg when useless. Use
505 emit_cmp_and_jump_insns.
506 * genopinit.c (optabs): Delete sync_compare_and_swap_cc.
507 * doc/md.texi (sync_compare_and_swap_cc): Merge with
508 sync_compare_and_swap documentation.
4a77c72b 509
0c0efb33
JH
5102009-04-09 Jan Hubicka <jh@suse.cz>
511
512 * except.c (find_prev_try): Break out from ....
513 (duplicate_eh_regions): ... here; properly update prev_try pointers
514 when duplication part of tree.
515 (dump_eh_tree): Improve dumping.
516 (verify_eh_region): New.
517 (verify_eh_tree): Use it.
518
22a65a54
RG
5192009-04-06 Richard Guenther <rguenther@suse.de>
520
521 * c-gimplify.c (c_gimplify_expr): Fix the invalid GENERIC
522 &ARRAY addresses by adjusting their types and prepending
523 a conversion.
524 * tree-cfg.c (verify_gimple_assign_single): Verify that
525 addresses are correct.
526
f76968e6
RG
5272009-04-09 Richard Guenther <rguenther@suse.de>
528
529 * tree-ssa-ccp.c (maybe_fold_stmt_addition): Move non-constant
530 indices into an array reference if possible.
531 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
532 Fold POINTER_PLUS_EXPR statements with invariant address.
533
c90c5fb5
AM
5342009-04-09 Alan Modra <amodra@bigpond.net.au>
535
536 PR target/39634
537 * config.gcc (powerpc64-*-linux*): Always build biarch.
538
17cede2e
JM
5392009-04-09 Joseph Myers <joseph@codesourcery.com>
540
541 PR c/39613
542 * c-typeck.c (do_case): If case label is not an INTEGER_CST, fold
543 it and pedwarn if this results in an INTEGER_CST.
544
a3337ea2
KG
5452009-04-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
546
547 * doc/install.texi: Update minimum GMP version. Remove obsolete
548 text in MPFR section.
549
ce9ba79b
JJ
5502009-04-08 Jakub Jelinek <jakub@redhat.com>
551
552 * dwarf2out.c (class_scope_p): New static inline.
553 (class_or_namespace_scope_p): Use it.
554 (gen_variable_die): Use DW_TAG_member tag for static data member
555 declarations instead of DW_TAG_variable.
556
4f0ae266
JJ
557 PR middle-end/39573
558 * omp-low.c (expand_omp_taskreg): Finalize taskreg static local_decls
559 variables.
560
d27f0ddc
RG
5612009-04-08 Richard Guenther <rguenther@suse.de>
562
563 * tree-ssa-sccvn.c (valueize_refs): Do not continue to
564 valueize random data.
565
557cc596
DE
5662009-04-08 David Edelsohn <edelsohn@gnu.org>
567
568 * config.gcc (aix tm_file): Add aix-stdint.h.
569 (aix tm clause use_gcc_stdint): Set to wrap.
570 * config/rs6000/aix-stdint.h: New file.
571
75ccc1e7
RG
5722009-04-08 Richard Guenther <rguenther@suse.de>
573
574 PR middle-end/36291
575 * tree-dfa.c (add_referenced_var): Do not recurse into
576 global initializers.
577 * tree-ssa-ccp.c (get_symbol_constant_value): Add newly
578 exposed variables.
579 (fold_const_aggregate_ref): Likewise.
580
c6963675
PB
5812009-04-08 Paolo Bonzini <bonzini@gnu.org>
582
6c44cf79
L
583 * recog.c (ordered_comparison_operator): New.
584 * gensupport.c (std_preds): Add it.
c6963675
PB
585 * doc/md.texi (Machine-Independent Predicates): Document it.
586
6d07ad98
JH
5872009-04-08 Jan Hubicka <jh@suse.cz>
588
589 * tree-eh.c (cleanup_eh): When not optimizing, do not try EH merging.
590 * function.h (rtl_eh): Remove exception_handler_label_map.
591 * except.c (ehl_hash, ehl_eq, add_ehl_entry,
592 remove_exception_handler_label, for_each_eh_label_1): Remove.
593 (rtl_remove_unreachable_regions): Remove.
594 (convert_from_eh_region_ranges): Do not remove unreachable regions.
595 (find_exception_handler_labels): Don't build the hashtable.
596 (maybe_remove_eh_handler): Remove.
597 (for_each_eh_label): Rewrite to walk the tree.
598 (rest_of_handle_eh): Do not cleanup cfg prior EH construction.
599 * except.h (maybe_remove_eh_handler): Remove.
600 * passes.c (init_optimization_passes): Schedule second EH cleanup
601 before out-of-ssa.
602 * cfgrtl.c (rtl_delete_block, rtl_merge_blocks,
603 cfg_layout_merge_blocks): Do not call maybe_remove_eh_handler.
604
7ddf71e3
PB
6052009-04-08 Paolo Bonzini <bonzini@gnu.org>
606
607 * genoutput.c (validate_optab_operands): New.
608 (gen_insn, gen_expand): Call it.
609
610 * genflags.c (gen_insn): Detect misused iterators.
611 (main): Pass line_no to gen_insn, exit with status 1 on error.
612
613 * genextract.c (line_no): Make global.
614 (VEC_safe_set_locstr): Change assertion to error message.
615 (main): Exit with status 1 on error.
616
4d84fe7c
JM
6172009-04-08 Joseph Myers <joseph@codesourcery.com>
618
619 PR c/39614
620 PR c/39673
621 * c-common.h (C_MAYBE_CONST_EXPR_PRE, C_MAYBE_CONST_EXPR_EXPR,
622 C_MAYBE_CONST_EXPR_INT_OPERANDS, C_MAYBE_CONST_EXPR_NON_CONST,
623 EXPR_INT_CONST_OPERANDS): Remove duplicate definitions.
624 * c-convert.c (convert): Do not call fold on results of conversion
625 functions when the result is a C_MAYBE_CONST_EXPR.
626 * c-parser.c (c_parser_postfix_expression): Do not fold condition
627 of __builtin_choose_expr.
628 * c-typeck.c (remove_c_maybe_const_expr): New.
629 (build_unary_op, build_conditional_expr, build_compound_expr,
630 build_binary_op, c_objc_common_truthvalue_conversion): Call
631 remove_c_maybe_const_expr on any input C_MAYBE_CONST_EXPR with
632 integer operands.
633
d1d1c602
BM
6342009-04-08 Bingfeng Mei <bmei@broadcom.com>
635
636 * fold-const.c (const_binop): Combine two VECTOR_CST under operation
6c44cf79 637 CODE to produce a new one. Add a prototype to use fold_convert_const
d1d1c602 638
8e481a2c
DS
6392009-04-08 Danny Smith <dannysmith@users.sourceforge.net>
640
641 PR bootstrap/39660
642 * config/i386/host-mingw32.c (mingw32_gt_pch_use_address): Don't
643 mix declarations and code.
644
ee618c17
BE
6452009-04-08 Ben Elliston <bje@au.ibm.com>
646
647 * gcc.c: Replace `CC' with `GCC' throughout.
648
f2a758a2
L
6492009-04-07 H.J. Lu <hongjiu.lu@intel.com>
650
651 * doc/invoke.texi: Document Atom support.
652
6ea2bd47
JM
6532009-04-07 Jason Merrill <jason@redhat.com>
654
655 PR c++/25185
656 * c-common.h, c-common.c: Add flag_pretty_templates.
657 * c-opts.c (c_common_handle_option): Set it.
658 * c.opt: Add -fno-pretty-templates.
659 * doc/invoke.texi (C++ Dialect Options): Likewise.
660
fcb82ab0
UB
6612009-04-07 Uros Bizjak <ubizjak@gmail.com>
662
663 * config/ia64/ia64.c (ia64_builtins): Add IA64_BUILTIN_HUGE_VALQ.
664 (ia64_init_builtins): Handle IA64_BUILTIN_HUGE_VALQ.
665 (ia64_expand_builtin): Likewise.
666
dc5e7298
MJ
6672009-04-07 Martin Jambor <mjambor@suse.cz>
668
669 * tree-ssa-alias.c (refs_may_alias_p_1): Check for
670 is_gimple_min_invariant rather than CONSTANT_CLASS_P so that invariant
671 ADDR_EXPRS are include too.
672
0609b355
RG
6732009-04-07 Richard Guenther <rguenther@suse.de>
674
675 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Non-aliased
676 decls are only used if passes as parameters or if they are
677 local statics and the call is not to a builtin.
678 (call_may_clobber_ref_p_1): Likewise.
679
d8e535fa
PB
6802009-04-07 Paolo Bonzini <bonzini@gnu.org>
681
682 * expr.c (do_store_flag): Remove last argument. Simplify code
683 to avoid duplication of tests already done by can_compare_p.
684 (expand_expr_real_1): Adjust caller.
685
c3c64f50
PB
6862009-04-07 Paolo Bonzini <bonzini@gnu.org>
687
fcb82ab0
UB
688 * optabs.c (can_compare_p): Test the predicate of a
689 cbranch and cstore pattern.
c3c64f50 690
9a53bc17
PB
6912009-04-07 Paolo Bonzini <bonzini@gnu.org>
692
fcb82ab0
UB
693 * expr.c (convert_move): Use emit_store_flag instead of
694 "emulating" it.
9a53bc17 695
67b8f1c1
PB
6962009-04-07 Paolo Bonzini <bonzini@gnu.org>
697
fcb82ab0
UB
698 * config/i386/i386.c (ix86_compare_emitted): Remove.
699 (ix86_expand_compare, ix86_expand_branch): Handle MODE_CC
700 ix86_compare_op0 like ix86_compare_emitted used to be handled.
701 * config/i386/i386.h (ix86_compare_emitted): Remove.
702 * config/i386/i386.md (stack_protect_test): Set ix86_compare_op0
703 instead of ix86_compare_emitted.
704 * config/i386/sync.md (sync_compare_and_swap_cc): Likewise.
67b8f1c1 705
44509946
AS
7062009-04-07 Andrew Stubbs <ams@codesourcery.com>
707
708 * config.gcc (sh-*-*): Add sysroot-suffix.h to tm_file.
709 Add t-sysroot-suffix to tmake_file.
710 * config/print-sysroot-suffix.sh: New file.
711 * config/t-sysroot-suffix: New file.
712
ca22d882
BE
7132009-04-07 Ben Elliston <bje@au.ibm.com>
714
715 * libgcc2.c (INFINITY): Use __builtin_huge_val, not __builtin_inf,
716 as the latter produces a warning when the target does not support
717 infinity.
718
95aac11b
BE
7192009-04-07 Ben Elliston <bje@au.ibm.com>
720
721 * dfp.c: Replace type punning assignments with memcpy throughout.
722 * Makefile.in (dfp.o-warn): Remove.
723
633dd061
AM
7242009-04-07 Alan Modra <amodra@bigpond.net.au>
725
726 PR target/39634
727 * config.gcc: Merge powerpc-*-linux* and powerpc64-*-linux*.
728 Include soft-fp/t-softfp after rs6000/t-linux64.
729
fe0a25ec
EB
7302009-04-06 Eric Botcazou <ebotcazou@adacore.com>
731
732 * stor-layout.c (set_sizetype): Use the full precision of their
733 machine mode for bitsize types.
734
0c011bc3
L
7352009-04-06 H.J. Lu <hongjiu.lu@intel.com>
736
737 * config/i386/i386.md: Revert 2 accidental checkins.
738
b6837b94
JY
7392009-04-06 Joey Ye <joey.ye@intel.com>
740 Xuepeng Guo <xuepeng.guo@intel.com>
741 H.J. Lu <hongjiu.lu@intel.com>
742
743 Atom pipeline model, tuning and insn selection.
744 * config.gcc (atom): Add atom config options and target.
745
746 * config/i386/atom.md: New.
747
748 * config/i386/i386.c (atom_cost): New cost.
749 (m_ATOM): New macro flag.
750 (initial_ix86_tune_features): Set m_ATOM.
751 (x86_accumulate_outgoing_args): Likewise.
752 (x86_arch_always_fancy_math_387): Likewise.
753 (processor_target): Add Atom cost.
754 (cpu_names): Add Atom cpu name.
755 (override_options): Set Atom ISA.
756 (ix86_issue_rate): New case PROCESSOR_ATOM.
757 (ix86_adjust_cost): Likewise.
758
759 * config/i386/i386.h (TARGET_ATOM): New target macro.
760 (ix86_tune_indices): Add X86_TUNE_OPT_AGU.
761 (TARGET_OPT_AGU): New target option.
762 (target_cpu_default): Add TARGET_CPU_DEFAULT_atom.
763 (processor_type): Add PROCESSOR_ATOM.
764
765 * config/i386/i386.md (cpu): Add new value "atom".
766 (use_carry, movu): New attr.
767 (atom.md): Include atom.md.
768 (adddi3_carry_rex64): Set attr "use_carry".
769 (addqi3_carry): Likewise.
770 (addhi3_carry): Likewise.
771 (addsi3_carry): Likewise.
772 (*addsi3_carry_zext): Likewise.
773 (subdi3_carry_rex64): Likewise.
774 (subqi3_carry): Likewise.
775 (subhi3_carry): Likewise.
776 (subsi3_carry): Likewise.
777 (x86_movdicc_0_m1_rex64): Likewise.
778 (*x86_movdicc_0_m1_se): Likewise.
779 (x86_movsicc_0_m1): Likewise.
780 (*x86_movsicc_0_m1_se): Likewise.
781 (*adddi_1_rex64): Emit add insn as much as possible.
782 (*addsi_1): Likewise.
783 (return_internal): Set atom_unit.
784 (return_internal_long): Likewise.
785 (return_pop_internal): Likewise.
786 (*rcpsf2_sse): Set atom_sse_attr attr.
787 (*qrt<mode>2_sse): Likewise.
788 (*prefetch_sse): Likewise.
789
790 * config/i386/i386-c.c (ix86_target_macros_internal): New case
791 PROCESSOR_ATOM.
792 (ix86_target_macros_internal): Likewise.
793
794 * config/i386/sse.md (cpu): Set attr "atom_sse_attr".
795 (*prefetch_sse_rex): Likewise.
796 (sse_rcpv4sf2): Likewise.
797 (sse_vmrcpv4sf2): Likewise.
798 (sse_sqrtv4sf2): Likewise.
799 (<sse>_vmsqrt<mode>2): Likewise.
800 (sse_ldmxcsr): Likewise.
801 (sse_stmxcsr): Likewise.
802 (*sse_sfence): Likewise.
803 (sse2_clflush): Likewise.
804 (*sse2_mfence): Likewise.
805 (*sse2_lfence): Likewise.
806 (avx_movup<avxmodesuffixf2c><avxmodesuffix>): Set attr "movu".
807 (<sse>_movup<ssemodesuffixf2c>): Likewise.
808 (avx_movdqu<avxmodesuffix>): Likewise.
809 (avx_lddqu<avxmodesuffix>): Likewise.
810 (sse2_movntv2di): Change attr "type" to "ssemov".
811 (sse2_movntsi): Likewise.
812 (rsqrtv8sf2): Change attr "type" to "sseadd".
813 (sse3_addsubv2df3): Set attr "atom_unit".
814 (sse3_h<plusminus_insn>v4sf3): Likewise.
815 (*sse2_pmaddwd): Likewise.
816 (*vec_extractv2di_1_rex64): Likewise.
817 (*vec_extractv2di_1_avx): Likewise.
818 (sse2_psadbw): Likewise.
819 (ssse3_phaddwv8hi3): Likewise.
820 (ssse3_phaddwv4hi3): Likewise.
821 (ssse3_phadddv4si3): Likewise.
822 (ssse3_phadddv2si3): Likewise.
823 (ssse3_phaddswv8hi3): Likewise.
824 (ssse3_phaddswv4hi3): Likewise.
825 (ssse3_phsubwv8hi3): Likewise.
826 (ssse3_phsubwv4hi3): Likewise.
827 (ssse3_phsubdv4si3): Likewise.
828 (ssse3_phsubdv2si3): Likewise.
829 (ssse3_phsubswv8hi3): Likewise.
830 (ssse3_phsubswv4hi3): Likewise.
831 (ssse3_pmaddubsw128): Likewise.
832 (sse3_pmaddubsw: Likewise.
833 (ssse3_palignrti): Likewise.
834 (ssse3_palignrdi): Likewise.
835
53e350d3
GP
8362009-04-06 Gerald Pfeifer <gerald@pfeifer.com>
837
838 * doc/install.texi (Specific): Fix two cross-references to MinGW.
839
439ef907
RG
8402009-04-06 Richard Guenther <rguenther@suse.de>
841
842 PR tree-optimization/28868
843 * tree-ssa-pre.c (inserted_phi_names): New bitmap to keep track
844 of which PHI results we inserted.
845 (insert_into_preds_of_block): Record inserted PHIs.
846 (eliminate): Eliminate redundant PHI nodes.
847 (init_pre): Init inserted_phi_names.
848
4bad83f5
RG
8492009-04-06 Richard Guenther <rguenther@suse.de>
850
851 PR tree-optimization/39643
852 * tree-ssa-ccp.c (ccp_fold): Fold REALPART_EXPRs and
853 IMAGPART_EXPRs of complex constants.
854 (execute_fold_all_builtins): If we folded a call queue
855 TODO_update_address_taken.
856
570c4247
JH
8572009-04-06 Jan Hubicka <jh@suse.cz>
858
859 PR middle-end/39659
860 * except.c (remove_unreachable_regions): Propagate may_contain_throw
861 flag.
862
a460d7a1
AS
8632009-04-06 Andrew Stubbs <ams@codesourcery.com>
864
865 * config/sh/lib1funcs.asm (ic_invalidate): Move ICBI out of the
866 delay slot.
867 (ic_invalidate_array): Likewise.
868
6bdf8c2e
HS
8692009-04-06 Hariharan Sandanagobalane <hariharan@picochip.com>
870
871 * calls.c (emit_library_call_value_1): Fix a problem with parameter
872 alignment for library calls.
873
7d253f6e
DS
8742009-04-06 Danny Smith <dannysmith@users.sourceforge.net>
875
876 * config.gcc (mingw32 tm_file): Add mingw-stdint.h.
877 (mingw32 tm clause use_gcc_stdint): Set to wrap.
878 * config/i386/mingw-stdint.h: New file.
879
941c3614
RB
8802009-04-05 Richard Guenther <rguenther@suse.de>
881
882 PR tree-optimization/39648
883 * tree-ssa-sccvn.c (vn_reference_fold_indirect): Work around
884 our &A vs. &A[0] IL deficiencies.
885
12633413
JH
8862009-04-04 Jan Hubicka <jh@suse.cz>
887
941c3614
RB
888 * except.c (sjlj_find_directly_reachable_regions): Be ready for
889 removed toplevel regions.
12633413
JH
890 (sjlj_mark_call_sites): Likewise.
891
bb2aaded
DK
8922009-04-04 Dave Korn <dave.korn.cygwin@gmail.com>
893
894 * config.gcc (cygwin tm_file): Add cygwin-stdint.h.
895 (cygwin tm clause use_gcc_stdint): Set to wrap.
896 * config/i386/cygwin-stdint.h: New file.
897
86290011
RG
8982009-04-04 Richard Guenther <rguenther@suse.de>
899
900 * Makefile.in (tree-ssa-copy.o): Add $(CFGLOOP_H) dependency.
901 * tree-ssa-copy.c (init_copy_prop): Do not propagate through
902 single-argument PHIs if we are in loop-closed SSA form.
903 * tree-vect-loop-manip.c (slpeel_add_loop_guard): Pass extra guards
904 for the pre-condition.
905 (slpeel_tree_peel_loop_to_edge): Likewise.
906 (vect_build_loop_niters): Take an optional sequence to append stmts.
907 (vect_generate_tmps_on_preheader): Likewise.
908 (vect_do_peeling_for_loop_bound): Take extra guards for the
909 pre-condition.
910 (vect_do_peeling_for_alignment): Adjust. Unconditionally apply
911 the cost model check.
912 (vect_loop_versioning): Take stmt and stmt list to put pre-condition
7a715bba 913 guards if we are going to peel. Do not apply versioning in that case.
86290011
RG
914 * tree-vectorizer.h (vect_loop_versioning): Adjust declaration.
915 (vect_do_peeling_for_loop_bound): Likewise.
916 * tree-vect-loop.c (vect_transform_loop): If we are peeling for
917 loop bound only record extra pre-conditions, do not apply loop
918 versioning.
919
5eeeac64
RG
9202009-04-04 Richard Guenther <rguenther@suse.de>
921
922 * tree-ssa-operands.c (pop_stmt_changes): Remove automatic
923 renaming code.
924
1ff7d06b
JH
9252009-04-04 Jan Hubicka <jh@suse.cz>
926
927 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
928 last_basic_block for size of bb->index indexed array.
929 * bt-load.c (compute_defs_uses_and_gen, compute_kill,
930 compute_out, link_btr_uses, build_btr_def_use_webs,
931 build_btr_def_use_webs, migrate_btr_defs): Likewise.
932
14925fcd
JH
9332009-04-04 Jan Hubicka <jh@suse.cz>
934
935 * except.c (remove_eh_handler_and_replace): Break out from ...
936 (remove_eh_handler): ... here.
937 (bring_to_root): New function.
938 (remove_unreachable_regions): Collect MUST_NOT_THROW, unify runtime
939 handled ones, bring others to root of tree.
940
4e6d1743
JH
9412009-04-04 Jan Hubicka <jh@suse.cz>
942
4cb735f7
JH
943 * tree-eh.c (tree_empty_eh_handler_p): Pattern match more curefully.
944 (all_phis_safe_to_merge): New function.
945 (update_info): New structure.
946 (make_eh_edge_and_update_phi, update_eh_edges): New functions.
947 (cleanup_empty_eh): Update SSA if possible.
4e6d1743 948
c6803d43
RG
9492009-04-04 Richard Guenther <rguenther@suse.de>
950
951 * tree-ssa.c (verify_ssa): With -O0 we do not need VOPs.
952 * tree-ssa-operands.c (append_vdef): Do not append VOPs at -O0.
953 (append_vuse): Likewise.
954
54f5943c
JJ
9552009-04-04 Jakub Jelinek <jakub@redhat.com>
956
957 * unwind-dw2.h (_Unwind_FrameState): Add REG_UNDEFINED enum value.
958 * unwind-dw2.c (execute_cfa_program): Set how to REG_UNDEFINED
959 instead of REG_UNSAVED for DW_CFA_undefined.
960 (uw_update_context_1): Handle REG_UNDEFINED the same as REG_UNSAVED.
961 (uw_update_context): If RA column is REG_UNDEFINED, mark it as
962 outermost frame.
963
aad2bccb
RE
9642009-04-04 Richard Earnshaw <rearnsha@arm.com>
965
966 PR target/39501
967 * arm.md (movsfcc): Disable if not TARGET_HARD_FLOAT.
968 * testsuite/gcc.c-torture/execute/pr39501.c: New file.
969 * testsuite/gcc.c-torture/execute/pr39501.x: New file.
970
aa7069aa
RG
9712009-04-04 Richard Guenther <rguenther@suse.de>
972
973 PR tree-optimization/8781
974 PR tree-optimization/37892
975 * tree-ssa-sccvn.h (vn_reference_fold_indirect): Declare.
976 * tree-ssa-sccvn.c (vn_reference_fold_indirect): New function.
977 (valueize_refs): Call it for *& valueizations.
978 (shared_reference_ops_from_ref): Rename to ...
979 (valueize_shared_reference_ops_from_ref): ... this and valueize.
980 (shared_reference_ops_from_call): Rename to ...
981 (valueize_shared_reference_ops_from_call): ... this and valueize.
982 (vn_reference_lookup): Update.
983 (visit_reference_op_call): Likewise.
984 * tree-ssa-pre.c (phi_translate_1): Fold *&.
985 (eliminate): Value-replace the call address in call statements.
986
cd15ad3e
RG
9872009-04-04 Richard Guenther <rguenther@suse.de>
988
989 PR tree-optimization/39636
990 * tree-ssa-forwprop.c
991 (forward_propagate_addr_into_variable_array_index): Check for
992 GIMPLE_ASSIGN before accessing the rhs code.
993
462f3262
JM
9942009-04-03 Jason Merrill <jason@redhat.com>
995
996 * stor-layout.c (set_sizetype): Set TYPE_CANONICAL.
997
6adb807e
SE
9982009-04-03 Steve Ellcey <sje@cup.hp.com>
999
1000 * config/ia64/ia64.md (extendsfdf2, extendsfxf2, extenddfxf2,
1001 truncdfsf2, truncxfsf2, truncxfdf2, floatdixf2, fix_truncsfdi2,
1002 fix_truncdfdi2, fix_truncxfdi2, fix_truncxfdi2_alts, floatunsdisf2,
1003 floatunsdidf2, floatunsdixf2, fixuns_truncsfdi2, fixuns_truncdfdi2,
1004 fixuns_truncxfdi2, fixuns_truncxfdi2_alts, divsi3_internal,
1005 smuldi3_highpart, umuldi3_highpart, ctzdi2, *getf_exp_xf,
1006 divdi3_internal_lat, divdi3_internal_thr, mulditi3, *mulditi3_internal,
1007 umulditi3, *umulditi3_internal, addsf3, mulsf3, abssf2, negsf2,
1008 *nabssf2, sminsf3, smaxsf3, *maddsf4, *msubsf4, *nmulsf3, *nmaddsf4,
1009 *nmaddsf4_alts, divsf3, *sqrt_approx, sqrtsf2, sqrtsf2_internal_thr,
1010 adddf3, *adddf3_trunc, muldf3, *muldf3_trunc, absdf2, negdf2, *nabsdf2,
1011 smindf3, smaxdf3, *madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc,
1012 *nmuldf3, *nmuldf3_trunc, *nmadddf4, *nmadddf4_alts, *nmadddf4_truncsf,
1013 *nmadddf4_truncsf_alts, divdf3, sqrtdf2, sqrtdf2_internal_thr, divxf3,
1014 sqrtxf2, sqrtxf2_internal_thr, *recip_approx):
1015 Use fr_reg_or_fp01_operand instead of fr_register_operand
1016
1017 * config/ia64/div.md (extend<mode>rf2, truncrf<mode>2,
1018 recip_approx_rf, divsf3_internal_thr, divsf3_internal_lat,
1019 divdf3_internal_thr, divdf3_internal_lat divxf3_internal): Ditto.
1020
174b3107
VM
10212009-04-03 Vladimir Makarov <vmakarov@redhat.com>
1022
b844e5d8
L
1023 PR rtl-optimization/39607
1024 PR rtl-optimization/39631
7a715bba
UB
1025
1026 Revert:
1027
174b3107
VM
1028 2009-03-30 Vladimir Makarov <vmakarov@redhat.com>
1029 * reload.c (push_reload, find_dummy_reload): Use df_get_live_out
1030 instead of DF_LR_OUT.
1031 * ira-lives.c (process_bb_node_lives): Ditto.
1032 * ira-color.c (ira_loop_edge_freq): Use df_get_live_{out,in}
1033 instead of DF_LR_{OUT,IN}.
1034 * ira-emit.c (generate_edge_moves, add_ranges_and_copies): Ditto.
1035 * ira-build.c (create_bb_allocnos, create_loop_allocnos): Ditto.
1036
535b544a
SB
10372009-04-03 Steven Bosscher <steven@gcc.gnu.org>
1038
1039 * omp-low.c (pass_expand_omp): Don't claim to provide PROP_gimple_lomp.
1040 (execute_lower_omp): Always run but take the short way out if -fopenmp
1041 is not given.
1042 (gate_lower_omp): Remove, forcing the pass manager to always run the
1043 pass and always set PROP_gimple_lomp.
1044 (pass_lower_omp): Remove gate function.
1045 * matrix-reorg.c (pass_ipa_matrix_reorg): Don't claim to provide
1046 PROP_trees. Instead, require it.
1047 * ipa-cp.c (pass_ipa_cp): Likewise.
1048 * ipa-inline.c (pass_early_inline): Don't claim to provide PROP_cfg.
1049 (pass_ipa_early_inline, pass_inline_parameters, pass_ipa_inline): Idem.
1050 * tree-profile.c (pass_tree_profile): Don't claim to provide PROP_cfg
1051 and PROP_gimple_leh.
1052
5006671f
RG
10532009-04-03 Richard Guenther <rguenther@suse.de>
1054
1055 PR middle-end/13146
1056 PR tree-optimization/23940
1057 PR tree-optimization/33237
1058 PR middle-end/33974
1059 PR middle-end/34093
1060 PR tree-optimization/36201
1061 PR tree-optimization/36230
1062 PR tree-optimization/38049
1063 PR tree-optimization/38207
1064 PR tree-optimization/38230
1065 PR tree-optimization/38301
1066 PR tree-optimization/38585
1067 PR middle-end/38895
1068 PR tree-optimization/38985
1069 PR tree-optimization/39299
1070 * tree-ssa-structalias.h: Remove.
1071 * tree-ssa-operands.h (NULL_USE_OPERAND_P): Make of type use_operand_p.
1072 (NULL_DEF_OPERAND_P): Make of type def_operand_p.
1073 (struct vuse_element_d): Remove.
1074 (struct vuse_vec_d): Likewise.
1075 (VUSE_VECT_NUM_ELEM, VUSE_VECT_ELEMENT_NC, VUSE_ELEMENT_PTR_NC,
1076 VUSE_ELEMENT_VAR_NC, VUSE_VECT_ELEMENT, VUSE_ELEMENT_PTR,
1077 SET_VUSE_VECT_ELEMENT, SET_VUSE_ELEMENT_VAR, SET_VUSE_ELEMENT_PTR,
1078 VUSE_ELEMENT_VAR): Likewise.
1079 (struct voptype_d): Likewise.
1080 (NUM_VOP_FREE_BUCKETS): Likewise.
1081 (struct ssa_operands): Remove vop_free_buckets and mpt_table fields.
1082 (struct stmt_operands_d): Remove.
1083 (VUSE_OP_PTR, VUSE_OP, SET_VUSE_OP, VUSE_NUM, VUSE_VECT,
1084 VDEF_RESULT_PTR, VDEF_RESULT, VDEF_OP_PTR, VDEF_OP, SET_VDEF_OP,
1085 VDEF_NUM, VDEF_VECT): Likewise.
1086 (copy_virtual_operands): Remove.
1087 (operand_build_cmp): Likewise.
1088 (create_ssa_artificial_load_stmt): Likewise.
1089 (enum ssa_op_iter_type): Remove ssa_op_iter_vdef.
1090 (struct ssa_operand_iterator_d): Remove vuses, vdefs, mayusesm
1091 vuse_index and mayuse_index members. Pack and move done and iter_type
1092 members to the front.
1093 (SSA_OP_VMAYUSE): Remove.
1094 (SSA_OP_VIRTUAL_USES): Adjust.
1095 (FOR_EACH_SSA_VDEF_OPERAND): Remove.
1096 (unlink_stmt_vdef): Declare.
1097 (add_to_addressable_set): Remove.
1098 * tree-vrp.c (stmt_interesting_for_vrp): Adjust.
1099 (vrp_visit_stmt): Likewise.
1100 * doc/tree-ssa.texi (Alias analysis): Update.
1101 * doc/invoke.texi (max-aliased-vops): Remove docs.
1102 (avg-aliased-vops): Likewise.
1103 * tree-into-ssa.c (syms_to_rename): Remove.
1104 (need_to_update_vops_p): Likewise.
1105 (need_to_initialize_update_ssa_p): Rename to ...
1106 (update_ssa_initialized_fn): ... this. Track function we are
1107 initialized for.
1108 (symbol_marked_for_renaming): Simplify.
1109 (add_new_name_mapping): Do not set need_to_update_vops_p.
1110 (dump_currdefs): Use SYMS_TO_RENAME.
1111 (rewrite_update_stmt): Always walk all uses/defs.
1112 (dump_update_ssa): Adjust.
1113 (init_update_ssa): Take function argument. Track what we are
1114 initialized for.
1115 (delete_update_ssa): Reset SYMS_TO_RENAME and update_ssa_initialized_fn.
1116 (create_new_def_for): Initialize for cfun, assert we are initialized
1117 for cfun.
1118 (mark_sym_for_renaming): Simplify.
1119 (mark_set_for_renaming): Do not initialize update-ssa.
1120 (need_ssa_update_p): Simplify. Take function argument.
1121 (name_mappings_registered_p): Assert we ask for the correct function.
1122 (name_registered_for_update_p): Likewise.
1123 (ssa_names_to_replace): Likewise.
1124 (release_ssa_name_after_update_ssa): Likewise.
1125 (update_ssa): Likewise. Use SYMS_TO_RENAME.
1126 (dump_decl_set): Do not print a newline.
1127 (debug_decl_set): Do it here.
1128 (dump_update_ssa): And here.
1129 * tree-ssa-loop-im.c (move_computations): Adjust.
1130 (movement_possibility): Likewise.
1131 (determine_max_movement): Likewise.
1132 (gather_mem_refs_stmt): Likewise.
1133 * tree-dump.c (dequeue_and_dump): Do not handle SYMBOL_MEMORY_TAG
1134 or NAME_MEMORY_TAG.
1135 * tree-complex.c (update_all_vops): Remove.
1136 (expand_complex_move): Adjust.
1137 * tree-ssa-loop-niter.c (chain_of_csts_start): Use NULL_TREE.
1138 Simplify test for memory referencing statement. Exclude
1139 non-invariant ADDR_EXPRs.
1140 * tree-pretty-print.c (dump_generic_node): Do not handle memory tags.
1141 * tree-loop-distribution.c (generate_memset_zero): Adjust.
1142 (rdg_flag_uses): Likewise.
1143 * tree-tailcall.c (suitable_for_tail_opt_p): Remove memory-tag
1144 related code.
1145 (tree_optimize_tail_calls_1): Also split the
1146 edge from the entry block if we have degenerate PHI nodes in
1147 the first basic block.
1148 * tree.c (init_ttree): Remove memory-tag related code.
1149 (tree_code_size): Likewise.
1150 (tree_node_structure): Likewise.
1151 (build7_stat): Re-write to be build6_stat.
1152 * tree.h (MTAG_P, TREE_MEMORY_TAG_CHECK, TMR_TAG): Remove.
1153 (SSA_VAR_P): Adjust.
1154 (struct tree_memory_tag): Remove.
1155 (struct tree_memory_partition_tag): Likewise.
1156 (union tree_node): Adjust.
1157 (build7): Re-write to be build6.
1158 * tree-pass.h (pass_reset_cc_flags): Remove.
1159 (TODO_update_address_taken): New flag.
1160 (pass_simple_dse): Remove.
1161 * ipa-cp.c (ipcp_update_callgraph): Update SSA form.
1162 * params.h (MAX_ALIASED_VOPS): Remove.
1163 (AVG_ALIASED_VOPS): Likewise.
1164 * omp-low.c (expand_omp_taskreg): Update SSA form.
1165 * tree-ssa-dse.c (dse_optimize_stmt): Properly query if the rhs
1166 aliases the lhs in a copy stmt.
1167 * tree-ssa-dse.c (struct address_walk_data): Remove.
1168 (memory_ssa_name_same): Likewise.
1169 (memory_address_same): Likewise.
1170 (get_kill_of_stmt_lhs): Likewise.
1171 (dse_possible_dead_store_p): Simplify, use the oracle. Handle
1172 unused stores. Look through PHI nodes into post-dominated regions.
1173 (dse_optimize_stmt): Simplify. Properly remove stores.
1174 (tree_ssa_dse): Compute dominators.
1175 (execute_simple_dse): Remove.
1176 (pass_simple_dse): Likewise.
1177 * ipa-reference.c (scan_stmt_for_static_refs): Open-code
1178 gimple_loaded_syms and gimple_stored_syms computation.
1179 * toplev.c (dump_memory_report): Dump alias and pta stats.
1180 * tree-ssa-sccvn.c (vn_reference_compute_hash): Simplify.
1181 (vn_reference_eq): Likewise.
1182 (vuses_to_vec, copy_vuses_from_stmt, vdefs_to_vec,
1183 copy_vdefs_from_stmt, shared_lookup_vops, shared_vuses_from_stmt,
1184 valueize_vuses): Remove.
1185 (get_def_ref_stmt_vuses): Simplify. Rename to ...
1186 (get_def_ref_stmt_vuse): ... this.
1187 (vn_reference_lookup_2): New function.
1188 (vn_reference_lookup_pieces): Use walk_non_aliased_vuses for
1189 walking equivalent vuses. Simplify.
1190 (vn_reference_lookup): Likewise.
1191 (vn_reference_insert): Likewise.
1192 (vn_reference_insert_pieces): Likewise.
1193 (visit_reference_op_call): Simplify.
1194 (visit_reference_op_load): Likewise.
1195 (visit_reference_op_store): Likewise.
1196 (init_scc_vn): Remove shared_lookup_vuses initialization.
1197 (free_scc_vn): Remove shared_lookup_vuses freeing.
1198 (sort_vuses, sort_vuses_heap): Remove.
1199 (get_ref_from_reference_ops): Export.
1200 * tree-ssa-sccvn.h (struct vn_reference_s): Replace vuses
1201 vector with single vuse pointer.
1202 (vn_reference_lookup_pieces, vn_reference_lookup,
1203 vn_reference_insert, vn_reference_insert_pieces): Adjust prototypes.
1204 (shared_vuses_from_stmt): Remove.
1205 (get_ref_from_reference_ops): Declare.
1206 * tree-ssa-loop-manip.c (slpeel_can_duplicate_loop_p): Adjust.
1207 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Remove
1208 memory-tag related code.
1209 * tree-ssa-ccp.c (get_symbol_constant_value): Remove memory-tag code.
1210 (likely_value): Add comment, skip static-chain of call statements.
1211 (surely_varying_stmt_p): Adjust.
1212 (gimplify_and_update_call_from_tree): Likewise.
1213 (execute_fold_all_builtins): Do not rebuild alias info.
1214 (gimplify_and_update_call_from_tree): Properly update VOPs.
1215 * tree-ssa-loop-ivopts.c (get_ref_tag): Remove.
1216 (copy_ref_info): Remove memory-tag related code.
1217 * tree-call-cdce.c (tree_call_cdce): Rename the VOP.
1218 * ipa-pure-const.c (check_decl): Remove memory-tag related code.
1219 (check_stmt): Open-code gimple_loaded_syms and gimple_stored_syms
1220 computation.
1221 * tree-ssa-dom.c (gimple_p): Remove typedef.
1222 (eliminate_redundant_computations): Adjust.
1223 (record_equivalences_from_stmt): Likewise.
1224 (avail_expr_hash): Likewise.
1225 (avail_expr_eq): Likewise.
7a715bba 1226 * tree-ssa-propagate.c (update_call_from_tree): Properly update VOPs.
5006671f
RG
1227 (stmt_makes_single_load): Likewise.
1228 (stmt_makes_single_store): Likewise.
1229 * tree-ssa-alias.c: Rewrite completely.
1230 (debug_memory_partitions, dump_mem_ref_stats, debug_mem_ref_stats,
1231 debug_mem_sym_stats, dump_mem_sym_stats_for_var,
1232 debug_all_mem_sym_stats, debug_mp_info, update_mem_sym_stats_from_stmt,
1233 delete_mem_ref_stats, create_tag_raw, dump_points_to_info,
1234 dump_may_aliases_for, debug_may_aliases_for, new_type_alias):
1235 Remove public functions.
1236 (pass_reset_cc_flags): Remove.
1237 (pass_build_alias): Move ...
1238 * tree-ssa-structalias.c (pass_build_alias): ... here.
1239 * tree-ssa-alias.c (may_be_aliased): Move ...
1240 * tree-flow-inline.h (may_be_aliased): ... here.
1241 tree-ssa-alias.c (struct count_ptr_d, count_ptr_derefs,
1242 count_uses_and_derefs): Move ...
1243 * gimple.c: ... here.
1244 * gimple.h (count_uses_and_derefs): Declare.
1245 * tree-ssa-alias.c (dump_alias_stats, ptr_deref_may_alias_global_p,
1246 ptr_deref_may_alias_decl_p, ptr_derefs_may_alias_p,
1247 same_type_for_tbaa, nonaliasing_component_refs_p, decl_refs_may_alias_p,
1248 indirect_ref_may_alias_decl_p, indirect_refs_may_alias_p,
1249 ref_maybe_used_by_call_p, ref_maybe_used_by_stmt_p,
1250 call_may_clobber_ref_p, stmt_may_clobber_ref_p, maybe_skip_until,
1251 get_continuation_for_phi, walk_non_aliased_vuses, walk_aliased_vdefs):
1252 New functions.
1253 * tree-dfa.c (refs_may_alias_p): Move ...
1254 * tree-ssa-alias.c (refs_may_alias_p): ... here. Extend.
1255 * tree-ssa-alias.h: New file.
1256 * tree-ssa-sink.c (is_hidden_global_store): Adjust.
1257 (statement_sink_location): Likewise.
1258 * opts.c (decode_options): Do not adjust max-aliased-vops or
1259 avg-aliased-vops values.
1260 * timevar.def (TV_TREE_MAY_ALIAS): Remove.
1261 (TV_CALL_CLOBBER): Likewise.
1262 (TV_FLOW_SENSITIVE): Likewise.
1263 (TV_FLOW_INSENSITIVE): Likewise.
1264 (TV_MEMORY_PARTITIONING): Likewise.
1265 (TV_ALIAS_STMT_WALK): New timevar.
1266 * tree-ssa-loop-ivcanon.c (empty_loop_p): Adjust.
1267 * tree-ssa-address.c (create_mem_ref_raw): Use build6.
1268 (get_address_description): Remove memory-tag related code.
1269 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Adjust.
1270 * treestruct.def (TS_MEMORY_TAG, TS_MEMORY_PARTITION_TAG): Remove.
1271 * tree-eh.c (cleanup_empty_eh): Do not leave stale SSA_NAMEs
1272 and immediate uses in statements. Document.
1273 * gimple-pretty-print.c (dump_gimple_mem_ops): Adjust.
1274 (dump_symbols): Remove.
1275 (dump_gimple_mem_ops): Do not dump loaded or stored syms.
1276 * alias.c (get_deref_alias_set): New function split out from ...
1277 (get_alias_set): ... here.
1278 * alias.h (get_deref_alias_set): Declare.
1279 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Remove unused
1280 type parameter. Remove restrict pointer handling. Create a
1281 ref-all pointer in case type-based alias sets do not conflict.
1282 (vect_analyze_data_refs): Remove SMT related code.
1283 * tree-vect-stmts.c (vectorizable_store): Re-instantiate TBAA assert.
1284 (vectorizable_load): Likewise.
1285 * tree-data-ref.h (struct dr_alias): Remove symbol_tag field.
1286 (DR_SYMBOL_TAG, DR_VOPS): Remove.
1287 * tree-data-ref.c (dr_may_alias_p): Use the alias-oracle.
1288 Ignore vops and SMTs.
1289 (dr_analyze_alias): Likewise..
1290 (free_data_ref): Likewise.
1291 (create_data_ref): Likewise.
1292 (analyze_all_data_dependences): Likewise.
1293 (get_references_in_stmt): Adjust.
1294 * tree-flow-inline.h (gimple_aliases_computed_p,
1295 gimple_addressable_vars, gimple_call_clobbered_vars,
1296 gimple_call_used_vars, gimple_global_var, may_aliases, memory_partition,
1297 factoring_name_p, mark_call_clobbered, clear_call_clobbered,
1298 compare_ssa_operands_equal, symbol_mem_tag, set_symbol_mem_tag,
1299 gimple_mem_ref_stats): Remove.
1300 (gimple_vop): New function.
1301 (op_iter_next_use): Remove vuses and mayuses cases.
1302 (op_iter_next_def): Remove vdefs case.
1303 (op_iter_next_tree): Remove vuses, mayuses and vdefs cases.
1304 (clear_and_done_ssa_iter): Do not set removed fields.
1305 (op_iter_init): Likewise. Skip vuse and/or vdef if requested.
1306 Assert we are not iterating over vuses or vdefs if not also
1307 iterating over uses or defs.
1308 (op_iter_init_use): Likewise.
1309 (op_iter_init_def): Likewise.
1310 (op_iter_next_vdef): Remove.
1311 (op_iter_next_mustdef): Likewise.
1312 (op_iter_init_vdef): Likewise.
1313 (compare_ssa_operands_equal): Likewise.
1314 (link_use_stmts_after): Handle vuse operand.
1315 (is_call_used): Use is_call_clobbered.
1316 (is_call_clobbered): Global variables are always call clobbered,
1317 query the call-clobbers bitmap.
1318 (mark_call_clobbered): Ignore global variables.
1319 (clear_call_clobbered): Likewise.
1320 * tree-ssa-coalesce.c (create_outofssa_var_map): Adjust
1321 virtual operands sanity check.
1322 * tree.def (NAME_MEMORY_TAG, SYMBOL_MEMORY_TAG, MEMORY_PARTITION_TAG):
1323 Remove.
1324 (TARGET_MEM_REF): Remove TMR_TAG operand.
1325 * tree-dfa.c (add_referenced_var): Initialize call-clobber state.
1326 Remove call-clobber related code.
1327 (remove_referenced_var): Likewise. Do not clear mpt or symbol_mem_tag.
1328 (dump_variable): Do not dump SMTs, memory stats, may-aliases or
1329 partitions or escape reason.
1330 (get_single_def_stmt, get_single_def_stmt_from_phi,
1331 get_single_def_stmt_with_phi): Remove.
1332 (dump_referenced_vars): Tidy.
1333 (get_ref_base_and_extent): Allow bare decls.
1334 (collect_dfa_stats): Adjust.
1335 * graphite.c (rename_variables_in_stmt): Adjust.
1336 (graphite_copy_stmts_from_block): Likewise.
1337 (translate_clast): Likewise.
1338 * tree-ssa-pre.c (struct bb_bitmap_sets): Add expr_dies bitmap.
1339 (EXPR_DIES): New.
1340 (translate_vuse_through_block): Use the oracle.
1341 (phi_translate_1): Adjust.
1342 (value_dies_in_block_x): Use the oracle. Cache the outcome
1343 in EXPR_DIES.
1344 (valid_in_sets): Check if the VUSE for
1345 a REFERENCE is available.
1346 (eliminate): Do not remove stmts during elimination,
1347 instead queue and remove them afterwards.
1348 (do_pre): Do not rebuild alias info.
1349 (pass_pre): Run TODO_rebuild_alias before PRE.
1350 * tree-ssa-live.c (remove_unused_locals): Remove memory-tag code.
1351 * tree-sra.c (sra_walk_function): Use gimple_references_memory_p.
1352 (mark_all_v_defs_stmt): Remove.
1353 (mark_all_v_defs_seq): Adjust.
1354 (sra_replace): Likewise.
1355 (scalarize_use): Likewise.
1356 (scalarize_copy): Likewise.
1357 (scalarize_init): Likewise.
1358 (scalarize_ldst): Likewise.
1359 (todoflags): Remove.
1360 (tree_sra): Do not rebuild alias info.
1361 (tree_sra_early): Adjust.
1362 (pass_sra): Run TODO_update_address_taken before SRA.
1363 * tree-predcom.c (set_alias_info): Remove.
1364 (prepare_initializers_chain): Do not call it.
1365 (mark_virtual_ops_for_renaming): Adjust.
1366 (mark_virtual_ops_for_renaming_list): Remove.
1367 (initialize_root_vars): Adjust.
1368 (initialize_root_vars_lm): Likewise.
1369 (prepare_initializers_chain): Likewise.
1370 * tree-ssa-copy.c (may_propagate_copy): Remove memory-tag related code.
1371 (may_propagate_copy_into_stmt): Likewise.
1372 (merge_alias_info): Do nothing for now.
1373 (propagate_tree_value_into_stmt): Adjust.
1374 (stmt_may_generate_copy): Likewise.
1375 * tree-ssa-forwprop.c (tidy_after_forward_propagate_addr): Do
1376 not mark symbols for renaming.
1377 (forward_propagate_addr_expr): Match up push/pop_stmt_changes
1378 with the same statement, make sure to update the new pointed-to one.
1379 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not copy
1380 call statements, do not mark symbols for renaming.
1381 (mark_operand_necessary): Dump something.
1382 (ref_may_be_aliased): New function.
1383 (mark_aliased_reaching_defs_necessary_1): New helper function.
1384 (mark_aliased_reaching_defs_necessary): Likewise.
1385 (mark_all_reaching_defs_necessary_1): Likewise.
1386 (mark_all_reaching_defs_necessary): Likewise.
1387 (propagate_necessity): Do not process virtual PHIs. For
1388 non-aliased loads mark all reaching definitions as necessary.
1389 For aliased loads and stores mark the immediate dominating
1390 aliased clobbers as necessary.
1391 (visited): New global static.
1392 (perform_tree_ssa_dce): Free visited bitmap after propagating
1393 necessity.
1394 (remove_dead_phis): Perform simple dead virtual PHI removal.
1395 (remove_dead_stmt): Properly unlink virtual operands when
1396 removing stores.
1397 (eliminate_unnecessary_stmts): Schedule PHI removal after
1398 stmt removal.
1399 * tree-ssa-ter.c (is_replaceable_p): Adjust.
1400 (process_replaceable): Likewise.
1401 (find_replaceable_in_bb): Likewise.
1402 * tree-ssa.c (verify_ssa_name): Verify all VOPs are
1403 based on the single gimple vop.
1404 (verify_flow_insensitive_alias_info): Remove.
1405 (verify_flow_sensitive_alias_info): Likewise.
1406 (verify_call_clobbering): Likewise.
1407 (verify_memory_partitions): Likewise.
1408 (verify_alias_info): Likewise.
1409 (verify_ssa): Adjust..
1410 (execute_update_addresses_taken): Export. Update SSA
1411 manually. Optimize only when optimizing. Use a local bitmap.
1412 (pass_update_address_taken): Remove TODO_update_ssa, add
1413 TODO_dump_func.
1414 (pass_update_address_taken): Just use TODO_update_address_taken.
1415 (init_tree_ssa): Do not initialize addressable_vars.
1416 (verify_ssa): Verify new VUSE / VDEF properties.
1417 Verify that all stmts definitions have the stmt as SSA_NAME_DEF_STMT.
1418 Do not call verify_alias_info.
1419 (delete_tree_ssa): Clear the VUSE, VDEF operands.
1420 Do not free the loaded and stored syms bitmaps. Reset the escaped
1421 and callused solutions. Do not free addressable_vars.
1422 Remove memory-tag related code.
1423 (warn_uninitialized_var): Aliases are always available.
1424 * tree-ssa-loop-prefetch.c (gather_memory_references): Adjust.
1425 * lambda-code.c (can_put_in_inner_loop): Adjust.
1426 (can_put_after_inner_loop): Likewise.
1427 (perfect_nestify): Likewise.
1428 * tree-vect-stmts.c (vect_stmt_relevant_p): Adjust.
1429 (vect_gen_widened_results_half): Remove CALL_EXPR handling.
1430 (vectorizable_conversion): Do not mark symbols for renaming.
1431 * tree-inline.c (remap_gimple_stmt): Clear VUSE/VDEF.
1432 (expand_call_inline): Unlink the calls virtual operands before
1433 replacing it.
1434 (tree_function_versioning): Do not call update_ssa if we are not
1435 updating clones. Simplify.
1436 * tree-ssa-phiprop.c (phivn_valid_p): Adjust.
1437 (propagate_with_phi): Likewise..
1438 * tree-outof-ssa.c (create_temp): Remove memory tag and call
1439 clobber code. Assert we are not aliased or global.
1440 * tree-flow.h: Include tree-ssa-alias.h
1441 (enum escape_type): Remove.
1442 (struct mem_sym_stats_d): Likewise.
1443 (struct mem_ref_stats_d): Likewise.
1444 (struct gimple_df): Add vop member. Remove global_var,
1445 call_clobbered_vars, call_used_vars, addressable_vars,
1446 aliases_compted_p and mem_ref_stats members. Add syms_to_rename,
1447 escaped and callused members.
1448 (struct ptr_info_def): Remove all members, add points-to solution
1449 member pt.
1450 (struct var_ann_d): Remove in_vuse_list, in_vdef_list,
1451 call_clobbered, escape_mask, mpt and symbol_mem_tag members.
1452 * Makefile.in (TREE_FLOW_H): Add tree-ssa-alias.h.
1453 (tree-ssa-structalias.o): Remove tree-ssa-structalias.h.
1454 (tree-ssa-alias.o): Likewise.
1455 (toplev.o): Add tree-ssa-alias.h
1456 (GTFILES): Remove tree-ssa-structalias.h, add tree-ssa-alias.h.
1457 * gimple.c (gimple_set_bb): Fix off-by-one error.
1458 (is_gimple_reg): Do not handle memory tags.
1459 (gimple_copy): Also copy virtual operands.
1460 Delay updating the statement. Do not reset loaded and stored syms.
1461 (gimple_set_stored_syms): Remove.
1462 (gimple_set_loaded_syms): Likewise.
1463 (gimple_call_copy_skip_args): Copy the virtual operands
1464 and mark the new statement modified.
1465 * tree-ssa-structalias.c (may_alias_p): Remove.
1466 (set_uids_in_ptset): Take the alias set to prune with as
1467 parameter. Fold in the alias test of may_alias_p.
1468 (compute_points_to_sets): Compute whether a ptr is dereferenced
1469 in a local sbitmap.
1470 (process_constraint): Deal with &ANYTHING on the lhs, reject all
1471 other ADDRESSOF constraints on the lhs.
1472 (get_constraint_for_component_ref): Assert that we don't get
1473 ADDRESSOF constraints from the base of the reference.
1474 Properly generate UNKNOWN_OFFSET for DEREF if needed.
1475 (struct variable_info): Remove collapsed_to member.
1476 (get_varinfo_fc): Remove.
1477 (new_var_info): Do not set collapsed_to.
1478 (dump_constraint): Do not follow cycles.
1479 (dump_constraint_graph): Likewise.
1480 (build_pred_graph): Likewise.
1481 (build_succ_graph): Likewise.
1482 (rewrite_constraints): Likewise.
1483 (do_simple_structure_copy): Remove.
1484 (do_rhs_deref_structure_copy): Remove.
1485 (do_lhs_deref_structure_copy): Remove.
1486 (collapse_rest_of_var): Remove.
1487 (do_structure_copy): Re-implement.
1488 (pta_stats): New global variable.
1489 (dump_pta_stats): New function.
1490 (struct constraint_expr): Make offset signed.
1491 (UNKNOWN_OFFSET): Define special value.
1492 (dump_constraint): Dump UNKNOWN_OFFSET as UNKNOWN.
1493 (solution_set_expand): New helper function split out from ...
1494 (do_sd_constraint): ... here.
1495 (solution_set_add): Handle UNKNOWN_OFFSET. Handle negative offsets.
1496 (do_ds_constraint): Likewise.
1497 (do_sd_constraint): Likewise. Do not special-case ESCAPED = *ESCAPED
1498 and CALLUSED = *CALLUSED.
1499 (set_union_with_increment): Make inc argument signed.
1500 (type_safe): Remove.
1501 (get_constraint_for_ptr_offset): Handle unknown and negative
1502 constant offsets.
1503 (first_vi_for_offset): Handle offsets before start. Bail
1504 out early for offsets beyond the variable extent.
1505 (first_or_preceding_vi_for_offset): New function.
1506 (init_base_vars): Add ESCAPED = ESCAPED + UNKNOWN_OFFSET constraint.
1507 Together with ESCAPED = *ESCAPED this properly computes reachability.
1508 (find_what_var_points_to): New function.
1509 (find_what_p_points_to): Implement in terms of find_what_var_points_to.
1510 (pt_solution_reset, pt_solution_empty_p, pt_solution_includes_global,
1511 pt_solution_includes_1, pt_solution_includes, pt_solutions_intersect_1,
1512 pt_solutions_intersect): New functions.
1513 (compute_call_used_vars): Remove.
1514 (compute_may_aliases): New main entry into PTA computation.
1515 * gimple.h (gimple_p): New typedef.
1516 (struct gimple_statement_base): Remove references_memory_p.
1517 (struct gimple_statement_with_memory_ops_base): Remove
1518 vdef_ops, vuse_ops, stores and loads members. Add vdef and vuse
1519 members.
1520 (gimple_vuse_ops, gimple_set_vuse_ops, gimple_vdef_ops,
1521 gimple_set_vdef_ops, gimple_loaded_syms, gimple_stored_syms,
1522 gimple_set_references_memory): Remove.
1523 (gimple_vuse_op, gimple_vdef_op, gimple_vuse, gimple_vdef,
1524 gimple_vuse_ptr, gimple_vdef_ptri, gimple_set_vuse, gimple_set_vdef):
1525 New functions.
1526 * tree-cfg.c (move_block_to_fn): Fix off-by-one error.
1527 (verify_expr): Allow RESULT_DECL.
1528 (gimple_duplicate_bb): Do not copy virtual operands.
1529 (gimple_duplicate_sese_region): Adjust.
1530 (gimple_duplicate_sese_tail): Likewise.
1531 (mark_virtual_ops_in_region): Remove.
1532 (move_sese_region_to_fn): Do not call it.
1533 * passes.c (init_optimization_passes): Remove pass_reset_cc_flags
1534 and pass_simple_dse.
1535 (execute_function_todo): Handle TODO_update_address_taken,
1536 call execute_update_addresses_taken for TODO_rebuild_alias.
1537 (execute_todo): Adjust.
1538 (execute_one_pass): Init dump files early.
1539 * ipa-struct-reorg.c (finalize_var_creation): Do not mark vars
1540 call-clobbered.
1541 (create_general_new_stmt): Clear vops.
1542 * tree-ssa-reassoc.c (get_rank): Adjust.
1543 * tree-vect-slp.c (vect_create_mask_and_perm): Do not mark
1544 symbols for renaming.
1545 * params.def (PARAM_MAX_ALIASED_VOPS): Remove.
1546 (PARAM_AVG_ALIASED_VOPS): Likewise.
1547 * tree-ssanames.c (init_ssanames): Allocate SYMS_TO_RENAME.
1548 (duplicate_ssa_name_ptr_info): No need to copy the shared bitmaps.
7a715bba 1549 * tree-ssa-operands.c: Simplify for new virtual operand representation.
5006671f
RG
1550 (operand_build_cmp, copy_virtual_operands,
1551 create_ssa_artificial_load_stmt, add_to_addressable_set,
1552 gimple_add_to_addresses_taken): Remove public functions.
1553 (unlink_stmt_vdef): New function.
1554
457d1d00
AM
15552009-04-03 Alan Modra <amodra@bigpond.net.au>
1556
1557 * config.gcc (powerpc-*-linux*): Merge variants.
1558
e19da24c
CF
15592009-04-02 Chao-ying Fu <fu@mips.com>
1560 James Grosbach <james.grosbach@microchip.com>
1561
1562 * config/mips/mips.c (mips_frame_info): Add acc_mask, num_acc,
1563 num_cop0_regs, acc_save_offset, cop0_save_offset, acc_sp_offset,
1564 cop0_sp_offset.
1565 (machine_function): Add interrupt_handler_p, use_shadow_register_set_p,
1566 keep_interrupts_masked_p, use_debug_exception_return_p.
1567 (mips_attribute_table): Add interrupt, use_shadow_register_set,
1568 keep_interrupts_masked, use_debug_exception_return.
1569 (mips_interrupt_type_p, mips_use_shadow_register_set_p,
1570 mips_keep_interrupts_masked_p, mips_use_debug_exception_return_p):
1571 New functions.
1572 (mips_function_ok_for_sibcall): Return false for interrupt handlers.
1573 (mips_print_operand): Process COP0 registers to print $0 .. $31
1574 correctly for GAS to process.
1575 (mips_interrupt_extra_call_saved_reg_p): New function.
1576 (mips_cfun_call_saved_reg_p): For interrupt handlers, we need to check
1577 extra registers.
1578 (mips_cfun_might_clobber_call_saved_reg_p): Likewise.
1579 (mips_compute_frame_info): Add supports for interrupt context that
1580 includes doubleword accumulators and COP0 registers.
1581 (mips_for_each_saved_acc): New function.
1582 (mips_for_each_saved_gpr_and_fpr): Change the function name from
1583 mips_for_each_saved_reg.
1584 (mips_save_reg): Save accumulators.
1585 (mips_kernel_reg_p): A new for_each_rtx callback.
1586 (mips_expand_prologue): Support interrupt handlers.
1587 (mips_restore_reg): Restore accumulators.
1588 (mips_expand_epilogue): Support interrupt handlers.
1589 (mips_can_use_return_insn): Return false for interrupt handlers.
1590 (mips_epilogue_uses): New function.
1591 * config/mips/mips.md (UNSPEC_ERET, UNSPEC_DERET, UNSPEC_DI,
1592 UNSPEC_EHB, UNSPEC_RDPGPR, UNSPEC_COP0): New UNSPEC.
1593 (mips_eret, mips_deret, mips_di, mips_ehb, mips_rdpgpr,
1594 cop0_move): New instructions.
1595 * config/mips/mips-protos.h (mips_epilogue_uses): Declare.
1596 * config/mips/mips.h (K0_REG_NUM, K1_REG_NUM, KERNEL_REG_P): New
1597 defines.
1598 (COP0_STATUS_REG_NUM, COP0_CAUSE_REG_NUM, COP0_EPC_REG_NUM):
1599 New defines.
1600 (CAUSE_IPL, SR_IPL, SR_EXL, SR_IE): New defines.
1601 (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): For
1602 interrupt handlers, we use K0 as the temporary register.
1603 (EPILOGUE_USES): Change to a function call.
1604 * config/mips/sde.h (MIPS_EPILOGUE_TEMP_REGNUM): For interrupt
1605 handlers, we use K0 as the temporary register.
1606
1607 * doc/extend.texi (Function Attributes): Document interrupt,
1608 use_shadow_register_set, keep_interrupts_masked,
1609 use_debug_exception_return for MIPS attributes.
1610
aa1ca044
AM
16112009-04-03 Alan Modra <amodra@bigpond.net.au>
1612
1613 * config.gcc (powerpc64-*-gnu*): Add rs6000/default64.h to tm_file.
1614 Remove a number of t-files from tmake_file.
1615 * config/rs6000/sysv4.opt (mprototype): Name variable target_prototype.
1616 * config/rs6000/sysv4.h (TARGET_PROTOTYPE): Define.
1617 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
1618 target_prototype, not TARGET_PROTOTYPE.
1619 (LINK_OS_GNU_SPEC): Define.
1620 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Delete tramp.S
1621 and darwin-ldoubdle.c.
1622
14fdc613
MM
16232009-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
1624
1625 PR driver/39293
1626 * gcc.c (save_temps_flag): Add support for -save-temps=obj.
1627 (cpp_options): Ditto.
1628 (default_compilers): Ditto.
1629 (display_help): Ditto.
1630 (process_command): Ditto.
1631 (do_spec_1): Ditto.
1632 (set_input): Use lbasename instead of duplicate code.
1633 (save_temps_prefix): New static for -save-temps=obj.
1634 (save_temps_length): Ditto.
1635
1636 * doc/invoke.texi (-save-temps=obj): Document new variant to
1637 -save-temps switch.
1638
d3aa398e
JL
16392009-04-02 Jeff Law <law@redhat.com>
1640
1641 * reload1.c (fixup_eh_region_notes): Remove write-only "trap_count"
1642 variable.
1643
83f0ccb8
L
16442009-04-02 H.J. Lu <hongjiu.lu@intel.com>
1645
1646 * configure.ac: Support -Bstatic/-Bdynamic for linker version > 2.
1647 * configure: Regenerated.
1648
dcb6e951
RAE
16492009-04-02 Rafael Avila de Espindola <espindola@google.com>
1650
1651 * c-decl.c (merge_decls): Make sure newdecl and olddecl don't
1652 share the argument list.
1653
d85478c2
RAE
16542009-04-02 Rafael Avila de Espindola <espindola@google.com>
1655
1656 Merge
1657
1658 2009-02-12 Diego Novillo <dnovillo@google.com>
1659
83f0ccb8
L
1660 * varpool.c (debug_varpool): New.
1661 * cgraph.h (debug_varpool): Declare.
d85478c2 1662
34f42a49
JH
16632009-04-02 Jan Hubicka <jh@suse.cz>
1664
1665 * passes.c (init_optimization_passes): Remove two copies of ehcleanup
1666 pass.
1667
a4747b4a
L
16682009-04-02 H.J. Lu <hongjiu.lu@intel.com>
1669
1670 * config/i386/i386.c (ix86_abi): Move initialization to ...
1671 (override_options): Here.
1672
63a9de54
CB
16732009-04-02 Christian Bruel <christian.bruel@st.com>
1674
1675 * config/sh/sh.c (sh_dwarf_register_span): New function.
1676 (TARGET_DWARF_REGISTER_SPAN): Define.
1677 * config/sh/sh-protos.h (sh_dwarf_register_span): Declare.
1678
2f0fa28e
IR
16792009-04-02 Ira Rosen <irar@il.ibm.com>
1680
1681 PR tree-optimization/39595
1682 * tree-vect-slp.c (vect_build_slp_tree): Check that the size of
1683 interleaved loads group is not greater than the SLP group size.
1684
bbf7ce11
RAE
16852009-04-02 Rafael Avila de Espindola <espindola@google.com>
1686
1687 * builtins.c (is_builtin_name): New.
1688 (called_as_built_in): Use is_builtin_name.
1689 * tree.h (is_builtin_name): New.
1690 * varasm.c (incorporeal_function_p): Use is_builtin_name
1691
47e4dfcf
AS
16922009-04-02 Andrew Stubbs <ams@codesourcery.com>
1693
1694 * config/sh/linux-unwind.h: Disable when inhibit_libc is defined.
1695
d0940d56
DS
16962009-04-02 Dodji Seketeli <dodji@redhat.com>
1697
1698 PR c++/26693
1699 * c-decl.c: (clone_underlying_type): Move this ...
1700 * c-common.c (set_underlying_type): ... here.
1701 Also, make sure the function properly sets TYPE_STUB_DECL() on
1702 the newly created typedef variant type.
1703 * c-common.h (is_typedef_decl, set_underlying_type): Declare ...
7a715bba
UB
1704 * c-common.c (is_typedef_decl, set_underlying_type): ... new entry
1705 points.
d0940d56 1706
bf1cbdc6
RG
17072009-04-02 Richard Guenther <rguenther@suse.de>
1708
1709 PR tree-optimization/37221
1710 * tree-flow.h (degenerate_phi_result): Declare.
1711 * tree-ssa-dom.c (degenerate_phi_result): Export.
1712 * tree-scalar-evolution.c (analyze_initial_condition): If
1713 the initial condition is defined by a degenerate PHI node
1714 use the degenerate value.
1715
87cfb32c
EB
17162009-04-01 Eric Botcazou <ebotcazou@adacore.com>
1717
1718 PR rtl-optimization/39588
1719 * combine.c (merge_outer_ops): Do not set the constant when this
1720 is not necessary.
1721 (simplify_shift_const_1): Do not modify it either in this case.
1722
bbb6eae8
SB
17232009-04-01 Steven Bosscher <steven@gcc.gnu.org>
1724
1725 * config/ia64/ia64.c (ia64_handle_option): Inform user that Itanium1
1726 tuning is deprecated if -mtune value is set to an Itanium1 variant.
1727
839a3b8a
JJ
17282009-04-01 Janis Johnson <janis187@us.ibm.com>
1729
1730 PR c/29027
1731 * c-lex.c (interpret_float): Default (no suffix) is double.
1732
667e8acb
XDL
17332009-04-1 Xinliang David Li <davidxl@google.com>
1734
1735 * config/i386/i386.c (legitimate_constant_p): Recognize
1736 all one vector constant.
1737
9332c6eb 17382009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
c4e75102
MT
1739
1740 * gcc/config/vax/vax.c: Add #includes to silence warnings.
1741 Change #include order to silence two warnings.
1742
9332c6eb 17432009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
c4e75102
MT
1744
1745 * gcc/config/vax/linux.h (TARGET_DEFAULT): Add the MASK_QMATH flag bit.
1746 (ASM_SPEC): Pass -k to the assembler for PIC code.
1747
9332c6eb 17482009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
c4e75102
MT
1749
1750 * gcc/config.gcc: Add vax-*-linux* to the switch.
1751 * gcc/config/vax/linux.h: New file. (TARGET_VERSION,
1752 TARGET_OS_CPP_BUILTINS, TARGET_DEFAULT, CPP_SPEC, LINK_SPEC): Define.
1753
9332c6eb 17542009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
c4e75102
MT
1755
1756 * gcc/config/vax/vax.c (vax_output_int_move, adjacent_operands_p):
1757 Use predicate macros instead of GET_CODE() == foo.
1758 * gcc/config/vax/vax.md (movsi_2, movstrictqi, and<mode>3, ashrsi3,
1759 ashlsi3, rotrsi3, <unnamed>): Likewise.
1760
9332c6eb 17612009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
c4e75102
MT
1762
1763 * gcc/config/vax/builtins.md (jbbssiqi, jbbssihi, jbbssisi, jbbcciqi,
1764 jbbccihi, jbbccisi): Remova trailing whitespace.
1765 * gcc/config/vax/constraints.md: Likewise.
1766 * gcc/config/vax/elf.h: (ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
1767 * gcc/config/vax/openbsd1.h (OBSD_OLD_GAS): Likewise.
1768 * gcc/config/vax/predicates.md: Likewise.
1769 * gcc/config/vax/vax.c (print_operand_address, vax_output_int_move,
1770 vax_expand_addsub_di_operands, adjacent_operands_p): Likewise.
1771 * gcc/config/vax/vax.h: Likewise.
1772 * gcc/config/vax/vax.md (nonlocal_goto): Likewise.
1773
9332c6eb 17742009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
c4e75102
MT
1775
1776 * gcc/config/vax/vax.c (vax_float_literal, vax_output_int_move)
1777 (indirectable_address_p, adjacent_operands_p): Add spaces around
1778 braces.
1779 * gcc/config/vax/vax-protos.h (adjacent_operands_p): Likewise.
1780
9332c6eb 17812009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
c4e75102
MT
1782
1783 * gcc/config/vax/vax.c (legitimate_constant_address_p,
1784 legitimate_constant_p, indirectable_address_p, nonindexed_address_p,
1785 index_term_p, reg_plus_index_p, legitimate_address_p,
1786 vax_mode_dependent_address_p): Update comments to match functions
1787 modified by the recent int->bool conversion.
1788
9332c6eb 17892009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
c4e75102
MT
1790
1791 * gcc/config/vax/builtins.md: Update copyright message.
1792 * gcc/config/vax/constraints.md: Likewise.
1793 * gcc/config/vax/netbsd-elf.h: Likewise.
1794 * gcc/config/vax/predicates.md: Likewise.
1795 * gcc/config/vax/vax-protos.h: Likewise.
1796 * gcc/config/vax/vax.c: Likewise.
1797 * gcc/config/vax/vax.h: Likewise.
1798 * gcc/config/vax/vax.md: Likewise.
1799 * gcc/config/vax/vax.opt: Likewise.
1800
9332c6eb 18012009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
c4e75102
MT
1802
1803 * gcc/config/vax/builtins.md (ffssi2, ffssi2_internal,
1804 sync_lock_test_and_set<mode>, sync_lock_release<mode>): Fix indention.
1805 * gcc/config/vax/constraints.md (B, R): Likewise.
1806 * gcc/config/vax/predicates.md (external_memory_operand,
1807 nonimmediate_addsub_di_operand): Likewise.
1808 * gcc/config/vax/vax.c (vax_output_int_add): Likewise.
1809 * gcc/config/vax/vax.md (movsi, movsi_2, mov<mode>, call_value,
1810 untyped_call): Likewise.
1811
9332c6eb 18122009-04-01 Matt Thomas <matt@3am-software.com>
c4e75102 1813
7a715bba
UB
1814 * config/vax/predicates.md: New file.
1815 (symbolic_operand, local_symbolic_operand, external_symbolic_operand,
c4e75102
MT
1816 external_const_operand, nonsymbolic_operand, external_memory_operand,
1817 indirect_memory_operand, indexed_memory_operand,
1818 illegal_blk_memory_operand, illegal_addsub_di_memory_operand,
1819 nonimmediate_addsub_di_operand, general_addsub_di_operand): New
1820 predicate.
7a715bba
UB
1821 * config/vax/constraints.md: New file.
1822 (Z0, U06, U08, U16, CN6, S08, S16, I, J, K, L, M, N, O, G, Q, B, R, T):
1823 New constraint.
1824 * config/vax/builtins.md: New file.
1825 (ffssi2, ffssi2_internal, sync_lock_test_and_set<mode>, jbbssiqi,
1826 jbbssihi, jbbssisi, sync_lock_release<mode>, jbbcciqi, jbbccihi,
1827 jbbccisi): Define.
c4e75102
MT
1828 * config/vax/vax.opt (mqmath): Add option.
1829 * config/vax/vax.md (isfx): Extend with DI.
1830 (VAXintQH, VAXintQHSD): Define.
1831 (tst<mode>, cmp<mode>, *bit<mode>, movmemhi1, truncsiqi2, truncsihi2,
1832 mulsidi3, add<mode>3, sub<mode>, mul<mode>3, div<mode>3, and<mode>,
1833 and<mode>_const_int, ior<mode>3, xor<mode>3, neg<mode>2,
1834 one_cmpl<mode>2, ashlsi3, lshrsi3, rotlsi3): Update constraints.
1835 (movdi): Update constraints and use vax_output_int_move().
1836 (movsi, movsi_2, pushlclsymreg, pushextsymreg, movlclsymreg,
1837 movextsymreg, adddi3, adcdi3, subdi3, sbcdi3, pushextsym, movextsym,
1838 pushlclsym, movlclsym, movaddr<mode>, pushaddr<mode>,
1839 nonlocal_goto): New.
1840 (mov<mode>): Extend accepted operand types.
1841 (subdi3_old): Rename from subdi3, change update constraints and use
1842 a new implementation.
1843 * gcc/config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Add space.
1844 (FRAME_POINTER_CFA_OFFSET, IRA_COVER_CLASSES, CLASS_MAX_NREGS,
1845 MOVE_RATIO, CLEAR_RATIO): Define.
1846 (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P,
1847 CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
1848 (PRINT_OPERAND): Redefine using a function instead of inlined code.
1849 * gcc/config/vax/vax.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
1850 (split_quadword_operands): Make static and really allow variable
1851 splitting.
1852 (print_operand_address): Update for PIC generation.
1853 (print_operand, vax_builtin_setjmp_frame_value, vax_output_int_subtract,
1854 indexable_address_p, fixup_mathdi_operand,
1855 vax_expand_addsub_di_operands, adjacent_operands_p): New.
1856 (vax_float_literal, legitimate_constant_p,
1857 indirectable_constant_address_p, index_term_p,
1858 reg_plus_index_p): Return bool instead of int.
1859 (vax_rtx_costs): Fix cost for CONST_INT, indent and use HOST_WIDE_INT
1860 where needed.
1861 (vax_output_int_move, vax_output_int_add): Extend to allow PIC
1862 generation.
1863 (vax_output_conditional_branch): Indent.
1864 (legitimate_constant_address_p, indirectable_constant_address_p,
1865 indirectable_address_p, nonindexed_address_p, legitimate_address_p,
1866 vax_mode_dependent_address_p): Return bool instead of int, update for
1867 PIC generation.
1868 * config/vax/vax-protos.h (legitimate_constant_address_p,
1869 legitimate_constant_p, legitimate_address_p,
1870 vax_mode_dependent_address_p): Change declaration to bool.
1871 (legitimate_pic_operand_p, adjacent_operands_p, print_operand,
1872 vax_expand_addsub_di_operands, vax_output_int_subtract,
1873 vax_output_movmemsi): Declare.
1874 (split_quadword_operands, vax_float_literal): Delete declaration.
1875 * config/vax/netbsd-elf.h (CC1_SPEC, CC1PLUS_SPEC) Define.
1876 * config/vax/elf.h (NO_EXTERNAL_INDIRECT_ADDRESS,
1877 VAX_CC1_AND_CC1PLUS_SPEC, ASM_PREFERRED_EH_DATA_FORMAT,
1878 ASM_OUTPUT_DWARF_PCREL): Define.
1879 (ASM_SPEC): Change definition to allow PIC generation.
1880
9332c6eb
L
18812009-04-01 Steve Ellcey <sje@cup.hp.com>
1882
1883 * doc/sourcebuild.texi: Update front-end requirements.
1884
d93e052c
JJ
18852009-04-01 Jakub Jelinek <jakub@redhat.com>
1886
1887 PR target/39226
1888 * config/rs6000/rs6000.md (andsi3_internal5_nomc,
1889 anddi3_internal2_nomc, anddi3_internal3_nomc): Removed.
1890 (booldi3_internal3): Use boolean_or_operator instead of
1891 boolean_operator.
1892
6ccb2a4a
JM
18932009-04-01 Joseph Myers <joseph@codesourcery.com>
1894
1895 PR c/39605
1896 * c-decl.c (grokdeclarator): Pedwarn for file-scope array
1897 declarator whose size is not an integer constant expression but
1898 folds to an integer constant, then treat it as a constant
1899 subsequently.
1900
299b87f8
RG
19012009-04-01 Richard Guenther <rguenther@suse.de>
1902
1903 * fold-const.c (fold_plusminus_mult_expr): Do not fold
1904 i * 4 + 2 to (i * 2 + 1) * 2.
1905
b85eb797
JJ
19062009-04-01 Jakub Jelinek <jakub@redhat.com>
1907
1908 PR c/37772
1909 * c-parser.c (c_parser_asm_statement): Skip until close paren and
1910 return if c_parser_asm_string_literal returned NULL.
1911
235e1fe8
NC
19122009-04-01 Nick Clifton <nickc@redhat.com>
1913
1914 * config/m32c/m32c.h (LIBGCC2_UNITS_PER_WORD): Define if not
1915 already defined.
1916 * config/m32c/t-m32c (LIB2FUNCS_EXTRA): Add m32c-lib2-trapv.c.
1917 * config/m32c/m32c-lib2.c: Remove unused typedefs. Rename the
1918 other typedefs to avoid conflicts with libgcc2.c. Define labels
1919 to gain 16-bit bit-manipulation functions from libgcc2.c and then
1920 include it.
1921 * config/m32c/m32c-lib2-trapv.c: New file. Define labels
1922 to gain 16-bit trapping arithmetic functions from libgcc2.c and
1923 then include it.
1924
d6868399
RAE
19252009-04-01 Rafael Avila de Espindola <espindola@google.com>
1926
7a715bba
UB
1927 * varasm.c (default_function_rodata_section): Declare DOT as
1928 const char*.
d6868399 1929
73d21f56
KT
19302009-04-01 Kai Tietz <kai.tietz@onevision.com>
1931 Andrey Galkin <agalkin@hypercom.com>
1932
1933 PR/39492
1934 * config/i386/host-mingw32.c (mingw32_gt_pch_use_address):
1935 Make object_name unique for each process.
1936
03742a9b
JJ
19372009-04-01 Jakub Jelinek <jakub@redhat.com>
1938
1939 PR other/39591
1940 * omp-low.c (remove_exit_barrier): Don't optimize if there are any
1941 addressable variables in the parallel that could go out of scope while
1942 running queued tasks.
1943
4223ff5f
AS
19442009-04-01 Anatoly Sokolov <aesok@post.ru>
1945
1946 * config/avr/avr.h (avr_case_values_threshold): Remove declaration.
1947 (CASE_VALUES_THRESHOLD): Redefine.
1948 * config/avr/avr.c (avr_override_options): Remove initialization of
1949 avr_case_values_threshold variable.
1950 (avr_case_values_threshold): Remove variable. Add new function.
1951 * config/avr/avr-protos.h (avr_case_values_threshold): Declare.
1952 * config/avr/avr.opt (mno-tablejump): Remove option.
1953 * doc/invoke.texi (AVR Options): Remove -mno-tablejump.
1954
e893f6f3
DD
19552009-04-01 DJ Delorie <dj@redhat.com>
1956
1957 * varasm.c (default_function_rodata_section): Don't assume
1958 anything about where the first '.' in the section name is.
1959
b246d100
AM
19602009-04-01 Alan Modra <amodra@bigpond.net.au>
1961
1962 * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Delete redundant
1963 rs6000_emit_stack_tie.
1964
d3e37a9e
ILT
19652009-03-31 Ian Lance Taylor <iant@google.com>
1966
1967 * tree-eh.c (tree_remove_unreachable_handlers): Compare
1968 gimple_code with GIMPLE_RESX, not RESX.
1969
c1b61fca
JM
19702009-03-31 Joseph Myers <joseph@codesourcery.com>
1971
1972 * c-common.c (c_get_ident): New.
7a715bba 1973 (c_common_nodes_and_builtins): Call it for type names that may be NULL.
c1b61fca 1974
c2d2ad48
BE
19752009-04-01 Ben Elliston <bje@au.ibm.com>
1976
1977 * config/rs6000/sysv4.opt (msdata): Improve option description.
1978
13d1a6e7
SE
19792009-03-31 Steve Ellcey <sje@cup.hp.com>
1980
1981 * config/ia64/ia64.md (divsf3_internal_lat): Remove.
1982 (divdf3_internal_lat): Remove.
1983 (divxf3_internal_lat): Remove.
1984 (divxf3_internal_thr): Remove.
1985 (divxf): Use divxf3_internal.
1986 * config/ia64/div.md (divsf3_internal_lat): New.
1987 (divdf3_internal_lat): New.
1988 (divxf3_internal): New.
1989
207bf79d
JM
19902009-03-31 Joseph Myers <joseph@codesourcery.com>
1991
1992 PR c/448
1993 * Makefile.in (USE_GCC_STDINT): Define.
1994 (stmp-int-hdrs): Install stdint.h if applicable.
1995 * c-common.c (CHAR16_TYPE): Define in terms of UINT_LEAST16_TYPE
1996 if known.
1997 (CHAR32_TYPE): Define in terms of UINT_LEAST32_TYPE if known.
1998 (SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE, INT32_TYPE, INT64_TYPE,
1999 UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE,
2000 INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
2001 INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
2002 UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
2003 INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
2004 UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
2005 UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Define.
2006 (c_common_nodes_and_builtins): Initialize
2007 underlying_wchar_type_node. Do not initialize
2008 signed_wchar_type_node or unsigned_wchar_type_node. Initialize
2009 nodes for new types.
2010 (c_stddef_cpp_builtins): Define macros for new types.
2011 * c-common.h (CTI_SIGNED_WCHAR_TYPE, CTI_UNSIGNED_WCHAR_TYPE):
2012 Remove.
2013 (CTI_UNDERLYING_WCHAR_TYPE, CTI_SIG_ATOMIC_TYPE, CTI_INT8_TYPE,
2014 CTI_INT16_TYPE, CTI_INT32_TYPE, CTI_INT64_TYPE, CTI_UINT8_TYPE,
2015 CTI_UINT16_TYPE, CTI_UINT32_TYPE, CTI_UINT64_TYPE,
2016 CTI_INT_LEAST8_TYPE, CTI_INT_LEAST16_TYPE, CTI_INT_LEAST32_TYPE,
2017 CTI_INT_LEAST64_TYPE, CTI_UINT_LEAST8_TYPE, CTI_UINT_LEAST16_TYPE,
2018 CTI_UINT_LEAST32_TYPE, CTI_UINT_LEAST64_TYPE, CTI_INT_FAST8_TYPE,
2019 CTI_INT_FAST16_TYPE, CTI_INT_FAST32_TYPE, CTI_INT_FAST64_TYPE,
2020 CTI_UINT_FAST8_TYPE, CTI_UINT_FAST16_TYPE, CTI_UINT_FAST32_TYPE,
2021 CTI_UINT_FAST64_TYPE, CTI_INTPTR_TYPE, CTI_UINTPTR_TYPE): Define.
2022 (signed_wchar_type_node, unsigned_wchar_type_node): Remove.
2023 (underlying_wchar_type_node, sig_atomic_type_node, int8_type_node,
2024 int16_type_node, int32_type_node, int64_type_node,
2025 uint8_type_node, uint16_type_node, c_uint32_type_node,
2026 c_uint64_type_node, int_least8_type_node, int_least16_type_node,
2027 int_least32_type_node, int_least64_type_node,
2028 uint_least8_type_node, uint_least16_type_node,
2029 uint_least32_type_node, uint_least64_type_node,
2030 int_fast8_type_node, int_fast16_type_node, int_fast32_type_node,
2031 int_fast64_type_node, uint_fast8_type_node, uint_fast16_type_node,
2032 uint_fast32_type_node, uint_fast64_type_node, intptr_type_node,
2033 uintptr_type_node): Define.
2034 * c-cppbuiltin.c (builtin_define_constants,
2035 builtin_define_type_minmax): New.
2036 (builtin_define_stdint_macros): Define more macros.
2037 (c_cpp_builtins): Define more limit macros.
2038 (type_suffix): New.
2039 (builtin_define_type_max): Define in terms of
2040 builtin_define_type_minmax. Remove is_long parameter. All
2041 callers changed.
2042 * config.gcc (use_gcc_stdint): Define.
2043 (tm_file): Add glibc-stdint.h for targets using glibc or uClibc.
2044 Add newlib-stdint.h for generic targets.
2045 * config/glibc-stdint.h, config/newlib-stdint.h,
2046 ginclude/stdint-gcc.h, ginclude/stdint-wrap.h: New.
2047 * config/m32c/m32c.h (UINTPTR_TYPE): Define.
2048 * config/score/score.h (UINTPTR_TYPE): Define.
2049 * config/sol2.h (SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE,
2050 INT32_TYPE, INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE,
2051 UINT64_TYPE, INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
2052 INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
2053 UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
2054 INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
2055 UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
2056 UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Define.
2057 * config/spu/spu.h (STDINT_LONG32): Define.
2058 * configure.ac (use_gcc_stdint): Substitute.
2059 * configure: Regenerate.
2060 * doc/cpp.texi (__SIG_ATOMIC_TYPE__, __INT8_TYPE__,
2061 __INT16_TYPE__, __INT32_TYPE__, __INT64_TYPE__, __UINT8_TYPE__,
2062 __UINT16_TYPE__, __UINT32_TYPE__, __UINT64_TYPE__,
2063 __INT_LEAST8_TYPE__, __INT_LEAST16_TYPE__, __INT_LEAST32_TYPE__,
2064 __INT_LEAST64_TYPE__, __UINT_LEAST8_TYPE__, __UINT_LEAST16_TYPE__,
2065 __UINT_LEAST32_TYPE_, __UINT_LEAST64_TYPE__, __INT_FAST8_TYPE__,
2066 __INT_FAST16_TYPE__, __INT_FAST32_TYPE__, __INT_FAST64_TYPE__,
2067 __UINT_FAST8_TYPE__, __UINT_FAST16_TYPE__, __UINT_FAST32_TYPE__,
2068 __UINT_FAST64_TYPE__, __INTPTR_TYPE__, __UINTPTR_TYPE__,
2069 __WINT_MAX__, __SIZE_MAX__, __PTRDIFF_MAX__, __UINTMAX_MAX__,
2070 __SIG_ATOMIC_MAX__, __INT8_MAX__, __INT16_MAX__, __INT32_MAX__,
2071 __INT64_MAX__, __UINT8_MAX__, __UINT16_MAX__, __UINT32_MAX__,
2072 __UINT64_MAX__, __INT_LEAST8_MAX__, __INT_LEAST16_MAX__,
2073 __INT_LEAST32_MAX__, __INT_LEAST64_MAX__, __UINT_LEAST8_MAX__,
2074 __UINT_LEAST16_MAX__, __UINT_LEAST32_MAX__, __UINT_LEAST64_MAX__,
2075 __INT_FAST8_MAX__, __INT_FAST16_MAX__, __INT_FAST32_MAX__,
2076 __INT_FAST64_MAX__, __UINT_FAST8_MAX__, __UINT_FAST16_MAX__,
2077 __UINT_FAST32_MAX__, __UINT_FAST64_MAX__, __INTPTR_MAX__,
2078 __UINTPTR_MAX__, __WCHAR_MIN__, __WINT_MIN__, __SIG_ATOMIC_MIN__,
2079 __INT8_C, __INT16_C, __INT32_C, __INT64_C, __UINT8_C, __UINT16_C,
2080 __UINT32_C, __UINT64_C, __INTMAX_C, __UINTMAX_C): Document.
2081 * doc/tm.texi (SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE, INT32_TYPE,
2082 INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE,
2083 INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
2084 INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
2085 UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
2086 INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
2087 UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
2088 UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Document.
2089
ed853664
BS
20902009-03-31 Bernd Schmidt <bernd.schmidt@analog.com>
2091
2092 * loop-iv.c (suitable_set_for_replacement): Renamed from
2093 simplify_using_assignment; changed to return bool and to accept new
2094 args DEST and SRC. Return true iff we find a source/destination pair
2095 that can be used to make a replacement, and fill SRC and DEST if so.
2096 Remove arg ALTERED. Don't deal with altered regs here. All callers
2097 changed.
2098 (simplify_using_initial_values): Deal with altered regs here and track
2099 more precisely the effect they have on the validity of our expression.
2100
1569e190
BS
2101 * loop-iv.c (simplify_using_condition): A condition of the form
2102 (EQ REG CONST) can be used to simply make a substitution.
2103 (simplify_using_initial_values): Keep track of conditions we have seen
2104 and keep using them to simplify new expressions, while applying the
2105 same substitutions to them as to the expression.
2106
1d1eb80c
BS
2107 * simplify-rtx.c (simplify_relational_operation_1): Simplify
2108 (LTU (PLUS a C) C) or (LTU (PLUS a C) a) to (GEU a -C); likewise with
2109 GEU/LTU reversed.
2110
28af33b0
BS
2111 * loop-iv.c (determine_max_iter): New arg OLD_NITER. All callers
2112 changed. Use this when trying to improve the upper bound.
2113 Generate the comparison by using simplify_gen_relational.
2114
b30321cd
BS
2115 * loop-iv.c (simple_rhs_p): Allow more kinds of expressions.
2116
60081874
BS
2117 * loop-iv.c (replace_single_def_regs, replace_in_expr): New static
2118 functions.
2119 (simplify_using_assignment, simplify_using_initial_values): Call
2120 replace_in_expr to make replacements. Call replace_single_def_regs
2121 once on the initial version of the expression.
2122
bebc6e07
RR
21232009-03-31 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2124
fcb82ab0 2125 PR target/27237
bebc6e07
RR
2126 * doc/invoke.texi (ARM Options): Update documentation for -mthumb.
2127
6b12efe9
RG
21282009-03-31 Richard Guenther <rguenther@suse.de>
2129
2130 PR middle-end/31029
2131 * fold-const.c (fold_binary): Fold X +- Y CMP X to Y CMP 0 for
2132 equality comparisons. Fold C - X CMP X if C % 2 == 1.
2133
108f6c2f
RG
21342009-03-31 Richard Guenther <rguenther@suse.de>
2135
2136 * tree.h (div_if_zero_remainder): Declare.
2137 * fold-const.c (div_if_zero_remainder): Export.
2138 * tree-ssa-forwprop.c
2139 (forward_propagate_addr_into_variable_array_index): Handle
2140 constant array index addition outside of the variable index.
2141
8f612190
JM
21422009-03-31 Joseph Myers <joseph@codesourcery.com>
2143
2144 PR target/39592
2145 * config/i386/i386.md (*floatunssi<mode>2_1, two unnamed
2146 define_splits, floatunssi<mode>2): Require x87 conversions from
2147 DImode to be permitted.
2148
47580d22
JM
21492009-03-31 Joseph Myers <joseph@codesourcery.com>
2150
2151 PR preprocessor/15638
2152 * c-common.c (c_cpp_error): Handle CPP_DL_FATAL.
2153
ba4d8f9d
RG
21542009-03-31 Richard Guenther <rguenther@suse.de>
2155
2156 PR middle-end/23401
2157 PR middle-end/27810
2158 * tree.h (DECL_GIMPLE_FORMAL_TEMP_P): Remove.
2159 (struct tree_decl_with_vis): Remove gimple_formal_temp member.
2160 * tree-eh.c (lower_eh_constructs_2): Move LHS assignment to
2161 a separate statement.
2162 * gimplify.c (pop_gimplify_context): Remove formal temp handling.
2163 (lookup_tmp_var): Likewise.
2164 (is_gimple_formal_tmp_or_call_rhs): Remove.
2165 (is_gimple_reg_or_call_rhs): Rename to ...
2166 (is_gimple_reg_rhs_or_call): ... this.
2167 (is_gimple_mem_or_call_rhs): Rename to ...
2168 (is_gimple_mem_rhs_or_call): ... this.
2169 (internal_get_tmp_var): Use is_gimple_reg_rhs_or_call. Set
2170 DECL_GIMPLE_REG_P only if is_formal is true.
2171 (gimplify_compound_lval): Use is_gimple_reg. Remove workaround
2172 for non-proper post-modify expression gimplification.
2173 (gimplify_self_mod_expr): For post-modify expressions gimplify
2174 the lvalue to a minimal lvalue.
2175 (rhs_predicate_for): Remove formal temp case.
2176 (gimplify_modify_expr_rhs): Likewise.
2177 (gimplify_addr_expr): Use is_gimple_reg.
2178 (gimplify_expr): Remove formal temp cases.
2179 (gimple_regimplify_operands): Likewise.
2180 * tree-ssa-pre.c (get_or_alloc_expr_for): Treat EXC_PTR_EXPR
2181 and FILTER_EXPR like constants.
2182 * gimple.c (walk_gimple_op): Fix val_only initialization, use
2183 is_gimple_reg.
2184 (is_gimple_formal_tmp_rhs): Remove.
2185 (is_gimple_reg_rhs): Remove special casing.
2186 (is_gimple_mem_rhs): Fix.
2187 (is_gimple_reg): Move DECL_GIMPLE_REG_P handling earlier.
2188 (is_gimple_formal_tmp_var): Remove.
2189 (is_gimple_formal_tmp_reg): Likewise.
2190 (is_gimple_min_lval): Allow invariant component ref parts.
2191 * gimple.h (is_gimple_formal_tmp_rhs, is_gimple_formal_tmp_var,
2192 is_gimple_formal_tmp_reg): Remove declarations.
2193 * tree-cfg.c (verify_expr): Verify that variables with address
2194 taken do not have DECL_GIMPLE_REG_P set.
2195 * tree-mudflap.c (mf_build_check_statement_for): Use
2196 force_gimple_operand instead of gimplify_expr.
2197
8de9b877
AZ
21982009-03-31 Ayal Zaks <zaks@il.ibm.com>
2199
2200 * modulo-sched.c (sms_schedule_by_order): Pass the actual
2201 schedulable rows to compute_split_row.
2202
b5e3caf2
BE
22032009-03-31 Ben Elliston <bje@au.ibm.com>
2204
2205 PR target/31635
2206 * config/rs6000/rs6000.c (rs6000_handle_option): Handle
2207 OPT_mvrsave.
2208
9752c4ad
AM
22092009-03-31 Alan Modra <amodra@bigpond.net.au>
2210
2211 * doc/invoke.texi (RS/6000 and PowerPC Options):Document mtls-markers.
2212 * configure.ac (HAVE_AS_TLS_MARKERS): New gas feature check.
2213 * configure: Regenerate.
2214 * config.in: Regenerate.
2215 * config/rs6000/rs6000.opt (mtls-markers): Add.
2216 * config/rs6000/rs6000.h (TARGET_TLS_MARKERS): Define.
2217 * config/rs6000/rs6000.md (tls_gd_aix, tls_gd_sysv): Add splitter.
2218 (tls_ld_aix, tls_ld_sysv): Likewise.
2219 (tls_gd, tls_gd_call_aix, tls_gd_call_sysv): New insns.
2220 (tls_ld, tls_ld_call_aix, tls_ld_call_sysv): Likewise.
2221
b597d1b6
AM
22222009-03-31 Alan Modra <amodra@bigpond.net.au>
2223
2224 * config/spu/spu.c (spu_expand_prologue): Delete redundant code.
2225
a203a221
JH
22262009-03-30 Jan Hubicka <jh@suse.cz>
2227
b597d1b6
AM
2228 * tree-eh.c (make_eh_edges): Set probability 100% to first edge
2229 out of RESX.
2230 (tree_remove_unreachable_handlers): Cleanup EH predecestor
2231 detection and label handling.
a203a221 2232
5b0c0b2c
VM
22332009-03-30 Vladimir Makarov <vmakarov@redhat.com>
2234
2235 * ira-int.h (ira_allocno): Rename left_conflicts_num to
2236 left_conflicts_size.
2237 (ALLOCNO_LEFT_CONFLICTS_NUM): Rename to
2238 ALLOCNO_LEFT_CONFLICTS_SIZE.
2239
2240 * ira-color.c (allocno_spill_priority, push_allocno_to_stack,
2241 remove_allocno_from_bucket_and_push,
2242 allocno_spill_priority_compare, push_allocnos_to_stack,
2243 setup_allocno_available_regs_num): Use ALLOCNO_LEFT_CONFLICTS_SIZE
2244 instead of ALLOCNO_LEFT_CONFLICTS_NUM.
2245 (setup_allocno_left_conflicts_num): Ditto. Rename to
2246 setup_allocno_left_conflicts_size.
2247 (put_allocno_into_bucket): Use ALLOCNO_LEFT_CONFLICTS_SIZE
2248 instead of ALLOCNO_LEFT_CONFLICTS_NUM and
2249 setup_allocno_left_conflicts_size instead of
2250 setup_allocno_left_conflicts_num.
2251
2252 * ira-build.c (ira_create_allocno): Use
2253 ALLOCNO_LEFT_CONFLICTS_SIZE instead of
2254 ALLOCNO_LEFT_CONFLICTS_NUM.
2255
9a48a93f
VM
22562009-03-30 Vladimir Makarov <vmakarov@redhat.com>
2257
2258 * reload.c (push_reload, find_dummy_reload): Use df_get_live_out
2259 instead of DF_LR_OUT.
2260
2261 * ira-lives.c (process_bb_node_lives): Ditto.
2262
2263 * ira-color.c (ira_loop_edge_freq): Use df_get_live_{out,in}
2264 instead of DF_LR_{OUT,IN}.
2265
2266 * ira-emit.c (generate_edge_moves, add_ranges_and_copies): Ditto.
2267
2268 * ira-build.c (create_bb_allocnos, create_loop_allocnos): Ditto.
2269
4c936d4f
JH
22702009-03-30 Jan Hubicka <jh@suse.cz>
2271
2272 * except.c (label_to_region_map): Fix thinko.
2273
f4d9f129
SE
22742009-03-30 Steve Ellcey <sje@cup.hp.com>
2275
2276 PR middle-end/38237
2277 * tree.h (tree_find_value): New declaration.
2278 * tree.c (tree_find_value): New function.
2279 * varasm.c (assemble_external): Avoid duplicate entries on lists.
2280
b3f27c15
JJ
22812009-03-30 Jakub Jelinek <jakub@redhat.com>
2282
2283 PR debug/39563
2284 * c-decl.c (struct c_binding): Add locus field.
2285 (bind): Add locus argument, set locus field from it.
2286 (pop_scope): For b->nested VAR_DECL or FUNCTION_DECL,
2287 add a DECL_EXTERNAL copy of b->decl to current BLOCK_VARS.
2288 (push_file_scope, pushtag, pushdecl, pushdecl_top_level,
2289 implicitly_declare, undeclared_variable, lookup_label,
2290 declare_label, c_make_fname_decl, c_builtin_function,
2291 c_builtin_function_ext_scope, store_parm_decls_newstyle): Adjust
2292 bind callers.
2293
680e8a00
L
22942008-03-30 H.J. Lu <hongjiu.lu@intel.com>
2295
2296 PR target/38781
2297 * config/i386/i386.c (classify_argument): Check total size of
2298 structure.
2299
133f9369
MJ
23002009-03-30 Martin Jambor <mjambor@suse.cz>
2301
2302 * ipa-prop.h (jump_func_type): Rename IPA_UNKNOWN, IPA_CONST,
2303 IPA_CONST_MEMBER_PTR, and IPA_PASS_THROUGH to IPA_JF_UNKNOWN,
2304 IPA_JF_CONST, IPA_JF_CONST_MEMBER_PTR, and IPA_JF_PASS_THROUGH
2305 respectively.
2306
2307 * tree-dfa.c (get_ref_base_and_extent): Return -1 maxsize if
2308 seen_variable_array_ref while also traversing a union.
2309
2310 * tree-inline.c (optimize_inline_calls): Do not call
2311 cgraph_node_remove_callees.
2312 * cgraphbuild.c (remove_cgraph_callee_edges): New function.
2313 (pass_remove_cgraph_callee_edges): New variable.
2314 * passes.c (init_optimization_passes): Add
2315 pass_remove_cgraph_callee_edges after early inlining and before all
2316 late intraprocedural passes.
2317
2318 * omp-low.c (expand_omp_taskreg): Always set current_function_decl.
2319
1190f2eb
PB
23202009-03-30 Paolo Bonzini <bonzini@gnu.org>
2321
2322 * config/sparc/sparc.md (*nand<V64mode>_vis, *nand<V32mode>_vis):
2323 Fix typos in names.
2324
fedc1775
PB
23252009-03-30 Paolo Bonzini <bonzini@gnu.org>
2326
fcb82ab0
UB
2327 * combine.c (simplify_comparison): Use have_insn_for.
2328 * dojump.c (do_jump): Likewise.
fedc1775 2329
65c5ae8b
PB
23302009-03-30 Paolo Bonzini <bonzini@gnu.org>
2331
2332 * config/sparc/sparc.c (sparc_compare_emitted): Remove.
2333 (gen_compare_reg, emit_v9_brxx_insn): Handle MODE_CC
2334 sparc_compare_op0 like sparc_compare_emitted used to be handled.
2335 (sparc_expand_compare_and_swap_12): Set sparc_compare_op0
2336 instead of sparc_compare_emitted.
2337 * config/sparc/sparc.h (sparc_compare_emitted): Remove.
2338 * config/sparc/sparc.md (stack_protect_test): Set sparc_compare_op0
2339 instead of sparc_compare_emitted.
2340
d25aa7ab
PB
23412009-03-30 Paolo Bonzini <bonzini@gnu.org>
2342
2343 * bb-reorder.c (partition_hot_cold_basic_blocks): Do not
2344 enter/exit cfglayout mode.
2345 (pass_partition_block): Require it.
2346 * combine.c (find_single_use, reg_dead_at_p): Use CFG.
2347 (combine_instructions): Track basic blocks instead of labels.
2348 (update_cfg_for_uncondjump): New.
2349 (try_combine): Use it. Update jumps after rescanning.
2350 (pass_combine): Require PROP_cfglayout.
2351 * passes.c (pass_outof_cfg_layout_mode): Move after regmove.
2352
9c9e26f5
PB
23532009-03-30 Paolo Bonzini <bonzini@gnu.org>
2354
fcb82ab0
UB
2355 * cfglayout.c (pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode):
2356 Provide/destroy PROP_cfglayout respectively.
2357 * gcse.c (pass_jump_bypass, pass_gcse): Require it.
2358 * tree-pass.h (PROP_cfglayout): New.
9c9e26f5 2359
28ddeea1
PB
23602009-03-30 Paolo Bonzini <bonzini@gnu.org>
2361
2362 * fold-const.c (const_binop, fold_convert_const_real_from_fixed,
2363 fold_convert_const_fixed_from_fixed,
2364 fold_convert_const_fixed_from_int,
2365 fold_convert_const_fixed_from_real, fold_negate_const): Do not
2366 set TREE_CONSTANT_OVERFLOW.
2367 * tree.def: Remove mention of TREE_CONSTANT_OVERFLOW.
2368 * tree.h (TREE_CONSTANT_OVERFLOW): Delete.
2369
ebfd146a
IR
23702009-03-30 Ira Rosen <irar@il.ibm.com>
2371
2372 * tree-vect-loop-manip.c: New file.
2373 * tree-vectorizer.c: Update documentation and included files.
2374 (vect_loop_location): Make extern.
2375 (rename_use_op): Move to tree-vect-loop-manip.c
2376 (rename_variables_in_bb, rename_variables_in_loop,
2377 slpeel_update_phis_for_duplicate_loop,
2378 slpeel_update_phi_nodes_for_guard1,
2379 slpeel_update_phi_nodes_for_guard2, slpeel_make_loop_iterate_ntimes,
2380 slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_add_loop_guard,
2381 slpeel_can_duplicate_loop_p, slpeel_verify_cfg_after_peeling,
2382 set_prologue_iterations, slpeel_tree_peel_loop_to_edge,
2383 find_loop_location): Likewise.
2384 (new_stmt_vec_info): Move to tree-vect-stmts.c.
2385 (init_stmt_vec_info_vec, free_stmt_vec_info_vec, free_stmt_vec_info,
2386 get_vectype_for_scalar_type, vect_is_simple_use,
2387 supportable_widening_operation, supportable_narrowing_operation):
2388 Likewise.
2389 (bb_in_loop_p): Move to tree-vect-loop.c.
2390 (new_loop_vec_info, destroy_loop_vec_info,
2391 reduction_code_for_scalar_code, report_vect_op,
2392 vect_is_simple_reduction, vect_is_simple_iv_evolution): Likewise.
2393 (vect_can_force_dr_alignment_p): Move to tree-vect-data-refs.c.
2394 (vect_supportable_dr_alignment): Likewise.
2395 * tree-vectorizer.h (tree-data-ref.h): Include.
2396 (vect_loop_location): Declare.
2397 Reorganize function declarations according to the new file structure.
2398 * tree-vect-loop.c: New file.
2399 * tree-vect-analyze.c: Remove. Move functions to tree-vect-data-refs.c,
2400 tree-vect-stmts.c, tree-vect-slp.c, tree-vect-loop.c.
2401 * tree-vect-data-refs.c: New file.
2402 * tree-vect-patterns.c (timevar.h): Don't include.
2403 * tree-vect-stmts.c: New file.
2404 * tree-vect-transform.c: Remove. Move functions to tree-vect-stmts.c,
2405 tree-vect-slp.c, tree-vect-loop.c.
2406 * Makefile.in (OBJS-common): Remove tree-vect-analyze.o and
2407 tree-vect-transform.o. Add tree-vect-data-refs.o, tree-vect-stmts.o,
2408 tree-vect-loop.o, tree-vect-loop-manip.o, tree-vect-slp.o.
2409 (tree-vect-analyze.o): Remove.
2410 (tree-vect-transform.o): Likewise.
2411 (tree-vect-data-refs.o): Add rule.
2412 (tree-vect-stmts.o, tree-vect-loop.o, tree-vect-loop-manip.o,
2413 tree-vect-slp.o): Likewise.
2414 (tree-vect-patterns.o): Remove redundant dependencies.
2415 (tree-vectorizer.o): Likewise.
2416 * tree-vect-slp.c: New file.
2417
40a1cfba
RW
24182009-03-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2419
2420 * optc-gen.awk: Warn if an option flag has multiple different
2421 help strings.
2422
a9a7a9a2
SP
24232009-03-30 Sebastian Pop <sebastian.pop@amd.com>
2424
2425 * doc/invoke.texi (-floop-interchange, -floop-strip-mine,
2426 -floop-block): Document dependences on PPL, CLooG and Graphite.
2427
8ce94e44
JM
24282009-03-30 Joseph Myers <joseph@codesourcery.com>
2429
2430 PR rtl-optimization/323
2431 * c-common.c (c_fully_fold, convert_and_check,
2432 c_common_truthvalue_conversion): Handle EXCESS_PRECISION_EXPR.
2433 (c_fully_fold_internal): Disallow EXCESS_PRECISION_EXPR.
2434 * c-common.def (EXCESS_PRECISION_EXPR): New.
2435 * c-cppbuiltin.c (builtin_define_float_constants): Define
2436 constants with enough digits for long double.
2437 * c-lex.c (interpret_float): Interpret constant with excess
2438 precision where appropriate.
2439 * c-opts.c (c_common_post_options): Set
2440 flag_excess_precision_cmdline. Give an error for
2441 -fexcess-precision=standard for C++ for processors where the
2442 option is significant.
2443 * c-parser.c (c_parser_conditional_expression): Handle excess
2444 precision in condition.
2445 * c-typeck.c (convert_arguments): Handle arguments with excess
2446 precision.
2447 (build_unary_op): Move excess precision outside operation.
2448 (build_conditional_expr): Likewise.
2449 (build_compound_expr): Likewise.
2450 (build_c_cast): Do cast on operand of EXCESS_PRECISION_EXPR.
2451 (build_modify_expr): Handle excess precision in RHS.
2452 (convert_for_assignment): Handle excess precision in converted
2453 value.
2454 (digest_init, output_init_element, process_init_element): Handle
2455 excess precision in initializer.
2456 (c_finish_return): Handle excess precision in return value.
2457 (build_binary_op): Handle excess precision in operands and add
2458 excess precision as needed for operation.
2459 * common.opt (-fexcess-precision=): New option.
2460 * config/i386/i386.h (X87_ENABLE_ARITH, X87_ENABLE_FLOAT): New.
2461 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
2462 For standard excess precision, output explicit conversion to and
2463 truncation from XFmode.
2464 (*float<SSEMODEI24:mode><X87MODEF:mode>2_1,
2465 *float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp,
2466 *float<SSEMODEI24:mode><X87MODEF:mode>2_i387, two unnamed
2467 define_splits, floatdi<X87MODEF:mode>2_i387_with_xmm, two unnamed
2468 define_splits, *floatunssi<mode>2_1, two unnamed define_splits,
2469 floatunssi<mode>2, add<mode>3, sub<mode>3, mul<mode>3, divdf3,
2470 divsf3, *fop_<mode>_comm_i387, *fop_<mode>_1_i387,
2471 *fop_<MODEF:mode>_2_i387, *fop_<MODEF:mode>_3_i387,
2472 *fop_df_4_i387, *fop_df_5_i387, *fop_df_6_i387, two unnamed
2473 define_splits, sqrt<mode>2): Disable where appropriate for
2474 standard excess precision.
2475 * convert.c (convert_to_real): Do not shorten arithmetic to type
2476 for which excess precision would be used.
2477 * defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Define.
2478 * doc/invoke.texi (-fexcess-precision=): Document option.
2479 (-mfpmath=): Correct index entry.
2480 * flags.h (enum excess_precision, flag_excess_precision_cmdline,
2481 flag_excess_precision): New.
2482 * langhooks.c (lhd_post_options): Set
2483 flag_excess_precision_cmdline.
2484 * opts.c (common_handle_option): Handle -fexcess-precision=.
2485 * toplev.c (flag_excess_precision_cmdline, flag_excess_precision,
2486 init_excess_precision): New.
2487 (lang_dependent_init_target): Call init_excess_precision.
2488 * tree.c (excess_precision_type): New.
2489 * tree.h (excess_precision_type): Declare.
2490
1e57bf47
JM
24912009-03-30 Joseph Myers <joseph@codesourcery.com>
2492
2493 PR c/35235
2494 * c-typeck.c (build_component_ref): Do not copy qualifiers from
2495 non-lvalue to component.
2496
148e4216
JM
24972009-03-29 Joseph Myers <joseph@codesourcery.com>
2498
2499 PR preprocessor/34695
2500 * Makefile.in (c-opts.o): Depend on c-tree.h.
2501 * c-common.c: Move down include of diagnostic.h.
2502 (done_lexing, c_cpp_error): New.
2503 * c-common.h (done_lexing): Declare.
2504 * c-decl.c (c_write_global_declarations): Don't check cpp_errors
2505 (parse_in).
2506 * c-opts.c: Include c-tree.h.
2507 (c_common_init_options): Set preprocessor error callback.
2508 (c_common_handle_option): Do not set preprocessor
2509 inhibit_warnings, warnings_are_errors, warn_system_headers,
2510 pedantic_errors or inhibit_warnings flags.
2511 (c_common_post_options): Do not check cpp_errors (parse_in).
2512 (c_common_finish): Do not output dependencies if there were
2513 errors. Do not check return value of cpp_finish.
2514 * c-ppoutput.c (pp_file_change): Set input_location.
2515 * c-tree.h (c_cpp_error): Declare.
2516 * diagnostic.c (diagnostic_set_info_translated): Also initialize
2517 override_column.
2518 (diagnostic_build_prefix): Check override_column.
2519 * diagnostic.h (diagnostic_info): Add override_column field.
2520 (diagnostic_override_column): Define.
2521
2ec5deb5
PB
25222009-03-28 Paolo Bonzini <bonzini@gnu.org>
2523
ba20e309
UB
2524 * c-common.c (c_expand_expr, c_staticp): Remove.
2525 * c-common.def (COMPOUND_LITERAL_EXPR): Delete.
2526 * c-common.h (emit_local_var, c_staticp, COMPOUND_LITERAL_EXPR_DECL,
2527 COMPOUND_LITERAL_EXPR_DECL_EXPR): Remove.
2528 * c-gimplify.c (gimplify_compound_literal_expr,
2529 optimize_compound_literals_in_ctor): Remove.
2530 (c_gimplify_expr): Remove COMPOUND_LITERAL_EXPR handling.
2531 * c-objc-common.h (LANG_HOOKS_STATICP): Remove.
2532 * c-semantics.c (emit_local_var): Remove.
2533
2534 * langhooks-def.h (lhd_expand_expr): Remove.
2535 * langhooks.c (lhd_expand_expr): Remove.
2536 * langhooks.h (LANG_HOOKS_DEF): Remove LANG_HOOKS_EXPAND_EXPR.
2537
2538 * expr.c (expand_expr_real_1): Move COMPOUND_LITERAL_EXPR
2539 handling from c-semantics.c; don't call into langhook.
2540 (expand_expr_addr_expr_1): Check that we don't get non-GENERIC trees.
2541 * gimplify.c (gimplify_compound_literal_expr,
2542 optimize_compound_literals_in_ctor): Move from c-gimplify.c.
2543 (gimplify_init_constructor): Call optimize_compound_literals_in_ctor.
2544 (gimplify_modify_expr_rhs, gimplify_expr): Handle COMPOUND_LITERAL_EXPR
2545 as was done in c-gimplify.c.
2546 * tree.c (staticp): Move COMPOUND_LITERAL_EXPR handling from c_staticp.
2547 * tree.h (COMPOUND_LITERAL_EXPR_DECL, COMPOUND_LITERAL_EXPR_DECL_EXPR):
2548 Move from c-common.h.
2549 * tree.def (COMPOUND_LITERAL_EXPR): Move from c-common.def.
2ec5deb5
PB
2550
2551 * tree.c (staticp): Do not call langhook.
2552 * langhooks.c (lhd_staticp): Delete.
2553 * langhooks-def.h (lhd_staticp): Delete prototype.
2554 (LANG_HOOKS_STATICP): Delete.
2555 (LANG_HOOKS_INITIALIZER): Delete LANG_HOOKS_STATICP.
2556
ba20e309
UB
2557 * doc/c-tree.texi (Expression nodes): Refer to DECL_EXPRs
2558 instead of DECL_STMTs.
2ec5deb5 2559
928c19bb
JM
25602009-03-29 Joseph Myers <joseph@codesourcery.com>
2561
2562 PR c/456
2563 PR c/5675
2564 PR c/19976
2565 PR c/29116
2566 PR c/31871
2567 PR c/35198
2568 * builtins.c (fold_builtin_sincos): Build COMPOUND_EXPR in
2569 void_type_node.
2570 (fold_call_expr): Return a NOP_EXPR from folding rather than the
2571 contained expression.
ba20e309 2572 * c-common.c (c_fully_fold, c_fully_fold_internal, c_save_expr): New.
928c19bb
JM
2573 (c_common_truthvalue_conversion): Use c_save_expr. Do not fold
2574 conditional expressions for C.
2575 (decl_constant_value_for_optimization): Move from
ba20e309 2576 decl_constant_value_for_broken_optimization in c-typeck.c. Check
928c19bb
JM
2577 whether optimizing and that the expression is a VAR_DECL not of
2578 array type instead of doing such checks in the caller. Do not
2579 check pedantic. Call gcc_unreachable for C++.
2580 * c-common.def (C_MAYBE_CONST_EXPR): New.
2581 * c-common.h (c_fully_fold, c_save_expr,
2582 decl_constant_value_for_optimization): New prototypes.
2583 (C_MAYBE_CONST_EXPR_PRE, C_MAYBE_CONST_EXPR_EXPR,
2584 C_MAYBE_CONST_EXPR_INT_OPERANDS, C_MAYBE_CONST_EXPR_NON_CONST,
2585 EXPR_INT_CONST_OPERANDS): Define.
2586 * c-convert.c (convert): Strip nops from expression.
2587 * c-decl.c (groktypename): Take extra parameters expr and
2588 expr_const_operands. Update call to grokdeclarator.
2589 (start_decl): Update call to grokdeclarator. Add statement for
2590 expressions used in type of decl.
2591 (grokparm): Update call to grokdeclarator.
2592 (push_parm_decl): Update call to grokdeclarator.
2593 (build_compound_literal): Add parameter non_const and build a
2594 C_MAYBE_COSNT_EXPR if applicable.
2595 (grokdeclarator): Take extra parameters expr and
2596 expr_const_operands. Track expressions used in declaration
2597 specifiers and declarators. Fold array sizes and track whether
2598 they are constant expressions and whether they are integer
2599 constant expressions.
2600 (parser_xref_tag): Set expr and expr_const_operands fields in
2601 return value.
2602 (grokfield): Update call to grokdeclarator.
2603 (start_function): Update call to grokdeclarator.
2604 (build_null_declspecs): Set expr and expr_const_operands fields in
2605 return value.
2606 (declspecs_add_type): Handle expressions in typeof specifiers.
2607 * c-parser.c (c_parser_declspecs): Set expr and
2608 expr_const_operands fields for declaration specifiers.
2609 (c_parser_enum_specifier): Likewise.
2610 (c_parser_struct_or_union_specifier): Likewise.
2611 (c_parser_typeof_specifier): Likewise. Update call to
2612 groktypename. Fold expression as needed. Return expressions with
2613 type instead of adding statements.
2614 (c_parser_attributes): Update calls to c_parser_expr_list.
2615 (c_parser_statement_after_labels): Fold expression before passing
2616 to objc_build_throw_stmt.
2617 (c_parser_condition): Fold expression.
2618 (c_parser_asm_operands): Fold expression.
2619 (c_parser_conditional_expression): Use c_save_expr. Update call
2620 to build_conditional_expr.
2621 (c_parser_alignof_expression): Update call to groktypename.
2622 (c_parser_postfix_expression): Preserve C_MAYBE_CONST_EXPR as
2623 original_code. Fold expression argument of va_arg. Create
2624 C_MAYBE_CONST_EXPR to preserve side effects of expressions in type
2625 argument to va_arg. Update calls to groktypename. Fold array
2626 index for offsetof. Verify that first argument to
2627 __builtin_choose_expr has integer type.
2628 (c_parser_postfix_expression_after_paren_type): Update calls to
2629 groktypename and build_compound_literal. Handle expressions with
2630 side effects in type name.
2631 (c_parser_postfix_expression_after_primary): Update call to
2632 c_parser_expr_list. Set original_code for calls to
2633 __builtin_constant_p.
2634 (c_parser_expr_list): Take extra parameter fold_p. Fold
2635 expressions if requested.
2636 (c_parser_objc_type_name): Update call to groktypename.
2637 (c_parser_objc_synchronized_statement): Fold expression.
2638 (c_parser_objc_receiver): Fold expression.
2639 (c_parser_objc_keywordexpr): Update call to c_parser_expr_list.
2640 (c_parser_omp_clause_num_threads, c_parser_omp_clause_schedule,
2641 c_parser_omp_atomic, c_parser_omp_for_loop): Fold expressions.
2642 * c-tree.h (CONSTRUCTOR_NON_CONST): Define.
2643 (struct c_typespec): Add elements expr and expr_const_operands.
2644 (struct c_declspecs): Add elements expr and expr_const_operands.
2645 (groktypename, build_conditional_expr, build_compound_literal):
2646 Update prototypes.
2647 (in_late_binary_op): Declare.
2648 * c-typeck.c (note_integer_operands): New function.
2649 (in_late_binary_op): New variable.
2650 (decl_constant_value_for_broken_optimization): Move to c-common.c
2651 and rename to decl_constant_value_for_optimization.
2652 (default_function_array_conversion): Do not strip nops.
2653 (default_conversion): Do not call
2654 decl_constant_value_for_broken_optimization.
2655 (build_array_ref): Do not fold result.
2656 (c_expr_sizeof_expr): Fold operand. Use C_MAYBE_CONST_EXPR for
2657 result when operand is a VLA.
2658 (c_expr_sizeof_type): Update call to groktypename. Handle
2659 expressions included in type name. Use C_MAYBE_CONST_EXPR for
2660 result when operand names a VLA type.
2661 (build_function_call): Update call to build_compound_literal.
2662 Only fold result for calls to __builtin_* functions. Strip
2663 NOP_EXPR from INTEGER_CST returned from such functions. Fold
2664 the function designator.
2665 (convert_arguments): Fold arguments. Update call to
2666 convert_for_assignment.
2667 (build_unary_op): Handle increment and decrement of
2668 C_MAYBE_CONST_EXPR. Move lvalue checks for increment and
2669 decrement earlier. Fold operand of increment and decrement.
2670 Handle address of C_MAYBE_CONST_EXPR. Only fold expression being
2671 built for integer operand. Wrap returns that are INTEGER_CSTs
2672 without being integer constant expressions or that have integer
2673 constant operands without being INTEGER_CSTs.
2674 (lvalue_p): Handle C_MAYBE_CONST_EXPR.
2675 (build_conditional_expr): Add operand ifexp_bcp. Track whether
2676 result is an integer constant expression or can be used in
2677 unevaluated parts of one and avoid folding and wrap as
2678 appropriate. Fold operands before possibly doing -Wsign-compare
2679 warnings.
2680 (build_compound_expr): Wrap result for C99 if operands can be used
2681 in integer constant expressions.
2682 (build_c_cast): Update call to digest_init. Do not ignore
2683 overflow from casting floating-point constants to integers. Wrap
2684 results that could be confused with integer constant expressions,
2685 null pointer constants or floating-point constants.
2686 (c_cast_expr): Update call to groktypename. Handle expressions
2687 included in type name.
2688 (build_modify_expr): Handle modifying a C_MAYBE_CONST_EXPR. Fold
2689 lhs inside possible SAVE_EXPR. Fold RHS before assignment.
2690 Update calls to convert_for_assignment.
2691 (convert_for_assignment): Take new parameter
2692 null_pointer_constant. Do not strip nops or call
2693 decl_constant_value_for_broken_optimization. Set
2694 in_late_binary_op for conversions to boolean.
2695 (store_init_value): Update call to digest_init.
2696 (digest_init): Take new parameter null_pointer_constant. Do not
2697 call decl_constant_value_for_broken_optimization. pedwarn for
2698 initializers not constant expressions. Update calls to
2699 convert_for_assignment.
2700 (constructor_nonconst): New.
2701 (struct constructor_stack): Add nonconst element.
2702 (really_start_incremental_init, push_init_level, pop_init_level):
2703 Handle constructor_nonconst and nonconst element.
2704 (set_init_index): Call constant_expression_warning for array
2705 designators.
2706 (output_init_element): Fold value. Set constructor_nonconst as
2707 applicable. pedwarn for initializers not constant expressions.
2708 Update call to digest_init. Call constant_expression_warning
2709 where constant initializers are required.
2710 (process_init_element): Use c_save_expr.
2711 (c_finish_goto_ptr): Fold expression.
2712 (c_finish_return): Fold return value. Update call to
2713 convert_for_assignment.
2714 (c_start_case): Fold switch expression.
2715 (c_process_expr_stmt): Fold expression.
2716 (c_finish_stmt_expr): Create C_MAYBE_CONST_EXPR as needed to
ba20e309 2717 ensure statement expression is not evaluated in constant expression.
928c19bb
JM
2718 (build_binary_op): Track whether results are integer constant
2719 expressions or may occur in such, disable folding and wrap results
2720 as applicable. Fold operands for -Wsign-compare warnings unless
2721 in_late_binary_op.
2722 (c_objc_common_truthvalue_conversion): Handle results folded to
2723 integer constants that are not integer constant expressions.
2724 * doc/extend.texi: Document when typeof operands are evaluated,
2725 that condition of __builtin_choose_expr is an integer constant
2726 expression, and more about use of __builtin_constant_p in
2727 initializers.
2728
5babbcc0
RG
27292009-03-29 Richard Guenther <rguenther@suse.de>
2730
2731 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly
2732 propagate addresses of array references.
2733
0340f2ba
SB
27342009-03-29 Steven Bosscher <steven@gcc.gnu.org>
2735
2736 * regmove.c (perhaps_ends_bb_p): Remove.
2737 (optimize_reg_copy_1): Don't call perhaps_ends_bb_p. Get basic block
2738 from INSN and check that the main loop stays within that basic block.
2739 (optimize_reg_copy_1, optimize_reg_copy_3, fixup_match_2): Likewise.
2740 (regmove_forward_pass): Split out from regmove_optimize. Use
2741 FOR_EACH_BB and FOR_BB_INSNS instead of traversing the insns stream.
2742 (regmove_backward_pass): Split out from regmove_optimize. Use
2743 FOR_EACH_BB_REVERSE and FOR_BB_INSNS_REVERS_SAFE.
2744 (regmove_optimize): Simplify.
2745
eeae74a1
L
27462009-03-29 H.J. Lu <hongjiu.lu@intel.com>
2747
2748 PR target/39545
2749 * config/i386/i386.c (classify_argument): Ignore flexible array
2750 member in struct and warn ABI change.
2751
a24078b2
L
27522009-03-29 H.J. Lu <hongjiu.lu@intel.com>
2753
2754 * config/i386/i386-protos.h (ix86_agi_dependent): New.
2755
2756 * config/i386/i386.c (ix86_agi_dependent): Rewrite.
2757 (ix86_adjust_cost): Updated.
2758
a8da523f
JH
27592009-03-29 Jan Hubicka <jh@suse.cz>
2760
2761 PR middle-end/28850
2762 * tree-pass.h (pass_cleanup_eh): New function.
2763 (remove_unreachable_regions): Break code handling RTL
2764 to rtl_remove_unreachable_regions; remove ERT_MUST_NOT_THROW
2765 that can not be reached by runtime.
2766 (can_be_reached_by_runtime): New function.
2767 (label_to_region_map): New function.
2768 (num_eh_regions): New function.
2769 (rtl_remove_unreachable_regions): New function.
2770 (convert_from_eh_region_ranges): Call rtl_remove_unreachable_regions.
2771 (remove_eh_region): New function.
2772 * except.h: Include sbitmap and vecprim.
2773 (remove_eh_region, remove_unreachable_regions, label_to_region_map,
2774 num_eh_regions): Declare.
2775 * passes.c (init_optimization_passes): Schedule cleanup_eh.
ba20e309 2776 * Makefile.in (EXCEPT_H): New; replace all uses of except.h by it.
a8da523f
JH
2777 * tree-eh.c (tree_remove_unreachable_handlers): New function.
2778 (tree_empty_eh_handler_p): New function.
2779 (cleanup_empty_eh): New function.
2780 (cleanup_eh): New function.
2781 (pass_cleanup_eh): New function.
2782
98f358e5
JH
27832009-03-29 Jan Hubicka <jh@suse.cz>
2784
2785 * except.c (verify_eh_tree): Fix handling of fun!=cfun; be ready
2786 for removed regions.
2787
13a9fa44
JH
27882009-03-29 Jan Hubicka <jh@suse.cz>
2789
2790 * except.c (dump_eh_tree): Dump all datastructures.
2791
e38cf733
JH
27922009-03-29 Jan Hubicka <jh@suse.cz>
2793
2794 * except.c (duplicate_eh_regions_0): Handle AKA bitmap.
2795 (duplicate_eh_regions_1): Likewise.
2796 (duplicate_eh_regions): Likewise; cleanup code gorwing the region
2797 vector; call EH verification.
2798 (foreach_reachable_handler, can_throw_internal_1, can_throw_external_1):
2799 Be ready for region being removed.
2800
12802c2b
JH
28012009-03-29 Jan Hubicka <jh@suse.cz>
2802
2803 * bitmap.c (bitmap_last_set_bit): New function.
2804 * bitmap.h (bitmap_last_set_bit): Declare.
2805
4ea80a41
DA
28062009-03-29 David Ayers <ayers@fsfe.org>
2807
2808 PR objc/27377
2809 * c-typeck.c (build_conditional_expr): Emit ObjC warnings
2810 by calling objc_compare_types and surpress warnings about
2811 incompatible C pointers that are compatible ObjC pointers.
2812
28132009-03-29 Adam Nemet <anemet@caviumnetworks.com>
3dc9eaa6
AN
2814
2815 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Don't
2816 call initialize_inline_failed.
2817 (initialize_inline_failed): Move it from here ...
2818 * cgraph.c (initialize_inline_failed): ... to here.
2819 (cgraph_create_edge): Call initialize_inline_failed rather than
2820 setting inline_failed directly.
2821
7fb0ee07
BE
28222009-03-29 Ben Elliston <bje@au.ibm.com>
2823
2824 PR target/32542
2825 * sysv4.opt (msdata): Improve comment.
2826 * linux64.h (ASM_SPEC32): Do not pass -memb when -msdata is given.
2827 * sysv4.h (SVR4_ASM_SPEC): Likewise.
2828
0be77bf2
BE
28292009-03-29 Ben Elliston <bje@au.ibm.com>
2830
2831 PR target/30451
2832 * config/rs6000/rs6000.md (*movti_ppc64): Correct the order of
2833 load and store attributes.
2834
593812b6
BE
28352009-03-29 Ben Elliston <bje@au.ibm.com>
2836
2837 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_HUGE_VALQ.
2838 (ix86_init_builtins): Add built-in function __builtin_huge_valq.
2839 (ix86_expand_builtin): Handle IX86_BUILTIN_HUGE_VALQ.
2840 * doc/extend.texi (X86 Built-in Functions): Add index entries for
2841 __builtin_infq and __builtin_huge_valq.
2842
8272d11d
AS
28432009-03-28 Anatoly Sokolov <aesok@post.ru>
2844
2845 * config/avr/avr.c (avr_mcu_t): Add atmega8c1, atmega16c1 and
2846 atmega8m1 devices.
2847 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
2848 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.)
2849
74fe548b
XDL
28502009-03-28 Xinliang David Li <davidxl@google.com>
2851
2852 * tree-ssa-ccp.c (ccp_finalize): Add dbg_count support.
2853 (do_dbg_cnt): New function.
2854
33977f81
JH
28552009-03-28 Jan Hubicka <jh@suse.cz>
2856
2857 Merge from pretty-ipa:
2858
2859 2009-03-27 Jan Hubicka <jh@suse.cz>
ba20e309 2860
33977f81
JH
2861 * cgraph.c (dump_cgraph_node): Add replace output flag by process.
2862 * tree-pass.h (function_called_by_processed_nodes_p): Declare.
2863 * passes.c (function_called_by_processed_nodes_p): New.
2864 * ipa-pure-const.c (check_call): Fix handling of operands.
2865 (analyze_function): Dump debug output for skipped bodies.
2866 (local_pure_const): Use function_called_by_processed_nodes_p.
2867 * dwarf2out.c (reference_to_unused): Use output.
2868 * passes.c (do_per_function_toporder): Likewise.
2869
2870 2008-11-12 Jan Hubicka <jh@suse.cz>
2871
2872 * tree-pass.h (pass_fixup_cfg, pass_local_pure_const): Declare.
2873 * ipa-pure-const.c (funct_state_d): Add can throw field; make
2874 state_set_in_source enum
2875 (check_decl): Ignore memory tags; do not set fake looping flags;
2876 dump diagnostics.
2877 (check_operand, check_tree, check_rhs_var, check_lhs_var,
2878 get_asm_expr_operands, scan_function_op, scan_function_stmt): Remove.
2879 (check_call, analyze_function): Rewrite.
2880 (check_stmt): New.
2881 (add_new_function): Update call of analyze_function.
2882 (generate_summary): Add call of analyze_function.
2883 (propagate): Propagate can_throw; handle state_set_in_source correctly.
2884 (local_pure_const): New function.
2885 (pass_local_pure_const): New pass.
2886 * ipa-inline.c (inline_transform): Set after_inlining.
2887 * tree-eh.c (stmt_can_throw_external): New.
2888 * tree-optimize.c (execute_fixup_cfg): Do not set after_inlining;
2889 work with aliasing built.
2890 * tree-flow.h (stmt_can_throw_external): New.
2891 * passes.c (init_optimization_passes): Schedule fixup_cfg pass early;
2892 and local pure/const pass in early and late optimization queue.
ba20e309 2893
617f3897
MJ
28942009-03-28 Martin Jambor <mjambor@suse.cz>
2895
2896 * fold-const.c (get_pointer_modulus_and_residue): New parameter
2897 allow_func_align.
2898 (fold_binary): Allow function decl aligment consideration is the
2899 second argument is integer constant one.
2900 * tree-ssa-forwprop.c (simplify_bitwise_and): New function.
2901 (tree_ssa_forward_propagate_single_use_vars): Handle assing statements
2902 with BIT_AND_EXPR on the RHS by calling simplify_bitwise_and.
2903
fe89fbc5
JH
29042009-03-28 Jan Hubicka <jh@suse.cz>
2905
2906 * dwarf2out.c (dwarf2out_begin_prologue): Use crtl->nothrow
2907 * tree-eh.c (stmt_could_throw_p): Remove check for WEAK decls.
2908 * function.h (rtl_data): Add nothrow flag.
2909 * except.c (set_nothrow_function_flags): Use crtl->nothrow;
2910 set DECL_NOTHROW for AVAILABLE functions.
2911
574872ff
JJ
29122009-03-28 Jakub Jelinek <jakub@redhat.com>
2913
b3bf8855
JJ
2914 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If macro
2915 following vector keyword has expansion starting with pixel or bool
2916 keyword, expand vector to __vector and pixel or bool to __pixel or
2917 __bool.
2918
574872ff
JJ
2919 PR c++/39554
2920 * opts.c (warning_disallowed_functions, warn_disallowed_functions,
2921 warn_if_disallowed_function_p): Removed.
2922 (common_handle_option): Don't handle OPT_Wdisallowed_function_list_.
2923 * c-parser.c (c_parser_postfix_expression_after_primary): Don't call
2924 warning_if_disallowed_function_p.
2925 * flags.h (warn_if_disallowed_function_p,
2926 warn_disallowed_functions): Removed.
2927 * common.opt (Wdisallowed-function-list=): Removed.
2928 * doc/invoke.texi (-Wdisallowed-function-list=): Removed.
2929
b005da11
RG
29302009-03-28 Richard Guenther <rguenther@suse.de>
2931
2932 PR tree-optimization/38723
2933 * tree-ssa-pre.c (compute_avail): Add all default definitions to
2934 the entry block.
2935
1de812a6
JH
29362009-03-28 Jan Hubicka <jh@suse.cz>
2937
2938 * tree-ssa-structalias.c (ipa_pta_execute): Fix bogus node->analyzed
2939 test introduced by my previous patch.
2940
fbb789d4
RG
29412009-03-28 Richard Guenther <rguenther@suse.de>
2942
2943 * tree-ssa-copy.c (copy_prop_visit_phi_node): Do not leave
2944 the PHIs value undefined.
2945
6f1873a1
JH
29462009-03-28 Jan Hubicka <jh@suse.cz>
2947
2948 * tree-pass.h (pass_fixup_cfg): New pass.
2949 * ipa-inline.c (inline_transform): Set
2950 always_inline_functions_inlined/after_inlining.
2951 * tree-optimize.c (execute_fixup_cfg): Do not set them here.
2952 (pass_fixup_cfg): New pass.
2953 * passes.c (init_optimization_passes): Add fixup_cfg.
2954
17021bc8
RG
29552009-03-28 Richard Guenther <rguenther@suse.de>
2956
2957 PR tree-optimization/38458
2958 * tree-ssa-copy.c (copy_prop_visit_phi_node): For the first
2959 argument use the arguments copy-of value.
2960
e8114fba
RG
29612009-03-28 Richard Guenther <rguenther@suse.de>
2962
2963 PR tree-optimization/38180
2964 * tree-ssa-ccp.c (get_default_value): Simplify.
2965 (likely_value): Likewise.
2966 (surely_varying_stmt_p): Properly handle VOP case.
2967 (ccp_initialize): Likewise.
2968 (ccp_fold): Handle propagating through *&.
2969 (fold_const_aggregate_ref): Also handle decls.
2970
257eb6e3
JH
29712009-03-28 Jan Hubicka <jh@suse.cz>
2972
2973 * cgraph.c (dump_cgraph_node): Add replace output flag by process.
2974 * cgraph.h (cgraph_node): Likewise.
2975 * cgraphunit.c (cgraph_process_new_functions): Set process flag.
2976 (cgraph_reset_node): Use process flag.
2977 (cgraph_mark_functions_to_output): Likewise.
2978 (cgraph_expand_function): Likewise.
2979 (cgraph_expand_all_functions): Likewise.
2980 (cgraph_output_in_order): Likewise.
2981 * dwarf2out.c (reference_to_unused): Likewise.
2982 * passes.c do_per_function_toporder): Likewise.
2983
61a05df1
JH
29842009-03-28 Jan Hubicka <jh@suse.cz>
2985
2986 Bring from lto-branch:
ba20e309 2987
61a05df1
JH
2988 2008-09-03 Doug Kwan <dougkwan@google.com>
2989
2990 * cgraphbuild.c (initialize_inline_failed): Use cgraph_inline_failed_t
2991 enums instead of reason strings.
2992 * cgraph.c (cgraph_create_edge): Same.
2993 (cgraph_inline_failed_string): New function.
2994 * cgraph.h (cgraph_inline_failed_t): New enum type.
2995 (cgraph_inline_failed_string): New prototype.
2996 (struct cgraph_edge): Change type of INLINED_FAILED from constant
2997 char pointer to cgraph_inline_failed_t.
2998 (cgraph_inline_p): Adjust prototype to use cgraph_inline_failed_t.
2999 (cgraph_default_inline_p): Ditto.
3000 * gcc/cgraphunit.c (cgraph_inline_p): Change type of parameter REASON
3001 to cgraph_inline_failed_t pointer.
3002 * cif-code.def: New file.
3003 * ipa-inline.c (cgraph_mark_inline_edge): Use an enum instead of a
3004 reason string.
3005 (cgraph_check_inline_limits): Change type of REASON to pointer to
3006 cgraph_inline_failed_t. Replace reason strings with enums.
3007 (cgraph_default_inline_p): Ditto.
3008 (cgraph_recursive_inlining_p): Ditto.
3009 (update_caller_keys): Change type of FAILED_REASON to
3010 cgraph_inline_failed_t.
3011 (cgraph_set_inline_failed): Change type of REASON to pointer to
3012 cgraph_inline_failed_t. Call cgraph_inline_failed_string to
3013 convert enums to strings for text output.
3014 (cgraph_decide_inlining_of_small_function): Change FAILED_REASON
3015 to be of type cgraph_inline_failed_t. Replace reason strings with
3016 enums. Call cgraph_inline_failed_string to covert enums
3017 to strings for text output.
3018 (cgraph_decide_inlining): Replace reason strings with enums.
3019 (cgraph_decide_inlining_incrementally): Change type of FAILED_REASON
3020 to cgraph_inline_failed_t type. Call cgraph_inline_failed_string
3021 for text output.
3022 * tree-inline.c (expand_call_inline): Change type of REASON
3023 to cgraph_inline_failed_t. Replace reason strings with enums.
3024 Call cgraph_inline_failed_string for text output.
3025 * Makefile.in (CGRAPH_H): Add cif-code.def to dependencies.
3026 (cgraph.o): Ditto.
3027
144e8aac
JH
30282009-03-28 Jan Hubicka <jh@suse.cz>
3029
3030 * cgraph.c (cgraph_node, cgraph_remove_node, dump_cgraph_node,
3031 cgraph_clone_node): Remove master clone handling.
3032 (cgraph_is_master_clone, cgraph_master_clone): Remove.
3033 * cgraph.h (master_clone): Remove.
3034 (cgraph_is_master_clone, cgraph_master_clone): Remove.
3035 * ipa-type-escape.c (type_escape_execute): Remove use of master clone.
3036 (tree-ssa-structalias.c (ipa_pta_execute): Likewise.
3037
4a371c8d
JH
30382009-03-28 Jan Hubicka <jh@suse.cz>
3039
3040 * cgraph.c (cgraph_function_body_availability): Functions declared
3041 inline are always safe to assume that it is not going to be replaced.
3042
6cdb0ee3
RG
30432009-03-28 Richard Guenther <rguenther@suse.de>
3044
3045 PR tree-optimization/38513
3046 * tree-ssa-pre.c (eliminate): Remove redundant stores.
3047 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
3048 EXC_PTR_EXPR and FILTER_EXPR.
3049 (get_ref_from_reference_ops): Likewise.
3050
8ca1fd76
RG
30512009-03-28 Richard Guenther <rguenther@suse.de>
3052
3053 PR tree-optimization/38968
3054 * tree-vect-analyze.c (vect_compute_data_ref_alignment):
3055 Use FLOOR_MOD_EXPR to compute misalignment.
3056
a254e44d
RG
30572009-03-28 Richard Guenther <rguenther@suse.de>
3058
3059 PR tree-optimization/37795
3060 * tree.h (combine_comparisons): Declare.
3061 * fold-const.c (combine_comparisons): Export.
3062 * tree-ssa-ifcombine.c (ifcombine_ifandif): Optimize two successive
3063 comparisons.
3064 (ifcombine_iforif): Use combine_comparisons.
3065
a8ee227c
JH
30662009-03-28 Jan Hubicka <jh@suse.cz>
3067
3068 * tree-eh.c (inlinable_call_p): New function.
3069 (make_eh_edges): Use it.
3070 (verify_eh_edges): Use it.
3071 (stmt_can_throw_external, stmt_can_throw_internal): Use it.
3072 * except.c (reachable_next_level): Add inlinable_function argument
3073 (sjlj_find_directly_reachable_regions): Update.
3074 (add_reachable_handler): Do not set saw_any_handlers.
3075 (reachable_next_level): Handle MUST_NOT_THROW more curefully.
3076 (foreach_reachable_handler, can_throw_internal_1, can_throw_external_1):
3077 Add new inlinable call parameter.
3078 (can_throw_internal, can_throw_external): Update.
3079 * except.h (can_throw_internal_1, can_throw_external_1,
3080 foreach_reachable_handler): Update declaration.
3081
52c0e446
JM
30822009-03-28 Joseph Myers <joseph@codesourcery.com>
3083
3084 * config/arm/t-arm-coff, config/h8300/coff.h,
3085 config/i386/i386-aout.h, config/i386/i386-coff.h,
3086 config/libgloss.h, config/m68k/coff.h, config/m68k/m68k-aout.h,
3087 config/pdp11/2bsd.h, config/rs6000/aix41.h,
3088 config/rs6000/aix41.opt, config/rs6000/t-newas, config/sh/coff.h,
3089 fix-header.c, fixproto, gen-protos.c, protoize.c, scan-decls.c,
3090 scan-types.sh, scan.c, scan.h, sort-protos, sys-protos.h,
3091 sys-types.h: Remove.
3092 * Makefile.in: Remove protoize and fixproto support and references
3093 in comments.
3094 (SYSCALLS.c.X-warn, TARGET_GETGROUPS_T, STMP_FIXPROTO,
3095 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, FIXPROTO_DEFINES):
3096 Remove.
3097 (ALL_HOST_OBJS): Remove $(PROTO_OBJS).
3098 (MOSTLYCLEANFILES): Remove protoize$(exeext) and
3099 unprotoize$(exeext).
3100 (rest.encap): Don't depend on $(STMP_FIXPROTO)
3101 (.PHONY): Don't depend on proto.
3102 (libgcc-support): Don't depend on $(STMP_FIXPROTO).
3103 (proto, PROTO_OBJS, protoize$(exeext), unprotoize$(exeext),
3104 protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize-simple,
3105 deduced.h, GEN_PROTOS_OBJS, build/gen-protos$(build_exeext),
3106 build/gen-protos.o, build/scan.o, xsys-protos.h,
3107 build/fix-header$(build_exeext), build/fix-header.o,
3108 build/scan-decls.o, fixhdr.ready, stmp-fixproto,
3109 stmp-install-fixproto): Remove.
3110 (mostlyclean): Don't remove xsys-protos.hT, SYSCALLS.c.X,
3111 SYSCALLS.c or fixproto files.
3112 (install-common): Don't install protoize.
3113 (install-headers-tar, install-headers-cpio, install-headers-cp):
3114 Don't depend on $(STMP_FIXPROTO).
3115 (install-mkheaders): Don't depend on $(STMP_FIXPROTO). Don't
3116 install fixproto files or write out fixproto settings.
3117 (uninstall): Don't uninstall protoize.
3118 * config.gcc (use_fixproto): Remove.
3119 (arm-*-coff*, armel-*-coff*, h8300-*-*, i[34567]86-*-aout*,
3120 i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd,
3121 rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove.
3122 * config/m32r/t-linux (STMP_FIXPROTO): Remove.
3123 * config/m68k/m68k.c: Remove M68K_TARGET_COFF-conditional code.
3124 * config/mips/t-iris (FIXPROTO_DEFINES): Remove.
3125 * config/pa/t-pa-hpux (FIXPROTO_DEFINES): Remove.
3126 * config/pdp11/pdp11.c: Remove TWO_BSD-conditional code.
3127 * config/t-svr4 (FIXPROTO_DEFINES): Remove.
3128 * config/t-vxworks (STMP_FIXPROTO): Remove.
3129 * configure.ac (AC_TYPE_GETGROUPS, TARGET_GETGROUPS_T,
3130 STMP_FIXPROTO): Remove.
3131 * config.in, configure: Regenerate.
3132 * crtstuff.c (gid_t, uid_t): Don't undefine.
3133 * doc/install.texi: Change m68k-coff to m68k-elf in example.
3134 (arm-*-coff, arm-*-aout: Remove target entries.
3135 (*-ibm-aix*): Mention removal of support for AIX 4.2 and older.
3136 Remove mention of AIX 4.1.
3137 (m68k-*-*): Remove mention of m68k-*-aout and m68k-*-coff*.
3138 * doc/invoke.texi (Running Protoize): Remove.
3139 * doc/trouble.texi (Actual Bugs): Remove mention of fixproto.
3140 (Protoize Caveats): Remove.
3141 * tsystem.h: Update comments on headers assumed to exist.
3142
20a07f44
VM
31432009-03-27 Vladimir Makarov <vmakarov@redhat.com>
3144
3145 * genautomata.c: Add a new year to the copyright. Add a new
3146 reference.
3147 (struct insn_reserv_decl): Add comments for member bypass_list.
3148 (find_bypass): Remove.
3149 (insert_bypass): New.
3150 (process_decls): Use insert_bypass.
3151 (output_internal_insn_latency_func): Output all bypasses with the
3152 same input insn in one switch case.
3153
3154 * rtl.def (define_bypass): Describe bypass choice.
3155 * doc/md.texi (define_bypass): Ditto.
3156
3a0d06c1
RB
31572009-03-27 Richard Guenther <rguenther@suse.de>
3158
3159 * gimplify.c (mark_addressable): Export.
3160 * tree-flow.h (mark_addressable): Declare.
3161 * tree-ssa-loop-manip.c (create_iv): Mark the base addressable.
3162 * tree-ssa.c (verify_phi_args): Verify that address taken
3163 variables have TREE_ADDRESSABLE set.
3164
31652009-03-27 Richard Guenther <rguenther@suse.de>
3166
3167 * fold-const.c (build_fold_addr_expr_with_type_1): Rename back to ...
3168 (build_fold_addr_expr_with_type): ... this. Remove in_fold handling.
3169 Do not mark decls TREE_ADDRESSABLE.
3170 (build_fold_addr_expr): Adjust.
3171 (fold_addr_expr): Remove.
3172 (fold_unary): Use build_fold_addr_expr.
3173 (fold_comparison): Likewise.
3174 (split_address_to_core_and_offset): Likewise.
3175 * coverage.c (tree_coverage_counter_addr): Mark the array decl
3176 TREE_ADDRESSABLE.
3177 * gimplify.c (mark_addressable): Do not exclude RESULT_DECLs.
3178 (gimplify_modify_expr_to_memcpy): Mark source and destination
3179 addressable.
3180 * omp-low.c (create_omp_child_function): Mark the object decl
3181 TREE_ADDRESSABLE.
3182 (lower_rec_input_clauses): Mark the var we take the address of
3183 TREE_ADDRESSABLE.
3184 (lower_omp_taskreg): Mark the sender decl TREE_ADDRESSABLE.
3185
2ac26e15
L
31862009-03-27 H.J. Lu <hongjiu.lu@intel.com>
3187
3188 PR middle-end/39315
3189 * cfgexpand.c (expand_one_stack_var_at): Change alignment
3190 limit to MAX_SUPPORTED_STACK_ALIGNMENT.
3191
472c7fbd
RG
31922009-03-27 Richard Guenther <rguenther@suse.de>
3193
3194 PR tree-optimization/39120
3195 * tree-ssa-structalias.c (handle_rhs_call): Fill out return
3196 constraints.
3197 (handle_lhs_call): Process return constraints. Add escape
3198 constraints if necessary.
3199 (handle_const_call): Fill out return constraints. Make nested
3200 case more precise. Avoid consttmp if possible.
3201 (handle_pure_call): Fill out return constraints. Avoid
3202 callused if possible.
3203 (find_func_aliases): Simplify call handling.
3204
32052009-03-27 Richard Guenther <rguenther@suse.de>
3206
3207 PR tree-optimization/39120
3208 * tree-ssa-structalias.c (do_sd_constraint): Do not use CALLUSED
3209 as a representative.
3210 (solve_graph): Do propagate CALLUSED.
3211 (handle_pure_call): Use a scalar constraint from CALLUSED for
3212 the return value.
3213 (find_what_p_points_to): CALLUSED shall not appear in poins-to
3214 solutions.
3215
d9223014
L
32162009-03-27 H.J. Lu <hongjiu.lu@intel.com>
3217
3218 PR c/39323
3219 * c-common.c (handle_aligned_attribute): Properly check alignment
3220 overflow. Use (1U << i) instead of (1 << i).
3221
ba20e309 3222 * emit-rtl.c (get_mem_align_offset): Use "unsigned int" for align.
d9223014
L
3223
3224 * expr.h (get_mem_align_offset): Updated.
3225
3226 * tree.h (tree_decl_common): Change align to "unsigned int" and
3227 move it before pointer_alias_set.
3228
689b689c
L
32292009-03-27 H.J. Lu <hongjiu.lu@intel.com>
3230 Jakub Jelinek <jakub@redhat.com>
3231
3232 PR target/38034
3233 * config/ia64/sync.md (cmpxchg_rel_<mode>): Replace input
3234 gr_register_operand with gr_reg_or_0_operand.
3235 (cmpxchg_rel_di): Likewise.
3236 (sync_lock_test_and_set<mode>): Likewise.
3237
c619e982
L
32382009-03-27 H.J. Lu <hongjiu.lu@intel.com>
3239
3240 * jump.c (rtx_renumbered_equal_p): Use subreg_get_info.
3241 (true_regnum): Likewise.
3242
3243 * rtlanal.c (subreg_info): Moved to ...
3244 * rtl.h (subreg_info): Here. New.
3245 (subreg_get_info): New.
3246
3247 * rtlanal.c (subreg_get_info): Make it extern.
3248
51212b32
L
32492009-03-27 H.J. Lu <hongjiu.lu@intel.com>
3250
3251 PR target/39472
3252 * config/i386/i386.c (ix86_abi): New.
3253 (override_options): Handle -mabi=.
ba20e309 3254 (ix86_function_arg_regno_p): Replace DEFAULT_ABI with ix86_abi.
51212b32
L
3255 (ix86_call_abi_override): Likewise.
3256 (init_cumulative_args): Likewise.
3257 (function_arg_advance): Likewise.
3258 (function_arg_64): Likewise.
3259 (function_arg): Likewise.
3260 (ix86_pass_by_reference): Likewise.
3261 (ix86_function_value_regno_p): Likewise.
3262 (ix86_build_builtin_va_list_abi): Likewise.
3263 (setup_incoming_varargs_64): Likewise.
3264 (is_va_list_char_pointer): Likewise.
3265 (ix86_init_machine_status): Likewise.
ba20e309 3266 (ix86_reg_parm_stack_space): Use enum calling_abi on call_abi.
51212b32
L
3267 (ix86_function_type_abi): Return enum calling_abi. Rewrite
3268 for 64bit. Replace DEFAULT_ABI with ix86_abi.
ba20e309 3269 (ix86_function_abi): Make it static and return enum calling_abi.
51212b32
L
3270 (ix86_cfun_abi): Return enum calling_abi. Replace DEFAULT_ABI
3271 with ix86_abi.
3272 (ix86_fn_abi_va_list): Updated.
3273
3274 * config/i386/i386.h (ix86_abi): New.
3275 (STACK_BOUNDARY): Replace DEFAULT_ABI with ix86_abi.
3276 (CONDITIONAL_REGISTER_USAGE): Likewise.
3277 (CUMULATIVE_ARGS): Change call_abi type to enum calling_abi.
3278 (machine_function): Likewise.
3279
3280 * config/i386/i386.md (untyped_call): Replace DEFAULT_ABI
3281 with ix86_abi.
3282 * config/i386/cygming.h (TARGET_64BIT_MS_ABI): Likewise.
3283 (STACK_BOUNDARY): Likewise.
3284 * config/i386/mingw32.h (EXTRA_OS_CPP_BUILTINS): Likewise.
3285
3286 * config/i386/i386.opt (mabi=): New.
3287
3288 * config/i386/i386-protos.h (ix86_cfun_abi): Changed to
3289 return enum calling_abi.
3290 (ix86_function_type_abi): Likewise.
3291 (ix86_function_abi): Removed.
3292
3293 * doc/invoke.texi: Document -mabi= option for x86.
3294
7338ea63
KG
32952009-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3296
3297 * builtins.c (real_dconstp): Delete.
3298 (fold_builtin_logarithm): Remove inaccurate log(e) special case.
3299
68599f33
DS
33002009-03-27 Dodji Seketeli <dodji@redhat.com>
3301 Jakub Jelinek <jakub@redhat.com>
3302
3303 PR debug/37959
3304 * dwarf2out.c (dwarf_attr_name): Handle DW_AT_explicit attribute.
3305 (gen_subprogram_die): When a function is explicit, generate the
3306 DW_AT_explicit attribute.
3307 * langhooks.h (struct lang_hooks_for_decls): Add
3308 function_decl_explicit_p langhook.
3309 * langhooks-def.h (LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Define.
3310 (LANG_HOOKS_DECLS): Add LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P.
3311
9f5e9983
JJ
33122009-03-27 Jakub Jelinek <jakub@redhat.com>
3313
64d7685c
JJ
3314 * builtins.c (fold_builtin_memory_op): Optimize memmove
3315 into memcpy if we can prove source and destination don't overlap.
3316
9f5e9983
JJ
3317 * tree-inline.c: Include gt-tree-inline.h.
3318 (clone_fn_id_num): New variable.
3319 (clone_function_name): New function.
3320 (tree_function_versioning): Use it.
3321 * Makefile.in (GTFILES): Add tree-inline.c.
3322
e54d52a8
MM
33232009-03-27 Mark Mitchell <mark@codesourcery.com>
3324
3325 * BASE-VER: Change to 4.5.0.
3326
e9d51dc6
XDL
33272009-03-27 Xinliang David Li <davidxl@google.com>
3328
3329 PR tree-optimization/39557
3330 * tree-ssa.c (warn_uninitialized_vars): free postdom info.
3331
4577cea1
XDL
33322009-03-27 Xinliang David Li <davidxl@google.com>
3333
3334 PR tree-optimization/39548
3335 * tree-ssa-copy.c (copy_prop_visit_phi_node): Add copy
3336 candidate check.
3337
0f7464f4
L
33382009-03-27 H.J. Lu <hongjiu.lu@intel.com>
3339
3340 * c-common.c (pointer_int_sum): Use %wd on return from
3341 tree_low_cst.
3342
a8847a7f
L
33432009-03-27 H.J. Lu <hongjiu.lu@intel.com>
3344
3345 * c-common.c (pointer_int_sum): Use HOST_WIDE_INT_PRINT_DEC
3346 on return from tree_low_cst.
3347
b0957daf
AP
33482009-03-27 Andrew Pinski <andrew_pinski@playstation.sony.com>
3349
3350 PR c++/36799
ba20e309
UB
3351 * ginclude/stdarg.h (va_copy): Define also for
3352 __GXX_EXPERIMENTAL_CXX0X__.
b0957daf 3353
a5f805df
MLI
33542009-03-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3355
3356 PR c++/35652
3357 * builtins.h (c_strlen): Do not warn here.
3358 * c-typeck.c (build_binary_op): Adjust calls to pointer_int_sum.
3359 * c-common.c (pointer_int_sum): Take an explicit location.
3360 Warn about offsets out of bounds.
3361 * c-common.h (pointer_int_sum): Adjust declaration.
3362
6f401211
RW
33632009-03-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3364
a5f805df
MLI
3365 * doc/invoke.texi (i386 and x86-64 Windows Options): Fix texinfo
3366 markup glitch.
6f401211 3367
5a59b39e
JJ
33682009-03-26 Jakub Jelinek <jakub@redhat.com>
3369
3370 PR c++/39554
3371 * opts.c (warn_if_disallowed_function_p): Don't assume
3372 get_callee_fndecl must return non-NULL.
3373
d5f89b53
VM
33742009-03-26 Vladimir Makarov <vmakarov@redhat.com>
3375
3376 PR rtl-optimization/39522
3377 * reload1.c (reload_as_needed): Invalidate reg_last_reload_reg too
3378 when reg_reloaded_valid is set.
3379
61238a79
UW
33802009-03-26 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3381
3382 * config/spu/divv2df3.c: New file.
3383 * config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Add it.
3384 (DPBIT_FUNCS): Filter out _div_df.
3385
03f8829b
BS
33862009-03-26 Bernd Schmidt <bernd.schmidt@analog.com>
3387
3388 * config/bfin/bfin.c (bfin_optimize_loop): If the LSETUP goes before
3389 a jump insn, count that jump in the distance to the loop start.
3390
9fdcdc74
KK
33912009-03-25 Kaz Kojima <kkojima@gcc.gnu.org>
3392
3393 PR target/39523
3394 * config/sh/sh.c (calc_live_regs): Fix condition for global
3395 registers except PIC_OFFSET_TABLE_REGNUM.
3396
46994828
KT
33972009-03-25 Kai Tietz <kai.tietz@onevision.com>
3398
3399 PR/39518
3400 * doc/invoke.texi (-mconsole): New.
3401 (-mcygwin): New.
3402 (-mno-cygwin): New.
3403 (-mdll): New.
3404 (-mnop-fun-dllimport): New.
3405 (-mthread): New.
3406 (-mwin32): New.
3407 (-mwindows): New.
3408 (sub section "i386 and x86-64 Windows Options"): New.
3409
370017b4
RC
34102009-03-25 Ralf Corsépius <ralf.corsepius@rtems.org>
3411
3412 * config/arm/rtems-elf.h: Remove LINK_GCC_C_SEQUENCE_SPEC.
3413 * config/rs6000/t-rtems: Remove MULTILIB_EXTRA_OPTS.
3414
ae560440
RG
34152009-03-25 Richard Guenther <rguenther@suse.de>
3416
3417 PR middle-end/39497
3418 * Makefile.in (dfp.o-warn): Use -fno-strict-aliasing instead
3419 of -Wno-error.
3420
cd510f15
AM
34212009-03-25 Andrey Belevantsev <abel@ispras.ru>
3422
3423 * config/ia64/ia64.c (ia64_set_sched_flags): Zero spec_info->mask when
3424 neither of haifa/selective schedulers are working.
3425
44ab0f0e
RW
34262009-03-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3427
3428 * doc/invoke.texi (Debugging Options): Fix description of
3429 -fno-merge-debug-strings.
3430
ad9646c7
HPN
34312009-03-24 Hans-Peter Nilsson <hp@axis.com>
3432
e6142656
HPN
3433 * config/cris/libgcc.ver: New version-script.
3434 * config/cris/t-linux (SHLIB_MAPFILES): Use it.
3435
ad9646c7
HPN
3436 * configure.ac <GAS features, nop mnemonic>: Add pattern
3437 crisv32-*-* for "nop".
ba20e309 3438 <GAS features, Thread-local storage>: Add item for CRIS and CRIS v32.
ad9646c7
HPN
3439 * configure: Regenerate.
3440
09ac4473
IR
34412009-03-24 Ira Rosen <irar@il.ibm.com>
3442
3443 PR tree-optimization/39529
3444 * tree-vect-transform.c (vect_create_data_ref_ptr): Call
3445 mark_sym_for_renaming for the tag copied to the new vector
3446 pointer.
3447
d94a427e
AL
34482009-03-24 Arthur Loiret <aloiret@debian.org>
3449
ba20e309 3450 * config.host (alpha*-*-linux*): Use driver-alpha.o and alpha/x-alpha.
d94a427e
AL
3451 * config/alpha/linux.h (host_detect_local_cpu): Declare, add to
3452 EXTRA_SPEC_FUNCTIONS.
3453 (MCPU_MTUNE_NATIVE_SPECS, DRIVER_SELF_SPECS): New macros.
3454 * config/alpha/driver-alpha.c, config/alpha/x-alpha: New.
3455 * doc/invoke.texi (DEC Alpha Options): Document 'native' value for
3456 -march and -mtune options.
3457
722d07aa
RC
34582009-03-24 Ralf Corsépius <ralf.corsepius@rtems.org>
3459
3460 * config/m68k/t-rtems: Add m5329 multilib.
3461
603f5959
DS
34622009-03-24 Dodji Seketeli <dodji@redhat.com>
3463 Jakub Jelinek <jakub@redhat.com>
3464
3465 PR debug/39524
3466 * dwarf2out.c (gen_variable_die): Avoid adding duplicate declaration
3467 nodes.
3468
c5cdb03f
JJ
34692009-03-23 Jakub Jelinek <jakub@redhat.com>
3470
3471 PR c/39495
3472 * c-parser.c (c_parser_omp_for_loop): Call c_parser_binary_expression
3473 instead of c_parser_expression_conv, if original_code isn't one of the
3474 4 allowed comparison codes, fail.
3475
3691626c
RG
34762009-03-23 Richard Guenther <rguenther@suse.de>
3477
3478 * cgraph.h (struct cgraph_node): Reorder fields for 64-bit hosts.
3479 * tree.h (struct tree_type): Likewise.
3480 * reload.h (struct insn_chain): Likewise.
3481 * dwarf2out.c (struct dw_loc_descr_struct): Likewise.
3482 * function.h (struct function): Likewise.
3483 * tree-ssa-structalias.c (struct equiv_class_label): Likewise.
3484
88ccb72a
JJ
34852009-03-23 Jakub Jelinek <jakub@redhat.com>
3486
3487 PR tree-optimization/39516
3488 * lambda-code.c (perfect_nestify): Fix type of the uboundvar variable.
3489
a583a67e
BM
34902009-03-23 Bingfeng Mei <bmei@broadcom.com>
3491
3492 * config.gcc (need_64bit_hwint): Make clear that need_64bit_hwint
3493 should be set true if BITS_PER_WORD of target is bigger than 32
3494
f82162f8
HPN
34952009-03-22 Hans-Peter Nilsson <hp@axis.com>
3496
3497 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC):
3498 Translate -B-options to -rpath-link. Correct existing
3499 rpath-link and conditionalize on !nostdlib.
3500
048fd785
RW
35012009-03-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3502
3503 * doc/extend.texi (Function Attributes, Variable Attributes):
3504 Fix typos.
3505 * doc/invoke.texi (Debugging Options, Optimize Options)
3506 (i386 and x86-64 Options, MCore Options): Likewise.
3507
6e75c1a9
JJ
35082009-03-20 Jakub Jelinek <jakub@redhat.com>
3509
3510 PR debug/37890
3511 * dwarf2out.c (gen_namespace_die): Add context_die argument and use
3512 it for block local namespace aliases.
3513 (gen_decl_die): Pass context_die to gen_namespace_die.
3514
ea1199ee
JJ
35152009-03-19 Jakub Jelinek <jakub@redhat.com>
3516
3517 PR c/39495
3518 * c-omp.c (c_finish_omp_for): Allow NE_EXPR with TREE_TYPE (decl)'s
3519 minimum or maximum value.
3520
58929c10
AO
35212009-03-19 Alexandre Oliva <aoliva@redhat.com>
3522
3523 * reginfo.c (globalize_reg): Recompute derived reg sets.
3524
234952b3
OS
35252009-03-19 Ozkan Sezer <sezeroz@gmail.com>
3526
3527 PR target/39063
3528 * libgcc2.c (mprotect): Do not use signed arguments for
3529 VirtualProtect, use DWORD arguments. Also fix the 'may
3530 be used uninitialized' warning for the np variable.
3531
f57c2f04
JJ
35322009-03-19 Jakub Jelinek <jakub@redhat.com>
3533
3534 PR target/39496
3535 * config/i386/i386.c (ix86_function_regparm): Don't optimize local
3536 functions using regparm calling conventions when not optimizing.
3537 (ix86_function_sseregparm): Similarly for sseregparm calling
3538 conventions.
3539
9e517d61
LF
35402009-03-19 Li Feng <nemokingdom@gmail.com>
3541
3542 PR middle-end/39500
3543 * tree-data-ref.c (analyze_subscript_affine_affine): There is no
3544 dependence if the first conflict is after niter iterations.
3545
8ef20026
HPN
35462009-03-19 Hans-Peter Nilsson <hp@axis.com>
3547
3548 PR middle-end/38609
3549 * config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all
3550 functions with dynamic stack-pointer adjustments.
3551
64e4a1a6
BE
35522009-03-19 Ben Elliston <bje@au.ibm.com>
3553
3554 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix -msdata-data
3555 option; change to -msdata=data.
3556
9a0f3e86
RW
35572009-03-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3558
3559 * c.opt: Unify help texts for -Wdeprecated, -Wsystem-headers,
3560 and -fopenmp.
3561
09bc5979
EB
35622009-03-18 Eric Botcazou <ebotcazou@adacore.com>
3563
3564 PR target/35180
3565 * config/sparc/sparc.md (do_builtin_setjmp_setup): Prettify asm output.
3566
332459cd
SL
35672009-03-18 Sandra Loosemore <sandra@codesourcery.com>
3568
3569 * doc/invoke.texi (Code Gen Options): Expand discussion of
3570 -fno-common.
3571
8f5929e1
JJ
35722009-03-18 Jakub Jelinek <jakub@redhat.com>
3573
3574 * dse.c (struct group_info): Reorder fields for 64-bit hosts.
3575 * matrix-reorg.c (struct matrix_info): Likewise.
3576 * tree-ssa-loop-ivopts.c (struct ivopts_data): Likewise.
3577 * rtl.h (struct mem_attrs): Likewise.
3578 * df.h (struct df): Likewise.
3579 * tree-data-ref.h (struct data_dependence_relation): Likewise.
3580 * ira-int.h (struct ira_allocno): Likewise.
3581 * df-scan.c (struct df_collection_rec): Likewise.
3582 * ira.c (struct equivalence): Likewise.
3583 * function.c (struct temp_slot): Likewise.
3584 * cfgloop.h (struct loop): Likewise.
3585
d130d647
JJ
3586 PR debug/39485
3587 * function.c (use_register_for_decl): When not optimizing, disregard
3588 register keyword for variables with types containing methods.
3589
9968d233
SP
35902009-03-18 Sebastian Pop <sebastian.pop@amd.com>
3591
3592 PR middle-end/39447
3593 * graphite.c (exclude_component_ref): Renamed contains_component_ref_p.
3594 (is_simple_operand): Call contains_component_ref_p before calling data
3595 reference analysis that would fail on COMPONENT_REFs.
3596
3597 * tree-vrp.c (search_for_addr_array): Fix formatting.
3598
69484bfd
RG
35992009-03-18 Richard Guenther <rguenther@suse.de>
3600
3601 * tree-vect-transform.c (vect_loop_versioning): Fold the
3602 generated comparisons.
3603 * tree-vectorizer.c (set_prologue_iterations): Likewise.
3604 (slpeel_tree_peel_loop_to_edge): Likewise.
3605
66811228
RW
36062009-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3607
0631b69f
RW
3608 PR middle-end/37805
3609 * opts.c (print_specific_help): In addition to `undocumented',
3610 accept `separate' and `joined' flags if passed alone. Describe
3611 output by the first matched one of those.
3612 (common_handle_option): Skip over empty strings.
3613 * gcc.c (display_help): Fix help string for `--help='.
3614 * doc/invoke.texi (Option Summary, Overall Options): With
3615 `--help=', classes and qualifiers can both be repeated, but
3616 only the latter can be negated. One should not pass only
3617 negated qualifiers. Fix markup and examples.
3618
66811228
RW
3619 Revert
3620 2008-10-14 Jakub Jelinek <jakub@redhat.com>
3621 PR middle-end/37805
3622 * opts.c (common_handle_option): Don't ICE on -fhelp=joined
3623 and -fhelp=separate.
3624
3c072c6b
JY
36252009-03-17 Jing Yu <jingyu@google.com>
3626
3627 PR middle-end/39378
80c65208
JY
3628 * function.h (struct rtl_data): Move is_thunk from here...
3629 (struct function): ...to here.
3630 * cp/method.c (use_thunk): Change is_thunk from crtl to cfun.
3c072c6b
JY
3631 * varasm.c (assemble_start_function): Change is_thunk from crtl to
3632 cfun.
80c65208
JY
3633 * config/alpha/alpha.c (alpha_sa_mask): Change is_thunk from crtl to
3634 cfun.
3635 (alpha_does_function_need_gp, alpha_start_function): Likewise.
3636 (alpha_output_function_end_prologue): Likewise.
3637 (alpha_end_function, alpha_output_mi_thunk_osf): Likewise.
3638 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likewise.
3639 (rs6000_output_function_epilogue): Likewise.
3640 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Likewise.
3c072c6b 3641
9ade279b
UB
36422009-03-17 Uros Bizjak <ubizjak@gmail.com>
3643
3644 PR target/39482
3645 * config/i386/i386.md (*truncdfsf_mixed): Avoid combining registers
3646 from different units in a single alternative.
3647 (*truncdfsf_i387): Ditto.
3648 (*truncxfsf2_mixed): Ditto.
3649 (*truncxfdf2_mixed): Ditto.
3650
16e60c17
JJ
36512009-03-17 Jakub Jelinek <jakub@redhat.com>
3652
98381eb4
JJ
3653 * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Allow
3654 non-NAMESPACE_DECL IMPORTED_DECL_ASSOCIATED_DECL.
3655
df5deb18
JJ
3656 PR debug/39474
3657 * tree-ssa-live.c (remove_unused_locals): Don't remove local
3658 unused non-artificial variables when not optimizing.
3659
a3f596ba
JJ
3660 PR debug/39471
3661 * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Emit
3662 DW_TAG_imported_module even if decl is IMPORTED_DECL with
3663 NAMESPACE_DECL in its DECL_INITIAL.
3664
6b2b8871
JJ
3665 PR middle-end/39443
3666 * optabs.c (set_user_assembler_libfunc): New function.
3667 * expr.h (set_user_assembler_libfunc): New prototype.
3668 * c-common.c: Include libfuncs.h.
3669 (set_builtin_user_assembler_name): Call set_user_assembler_libfunc
3670 for memcmp, memset, memcpy, memmove and abort.
3671 * Makefile.in (c-common.o): Depend on libfuncs.h.
3672
16e60c17
JJ
3673 PR debug/39412
3674 * dwarf2out.c (gen_inlined_enumeration_type_die,
3675 gen_inlined_structure_type_die, gen_inlined_union_type_die,
3676 gen_tagged_type_instantiation_die): Removed.
3677 (gen_decl_die): For TYPE_DECL_IS_STUB with non-NULL decl_origin
3678 do nothing.
3679
4d936aca
JJ
36802009-03-17 Janis Johnson <janis187@us.ibm.com>
3681
3682 PR testsuite/38526
3683 * Makefile.in (site.exp): Rename TEST_GCC_EXEC_PREFIX and comment
3684 its use.
3685 (check-%): Don't set GCC_EXEC_PREFIX when invoking runtest.
3686 (check-parallel-%): Ditto.
3687 (check-consistency): Ditto.
3688
4e9b2e50
KT
36892009-03-17 Kai Tietz <kai.tietz@onevision.com>
3690
3691 * ipa-struct-reorg.c (create_general_new_stmt): Initialize
3692 local variable rhs by NULL_TREE.
3693
21440b2d
L
36942009-03-17 H.J. Lu <hongjiu.lu@intel.com>
3695
3696 PR target/39477
9ade279b 3697 * doc/extend.texi: Correct register behavior for regparm on Intel 386.
21440b2d 3698
d8905c6a
L
36992009-03-17 H.J. Lu <hongjiu.lu@intel.com>
3700
3701 PR target/39476
9ade279b 3702 * config/i386/i386.c (ix86_function_regparm): Rewrite for 64bit.
d8905c6a
L
3703
37042009-03-17 H.J. Lu <hongjiu.lu@intel.com>
435a61d3
L
3705
3706 PR target/39473
3707 * config/i386/i386.c (ix86_expand_call): Check extra clobbers
3708 for ms->sysv ABI calls only in 64bit mode.
3709
3710 * config/i386/i386.md (untyped_call): Support 32bit.
3711
cdcabece
L
37122009-03-16 H.J. Lu <hongjiu.lu@intel.com>
3713
3714 * doc/extend.texi: Replace x86_65 with x86_64.
3715
97b4ba9f
JJ
37162009-03-16 Jakub Jelinek <jakub@redhat.com>
3717
3718 PR tree-optimization/39455
3719 * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Fix types
3720 mismatches for POINTER_TYPE_P (type).
3721 (number_of_iterations_le): Likewise.
3722
83c191e1
HS
37232009-03-16 Hariharan Sandanagobalane <hariharan@picochip.com>
3724
3725 * config/picochip/picochip.c: Removed profiling support.
3726 * config/picochip/picochip.md: Removed profiling instruction.
3727 * config/picochip/picochip.h: Removed profiling builtin.
3728
f38095f3
JM
37292009-03-16 Joseph Myers <joseph@codesourcery.com>
3730
3731 * doc/install.texi (--with-host-libstdcxx): Document.
3732
2cb4817b
AS
37332009-03-14 Anatoly Sokolov <aesok@post.ru>
3734
3735 PR target/34299
3736 * config/avr/avr.c (avr_handle_fndecl_attribute): Move code for
3737 generate a warning if the function name does not begin with
3738 "__vector" and the function has either the 'signal' or 'interrupt'
3739 attribute, from here to ...
3740 (avr_declare_function_name): ...here. New function.
3741 * config/avr/avr.h (ASM_DECLARE_FUNCTION_NAME): Redefine.
3742 * config/avr/avr-protos.h (avr_declare_function_name): Declare.
3743
39b2ac74
JJ
37442009-03-14 Jakub Jelinek <jakub@redhat.com>
3745
3746 PR bootstrap/39454
3747 * cse.c (fold_rtx): Don't modify original const_arg1 when
3748 canonicalizing SHIFT_COUNT_TRUNCATED shift count, do it on a
3749 separate variable instead.
3750 * rtlanal.c (nonzero_bits1) <case ASHIFTRT>: Don't assume anything
3751 from out of range shift counts.
3752 (num_sign_bit_copies1) <case ASHIFTRT, case ASHIFT>: Similarly.
3753
f7a82dee
CM
37542008-03-13 Catherine Moore <clm@codesourcery.com>
3755
9ade279b 3756 * gcc/config/i386/x-mingw32 (host-mingw32.o): Replace
f7a82dee
CM
3757 diagnostic.h with $(DIAGNOSTIC_H).
3758
03a18198
JJ
37592008-03-12 Jakub Jelinek <jakub@redhat.com>
3760
3761 PR target/39431
3762 * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): New
3763 predicate.
3764 * config/i386/sync.md (sync_compare_and_swap<mode>,
3765 sync_compare_and_swap_cc<mode>): For DImode with -m32 -fpic check
3766 if operands[1] is cmpxchg8b_pic_memory_operand, if not force address
3767 into a register.
3768 (sync_double_compare_and_swapdi_pic,
3769 sync_double_compare_and_swap_ccdi_pic): Require operand 1 to be
3770 cmpxchg8b_pic_memory_operand instead of just memory_operand.
3771
122c59c7
L
37722009-03-12 H.J. Lu <hongjiu.lu@intel.com>
3773
3774 PR target/39445
9ade279b 3775 * config/i386/i386.c (ix86_expand_push): Don't set memory alignment.
122c59c7 3776
cec8874f
L
37772009-03-12 H.J. Lu <hongjiu.lu@intel.com>
3778
3779 PR target/39327
3780 * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
3781 (avx_addsubv4df3): Likewise.
3782 (*avx_addsubv4sf3): Likewise.
3783 (sse3_addsubv4sf3): Likewise.
3784
bbb52802
L
37852009-03-12 H.J. Lu <hongjiu.lu@intel.com>
3786
3787 PR target/38824
9ade279b 3788 * config/i386/i386.md: Compare REGNO on the new peephole2 patterns.
bbb52802 3789
a812fb07
VM
37902009-03-12 Vladimir Makarov <vmakarov@redhat.com>
3791
3792 PR debug/39432
3793 * ira-int.h (struct allocno): Fix comment for calls_crossed_num.
3794 * ira-conflicts.c (ira_build_conflicts): Prohibit call used
3795 registers for allocnos created from user-defined variables.
3796
4caab5ba
UW
37972009-03-11 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3798
3799 PR target/39181
3800 * config/spu/spu.c (spu_expand_mov): Handle invalid subregs
3801 of non-integer mode as well.
3802
498e51ca
AN
38032009-03-11 Adam Nemet <anemet@caviumnetworks.com>
3804
3805 * gimplify.c (gimplify_call_expr): Don't set CALL_CANNOT_INLINE_P
3806 for functions for which the parameter types are unknown.
3807
9bfaf89d
JJ
38082009-03-11 Jakub Jelinek <jakub@redhat.com>
3809
3810 PR target/39137
9ade279b 3811 * cfgexpand.c (get_decl_align_unit): Use LOCAL_DECL_ALIGNMENT macro.
9bfaf89d
JJ
3812 * defaults.h (LOCAL_DECL_ALIGNMENT): Define if not yet defined.
3813 * config/i386/i386.h (LOCAL_DECL_ALIGNMENT): Define.
3814 * config/i386/i386.c (ix86_local_alignment): For
3815 -m32 -mpreferred-stack-boundary=2 use 32-bit alignment for
3816 long long variables on the stack to avoid dynamic realignment.
3817 Allow the first argument to be a decl rather than type.
3818 * doc/tm.texi (LOCAL_DECL_ALIGNMENT): Document.
3819
18a3bdcb
NC
38202009-03-11 Nick Clifton <nickc@redhat.com>
3821
3822 PR target/5362
40190a76
NC
3823 * config/mcore/mcore.opt: Remove deprecated m4align and m8align
3824 options.
3825 Add description to mno-lsim option.
3826 * config/mcore/mcore.h: Remove comment about deprecated m4align
3827 option.
3828 (TARGET_DEFAULT): Remove deprecated MASK_M8ALIGN.
3829 * doc/invoke.texi: Add description of mno-lsim and
3830 mstack-increment options.
3831
18a3bdcb
NC
3832 * config/fr30/fr30.opt: Document the -mno-lsim option.
3833 * doc/invoke.texi: Add descriptions of the FR30's -msmall-model
3834 and -mno-lsim options.
3835
dc215785
UW
38362009-03-11 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3837
3838 * fold-const.c (fold_comparison): Only call fold_inf_compare
3839 if the mode supports infinities.
3840
7716876b
JM
38412009-03-11 Jason Merrill <jason@redhat.com>
3842
3843 PR debug/39086
3844 * tree-nrv.c (tree_nrv): Don't do this optimization if the front
3845 end already did. Notice GIMPLE_CALL modifications of the result.
3846 Don't copy debug information from an ignored decl or a decl from
3847 another function.
3848
ddef83d2
RG
38492009-03-10 Richard Guenther <rguenther@suse.de>
3850 Nathan Froyd <froydnj@codesourcery.com>
3851
3852 PR middle-end/37850
9ade279b 3853 * libgcc2.c (__mulMODE3): Use explicit assignments to form the result.
ddef83d2
RG
3854 (__divMODE3): Likewise.
3855
9a9ba8d9
JJ
38562009-03-09 Jakub Jelinek <jakub@redhat.com>
3857
3858 PR tree-optimization/39394
3859 * gimplify.c (gimplify_type_sizes): Gimplify DECL_SIZE and
3860 DECL_SIZE_UNIT of variable length FIELD_DECLs.
3861
929b7fc3
AK
38622009-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3863
3864 * recog.c (verfiy_changes): Disallow renaming of hard regs in
3865 inline asms for register asm ("") declarations.
3866
1803581d
EB
38672009-03-09 Eric Botcazou <ebotcazou@adacore.com>
3868
3869 * fold-const.c (fold_unary): Fix comment.
3870
8454d27e
JH
38712009-03-07 Jan Hubicka <jh@suse.cz>
3872
3873 PR target/39361
969a5433
JJ
3874 * tree-inline.c (setup_one_parameter): Do replacement of const
3875 argument by constant in SSA form.
8454d27e 3876
3a695389
UW
38772009-03-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3878
3879 PR middle-end/38028
3880 * function.c (assign_parm_setup_stack): Use STACK_SLOT_ALIGNMENT to
3881 determine alignment passed to assign_stack_local.
3882 (assign_parms_unsplit_complex): Likewise.
3883 * except.c (sjlj_build_landing_pads): Likewise.
3884
9f0e7885
JJ
38852009-03-06 Jakub Jelinek <jakub@redhat.com>
3886
65401a0b
JJ
3887 PR middle-end/39360
3888 * tree-flow.h (add_referenced_var): Return bool instead of void.
3889 * tree-dfa.c (add_referenced_var): Return result of
3890 referenced_var_check_and_insert call.
3891 * tree-inline.c (expand_call_inline): Call add_referenced_var instead
3892 of referenced_var_check_and_insert.
3893
9f0e7885 3894 PR debug/39372
9ade279b 3895 * dwarf2out.c (add_abstract_origin_attribute): Return origin_die.
9f0e7885
JJ
3896 (gen_variable_die): Emit DW_AT_location on abstract static variable's
3897 DIE, don't emit it if abstract origin already has it.
3898 * tree-cfg.c (remove_useless_stmts_bind): GIMPLE_BINDs with any
3899 BLOCK_NONLOCALIZED_VARS in its gimple_bind_block aren't useless.
3900
3b664bd1
JBG
39012009-03-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
3902
ba20e309 3903 * genpreds.c (needs_variable): Fix parentheses at variable name
3b664bd1
JBG
3904 detection.
3905 (write_tm_constrs_h): Indent generated code.
3906
d8f8ca80
RR
39072009-03-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3908
3909 * doc/extend.texi (Function Attributes): Add documentation
3910 for isr attributes.
3911
6c3d550c
JJ
39122009-03-06 Jakub Jelinek <jakub@redhat.com>
3913
3914 PR debug/39387
3915 * dwarf2out.c (dwarf2out_imported_module_or_decl_1): For IMPORTED_DECL
3916 take locus from its DECL_SOURCE_LOCATION instead of input_location.
3917
f9e96751
BS
39182009-03-05 Bernd Schmidt <bernd.schmidt@analog.com>
3919
3920 * config/bfin/bfin.c (bfin_discover_loop): When retrying fails, mark
3921 the loop as bad.
3922
ee0ee7e2
JJ
39232009-03-05 Jakub Jelinek <jakub@redhat.com>
3924
3925 PR debug/39379
3926 * tree-cfg.c (remove_useless_stmts_bind): Don't remove GIMPLE_BINDs
3927 with blocks containing IMPORTED_DECLs in BLOCK_VARS.
3928
6c6094f1
UB
39292009-03-05 Uros Bizjak <ubizjak@gmail.com>
3930
3931 * config/i386/i386.md (R8_REG, R9_REG): New constants.
3932 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Use named
3933 constants instead of magic numbers.
3934 (HARD_REGNO_CALLER_SAVE_MODE): Ditto.
3935 (QI_REG_P): Ditto.
3936 * config/i386/i386.c (x86_64_int_parameter_registers): Ditto.
3937 (x86_64_ms_abi_int_parameter_registers): Ditto.
3938 (x86_64_int_return_registers): Ditto.
09f8a8d3 3939 (ix86_maybe_switch_abi): Ditto.
6c6094f1
UB
3940 (ix86_expand_call): Ditto for clobbered_registers array.
3941 (ix86_hard_regno_mode_ok): Ditto.
3942 (x86_extended_QIreg_mentioned_p): Ditto.
3943
b267bd41
R
39442009-03-05 J"orn Rennecke <joern.rennecke@arc.com>
3945
6c6094f1 3946 PR tree-optimization/39349
1f3ad3f0
R
3947 * cse.c (cse_insn): Fix loop to stop at VOIDmode.
3948
b267bd41
R
3949 * combine.c (gen_lowpart_for_combine): Use omode when generating
3950 clobber.
3951
1242bc9d
R
39522009-03-04 J"orn Rennecke <joern.rennecke@arc.com>
3953
6c6094f1 3954 PR rtl-optimization/39235
1242bc9d
R
3955 * loop-iv.c (get_simple_loop_desc): Use XCNEW.
3956
48f03606
ZD
39572009-03-04 Zdenek Dvorak <ook@ucw.cz>
3958
3959 * graphite.c (nb_reductions_in_loop): Update simple_iv arguments.
3960
b505e785
RG
39612009-03-04 Richard Guenther <rguenther@suse.de>
3962
3963 PR tree-optimization/39362
3964 * tree-ssa-sccvn.c (visit_use): Stores and copies from SSA_NAMEs
3965 that occur in abnormal PHIs should be varying.
3966
f017bf5e
ZD
39672009-03-04 Zdenek Dvorak <ook@ucw.cz>
3968
3969 * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop):
3970 Extend comments.
3971 (simple_iv): Take loop as an argument instead of statement.
3972 * tree-scalar-evolution.h (simple_iv): Declaration changed.
3973 * tree-ssa-loop-niter.c (number_of_iterations_exit): Update calls
3974 to simple_iv.
3975 * tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev):
3976 Ditto.
3977 * tree-parloops.c (loop_parallel_p, canonicalize_loop_ivs): Ditto.
3978 * matrix-reorg.c (analyze_transpose): Ditto.
3979 * tree-data-ref.c (dr_analyze_innermost): Ditto.
3980 * tree-vect-analyze.c (vect_analyze_data_refs): Ditto.
3981 * tree-predcom.c (ref_at_iteration): Ditto.
3982 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Ditto.
3983
6a66f28e
RG
39842009-03-04 Richard Guenther <rguenther@suse.de>
3985
3986 PR tree-optimization/39358
3987 * tree-ssa-structalias.c (do_sd_constraint): Fix check for
3988 escaped_id and callused_id.
3989 (solve_graph): Likewise.
3990
57e454ee
RG
39912009-03-04 Richard Guenther <rguenther@suse.de>
3992
3993 PR tree-optimization/39339
3994 * tree-sra.c (try_instantiate_multiple_fields): Make it
3995 no longer ICE on the above.
3996
a6fe9ed4
JM
39972009-03-03 Joseph Myers <joseph@codesourcery.com>
3998
3999 * emit-rtl.c (adjust_address_1): Reduce offset to a signed value
4000 that fits within Pmode.
4001
dc672951
SE
40022009-03-03 Steve Ellcey <sje@cup.hp.com>
4003
4004 PR middle-end/10109
4005 * tm.texi (LIBCALL_VALUE): Update description.
4006
8b9d598f
SE
40072009-03-03 Steve Ellcey <sje@cup.hp.com>
4008
4009 PR middle-end/34443
4010 * doc/extend.texi (section): Update description.
4011
13e4e36e
L
40122009-03-03 H.J. Lu <hongjiu.lu@intel.com>
4013
4014 PR middle-end/39345
4015 * tree-inline.c (remapped_type): New.
4016 (can_be_nonlocal): Call remapped_type instead of remap_type.
4017
067dd3c9
JJ
40182009-03-03 Jakub Jelinek <jakub@redhat.com>
4019
4020 PR fortran/39354
4021 * gimplify.c (goa_stabilize_expr): Handle tcc_comparison,
4022 TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
4023
9bd9f738
RG
40242009-03-03 Richard Guenther <rguenther@suse.de>
4025
4026 PR middle-end/39272
4027 * tree.c (tree_nonartificial_location): New function.
4028 * tree.h (tree_nonartificial_location): Declare.
4029 * builtins.c (expand_builtin_memory_chk): Provide location
4030 of the call location for artificial function pieces.
4031 (maybe_emit_chk_warning): Likewise.
4032 (maybe_emit_sprintf_chk_warning): Likewise.
4033 (maybe_emit_free_warning): Likewise.
4034 * expr.c (expand_expr_real_1): Likewise.
4035
f07049c8
JJ
40362009-03-03 Jakub Jelinek <jakub@redhat.com>
4037
4038 PR tree-optimization/39343
4039 * tree-ssa-ccp.c (maybe_fold_offset_to_address): Don't check if
4040 COMPONENT_REF t has ARRAY_TYPE.
4041
7d4fba4a
SP
40422009-03-02 Sebastian Pop <sebastian.pop@amd.com>
4043
4044 PR middle-end/39335
4045 * tree-parloops.c (canonicalize_loop_ivs): Call fold_convert
4046 when the type precision of the induction variable should be
4047 larger than the type precision of nit.
4048 (gen_parallel_loop): Update use of canonicalize_loop_ivs.
4049 * graphite.c (graphite_loop_normal_form): Same.
4050 * tree-flow.h (canonicalize_loop_ivs): Update declaration.
4051
78168632
UB
40522009-03-02 Uros Bizjak <ubizjak@gmail.com>
4053
4054 * config/i386/i386.md (ST?_REG, MM?_REG): New constants.
4055 (*call_1_rex64_ms_sysv): Use named constants instead of magic
6c6094f1 4056 numbers to describe clobbered registers.
78168632 4057 (*call_value_0_rex64_ms_sysv): Ditto.
6c6094f1
UB
4058 * config/i386/mmx.md (mmx_emms): Ditto.
4059 (mmx_femms): Ditto.
78168632 4060
63553059
RS
40612009-03-02 Richard Sandiford <rdsandiford@googlemail.com>
4062
4063 * config/mips/mips.c (mips_mdebug_abi_name): Fix the handling
4064 of ABI_64.
4065
500a1f85
UW
40662009-03-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4067
4068 * config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
4069 (spu_section_type_flags): New function.
4070
962aae34
UB
40712009-03-02 Uros Bizjak <ubizjak@gmail.com>
4072
4073 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not copy
4074 reg_class_contents of FLOAT_REGS into a temporary.
4075
6dfb529c 40762009-03-02 Richard Guenther <rguenther@suse.de>
962aae34 4077 Ira Rosen <irar@il.ibm.com>
6dfb529c
RG
4078
4079 PR tree-optimization/39318
4080 * tree-vect-transform.c (vectorizable_call): Transfer the EH region
4081 information to the vectorized statement.
4082
6b5629db
UB
40832009-03-01 Uros Bizjak <ubizjak@gmail.com>
4084
434426d2
UB
4085 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not shadow "i"
4086 variable. Use defined names instead of magic constants for REX SSE
4087 registers.
6b5629db 4088
14e5b285
RG
40892009-03-01 Richard Guenther <rguenther@suse.de>
4090
4091 PR tree-optimization/39331
4092 * omp-low.c (lower_send_shared_vars): Do not receive new
4093 values for the reference of DECL_BY_REFERENCE parms or results.
4094
526d73ab
JH
40952009-03-01 Jan Hubicka <jh@suse.cz>
4096
4097 PR debug/39267
4098 * tree.h (BLOCK_NONLOCALIZED_VARS, BLOCK_NUM_NONLOCALIZED_VARS,
4099 BLOCK_NONLOCALIZED_VAR): New macros.
4100 (tree_block): Add nonlocalized_vars.
f4ea99bd
EB
4101 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
4102 gen_decl_die): Add origin argument. Allow generation of die with
4103 origin at hand only.
526d73ab 4104 (gen_member_die, gen_type_die_with_usage, force_decl_die,
f4ea99bd
EB
4105 declare_in_namespace, gen_namescpace_die, dwarf2out_decl): Update use
4106 of gen_*.
526d73ab
JH
4107 (gen_block_die): Fix checking for unused blocks.
4108 (process_scope_var): Break out from .... ; work with origins only.
4109 (decls_for_scope) ... here; process nonlocalized list.
4110 (dwarf2out_ignore_block): Look for nonlocalized vars.
f4ea99bd
EB
4111 * tree-ssa-live.c (remove_unused_scope_block_p): Look for nonlocalized
4112 vars.
526d73ab
JH
4113 (dump_scope_block): Dump them.
4114 * tree-inline.c (remap_decls): Handle nonlocalized vars.
4115 (remap_block): Likewise.
4116 (can_be_nonlocal): New predicate.
4117 (copy_bind_expr, copy_gimple_bind): Update use of remap_block.
4118
7a9d3fe8
RW
41192009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4120
4121 * configure: Regenerate.
4122
b3cdf3cb
RW
41232009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4124
a16d1645 4125 * optc-gen.awk: No need to duplicate option flags twice.
9ade279b 4126 Reuse help texts for duplicate options which do not have any.
a16d1645 4127
1156c176
RW
4128 * gcc.c (display_help): Document --version.
4129
033505fc
RW
4130 * gcc.c (main): If print_help_list and verbose_flag, ensure
4131 driver output comes before subprocess output.
4132
4d077054
RW
4133 * optc-gen.awk: Assign all remaining fields to help string,
4134 space-separated, for multi-line help in *.opt.
4135
a072f1cf
RW
4136 * doc/invoke.texi (Warning Options): -Wsync-nand is C/C++ only.
4137 -Wno-pedantic-ms-format is for MinGW targets only.
4138
b3cdf3cb
RW
4139 * doc/options.texi (Option file format): Fix bad indentation,
4140 restoring dropped sentence.
4141
a3aadcc5
JH
41422009-02-28 Jan Hubicka <jh@suse.cz>
4143
4144 * tree-inline.c (tree_function_versioning): Output debug info.
4145
1cf5abb3
JH
41462009-02-28 Jan Hubicka <jh@suse.cz>
4147
4148 PR debug/39267
4149 * tree-inline.c (setup_one_parameter): Do not copy propagate
4150 arguments when not optimizing.
4151
c4d3f42f
L
41522009-02-28 H.J. Lu <hongjiu.lu@intel.com>
4153
4154 PR target/39327
4155 * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
4156 (avx_addsubv4df3): Likewise.
4157 (*avx_addsubv4sf3): Likewise.
4158 (sse3_addsubv4sf3): Likewise.
4159 (*avx_addsubv2df3): Likewise.
4160 (sse3_addsubv2df3): Likewise.
4161 (avx_unpckhps256): Correct item selectors.
4162 (avx_unpcklps256): Likewise.
4163 (avx_unpckhpd256): Likewise.
4164 (avx_unpcklpd256): Likewise.
4165
eb50f5f4
JH
41662009-02-28 Jan Hubicka <jh@suse.cz>
4167
4168 * tree-inline.c (expand_call_inline): Avoid duplicate declarations of
4169 static vars.
4170 (copy_arguments_for_versioning): If var is declared don't declare it.
4171 (tree_function_versioning): First setup substitutions and then copy
4172 args.
4173
26140130
JH
41742009-02-27 Jan Hubicka <jh@suse.cz>
4175
4176 PR debug/39267
4177 * cgraph.h (varpool_output_debug_info): Remove.
4178 * cgraphunit.c (varpool_output_debug_info): Remove.
4179 * dwarf2out.c (deferred_locations_struct): New struct
4180 (deferred_locations): New type.
4181 (deferred_locations_list): New static var.
4182 (deffer_location): New function.
4183 (gen_variable_die): Use it.
4184 (decls_for_scope): Output info on local static vars.
4185 (dwarf2out_finish): Process deferred locations.
4186 * varpool.c (varpool_output_debug_info): Remove.
4187
cff7525f
JH
41882009-02-27 Jan Hubicka <jh@suse.cz>
4189
4190 PR debug/39267
4191 * tree.h (TREE_PROTECTED): Fix comment.
4192 (BLOCK_HANDLER_BLOCK): Remove.
4193 (struct tree_block): Remove handler_block add body_block.
4194 (inlined_function_outer_scope_p): New.
4195 (is_body_block): Remove.
4196 * dbxout.c (dbxout_block): Remove BLOCK_HANDLER_BLOCK.
4197 * dwarf2out.c (is_inlined_entry_point): Remove.
4198 (add_high_low_attributes): Use inlined_function_outer_scope_p.
f10a1c6c
EB
4199 (gen_block_die): Use is_inlined_entry_point check. Remove body block
4200 code.
cff7525f
JH
4201 * langhooks.h (struct lang_hooks): Remove no_bodu_blocks.
4202 * gimplify.c (gimplify_expr): Gimplify body blocks.
f10a1c6c
EB
4203 * tree-ssa-live.c (remove_unused_scope_block_p): Allow removing wrapper
4204 block with multiple subblocks.
cff7525f
JH
4205 (dump_scope_block): Prettier output; dump more flags and info.
4206 (dump_scope_blocks): New.
4207 (remove_unused_locals): Use dump_scope_blocks.
4208 * tree-flow.h (dump_scope_blocks): Declare.
4209 * tree-cfg.c (execute_build_cfg): Dump scope blocks.
4210 * stmt.c (is_body_block): Remove.
4211 * tree-inline.c (remap_block): Copy BODY_BLOCK info.
4212 * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): Remove.
4213
c20993b9
SP
42142009-02-27 Sebastian Pop <sebastian.pop@amd.com>
4215
4216 PR middle-end/39308
4217 * graphite.c (graphite_loop_normal_form): Do not call
4218 number_of_iterations_exit from a gcc_assert.
4219
e3cba5e5
AK
42202009-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4221
ba20e309 4222 * gcc/config/s390/s390.c (s390_swap_cmp): Look for conditional
e3cba5e5
AK
4223 jumps if COND is NULL.
4224 (find_cond_jump): New function.
4225 (s390_z10_optimize_cmp): Handling for reg-reg compares added.
4226 * gcc/config/s390/s390.md: Remove z10_cobra attribute value.
4227
9dadeeb8
UB
42282009-02-26 Uros Bizjak <ubizjak@gmail.com>
4229
4230 * config/alpha/alpha.h (alpha_expand_mov): Return false if
4231 force_const_mem returns NULL_RTX.
4232
625d3251
EB
42332009-02-26 Jan Hubicka <jh@suse.cz>
4234
4235 PR debug/39267
4236 * cgraph.h (varpool_output_debug_info): Remove.
4237 * cgraphunit.c (varpool_output_debug_info): Remove.
4238 * dwarf2out.c (deferred_locations_struct): New struct
4239 (deferred_locations): New type.
4240 (deferred_locations_list): New static var.
4241 (deffer_location): New function.
4242 (gen_variable_die): Use it.
4243 (decls_for_scope): Output info on local static vars.
4244 (dwarf2out_finish): Process deferred locations.
4245 * varpool.c (varpool_output_debug_info): Remove.
4246
38432148 42472009-02-25 H.J. Lu <hongjiu.lu@intel.com>
8592acaf
L
4248
4249 PR rtl-optimization/39241
4250 * jump.c (rtx_renumbered_equal_p): Remove 2 superfluous calls
4251 to subreg_offset_representable_p.
4252
62d049cf
PB
42532009-02-25 Paolo Bonzini <bonzini@gnu.org>
4254
4255 * regmove.c (regmove_optimize): Conform to struct rtl_opt_pass
4256 execute function prototype. Get f and nregs from max_reg_num
4257 and get_insns. Remove the first backward pass as it's dead,
4258 guard the forward pass by flag_expensive_optimizations.
4259 (rest_of_handle_regmove): Delete.
4260 (pass_regmove): Replace it with regmove_optimize.
4261
f618d33e
MJ
42622009-02-25 Martin Jambor <mjambor@suse.cz>
4263
4264 PR tree-optimization/39259
4265 * tree-inline.c (initialize_cfun): Remove asserts for calls_setjmp and
6c6094f1 4266 calls_alloca function flags.
f618d33e
MJ
4267 (copy_bb): Set calls_setjmp and alls_alloca function flags if such
4268 calls are detected.
4269
c8a05f7c
PB
42702009-02-25 Paolo Bonzini <bonzini@gnu.org>
4271
4272 * regmove.c (discover_flags_reg, flags_set_1, mark_flags_life_zones,
4273 flags_set_1_rtx, flags_set_1_set): Delete.
4274 (regmove_optimize): Do not call mark_flags_life_zones.
4275
6d2538f5
JB
42762009-02-24 Julian Brown <julian@codesourcery.com>
4277
4278 PR target/35965
4279 * config/arm/arm.c (require_pic_register): Only set
4280 cfun->machine->pic_reg once per function.
4281
a2fa6772
SL
42822009-02-24 Sandra Loosemore <sandra@codesourcery.com>
4283
4284 * doc/invoke.texi (Link Options): Document an easier way to pass
9dadeeb8 4285 options that take arguments to the GNU linker using -Xlinker and -Wl.
a2fa6772 4286
5472de36
SE
42872009-02-24 Steve Ellcey <sje@cup.hp.com>
4288
4289 PR target/33785
4290 * doc/tm.texi (TARGET_C99_FUNCTIONS): Fix description.
4291
844216f3
RG
42922009-02-24 Richard Guenther <rguenther@suse.de>
4293
4294 PR debug/39285
4295 * dwarf2out.c (gen_enumeration_type_die): Handle CONST_DECLs.
4296
71adbef3 42972009-02-24 Richard Guenther <rguenther@suse.de>
8592acaf 4298 Zdenek Dvorak <ook@ucw.cz>
71adbef3
RG
4299
4300 PR tree-optimization/39233
4301 * tree-ssa-loop-ivopts.c (add_candidate_1): Do not except pointers
4302 from converting them to a generic type.
4303
f1a558e0
SP
43042009-02-23 Sebastian Pop <sebastian.pop@amd.com>
4305
4306 PR tree-optimization/39260
4307 * graphite.c (harmful_stmt_in_bb): Stop a SCoP when the basic block
4308 contains a condition with a real type.
4309 (build_scop_conditions_1): Conditions are always last_stmt of a bb.
4310
d8028f2c
JM
43112009-02-23 Jason Merrill <jason@redhat.com>
4312
4313 PR c++/38880
4314 * varasm.c (initializer_constant_valid_p) [PLUS_EXPR]: Check
4315 narrowing_initializer_constant_valid_p.
4316 (narrowing_initializer_constant_valid_p): Don't return
4317 null_pointer_node for adding a pointer to itself.
4318
9283b513
JH
43192009-02-23 Jan Hubicka <jh@suse.cz>
4320
4321 PR c/12245
9dadeeb8
UB
4322 * ggc.h (htab_create_ggc): Use ggc_free to free hashtable when
4323 resizing.
9283b513 4324
61e04322
JH
43252009-02-23 Jan Hubicka <jh@suse.cz>
4326
9dadeeb8
UB
4327 PR tree-optimization/37709
4328 * tree.c (block_ultimate_origin): Move here from dwarf2out.
4329 * tree.h (block_ultimate_origin): Declare.
4330 * dwarf2out.c (block_ultimate_origin): Move to tree.c
61e04322
JH
4331 * tree-ssa-live.c (remove_unused_scope_block_p):
4332 Eliminate blocks containig no instructions nor live variables nor
4333 nested blocks.
4334 (dump_scope_block): New function.
4335 (remove_unused_locals): Enable removal of dead blocks by default;
9dadeeb8 4336 enable dumping at TDF_DETAILS.
61e04322 4337
38432148 43382009-02-21 H.J. Lu <hongjiu.lu@intel.com>
5339d3ea
L
4339
4340 * config/i386/i386.c (classify_argument): Don't allow COImode
4341 and OImode.
4342 (function_arg_advance_32): Don't allow OImode.
4343 (function_arg_32): Likewise.
4344 (function_value_32): Likewise.
4345 (return_in_memory_32): Likewise.
4346 (function_arg_64): Remove OImode comment.
4347
38432148 43482009-02-21 H.J. Lu <hongjiu.lu@intel.com>
f161e158
L
4349
4350 PR target/39261
4351 * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
4352 ix86_expand_vector_set for V4DImode in 64bit mode only.
4353 (ix86_expand_vector_init_one_var): Likewise.
4354
dcd739a6
SP
43552009-02-21 Sebastian Pop <sebastian.pop@amd.com>
4356
4357 * graphite.c (graphite_trans_loop_block): Adjust tile size to 51.
4358
6c3b938d
RS
43592009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
4360
8e361f23 4361 PR bootstrap/39257
6c3b938d
RS
4362 * loop-iv.c: Revert last change.
4363 * emit-rtl.c: Likewise.
4364
38432148 43652009-02-21 H.J. Lu <hongjiu.lu@intel.com>
4c64d3dd
L
4366
4367 PR target/39256
4368 * config/i386/i386.c (type_natural_mode): Remove an extra
4369 space in the warning message.
4370 (function_value_32): Handle 32-byte vector modes.
4371 (return_in_memory_32): Likewise.
4372
2ec62529
RS
43732009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
4374
4375 * loop-iv.c (truncate_value): New function.
4376 (iv_subreg, get_iv_value, iv_number_of_iterations): Use it instead
4377 of lowpart_subreg.
4378 (lowpart_subreg): Move to...
4379 * emit-rtl.c: ...here.
4380
ecb8c3cc 43812009-02-21 Danny Smith <dannysmith@users.sourceforge.net>
f814e489 4382
ecb8c3cc
DS
4383 * config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common): Revert
4384 accidental and undocumented change at revision 140860.
4385
ae46a823
JM
43862009-02-21 Joseph Myers <joseph@codesourcery.com>
4387
4388 * config/arm/arm.c (arm_gimplify_va_arg_expr): Update prototype to
4389 take gimple_seq * arguments.
4390 (arm_mangle_type): Use CONST_CAST_TREE on type argument passed to
4391 types_compatible_p langhook.
4392
07d8efe3 43932009-02-20 Mark Mitchell <mark@codesourcery.com>
f814e489 4394 Joseph Myers <joseph@codesourcery.com>
07d8efe3
MM
4395
4396 * config/arm/arm.c (arm_builtin_va_list): New function.
4397 (arm_expand_builtin_va_start): Likewise.
4398 (arm_gimplify_va_arg_expr): Likewise.
4399 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
4400 (TARGET_BUILD_BUILTIN_VA_START): Likewise.
4401 (TARGET_BUILD_BUILTIN_VA_ARG_EXPR): Likewise.
4402 (va_list_type): New variable.
4403 (arm_mangle_type): Mangle va_list_type appropriately.
4404
b1fb9f56
JJ
44052009-02-20 Jakub Jelinek <jakub@redhat.com>
4406
4407 PR middle-end/39157
4408 * Makefile.in (loop-invariant.o): Depend on $(PARAMS_H).
4409 * params.h (LOOP_INVARIANT_MAX_BBS_IN_LOOP): Define.
4410 * params.def (loop-invariant-max-bbs-in-loop): New parameter.
4411 * opts.c (decode_options): Set loop-invariant-max-bbs-in-loop
4412 parameter to 1000 for -O1 by default.
4413 * doc/invoke.texi (loop-invariant-max-bbs-in-loop): Document new
4414 parameter.
4415 * loop-invariant.c: Include params.h.
4416 (move_loop_invariants): Don't call move_single_loop_invariants on
4417 very large loops.
4418
5bc0807c
JM
44192009-02-20 Jaka Mocnik <jaka@xlab.si>
4420
4421 * calls.c (emit_library_call_value_1): Use slot_offset instead of
4422 offset when calculating bounds for indexing stack_usage_map. Fixes
4423 a buffer overflow with certain target setups.
4424
c69cd1f5
JJ
44252009-02-20 Jakub Jelinek <jakub@redhat.com>
4426
4427 PR target/39240
4428 * calls.c (expand_call): Clear try_tail_call if caller and callee
4429 disagree in promotion of function return value.
4430
09812622
JJ
44312009-02-19 Jakub Jelinek <jakub@redhat.com>
4432
4433 PR target/39175
4434 * c-common.c (c_determine_visibility): If visibility changed and
4435 DECL_RTL has been already set, call make_decl_rtl to update symbol
4436 flags.
4437
68017cb4
L
44382009-02-19 H.J. Lu <hongjiu.lu@intel.com>
4439
4440 PR c++/39188
4441 * varasm.c (assemble_variable): Don't check DECL_NAME when
4442 globalizing a variable.
4443
ab4194da
JM
44442009-02-19 Joseph Myers <joseph@codesourcery.com>
4445
4446 PR c/38483
4447 * builtins.c (gimplify_va_arg_expr): Evaluate the va_list
4448 expression before any __builtin_trap call.
4449 * c-typeck.c (build_function_call): Convert and check function
4450 arguments before generating a call to a trap. Evaluate the
4451 function arguments before the trap.
4452
6b67572e
UB
44532009-02-19 Uros Bizjak <ubizjak@gmail.com>
4454
4455 PR target/39228
4456 * config/i386/i386.md (isinfxf2): Split from isinf<mode>2.
4457 (UNSPEC_FXAM_MEM): New unspec.
4458 (fxam<mode>2_i387_with_temp): New insn and split pattern.
4459 (isinf<mode>2): Use MODEF mode iterator. Force operand[1] through
4460 memory using fxam<mode>2_i387_with_temp to remove excess precision.
4461
9e39dba6
RG
44622009-02-19 Richard Guenther <rguenther@suse.de>
4463
4464 PR tree-optimization/39207
4465 PR tree-optimization/39074
4466 * tree-ssa-structalias.c (storedanything_id, var_storedanything,
4467 storedanything_tree): New.
4468 (do_ds_constraint): Simplify ANYTHING shortcutting. Update
6b67572e 4469 the STOREDANYTHING solution if the lhs solution contains ANYTHING.
9e39dba6
RG
4470 (build_succ_graph): Add edges from STOREDANYTHING to all
4471 non-direct nodes.
4472 (init_base_vars): Initialize STOREDANYTHING.
4473 (compute_points_to_sets): Free substitution info after
4474 building the succ graph.
4475 (ipa_pta_execute): Likewise.
4476
4477 * tree-ssa-structalias.c (struct variable_info): Add may_have_pointers
4478 field.
4479 (do_ds_constraint): Do not add to special var or non-pointer
4480 field solutions.
4481 (type_could_have_pointers): Split out from ...
4482 (could_have_pointers): ... here. For arrays use the element type.
4483 (create_variable_info_for): Initialize may_have_pointers.
4484 (new_var_info): Likewise.
4485 (handle_lhs_call): Make the HEAP variable unknown-sized.
4486 (intra_create_variable_infos): Use a type with pointers for
4487 PARM_NOALIAS, make it unknown-sized.
4488
fd7b2603
L
44892009-02-18 H.J. Lu <hongjiu.lu@intel.com>
4490
4491 PR target/39224
6b67572e 4492 * config/i386/i386.c (ix86_return_in_memory): Properly check ABI.
fd7b2603 4493
98b80692
JM
44942009-02-18 Jason Merrill <jason@redhat.com>
4495
4496 PR target/39179
4497 * tree-ssa-ccp.c (get_symbol_constant_value): Don't assume zero
4498 value if DECL_EXTERNAL.
4499 * tree-sra.c (sra_walk_gimple_assign): Likewise.
4500 * target.h (gcc_target::binds_local_p): Clarify "module".
4501 * tree.h (TREE_PUBLIC): Clarify "module".
4502
0705d3f4
L
45032009-02-17 Xuepeng Guo <xuepeng.guo@intel.com>
4504
4505 PR target/38891
4506 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move the hunk of
4507 initialization for MS_ABI prior to the hunk of !TARGET_MMX.
4508
bce08d50
L
45092009-02-17 H.J. Lu <hongjiu.lu@intel.com>
4510
4511 PR target/39082
4512 * c.opt (Wabi): Support C and ObjC.
4513 (Wpsabi): New.
4514
4515 * c-opts.c (c_common_handle_option): Handle OPT_Wabi.
4516
4517 * config/i386/i386.c (classify_argument): Warn once about the ABI
4518 change when passing union with long double.
4519
4520 * doc/invoke.texi: Update -Wabi for warning psABI changes.
4521
5600f233
JM
45222009-02-18 Joseph Myers <joseph@codesourcery.com>
4523
4524 PR c/35447
4525 * c-parser.c (c_parser_compound_statement): Always enter and leave
4526 a scope.
4527
8cd01fe6
JDA
45282009-02-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4529
4530 PR target/34587
4531 * config/darwin.h (SUPPORTS_INIT_PRIORITY): Define.
4532
418df9d7
JJ
45332009-02-18 Jakub Jelinek <jakub@redhat.com>
4534
4535 PR tree-optimization/36922
4536 * tree-data-ref.c (initialize_matrix_A): Handle BIT_NOT_EXPR.
4537 * tree-scalar-evolution.c (interpret_rhs_expr, instantiate_scev_1):
4538 Likewise.
4539
082d2ebb
RS
45402009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
4541
4542 * config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm
4543 to 0 for EABI64.
4544
17de576c
RS
45452009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
4546
4547 * config/mips/mips.md (type): Reclassify lui_movf as "unknown".
4548
6d8d5435
RS
45492009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
4550
4551 * config/mips/mips.c (mips_gimplify_va_arg_expr): Fix invalid
4552 tree sharing.
4553
e69ff910
RB
45542009-02-17 Ruan Beihong <ruanbeihong@gmail.com>
4555 Richard Sandiford <rdsandiford@googlemail.com>
4556
4557 * config/mips/mips.c (CODE_FOR_loongson_biadd): Delete.
4558 * config/mips/loongson.md (reduc_uplus_<mode>): Rename to...
4559 (loongson_biadd): ...this.
4560
6b24ee26
RG
45612009-02-17 Richard Guenther <rguenther@suse.de>
4562
4563 PR tree-optimization/39202
4564 * tree-ssa-structalias.c (do_structure_copy): Before collapsing
4565 a var make sure to follow existing collapses.
4566
91ab2c86
RG
45672009-02-17 Richard Guenther <rguenther@suse.de>
4568
4569 PR middle-end/39214
4570 * langhooks.c (lhd_print_error_function): Check for NULL block.
4571
73a63870
RG
45722009-02-17 Richard Guenther <rguenther@suse.de>
4573
4574 PR tree-optimization/39204
4575 * tree-ssa-pre.c (phi_translate_1): Lookup the value-number
4576 of the PHI arg.
4577
0e08f686
UB
45782009-02-17 Uros Bizjak <ubizjak@gmail.com>
4579
4580 * config/soft-fp/double.h: Update from glibc CVS.
4581
a60b7ddb
RG
45822009-02-17 Richard Guenther <rguenther@suse.de>
4583
4584 PR tree-optimization/39207
4585 * tree-ssa-structalias.c (find_what_p_points_to): Do not emit
4586 strict-aliasing warnings for pointers pointing to NULL.
4587
a47e20fd
JM
45882009-02-16 Joseph Myers <joseph@codesourcery.com>
4589
4590 PR c/35446
4591 * c-parser.c (c_parser_braced_init): Call pop_init_level when
4592 skipping until next close brace.
4593
50aab7dc
L
45942009-02-16 H.J. Lu <hongjiu.lu@intel.com>
4595
4596 PR target/37049
4597 * config/i386/i386.c (ix86_expand_push): Set memory alignment
4598 to function argument boundary.
4599
68e53db0
HS
46002009-02-16 Hariharan Sandanagobalane <hariharan@picochip.com>
4601
4602 * config/picochip/picochip.md (lea_add): Allow any nonimmediate
4603 in the lea_add. Reload eventually constraints it properly.
4604 * config/picochip/constraints.md : Remove the target constraint
4605 "b", since it is not needed anymore.
4606
09e361bb
JJ
46072009-02-16 Jakub Jelinek <jakub@redhat.com>
4608
4609 * gthr-dce.h: Uglify function parameter and local variable names.
4610 * gthr-gnat.h: Likewise.
4611 * gthr-mipssde.h: Likewise.
4612 * gthr-nks.h: Likewise.
4613 * gthr-posix95.h: Likewise.
4614 * gthr-posix.h: Likewise.
4615 * gthr-rtems.h: Likewise.
4616 * gthr-single.h: Likewise.
4617 * gthr-solaris.h: Likewise.
4618 * gthr-tpf.h: Likewise.
4619 * gthr-vxworks.h: Likewise.
4620 * gthr-win32.h: Likewise.
4621
47f5a48f
L
46222009-02-15 H.J. Lu <hongjiu.lu@intel.com>
4623
4624 PR target/39196
4625 * config/i386/i386.md: Restrict the new peephole2 to move
4626 between MMX/SSE registers.
4627
68c9ab45
RG
46282009-02-15 Richard Guenther <rguenther@suse.de>
4629
4630 Revert
4631 2009-02-13 Richard Guenther <rguenther@suse.de>
4632
4633 * configure.ac: Enable LFS.
4634 * configure: Re-generate.
4635 * config.in: Likewise.
4636
d7815554
UW
46372009-02-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4638
4639 * config/spu/spu_internals.h (spu_sr, spu_sra, spu_srqw,
4640 spu_srqwbyte, spu_srqwbytebc): Define.
4641 * config/spu/spu-builtins.def (spu_sr, spu_sra, spu_srqw,
4642 spu_srqwbyte, spu_srqwbytebc): New overloaded builtins.
4643 * config/spu/spu.md ("shrqbybi_<mode>", "shrqbi_<mode>",
4644 "shrqby_<mode>"): New insn-and-split patterns.
4645 * config/spu/spu.c (expand_builtin_args): Determine and return
4646 number of operands using spu_builtin_description data.
4647 (spu_expand_builtin_1): Use it.
4648
c208436c
SE
46492009-02-13 Steve Ellcey <sje@cup.hp.com>
4650
4651 PR target/38056
4652 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Check
4653 TARGET_CONST_GP.
4654
c2e7ba7e
L
46552009-02-13 H.J. Lu <hongjiu.lu@intel.com>
4656
4657 PR target/39149
4658 * config/i386/i386.c (override_options): Correct warning
6c6094f1 4659 messages for -malign-loops, -malign-jumps and -malign-functions.
c2e7ba7e 4660
72f4e3a7
L
46612009-02-13 H.J. Lu <hongjiu.lu@intel.com>
4662
4663 PR target/39152
4664 * config/i386/i386.md: Restrict the new peephole2 to move
4665 between the general purpose registers.
4666
53f648e2
L
46672009-02-13 H.J. Lu <hongjiu.lu@intel.com>
4668
4669 PR target/39162
4670 * config/i386/i386.c (type_natural_mode): Add a new argument.
6b67572e 4671 Return the original mode and warn ABI change if vector size is 32byte.
53f648e2
L
4672 (function_arg_advance): Updated.
4673 (function_arg): Likewise.
4674 (ix86_function_value): Likewise.
4675 (ix86_return_in_memory): Likewise.
4676 (ix86_sol10_return_in_memory): Likewise.
4677 (ix86_gimplify_va_arg): Likewise.
4678 (function_arg_32): Don't warn ABX ABI change here.
4679 (function_arg_64): Likewise.
4680
38432148 46812009-02-13 Bernd Schmidt <bernd.schmidt@analog.com>
b1c92d54
BS
4682
4683 * loop-iv.c (implies_p): In the final case, test that operands 0
4684 of the two comparisons match.
4685
dd2139e7
BS
4686 * config/bfin/bfin.c (find_prev_insn_start): New function.
4687 (bfin_optimize_loop): Use it in some cases instead of PREV_INSN.
4688 (find_next_insn_start): Move.
4689
601b3e1a
RG
46902009-02-13 Richard Guenther <rguenther@suse.de>
4691
4692 * configure.ac: Enable LFS.
4693 * configure: Re-generate.
4694 * config.in: Likewise.
4695
f007042e
JM
46962009-02-13 Joseph Myers <joseph@codesourcery.com>
4697
4698 PR c/35444
4699 * c-parser.c (c_parser_parms_list_declarator): Discard pending
4700 sizes on syntax error after some arguments have been parsed.
4701
3f238e8b
JJ
47022009-02-12 Jakub Jelinek <jakub@redhat.com>
4703
4704 * doc/invoke.texi (-fira): Remove.
4705
328e13b7
L
47062009-02-12 H.J. Lu <hongjiu.lu@intel.com>
4707
4708 * caller-save.c: Replace regclass.c with reginfo.c in comments.
4709 * recog.c: Likewise.
4710 * rtl.h: Likewise.
4711
c252db20
L
47122009-02-12 Uros Bizjak <ubizjak@gmail.com>
4713
4714 * longlong.h (sub_ddmmss): New for ia64. Ported from GMP 4.2.
4715 (umul_ppmm): Likewise.
4716 (count_leading_zeros): Likewise.
4717 (count_trailing_zeros): Likewise.
4718 (UMUL_TIME): Likewise.
4719
47202009-02-12 H.J. Lu <hongjiu.lu@intel.com>
4721
ba181049
UB
4722 * config.gcc (ia64*-*-linux*): Add ia64/t-fprules-softfp and
4723 soft-fp/t-softfp to tmake_file.
c252db20
L
4724
4725 * config/ia64/ia64.c (ia64_soft_fp_init_libfuncs): New.
ba181049
UB
4726 (ia64_expand_compare): Use HPUX library for TFmode only for HPUX.
4727 (ia64_builtins) [IA64_BUILTIN_COPYSIGNQ, IA64_BUILTIN_FABSQ,
4728 IA64_BUILTIN_INFQ]: New.
c252db20
L
4729 (ia64_init_builtins): Initialize __builtin_infq,
4730 __builtin_fabsq and __builtin_copysignq if not HPUX.
4731 (ia64_expand_builtin): Handle IA64_BUILTIN_COPYSIGNQ,
4732 IA64_BUILTIN_FABSQ and IA64_BUILTIN_INFQ.
4733
4734 * config/ia64/lib1funcs.asm (__divtf3): Define only if
4735 SHARED is defined.
4736 (__fixtfti): Likewise.
4737 (__fixunstfti): Likewise.
4738 (__floattitf): Likewise.
4739
4740 * config/ia64/libgcc-glibc.ver: New.
4741 * config/ia64/t-fprules-softfp: Likewise.
4742 * config/ia64/sfp-machine.h: Likewise.
4743
4744 * config/ia64/linux.h (LIBGCC2_HAS_TF_MODE): New.
4745 (LIBGCC2_TF_CEXT): Likewise.
4746 (TF_SIZE): Likewise.
4747 (TARGET_INIT_LIBFUNCS): Likewise.
4748
ba181049 4749 * config/ia64/t-glibc (SHLINB_MAPFILES):
6b67572e 4750 Add $(srcdir)/config/ia64/libgcc-glibc.ver.
c252db20 4751
f13eae6a
L
47522009-02-12 H.J. Lu <hongjiu.lu@intel.com>
4753
4754 * config/i386/i386.c (construct_container): Rewrite processing
4755 BLKmode with X86_64_SSE_CLASS.
4756
12019aec
L
47572009-02-12 Paolo Bonzini <bonzini@gnu.org>
4758
4759 PR target/39152
4760 * config/i386/i386.md: Replace simplify_replace_rtx with
4761 replace_rtx in the new peephole2.
4762
28c11eb3
NS
47632009-02-12 Nathan Sidwell <nathan@codesourcery.com>
4764
4765 * doc/invoke.texi (Optimize Options): Stop claiming inlining and
4766 loop unrolling do not happen at -O2.
4767
c7b94907
MM
47682009-02-12 Michael Matz <matz@suse.de>
4769
4770 * gcc.c (ASM_DEBUG_SPEC): Check for -g0.
4771
61e98967
JJ
47722009-02-12 Jakub Jelinek <jakub@redhat.com>
4773
4774 * dwarf2out.c (dwarf2out_finish): Force output of comp_unit_die
4775 for -g3.
4776
a2a237b5
BE
47772009-02-12 Ben Elliston <bje@au.ibm.com>
4778
4779 * config/rs6000/rs6000.md (allocate_stack): Use _stack form of
4780 patterns when updating the back chain. Missed in the 2009-02-10
4781 change.
4782
853eda8d
JJ
47832009-02-11 Janis Johnson <janis187@us.ibm.com>
4784
4785 * doc/extend.texi (Decimal Floating Types): Update identifier of
4786 draft TR and list of missing support.
4787
3ad6b266
JJ
47882009-02-11 Jakub Jelinek <jakub@redhat.com>
4789
4790 PR middle-end/39154
4791 * gimplify.c (omp_notice_variable): If adding GOVD_SEEN
4792 bit to variable length decl's flags, add it also to its
4793 pointer replacement variable.
4794
b058b753
UB
47952009-02-11 Uros Bizjak <ubizjak@gmail.com>
4796 Jakub Jelinek <jakub@redhat.com>
4797
4798 PR target/39118
4799 * config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
4800 (memory_blockage): New expander.
4801 (*memory_blockage): New insn pattern.
4802 * config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
4803 instead of general blockage at the end of function prologue when
4804 frame pointer is used to access red zone area. Do not emit blockage
4805 when profiling, it is emitted in generic code.
4806 (ix86_expand_epilogue): Emit memory_blockage at the beginning of
4807 function epilogue when frame pointer is used to access red zone area.
4808
bab64f23
PB
48092009-02-11 Paolo Bonzini <bonzini@gnu.org>
4810
0ce6dcfa 4811 PR target/38824
bab64f23
PB
4812 * config/i386/i386.md: Add two new peephole2 to avoid mov followed
4813 by arithmetic with memory operands.
4814 * config/i386/predicates.md (commutative_operator): New.
4815
8fd94bda
JJ
48162009-02-10 Janis Johnson <janis187@us.ibm.com>
4817
4818 * doc/extend.texi (Fixed-Point Types): Break long paragraphs into
4819 bulleted lists.
4820
794511d2
EB
48212009-02-10 Eric Botcazou <ebotcazou@adacore.com>
4822
4823 * alias.h (record_alias_subset): Declare.
4824 * alias.c (record_alias_subset): Make global.
4825
6da7fc87
NC
48262009-02-10 Nick Clifton <nickc@redhat.com>
4827
4828 * tree-parloops.c: Change license to GPLv3.
4829 * ipa-struct-reorg.c: Change license to GPLv3.
4830 * ipa-struct-reorg.h: Change license to GPLv3.
4831
a03813c8
SE
48322009-02-10 Steve Ellcey <sje@cup.hp.com>
4833
4834 PR c/39084
4835 * c-decl.c (start_struct): Return NULL on error.
4836
fc3103e7
JJ
48372009-02-10 Jakub Jelinek <jakub@redhat.com>
4838
9b43d37b
JJ
4839 PR middle-end/39124
4840 * cfgloopmanip.c (remove_path): Call remove_bbs after
4841 cancel_loop_tree, not before it.
4842
fc3103e7 4843 PR target/39139
b058b753 4844 * function.h (struct function): Add has_local_explicit_reg_vars bit.
fc3103e7
JJ
4845 * gimplify.c (gimplify_bind_expr): Set it if local DECL_HARD_REGISTER
4846 VAR_DECLs were seen.
4847 * tree-ssa-live.c (remove_unused_locals): Recompute
4848 cfun->has_local_explicit_reg_vars.
4849 * tree-ssa-sink.c (statement_sink_location): Don't sink BLKmode
4850 copies or clearings if cfun->has_local_explicit_reg_vars.
4851
dbf9ee15
UB
48522009-02-10 Uros Bizjak <ubizjak@gmail.com>
4853
4854 PR target/39118
4855 * config/i386/i386.c (expand_prologue): Emit blockage at the end
4856 of function prologue when frame pointer is used to access
4857 red zone area.
4858
bdec4dc7
RG
48592009-02-10 Richard Guenther <rguenther@suse.de>
4860
4861 PR middle-end/39127
4862 * gimplify.c (gimple_regimplify_operands): Always look if
4863 we need to create a temporary.
4864
7cae94fc
RG
48652009-02-10 Richard Guenther <rguenther@suse.de>
4866
4867 PR tree-optimization/39132
4868 * tree-loop-distribution.c (todo): New global var.
4869 (generate_memset_zero): Trigger TODO_rebuild_alias.
4870 (tree_loop_distribution): Return todo.
4871
a8800687
L
48722009-02-10 H.J. Lu <hongjiu.lu@intel.com>
4873
4874 PR target/39119
4875 * config/i386/i386.c (x86_64_reg_class): Remove X86_64_AVX_CLASS.
4876 (x86_64_reg_class_name): Removed.
4877 (classify_argument): Return 0 if bytes > 32. Return 0 if the
4878 first one isn't X86_64_SSE_CLASS or any other ones aren't
4879 X86_64_SSEUP_CLASS when size > 16bytes. Don't turn
4880 X86_64_SSEUP_CLASS into X86_64_SSE_CLASS if the preceded one
4881 is X86_64_SSEUP_CLASS. Set AVX modes to 1 X86_64_SSE_CLASS
4882 and 3 X86_64_SSEUP_CLASS.
4883 (construct_container): Remove X86_64_AVX_CLASS. Handle 4
4884 registers with 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS.
4885
d4bacef0
BE
48862009-02-10 Ben Elliston <bje@au.ibm.com>
4887
4888 * config/rs6000/rs6000.md (allocate_stack): Always use an update
4889 form instruction to update the stack back chain word, even if the
4890 user has disabled the generation of update instructions.
4891 (movdi_<mode>_update_stack): New.
4892 (movsi_update_stack): Likewise.
4893 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Likewise,
4894 always use an update form instruction to update the stack back
4895 chain word.
4896
01d7d2f3
SP
48972009-02-09 Sebastian Pop <sebastian.pop@amd.com>
4898
4899 PR middle-end/38953
b058b753
UB
4900 * graphite.c (if_region_set_false_region): After moving a region in
4901 the false branch of a condition, remove the empty dummy basic block.
01d7d2f3
SP
4902 (gloog): Remove wrong fix for PR38953.
4903
e41e2ab4
UW
49042009-02-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4905
4906 * config/spu/spu.c (array_to_constant): Fix (latent) wrong-code
4907 generation due to implicit sign extension.
4908
4bb07c5d
EB
49092009-02-09 Eric Botcazou <ebotcazou@adacore.com>
4910
4911 PR middle-end/38981
4912 * tree-ssa-coalesce.c (add_coalesce): Cap the costs of coalesce pairs
4913 at MUST_COALESCE_COST-1 instead of MUST_COALESCE_COST.
4914
f060a261
RG
49152009-02-09 Richard Guenther <rguenther@suse.de>
4916
4917 PR middle-end/35202
4918 * convert.c (convert_to_real): Disable (float)fn((double)x)
4919 to fnf(x) conversion if errno differences may occur and
4920 -fmath-errno is set.
4921
5a7e237c
AS
49222009-02-07 Anatoly Sokolov <aesok@post.ru>
4923
4924 * config/avr/avr.c (avr_mcu_t): Add ata6289 device.
4925 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
4926 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
4927
feab5a67
JM
49282009-02-06 Joseph Myers <joseph@codesourcery.com>
4929
4930 PR c/35434
4931 * c-common.c (handle_alias_attribute): Disallow attribute for
4932 anything not a FUNCTION_DECL or VAR_DECL.
4933
90ef2296
JJ
49342009-02-06 Janis Johnson <janis187@us.ibm.com>
4935
4936 PR c/39035
4937 * real.c (do_compare): Special-case compare of zero against
4938 decimal float value.
4939
1de2c900
JM
49402009-02-06 Joseph Myers <joseph@codesourcery.com>
4941
4942 PR c/36432
4943 * c-decl.c (grokdeclarator): Don't treat [] declarators in fields
4944 as indicating flexible array members unless the field itself is
4945 being declarared as the incomplete array.
4946
e901811a
JH
49472009-02-06 Jan Hubicka <jh@suse.cz>
4948
4949 PR tree-optimization/38844
4950 * ipa-inline.c (try_inline): Stop inlining recursion when edge
4951 is already inlined.
4952
3cfa762b
RG
49532009-02-06 Richard Guenther <rguenther@suse.de>
4954
4955 PR middle-end/38977
4956 * tree-cfg.c (need_fake_edge_p): Force a fake edge for
4957 fork because we may expand it as __gcov_fork.
4958
8506528c
NC
49592009-02-06 Nick Clifton <nickc@redhat.com>
4960
dbf9ee15 4961 * config/m32c/m32c.h (PCC_BITFIELD_TYPE_MATTERS): Define to zero.
8506528c 4962
85169114
PB
49632009-02-06 Paolo Bonzini <bonzini@gnu.org>
4964
4965 PR tree-optimization/35659
4966 * tree-ssa-sccvn.c (vn_constant_eq, vn_reference_eq, vn_nary_op_eq
4967 vn_phi_eq): Shortcut if hashcode does not match.
4968 (vn_reference_op_compute_hash): Do not call iterative_hash_expr for
4969 NULL operands.
4970 * tree-ssa-pre.c (pre_expr_hash): Look at hashcode if available,
4971 and avoid iterative_hash_expr.
4972 (FOR_EACH_VALUE_ID_IN_SET): New.
4973 (value_id_compare): Remove.
4974 (sorted_array_from_bitmap_set): Use FOR_EACH_VALUE_ID_IN_SET to
4975 sort expressions by value id.
4976
6d39673d
KK
49772009-02-05 Kaz Kojima <kkojima@gcc.gnu.org>
4978
4979 PR target/38991
4980 * config/sh/predicates.md (general_movsrc_operand): Don't check
4981 the subreg of system registers here.
4982
e6e1c050
JJ
49832009-02-05 Jakub Jelinek <jakub@redhat.com>
4984
4985 PR c++/39106
4986 * cgraphunit.c (cgraph_function_versioning): Clear also DECL_VIRTUAL_P
4987 on the copied decl.
4988
65a74b5d
PB
49892009-02-05 Paolo Bonzini <bonzini@gnu.org>
4990
4991 PR rtl-optimization/39110
4992 * rtlanal.c (rtx_addr_can_trap_p_1): Shortcut unaligned
4993 addresses, not aligned ones.
4994
08e14b2a
DB
49952009-02-05 Daniel Berlin <dberlin@dberlin.org>
4996 Richard Guenther <rguenther@suse.de>
4997
4998 PR tree-optimization/39100
4999 * tree-ssa-structalias.c (do_ds_constraint): Actually do what the
5000 comment says and add edges.
5001
5006381c
JM
50022009-02-05 Joseph Myers <joseph@codesourcery.com>
5003
5004 PR c/35435
5005 * c-common.c (handle_tls_model_attribute): Ignore attribute for
5006 non-VAR_DECLs without checking DECL_THREAD_LOCAL_P.
5007
b0789219
TG
50082009-02-04 Tobias Grosser <grosser@fim.uni-passau.de>
5009
5010 * graphite.c (bb_in_sese_p, sese_build_livein_liveouts_use,
5011 sese_build_livein_liveouts_bb, sese_build_livein_liveouts,
5012 register_bb_in_sese, new_sese, free_sese): Moved.
5013 (dot_scop_1, build_scop_loop_nests, build_loop_iteration_domains,
5014 outermost_loop_in_scop, build_scop_iteration_domain,
5015 expand_scalar_variables_ssa_name, get_vdef_before_scop,
5016 limit_scops): Use bb_in_sese_p instead of bb_in_scop_p.
5017 Use loop_in_sese_p instead of loop_in_scop_p.
5018 (new_graphite_bb, gloog): Do not initialize SCOP_BBS_B.
5019 (new_scop, free_scop): Remove SCOP_LOOP2CLOOG_LOOP and SCOP_BBS_B.
5020 (scopdet_basic_block_info): Fix bug in scop detection.
5021 (new_loop_to_cloog_loop_str, hash_loop_to_cloog_loop,
5022 eq_loop_to_cloog_loop): Remove.
5023 (nb_loops_around_loop_in_scop, nb_loop
5024 ref_nb_loops): Moved here...
5025 * graphite.h (ref_nb_loops): ... from here.
5026 (struct scop): Remove bbs_b bitmap and loop2cloog_loop.
5027 (loop_domain_dim, loop_iteration_vector_dim): Remove.
5028 (SCOP_BBS_B, bb_in_scop_p, loop_in_scop_p): Removed.
5029 * testsuite/gcc.dg/graphite/scop-19.c: New
5030
48e8382e
PB
50312009-02-04 Paolo Bonzini <bonzini@gnu.org>
5032 Hans-Peter Nilsson <hp@axis.com>
5033
5034 PR rtl-optimization/37889
5035 * rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments.
5036 Move offset handling from PLUS to before the switch. Use new
5037 arguments when considering SYMBOL_REFs too.
5038 (rtx_addr_can_trap_p): Pass dummy offset and size.
5039 (enum may_trap_p_flags): Remove.
5040 (may_trap_p_1): Pass size from MEM_SIZE.
5041
5042 PR rtl-optimization/38921
5043 * loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p.
5044 * rtl.h (may_trap_after_code_motion_p): Delete prototype.
5045 * rtlanal.c (may_trap_after_code_motion_p): Delete.
5046 (may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags.
5047
69349ea5
L
50482009-02-04 H.J. Lu <hongjiu.lu@intel.com>
5049
5050 AVX Programming Reference (January, 2009)
5051 * config/i386/sse.md (*vpclmulqdq): New.
5052
b545e411
JJ
50532009-02-04 Jakub Jelinek <jakub@redhat.com>
5054
5055 PR tree-optimization/38977
5056 PR gcov-profile/38292
bf9b2cc9 5057 * calls.c (special_function_p): Disregard __builtin_ prefix.
b545e411 5058
5b43bf05
HS
50592009-02-04 Hariharan Sandanagobalane <hariharan@picochip.com>
5060
5061 * config/picochip/picochip.c (GO_IF_LEGITIMATE_ADDRESS): Disallow
5062 non-indexable addresses even before reload.
5063
062c4bb3
JM
50642009-02-03 Joseph Myers <joseph@codesourcery.com>
5065
5066 PR c/29129
5067 * c-decl.c (grokdeclarator): Mark [*] arrays in field declarators
5068 as having variable size. Do not give an error for unnamed
5069 parameters with [*] declarators. Give a warning for type names
5070 with [*] declarators and mark them as variable size.
5071 * c-parser.c (c_parser_sizeof_expression): Do not give an error
5072 for sizeof applied to [*] type names.
5073
6175f578
AP
50742009-02-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
5075
5076 PR C++/36607
5077 * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE.
5078
d4f4bc84
JJ
50792009-02-03 Jakub Jelinek <jakub@redhat.com>
5080
5081 * gcc.c (process_command): Update copyright notice dates.
5082 * gcov.c (print_version): Likewise.
5083 * gcov-dump.c (print_version): Likewise.
5084 * mips-tfile.c (main): Likewise.
5085 * mips-tdump.c (main): Likewise.
5086
f6294de7
JM
50872009-02-03 Joseph Myers <joseph@codesourcery.com>
5088
5089 PR c/35433
5090 * c-typeck.c (composite_type): Set TYPE_SIZE and TYPE_SIZE_UNIT
5091 for composite type involving a zero-length array type.
5092
754ccf7c
JJ
50932009-02-03 Jakub Jelinek <jakub@redhat.com>
5094
70f16287
JJ
5095 PR target/35318
5096 * function.c (match_asm_constraints_1): Skip over
5097 initial optional % in the constraint.
5098
754ccf7c
JJ
5099 PR inline-asm/39059
5100 * c-parser.c (c_parser_postfix_expression): If fixed point is not
5101 supported, don't accept FIXED_CSTs.
5102 * c-decl.c (finish_declspecs): Error if fixed point is not supported
5103 and _Sat is used without _Fract/_Accum. Set specs->type to
5104 integer_type_node for cts_fract/cts_accum if fixed point is not
5105 supported.
5106
965fdadf
CM
51072009-02-02 Catherine Moore <clm@codesourcery.com>
5108
dbf9ee15 5109 * sde.h (SUBTARGET_ARM_SPEC): Don't assemble -fpic code as -mabicalls.
965fdadf 5110
2e8a796f
RS
51112009-02-02 Richard Sandiford <rdsandiford@googlemail.com>
5112
5113 * config/mips/mips.h (FILE_HAS_64BIT_SYMBOLS): New macro.
5114 (ABI_HAS_64BIT_SYMBOLS): Use it.
5115 (DWARF2_ADDR_SIZE): Use it instead of ABI_HAS_64BIT_SYMBOLS.
5116
e0079468
PB
51172009-02-02 Paul Brook <paul@codesourcery.com>
5118
5119 * config/arm/arm.md (arm_addsi3): Add r/r/k alternative.
5120
eca72963
JJ
51212009-02-02 Jakub Jelinek <jakub@redhat.com>
5122
5123 PR inline-asm/39058
5124 * recog.h (asm_operand_ok): Add constraints argument.
5125 * recog.c (asm_operand_ok): Likewise. If it is set, for digits
5126 recurse on matching constraint.
5127 (check_asm_operands): Pass constraints as 3rd argument to
5128 asm_operand_ok. Don't look up matching constraint here.
5129 * stmt.c (expand_asm_operands): Pass NULL as 3rd argument
5130 to asm_operand_ok.
5131
b5bde9ff
BE
51322009-02-02 Ben Elliston <bje@au.ibm.com>
5133
5134 * doc/tm.texi (Storage Layout): Fix TARGET_ALIGN_ANON_BITFIELD and
5135 TARGET_NARROW_VOLATILE_BITFIELD macro names.
5136
30f3e427
JDA
51372009-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5138
be7659ba
JDA
5139 * doc/install.texi (hppa*-hp-hpux*): Update binutils and linker
5140 information. Remove some obsolete information. Reorganize.
5141
30f3e427
JDA
5142 * config/pa/fptr.c: Revert license to GPL 2.
5143 * config/pa/milli64.S: Likewise.
5144
3cbfaf98
DK
51452009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
5146
5147 PR target/38904
5148 * mkmap-flat.awk (END): Use pe_dll command-line arg to pass
5149 LIBRARY name in, instead of hard-coding it.
5150 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add an
5151 extra target make frag to tmake_files according to EH model.
5152 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
5153 * config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Add new target
5154 frags that define makefile variable EH_MODEL appropriately.
5155 * config/i386/cygming.h (DWARF2_UNWIND_INFO): Add comment.
5156 * config/i386/cygwin.h (LIBGCC_EH_EXTN): Define to nothing or
5157 to "-sjlj" according to type of EH configured.
5158 (LIBGCC_SONAME): Concatenate it to shared library base name.
5159 * config/i386/mingw32.h (LIBGCC_EH_EXTN): Define to "_dw2" or
5160 to "_sjlj" according to type of EH configured.
5161 (LIBGCC_SONAME): Concatenate it to shared library base name.
5162 * config/i386/t-cygming (SHLIB_SONAME): Use EH_MODEL.
5163 (SHLIB_LINK): Add missing semicolon to if-else construct.
5164 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
5165 string value of "pe_dll" command-line option.
5166 * config/i386/t-cygwin (SHLIB_EH_EXTENSION): New helper.
5167 (SHLIB_SONAME): Use it when overriding t-cygming default.
5168 (SHLIB_IMPLIB): Override t-cygming default.
5169 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
5170 string value of "pe_dll" command-line option.
5171
8d0b6068
DK
51722009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
5173
5174 PR target/38952
5175 * config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
bf9b2cc9 5176 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point at it.
8d0b6068 5177
14c28276
RG
51782009-01-31 Richard Guenther <rguenther@suse.de>
5179
5180 PR tree-optimization/38937
5181 * tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
5182 computing the transitive closure.
5183
5f4d82c2
RG
51842009-01-30 Richard Guenther <rguenther@suse.de>
5185
5186 PR tree-optimization/39041
5187 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
5188 Propagate variable indices only if the types match for this stmt.
5189
d0728ae0
JJ
51902009-01-30 Jakub Jelinek <jakub@redhat.com>
5191
5192 PR target/39013
5193 * c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
5194 inline but never defined.
5195
6b67572e 51962009-01-30 Wolfgang Gellerich <gellerich@de.ibm.com>
9fec758d
WG
5197
5198 * config/s390/s390.md (*insv<mode>_reg_extimm): Removed.
5199 (*insv_h_di_reg_extimm): New insn.
5200 (*insv_l<mode>_reg_extimm): New insn.
5201
52022009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
9e8be1e4
HS
5203
5204 * config/picochip/picochip.c (flag_conserve_stack): set
5205 PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under
5206 fconserve-stack. Reduce call-overhead used by inliner.
5207
9fec758d 52082009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
df9198ab
HS
5209
5210 PR/38157
5211 * common.opt (flag_conserve_stack): Initialised to zero.
5212
7f1c539c
KT
52132009-01-30 Kai Tietz <kai.tietz@onevision.com>
5214
5215 PR/39002
5216 * config/i386/i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
5217 (ix86_expand_epilogue): Take nsseregs in account to use proper restore
5218 method.
5219
3631be48
L
52202009-01-29 H.J. Lu <hongjiu.lu@intel.com>
5221
5222 * ira-color.c (allocno_reload_assign): Update comments.
5223 * regmove.c (regmove_optimize): Likewise.
5224
5225 * ra.h: Removed.
5226
416ac4d4
RM
52272009-01-29 Robert Millan <rmh@aybabtu.com>
5228
5229 * gcc/config.gcc: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
5230 * gcc/config/i386/kopensolaris-gnu.h: New file. Undefine
5231 `MD_UNWIND_SUPPORT'.
5232 * gcc/config/kopensolaris-gnu.h: New file (based on kfreebsd-gnu.h).
5233
d5e54bc1
KH
52342009-01-29 Kazu Hirata <kazu@codesourcery.com>
5235
5236 PR tree-optimization/39007
5237 * tree-loop-distribution.c (generate_builtin): Use
5238 recompute_dominator to compute the immediate dominator of the
5239 basic block just after the loop.
5240
38432148 52412009-01-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
e9e077fa
RO
5242
5243 * config/i386/sol2-10.h [!HAVE_AS_IX86_DIFF_SECT_DELTA]
5244 (ASM_OUTPUT_DWARF_PCREL): Define.
5245
38432148 52462009-01-29 Vladimir Makarov <vmakarov@redhat.com>
2af2dbdc
VM
5247
5248 * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
5249 * doc/passes.texi: Remove entries about regclass, local-alloc, and
5250 global. Modify entries about regmove and IRA.
5251
5252 * ra-conflict.c: Remove the file.
5253
5254 * reload.c (push_reload, find_dummy_reload): Remove flag_ira.
5255
5256 * tree-pass.h (pass_local_alloc, pass_global_alloc): Remove.
5257 (pass_regclass_init): Rename to pass_reginfo_init.
5258
5259 * cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira.
5260
5261 * toplev.h (flag_ira): Remove.
5262
5263 * caller-save.c (setup_save_areas): Remove flag_ira.
5264
bf9b2cc9 5265 * ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot): Ditto.
2af2dbdc
VM
5266
5267 * global.c: Remove the file.
5268
ba20e309 5269 * opts.c (decode_options): Remove flag_ira.
2af2dbdc
VM
5270
5271 * hard-reg-set.h (losing_caller_save_reg_set): Remove.
5272
5273 * regmove.c: Modify file description.
5274 (find_use_as_address, try_auto_increment): Define them only if
5275 AUTO_INC_DEC is defined.
5276 (replacement_quality, replace_in_call_usage, fixup_match_1,
5277 stable_and_no_regs_but_for_p): Remove.
5278 (reg_set_in_bb): Make it static.
5279 (regmove_optimize): Remove flag_ira and code which worked for
5280 !flag_ira.
5281
5282 * local-alloc.c: Remove the file.
5283
5284 * common.opt (fira): Remove.
5285
5286 * ira.c: Include except.h.
5287 (eliminable_regset): Move from global.c.
5288 (mark_elimination): Ditto. Remove flag_ira.
5289 (reg_renumber, struct equivalence, reg_equiv, equiv_mem,
5290 equiv_mem_modified, validate_equiv_mem_from_store,
5291 validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p,
5292 contains_replace_regs, memref_referenced_p, memref_used_between_p,
5293 no_equiv, recorded_label_ref): Move from local-alloc.c.
5294 (update_equiv_regs): Ditto. Make it static.
5295 (print_insn_chain, print_insn_chains): Move it from global.c.
bf9b2cc9 5296 (pseudo_for_reload_consideration_p): Ditto. Remove flag_ira.
2af2dbdc
VM
5297 (build_insn_chain): Ditto. Make it static.
5298 (ra_init_live_subregs): Move from ra-conflict.c. Make it static.
5299 Rename to init_live_subregs.
5300 (gate_ira): Remove flag_ira.
5301
5302 * regclass.c: Rename reginfo.c. Change file description.
5303 (FORBIDDEN_INC_DEC_CLASSES): Remove.
dbf9ee15 5304 (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec): Remove.
2af2dbdc
VM
5305 (init_reg_sets_1): Remove code for evaluation of
5306 reg_class_superclasses and losing_caller_save_reg_set.
5307 (init_regs): Remove init_reg_autoinc.
5308 (struct costs, costs, init_cost, ok_for_index_p_nonstrict,
5309 ok_for_base_p_nonstrict): Remove.
bf9b2cc9 5310 (regclass_init): Rename to reginfo_init. Don't initialize init_cost.
2af2dbdc
VM
5311 (pass_regclass_init): Rename to pass_reginfo_init. Modify
5312 corresponding entries.
5313 (dump_regclass, record_operand_costs, scan_one_insn,
5314 init_reg_autoinc, regclass, record_reg_classes, copy_cost,
5315 record_address_regs, auto_inc_dec_reg_p): Remove.
5316 (gt-regclass.h): Rename to gt-reginfo.h.
5317
5318 * rtl.h (dump_global_regs, retry_global_alloc,
bf9b2cc9 5319 build_insn_chain, dump_local_alloc, update_equiv_regs): Remove.
2af2dbdc
VM
5320
5321 * Makefile.in (RA_H): Remove.
5322 (OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o.
5323 Rename regclass.o to reginfo.o.
5324 (regclass.o): Rename to reginfo.o. Rename gt-regclass.h to
5325 gt-reginfo.h.
5326 (global.o, local-alloc.o, ra-conflict.o): Remove entries.
5327 (GTFILES): Rename regclass.c to reginfo.c.
5328
5329 * passes.c (init_optimization_passes): Remove pass_local_alloc and
bf9b2cc9 5330 pass_global_alloc. Rename pass_regclass_init to pass_reginfo_init.
2af2dbdc
VM
5331
5332 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
5333 count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
5334 Remove flag_ira.
6b67572e 5335 (finish_spills): Ditto. Remove code for !flag_ira.
2af2dbdc 5336
c95b2534 53372009-01-29 Kenneth Zadeck <zadeck@naturalbridge.com>
00b251a0
KZ
5338
5339 PR middle-end/35854
5340 * doc/invoke.texi (rtl debug options): Complete rewrite.
5341 * auto-inc-dec.c (pass_inc_dec): Rename pass from "auto-inc-dec"
5342 to auto_inc_dec".
5343 * mode-switching.c (pass_mode_switching): Rename pass from
5344 "mode-sw" to "mode_sw".
5345 * except.c (pass_convert_to_eh_ranges): Rename pass from
5346 "eh-ranges" to "eh_ranges".
5347 * lower-subreg.c (pass_lower_subreg): Renamed pass from "subreg"
5348 to "subreg1".
5349
5350
72a54528
AM
53512009-01-29 Andrey Belevantsev <abel@ispras.ru>
5352 Alexander Monakov <amonakov@ispras.ru>
5353
5354 PR middle-end/38857
5355 * sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
5356 register.
5357 (move_exprs_to_boundary): Change return type and pass through
5358 should_move from move_op. Relax assert. Update usage ...
5359 (schedule_expr_on_boundary): ... here. Use should_move instead of
5360 cant_move.
5361 (move_op_orig_expr_found): Indicate that insn was disconnected from
5362 stream.
5363 (code_motion_process_successors): Do not call after_merge_succs
5364 callback if original expression was not found when traversing any of
5365 the branches.
5366 (code_motion_path_driver): Change return type. Update prototype.
5367 (move_op): Update comment. Add a new parameter (should_move). Update
5368 prototype. Set *should_move based on indication provided by
5369 move_op_orig_expr_found.
5370
001b9eb6
PH
53712009-01-28 Pat Haugen <pthaugen@us.ibm.com>
5372
5373 * doc/invoke.texi (avoid-indexed-addresses): Document new option.
5374 * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
5375 * config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
5376 * config/rs6000/rs6000.c (rs6000_override_options): Default
5377 avoid-indexed-addresses on for Power6, off for everything else.
5378 (avoiding_indexed_address_p): New function.
5379 (rs6000_legitimize_address): Use it.
5380 (rs6000_legitimate_address): Likewise.
5381 * config/rs6000/rs6000.md (movXX_updateX): Likewise
5382
59dc4898
KH
53832009-01-28 Kazu Hirata <kazu@codesourcery.com>
5384
5385 PR tree-optimization/38997
5386 * tree-loop-distribution.c (generate_memset_zero): Use
5387 POINTER_PLUS_EXPR for a pointer addition.
5388
07da44ab
AK
53892009-01-28 Andreas Krebbel <krebbel1@de.ibm.com>
5390
5391 * config/s390/s390.md (bswap<mode>2): New pattern added.
5392
cdc15d23
WG
53932009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
5394
5395 * config/s390/s390.md (*tls_load_31): Added type attribute.
5396
d46f24b6
WG
53972009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
5398
5399 * config/s390/s390.md: Fix a few comments.
5400
729e750f
WG
54012009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
5402
5403 * config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
5404 (*tm<mode>_full): Fixed z10prop attribute.
5405 (*tst<mode>_extimm): Fixed z10prop attribute.
5406 (*tst<mode>_cconly_extimm): Fixed z10prop attribute.
5407 (*tstqiCCT_cconly): Fixed z10prop attribute.
5408 (*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
5409 (*movsi_larl): Fixed z10prop attribute.
5410 (*movsi_zarch): Fixed z10prop attribute.
5411 (*movsi_eas): Fixed z10prop attribute.
5412 (*movhi): Fixed z10prop attribute.
5413 (*movqi): Fixed z10prop attribute.
5414 (*movstrictqi): Fixed z10prop attribute.
5415 (*mov<mode>): Fixed z10prop attribute.
5416 (*movcc): Fixed z10prop attribute.
5417 (*sethighpartdi_64): Fixed z10prop attribute.
5418 (*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
5419 (*negdi2_sign_cc): Fixed z10prop attribute.
5420 (*negdi2_sign): Fixed z10prop attribute.
5421 (*absdi2_sign_cc): Fixed z10prop attribute.
5422 (*absdi2_sign): Fixed z10prop attribute.
5423 (*negabsdi2_sign_cc): Fixed z10prop attribute.
5424 (*negabsdi2_sign): Fixed z10prop attribute.
5425 (*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
5426 (*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
5427 (doloop_si64): Fixed z10prop attribute.
5428 (doloop_si31): Fixed z10prop attribute.
5429 (doloop_long): Fixed z10prop attribute.
5430 (indirect_jump): Fixed z10prop attribute.
5431 (nop): Fixed z10prop attribute.
5432 (main_base_64): Fixed z10prop attribute.
5433 (reload_base_64): Fixed z10prop attribute.
5434
c7789bfb
JJ
54352009-01-28 Jakub Jelinek <jakub@redhat.com>
5436
5437 PR rtl-optimization/38740
6b67572e
UB
5438 * reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
5439 if !optimize.
c7789bfb
JJ
5440 * config/mips/mips.c (mips_reorg): Likewise.
5441
de081cfd
RG
54422009-01-28 Richard Guenther <rguenther@suse.de>
5443
5444 PR tree-optimization/38926
5445 * tree-ssa-pre.c (add_to_value): Assert we add only expressions
5446 with the correct value id to a value.
5447 (do_regular_insertion): Use the value number of edoubleprime
5448 for the value number of the expr.
5449
5450 Revert
5451 2008-08-21 Richard Guenther <rguenther@suse.de>
bf9b2cc9 5452
d748c406
UB
5453 * tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
5454 a PHI ask VN if it is already available.
5455 * tree-ssa-sccvn.h (vn_phi_lookup): Declare.
5456 * tree-ssa-sccvn.c (vn_phi_lookup): Export.
de081cfd 5457
a9d386a1
JJ
54582009-01-28 Jakub Jelinek <jakub@redhat.com>
5459
5460 PR middle-end/38934
5461 * tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR
5462 set to varying whenever max has TREE_OVERFLOW set, similarly
5463 for GE_EXPR and GT_EXPR and TREE_OVERFLOW min.
5464
97a170cd
RG
54652009-01-28 Richard Guenther <rguenther@suse.de>
5466
5467 PR middle-end/38908
5468 * tree-ssa.c (warn_uninitialized_var): Do not warn for seemingly
5469 uninitialized aggregate uses in call arguments.
5470
89ebafc6
PB
54712009-01-28 Paolo Bonzini <bonzini@gnu.org>
5472
5473 PR tree-optimization/38984
5474 * tree-ssa-structalias.c (get_constraints_for_1): Do not use
5475 the nothing_id variable if -fno-delete-null-pointer-checks.
5476
bef3c57b
UB
54772009-01-28 Uros Bizjak <ubizjak@gmail.com>
5478
5479 PR target/38988
5480 * config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
5481 (set_got_offset_rex64): Ditto.
5482
0c6390fa
L
54832009-01-27 H.J. Lu <hongjiu.lu@intel.com>
5484
5485 PR target/38941
5486 * doc/extend.texi: Improve local variable with asm reg.
5487
bee6fa6d
AN
54882009-01-27 Adam Nemet <anemet@caviumnetworks.com>
5489
5490 * c.opt (Wpacked-bitfield-compat): Change init value to -1.
5491 * c-opts.c (c_common_post_options): If -W*packed-bitfield-compat
5492 was not supplied then set warn_packed_bitfield_compat to the
5493 default value of 1.
5494 * stor-layout.c (place_field): Check warn_packed_bitfield_compat
5495 against 1.
5496
b5c3dfbb
RG
54972009-01-27 Richard Guenther <rguenther@suse.de>
5498
5499 PR tree-optimization/38503
5500 * cfgexpand.c (expand_gimple_basic_block): Ignore
5501 GIMPLE_CHANGE_DYNAMIC_TYPE during expansion.
5502 * tree-ssa-structalias.c (set_uids_in_ptset): Do not prune
5503 variables that cannot have TBAA applied.
5504 (compute_points_to_sets): Do not remove GIMPLE_CHANGE_DYNAMIC_TYPE
5505 statements.
5506
d748c406 55072009-01-27 Uros Bizjak <ubizjak@gmail.com>
576de5cb
UB
5508
5509 PR middle-end/38969
5510 * calls.c (initialize_argument_information): Do not wrap complex
5511 arguments in SAVE_EXPR.
5512
9112bb38
AT
55132009-01-26 Andreas Tobler <a.tobler@schweiz.org>
5514
5515 * config/t-vxworks (LIBGCC2_INCLUDES): Fix typo.
5efb79fc 5516 (INSTALL_LIBGCC): Revert typo commit.
9112bb38 5517
4757704f
RG
55182009-01-26 Richard Guenther <rguenther@suse.de>
5519
5520 PR tree-optimization/38745
5521 * tree-ssa-alias.c (update_alias_info_1): Exclude RESULT_DECL
5522 from special handling.
5523
e3e6cff4
RG
55242009-01-26 Richard Guenther <rguenther@suse.de>
5525
5526 PR tree-optimization/38745
5527 * tree-ssa.c (execute_update_addresses_taken): Do not include
5528 variables that cannot possibly be a register in not_reg_needs.
5529 Do not clear TREE_ADDRESSABLE on vars that may not become
5530 registers.
5531 * tree-ssa.c (update_alias_info_1): Include those in the set
5532 of addressable vars.
5533
dc874b53
RG
55342009-01-26 Richard Guenther <rguenther@suse.de>
5535
5536 PR middle-end/38851
5537 * Makefile.in (tree-ssa-dse.o): Add langhooks.h.
5538 * tree-ssa-dse.c: Include langhooks.h
5539 (execute_simple_dse): Remove stores with zero size.
5540
849421a3
JJ
55412009-01-24 Jakub Jelinek <jakub@redhat.com>
5542
5543 PR c/38957
5544 * c-typeck.c (c_finish_return): Handle POINTER_PLUS_EXPR the same way
5545 as PLUS_EXPR.
5546
82f70421
JB
55472009-01-24 Julian Brown <julian@codesourcery.com>
5548
5549 * config/arm/t-linux-eabi (LIB2FUNCS_STATIC_EXTRA): Add
5550 config/arm/linux-atomic.c.
5551 * config/arm/linux-atomic.c: New.
5552
863412d6
EB
55532009-01-24 Eric Botcazou <ebotcazou@adacore.com>
5554
5555 * config/sparc/linux.h (DBX_REGISTER_NUMBER): Delete.
5556 * config/sparc/linux64.h (DBX_REGISTER_NUMBER): Likewise.
5557 * config/sparc/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
5558
8c684300
L
55592009-01-24 H.J. Lu <hongjiu.lu@intel.com>
5560
5561 PR c/38938
93f1527a 5562 * c-opts.c (c_common_handle_option): Update warn_pointer_sign
8c684300
L
5563 properly.
5564
b840fb02
SP
55652009-01-24 Sebastian Pop <sebastian.pop@amd.com>
5566
5567 PR tree-optimization/38953
5568 * graphite.c (graphite_verify): Add a call to verify_loop_closed_ssa.
5569 (scop_adjust_phis_for_liveouts): Initialize false_i to zero.
5570 (gloog): Split the exit of the scop when the scop exit is a loop exit.
5571 (graphite_transform_loops): Only call cleanup_tree_cfg if gloog
5572 changed the CFG.
5573
ecee559f
PB
55742009-01-24 Paul Brook <paul@codesourcery.com>
5575
5576 * config/arm/neon.md (neon_type): Move to arm.md.
5577 (neon_mov<VSTRUCT>): Add neon_type attribute.
5578 * config/arm/arm.md (neon_type): Move to here.
5579 (conds): Add "unconditioal" and use as default for NEON insns.
5580
61ad0914
BE
55812009-01-24 Ben Elliston <bje@au.ibm.com>
5582
5583 * bitmap.h (BITMAP_FREE): Eliminate `implicit conversion from
5584 void *' warning from -Wc++-compat.
5585 * Makefile.in (dominance.o-warn): Remove.
5586
38432148 55872009-01-23 Paolo Bonzini <bonzini@gnu.org>
9bacafeb
PB
5588
5589 PR tree-optimization/38932
5590 * fold-const.c (fold_unary_ignore_overflow): New.
5591 * tree.h (fold_unary_ignore_overflow): Declare.
5592 * tree-ssa-ccp.c (ccp_fold): Use fold_unary_ignore_overflow.
5593 * tree-ssa-sccvn.c (visit_reference_op_load,
5594 simplify_unary_expression): Likewise.
5595
2cd36c22
AN
55962009-01-22 Adam Nemet <anemet@caviumnetworks.com>
5597
5598 * c-decl.c (finish_struct): Move code to set DECL_PACKED after
5599 DECL_BIT_FIELD is alreay known. Also inherit packed for bitfields
5600 regardless of their type.
5601 * c-common.c (handle_packed_attribute): Don't ignore packed on
5602 bitfields.
5603 * c.opt (Wpacked-bitfield-compat): New warning option.
5604 * stor-layout.c (place_field): Warn if offset of a field changed.
5605 * doc/extend.texi (packed): Mention the ABI change.
5606 * doc/invoke.texi (-Wpacked-bitfield-compat): Document.
5607 (Warning Options): Add it to the list.
5608
e4e624ab
L
56092009-01-22 H.J. Lu <hongjiu.lu@intel.com>
5610
5611 * c-opts.c (c_common_post_options): Fix a typo in comments.
5612
d0ea0759
SE
56132009-01-22 Steve Ellcey <sje@cup.hp.com>
5614
5615 PR middle-end/38615
5616 * gimplify.c (gimplify_init_constructor): Fix promotion of const
5617 variables to static.
5618 * doc/invoke.texi (-fmerge-all-constants): Update description.
5619
87673f84
UB
56202009-01-22 Uros Bizjak <ubizjak@gmail.com>
5621
5622 PR target/38931
5623 * config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2.
5624 (*movdi_1_rex64): Use type "mmx" for alternative 5.
5625
96339268
RE
56262009-01-22 Richard Earnshaw <rearnsha@arm.com>
5627
5628 * arm.h (DATA_ALIGNMENT): Align structures, unions and arrays to
5629 a word boundary.
5630 (LOCAL_ALIGNMENT): Similarly.
5631
442dc742 56322009-01-22 Mark Shinwell <shinwell@codesourcery.com>
87673f84 5633 Joseph Myers <joseph@codesourcery.com>
442dc742
MS
5634
5635 * config/arm/arm.c (all_architectures): Add iWMMXt2 entry.
5636 * config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2.
5637 * config/arm/arm-tune.md: Regenerate.
5638 * doc/invoke.texi (ARM Options): Document -mcpu=iwmmxt2 and
5639 -march=iwmmxt2.
5640
9b34732e
MS
56412009-01-22 Mark Shinwell <shinwell@codesourcery.com>
5642
5643 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Bump EABI
5644 version number to five.
5645
03c2a308
DS
56462009-01-22 Dodji Seketeli <dodji@redhat.com>
5647
5648 PR c++/38930
ba20e309 5649 * c-decl.c (clone_underlying_type): Revert PR c++/26693 changes.
03c2a308
DS
5650 * c-common.c (set_underlying_type): Likewise.
5651 (is_typedef_decl ): Likewise
5652 * tree.h: Likewise
5653 (set_underlying_type): Likewise.
5654 (is_typedef_type): Likewise.
5655
1240d76e
VM
56562009-01-21 Vladimir Makarov <vmakarov@redhat.com>
5657
5658 PR middle-end/38587
5659 * ira-color.c (coalesce_spill_slots): Don't coalesce allocnos
5660 crossing setjmps.
5661
b8a1087d
DK
56622009-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
5663
5664 PR bootstrap/37660
5665 * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): New helper macro.
5666 (LIBGCC_SPEC): Don't define.
5667 (REAL_LIBGCC_SPEC): Define instead, using SHARED_LIBGCC_SPEC.
5668
435da628
UB
56692009-01-21 Uros Bizjak <ubizjak@gmail.com>
5670
5671 PR rtl-optimization/38879
5672 * alias.c (base_alias_check): Unaligned access via AND address can
5673 alias all surrounding object types except those with sizes equal
5674 or wider than the size of unaligned access.
5675
d597b3ce
DS
56762009-01-21 Dodji Seketeli <dodji@redhat.com>
5677
5678 PR c++/26693
ba20e309 5679 * c-decl.c (clone_underlying_type): Move this ...
d597b3ce 5680 * c-common.c (set_underlying_type): ... here.
435da628 5681 Also, make sure the function properly sets TYPE_STUB_DECL() on
d597b3ce
DS
5682 the newly created typedef variant type.
5683 (is_typedef_decl ): New entry point.
5684 * tree.h: Added a new member member_types_needing_access_check to
5685 struct tree_decl_non_common.
5686 (set_underlying_type): New entry point.
5687 (is_typedef_type): Likewise.
5688
71a6fe66
BM
56892009-01-21 Bingfeng Mei <bmei@broadcom.com>
5690
5691 * alias.c (walk_mems_1, walk_mems_2, insn_alias_sets_conflict_p):
5692 Check whether two instructions have memory references that
5693 belong to conflicting alias sets. walk_mems_1 and walk_mems_2
5694 are helper functions for traversing.
5695 * alias.h (insn_alias_sets_confilict_p): New prototypes.
5696 * ddg.c (add_inter_loop_mem_dep): Call insn_alias_sets_conflict_p
5697 not to draw dependency edge for instructions with non-conflicting
5698 alias sets.
5699
5a248274
JM
57002009-01-20 Joseph Myers <joseph@codesourcery.com>
5701
5702 PR other/38758
6b67572e
UB
5703 * longlong.h: Update copyright years. Use soft-fp license notice.
5704 Sync __clz_tab declaration with glibc.
5a248274 5705
4b84f3de
SE
57062009-01-20 Steve Ellcey <sje@cup.hp.com>
5707
5708 PR target/30687
5709 * doc/extend.texi (syscall_linkage): New.
5710 (version_id): Modify.
5711
37348bf1 57122009-01-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
435da628 5713 Richard Guenther <rguenther@suse.de>
37348bf1
AP
5714
5715 PR tree-optimization/38747
5716 PR tree-optimization/38748
5717 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Disable the VCE
5718 conversion if the base address is an indirect reference and the
5719 aliasing sets could cause issues.
5720
d0a58904
SP
57212009-01-20 Sebastian Pop <sebastian.pop@amd.com>
5722
5723 * common.opt (fgraphite, fgraphite-identity): Add comment for
5724 explaining why these options are not documented.
5725
71e7afb2
SP
57262009-01-20 Sebastian Pop <sebastian.pop@amd.com>
5727
5728 * graphite.c (stmt_simple_for_scop_p): Also handle cases when
5729 gimple_call_lhs is NULL.
5730
38432148 57312009-01-20 Paolo Bonzini <bonzini@gnu.org>
09efeca1
PB
5732
5733 PR target/38868
5734 * emit-rtl.c (adjust_address_1): Make sure memref is never
5735 overwritten.
5736
cbb8dee3
BE
57372009-01-20 Ben Elliston <bje@au.ibm.com>
5738
5739 * libgcov.c (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
435da628 5740 const qualifier from arg parameter. Remove unnecessary cast to char *.
cbb8dee3
BE
5741 * gcov-io.h (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
5742 const qualifier from arg 2.
5743
72c66596
IS
57442009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
5745
435da628 5746 * config/darwin.h: Add static-libgfortran to LINK_SPEC.
72c66596 5747
f68211cd
VM
57482009-01-19 Vladimir Makarov <vmakarov@redhat.com>
5749
5750 PR c/38869
5751 * rtl.h (reinit_regs): New prototype.
5752 * regclass.c: Include ira.h.
5753 (reinit_regs): New.
5754 * Makefile.in (regclass.o): Add ira.h.
5755 * config/i386/i386.c (ix86_maybe_switch_abi): Use reinit_regs.
5756
6e4f1168
L
57572009-01-18 H.J. Lu <hongjiu.lu@intel.com>
5758
5759 PR target/38736
5760 * c-common.c (handle_aligned_attribute): Use
5761 ATTRIBUTE_ALIGNED_VALUE instead of BIGGEST_ALIGNMENT for
5762 default alignment value.
5763
5764 * c-cppbuiltin.c (c_cpp_builtins): Define __BIGGEST_ALIGNMENT__.
5765
5766 * defaults.h (ATTRIBUTE_ALIGNED_VALUE): New.
5767 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Likewise.
5768
5769 * doc/extend.texi: Update __attribute__ ((aligned)). Document
5770 __BIGGEST_ALIGNMENT__.
5771
5772 * doc/tm.texi: Document ATTRIBUTE_ALIGNED_VALUE.
5773
890065bf
RG
57742009-01-18 Richard Guenther <rguenther@suse.de>
5775
5776 PR tree-optimization/38819
5777 * tree-flow.h (operation_could_trap_helper_p): Declare.
5778 * tree-eh.c (operation_could_trap_helper_p): Export.
5779 * tree-ssa-sccvn.h (vn_nary_may_trap): Declare.
5780 * tree-ssa-sccvn.c (vn_nary_may_trap): New function.
5781 * tree-ssa-pre.c (insert_into_preds_of_block): Check if we
5782 are about to insert a possibly trapping instruction and fail
5783 in this case.
5784
a729d731
AS
57852009-01-18 Andreas Schwab <schwab@suse.de>
5786
5787 * doc/install.texi (Configuration): Remove obsolete paragraph
5788 about use of --with-gnu-ld with --with-gnu-as.
5789
a640c13b
KH
57902009-01-18 Kazu Hirata <kazu@codesourcery.com>
5791
5792 * doc/extend.texi, doc/gimple.texi, doc/invoke.texi,
5793 doc/md.texi, doc/sourcebuild.texi, doc/tm.texi: Fix typos.
5794 Follow spelling conventions.
5795
dba2cc0c
BE
57962009-01-18 Ben Elliston <bje@au.ibm.com>
5797
5798 * bitmap.c (bitmap_obstack_alloc_stat): Adjust cast to eliminate
5799 C++ warning about implicit conversion from void * to struct
5800 bitmap_head_def *.
5801 (bitmap_obstack_free): Likewise for bitmap_element *.
bc127c63 5802 * Makefile.in (bitmap.o-warn): Remove.
dba2cc0c 5803
2207a498
DK
58042009-01-17 Dave Korn <dave.korn.cygwin@gmail.com>
5805
5806 * Makefile.in (BACKENDLIBS): Reorder to match dependencies.
5807
8137e465
SP
58082009-01-17 Sebastian Pop <sebastian.pop@amd.com>
5809 Tobias Grosser <tobi.grosser@amd.com>
5810
5811 * graphite.c (graphite_trans_scop_block): Do not block single
5812 nested loops.
5813
5be1c58c
AO
58142009-01-16 Alexandre Oliva <aoliva@redhat.com>
5815
5816 * ebitmap.h (ebitmap_iter_init): Initialize all fields.
5817 * ipa-struct-reorg.c (gen_struct_type): Replace known-true
5818 test with assertion.
5819
786ce82d
RG
58202009-01-16 Richard Guenther <rguenther@suse.de>
5821
5822 PR tree-optimization/38835
5823 PR middle-end/36227
5824 * fold-const.c (fold_binary): Remove PTR + INT -> (INT)(PTR p+ INT)
5825 and INT + PTR -> (INT)(PTR p+ INT) folding.
5826 * tree-ssa-address.c (create_mem_ref): Properly use POINTER_PLUS_EXPR.
5827
c1cb09ad
AN
58282009-01-16 Adam Nemet <anemet@caviumnetworks.com>
5829
5830 PR target/38554
5831 * expmed.c (expand_shift): With SHIFT_COUNT_TRUNCATED, don't lift
5832 the subreg from a lowpart subreg if it is also casting the value.
5833
bcab4e19
SP
58342009-01-16 Sebastian Pop <sebastian.pop@amd.com>
5835 Tobias Grosser <tobi.grosser@amd.com>
5836
5837 * graphite.c (compare_prefix_loops): New.
5838 (build_scop_canonical_schedules): Rewritten.
5839 (graphite_transform_loops): Move build_scop_canonical_schedules
5840 after build_scop_iteration_domain.
5841
0b040072
SP
58422009-01-16 Sebastian Pop <sebastian.pop@amd.com>
5843 Tobias Grosser <tobi.grosser@amd.com>
5844
5845 * graphite.c (add_conditions_to_domain): Add the loops to
5846 the dimension of the iteration domain. Do copy the domain
5847 only when it exists.
5848 (build_scop_conditions_1): Do not call add_conditions_to_domain.
5849 (add_conditions_to_constraints): New.
5850 (can_generate_code_stmt, can_generate_code): Removed.
5851 (gloog): Do not call can_generate_code.
5852 (graphite_transform_loops): Call add_conditions_to_constraints
5853 after building the iteration domain.
5854
56c6a499
JJ
58552009-01-16 Jakub Jelinek <jakub@redhat.com>
5856
5857 PR tree-optimization/38789
5858 * tree-ssa-threadedge.c
5859 (record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
5860 __builtin_constant_p.
5861
c95b2534 58622009-01-16 Kenneth Zadeck <zadeck@naturalbridge.com>
cd3f1729
KZ
5863
5864 * dce.c (delete_unmarked_insns): Reversed the order that insns are
5865 examined before deleting them.
5866
c433cb14
RE
58672009-01-16 Richard Earnshaw <rearnsha@arm.com>
5868
5869 * function.c (aggregate_value_p): Correctly extract the function
5870 type from CALL_EXPR_FN lookup.
5871
c95b2534 58722009-01-16 Hariharan Sandanagobalane <hariharan@picochip.com>
27d62fa4
HS
5873
5874 * config/picochip/picochip.c (picochip_override_options): Revert
5875 CFI asm flag disable commited previously.
5876
c77bb78f
SP
58772009-01-15 Sebastian Pop <sebastian.pop@amd.com>
5878 Tobias Grosser <tobi.grosser@amd.com>
5879 Jan Sjodin <jan.sjodin@amd.com>
5880
5881 * graphite.c (scan_tree_for_params): On substractions negate
5882 all the coefficients of the term.
5883 (clast_to_gcc_expression_red): New. Handle reduction expressions
5884 of more than two operands.
5885 (clast_to_gcc_expression): Call clast_to_gcc_expression_red.
5886 (get_vdef_before_scop): Handle also the case of default definitions.
5887
574af2d6
RS
58882009-01-15 Richard Sandiford <rdsandiford@googlemail.com>
5889
5890 * caller-save.c (add_used_regs_1, add_used_regs): New functions.
5891 (insert_one_insn): Use them instead of REG_DEAD and REG_INC notes.
5892 Also use them when walking CALL_INSN_FUNCTION_USAGE.
5893
e939805b
L
58942009-01-15 H.J. Lu <hongjiu.lu@intel.com>
5895 Joey Ye <joey.ye@intel.com>
5896
5897 PR middle-end/37843
5898 * cfgexpand.c (expand_stack_alignment): Don't update stack
5899 boundary nor check incoming stack boundary here.
5900 (gimple_expand_cfg): Update stack boundary and check incoming
5901 stack boundary here.
5902
c95b2534 59032009-01-15 Kenneth Zadeck <zadeck@naturalbridge.com>
750900db 5904
435da628 5905 * dce.c (find_call_stack_args, delete_unmarked_insns): Fixed comments.
750900db 5906
0196c95e
JJ
59072009-01-14 Jakub Jelinek <jakub@redhat.com>
5908
5909 PR rtl-optimization/38245
5910 * calls.c (expand_call): Add stack arguments to
5911 CALL_INSN_FUNCTION_USAGE even for pure calls (when
5912 ACCUMULATE_OUTGOING_ARGS) and even for args partially passed
5913 in regs and partially in memory or BLKmode arguments.
5914 (emit_library_call_value_1): Add stack arguments to
5915 CALL_INSN_FUNCTION_USAGE even for pure calls (when
5916 ACCUMULATE_OUTGOING_ARGS).
5917 * dce.c: Include tm_p.h.
5918 (find_call_stack_args): New function.
5919 (deletable_insn_p): Call it for CALL_P insns. Add ARG_STORES
5920 argument.
5921 (mark_insn): Call find_call_stack_args for CALL_Ps.
5922 (prescan_insns_for_dce): Walk insns backwards in bb rather than
5923 forwards. Allocate and free arg_stores bitmap if needed, pass it
5924 down to deletable_insn_p, don't mark stores set in arg_stores
5925 bitmap, clear the bitmap at the beginning of each bb.
5926 * Makefile.in (dce.o): Depend on $(TM_P_H).
5927
6df6bcfa
MM
59282009-01-14 Michael Meissner <gnu@the-meissners.org>
5929
5930 PR target/22599
435da628
UB
5931 * config/i386/i386.c (print_operand): Add tests for 'D', 'C', 'F', 'f'
5932 to make sure the insn is a conditional test (bug 22599). Reformat a
5933 few long lines.
6df6bcfa 5934
765ec70c
SP
59352009-01-14 Sebastian Pop <sebastian.pop@amd.com>
5936
5937 PR middle-end/38431
5938 * graphite.c (get_vdef_before_scop, scop_adjust_vphi): New.
5939 (scop_adjust_phis_for_liveouts): Call scop_adjust_vphi.
5940 (gloog): Do not call cleanup_tree_cfg.
5941 (graphite_transform_loops): Call cleanup_tree_cfg after all
5942 scops have been code generated.
5943
7de2b688
BS
59442009-01-14 Basile Starynkevitch <basile@starynkevitch.net>
5945 * doc/gty.texi (Invoking the garbage collector): Added new node
5946 and section documenting ggc_collect.
5947
10bd6c5c
RG
59482009-01-14 Richard Guenther <rguenther@suse.de>
5949
5950 PR tree-optimization/38826
5951 PR middle-end/38477
5952 * tree-ssa-structalias.c (emit_alias_warning): Emit the pointer
5953 initialization notes only if we actually emitted a warning.
5954 (intra_create_variable_infos): Add constraints for a result decl
5955 that is passed by hidden reference.
5956 (build_pred_graph): Mark all related variables non-direct on
5957 address-taking.
5958
9c7c70ee
NC
59592009-01-14 Nick Clifton <nickc@redhat.com>
5960
5961 * ira-conflicts.c: Include addresses.h for the definition of
5962 base_reg_class.
435da628
UB
5963 (ira_build_conflicts): Use base_reg_class instead of BASE_REG_CLASS.
5964 * Makefile.in: Add a dependency of ira-conflicts.o on addresses.h.
9c7c70ee 5965
cf0c2a60
VM
59662009-01-13 Vladimir Makarov <vmakarov@redhat.com>
5967
5968 PR target/38811
5969 * Makefile.in (ira-lives.o): Add except.h.
5970
5971 * ira-lives.c: Include except.h.
5972 (process_bb_node_lives): Process can_throw_internal.
5973
d3302fd3
JJ
59742009-01-13 Jakub Jelinek <jakub@redhat.com>
5975
5976 PR rtl-optimization/38774
5977 * combine.c (simplify_set): When undoing cc_use change, don't do
5978 PUT_CODE on the newly created comparison, but instead put back the
5979 old comparison.
5980
7ab23fd0
JM
59812009-01-13 Joseph Myers <joseph@codesourcery.com>
5982
5983 * doc/invoke.texi (ARM Options): Update lists of -mcpu and -march
5984 values. Remove duplicate arm8 entry.
5985
f9344488
SP
59862009-01-13 Sebastian Pop <sebastian.pop@amd.com>
5987
5988 PR tree-optimization/38786
5989 * graphite.c (expand_scalar_variables_ssa_name): New, outlined from
5990 the SSA_NAME case of expand_scalar_variables_expr.
5991 Set the type of an expression to the type of its assign statement.
5992 (expand_scalar_variables_expr): Also gather the scalar computation
5993 used to index the memory access. Do not pass loop_p.
5994 Fix comment. Stop recursion on tcc_constant or tcc_declaration.
5995 (expand_scalar_variables_stmt): Pass to expand_scalar_variables_expr
bef3c57b
UB
5996 the gimple_stmt_iterator where it inserts new code.
5997 Do not pass loop_p.
f9344488
SP
5998 (copy_bb_and_scalar_dependences): Do not pass loop_p.
5999 (translate_clast): Update call to copy_bb_and_scalar_dependences.
6000
2d8bb84d
SP
60012009-01-13 Sebastian Pop <sebastian.pop@amd.com>
6002
6003 * graphite.h (debug_value): Removed.
6004 * graphite.c (debug_value): Removed.
6005
ff128632
RE
60062009-01-13 Richard Earnshaw <rearnsha@arm.com>
6007
435da628
UB
6008 * config/arm/arm.c (output_move_double): Don't synthesize thumb-2
6009 ldrd/strd with two 32-bit instructions.
ff128632 6010
d5a0a47b
RE
60112009-01-13 Richard Earnshaw <rearnsha@arm.com>
6012
435da628
UB
6013 * config/arm/arm.c (struct processors): Pass for speed down into
6014 cost helper functions.
d5a0a47b
RE
6015 (const_ok_for_op): Handle COMPARE and inequality nodes.
6016 (arm_rtx_costs_1): Rewrite.
6017 (arm_size_rtx_costs): Update prototype.
6018 (arm_rtx_costs): Pass speed down to helper functions.
6019 (arm_slowmul_rtx_costs): Rework cost calculations.
6020 (arm_fastmul_rtx_costs, arm_xscale_rtx_costs): Likewise.
6021 (arm_9e_rtx_costs): Likewise.
6022
26d5bf5b
UB
60232009-01-13 Uros Bizjak <ubizjak@gmail.com>
6024
6025 * config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
435da628 6026 relocations of local symbols wider than UNITS_PER_WORD are not valid.
26d5bf5b
UB
6027 (alpha_legitimize_address): Do not split local symbols wider than
6028 UNITS_PER_WORD into HIGH/LO_SUM parts.
6029
5d14e3d5
DS
60302009-01-13 Danny Smith <dannysmith@users.sourceforge.net>
6031
6032 PR bootstrap/38580
6033 * gcc.c (process_command): Replace call to execvp with calls
6034 to pex_one and exit.
6035
33faafca
AS
60362009-01-03 Anatoly Sokolov <aesok@post.ru>
6037
6038 PR target/29141
6039 * config/avr/t-avr (LIB1ASMFUNCS): Add _tablejump_elpm.
6040 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Add
6041 variant for devices with 3-byte PC.
ba20e309 6042 (__tablejump_elpm__): New.
33faafca 6043
634b5df5
JJ
60442009-01-12 Jakub Jelinek <jakub@redhat.com>
6045
6046 PR c/32041
6047 * c-parser.c (c_parser_postfix_expression): Allow `->' in
6048 offsetof member-designator, handle it as `[0].'.
6049
2842bb86
JDA
60502009-01-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6051
6052 * pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
6053 function when not using named sections on targets with named sections
6054 if branch distance is less than 262132.
6055
76ee70f6
RE
60562009-01-12 Richard Earnshaw <rearnsha@arm.com>
6057
6058 * combine.c (combine_instructions): Recompute
6059 optimize_this_for_speed_p for each BB in the main combine loop.
6060
f56e675d
TB
60612009-01-12 Tomas Bily <tbily@suse.cz>
6062
6063 PR middlend/38385
26d5bf5b
UB
6064 * tree-loop-distribution.c (prop_phis): New function.
6065 (generate_builtin): Call prop_phis.
6066 * testsuite/gcc.dg/tree-ssa/pr38385.c: New file.
f56e675d 6067
c2152239
JJ
60682009-01-12 Jakub Jelinek <jakub@redhat.com>
6069
6070 PR tree-optimization/38807
6071 * tree-ssa-reassoc.c (remove_visited_stmt_chain): Don't look at
6072 gimple_visited_p unless stmt is GIMPLE_ASSIGN.
6073
0e510b3e
AN
60742009-01-11 Adam Nemet <anemet@caviumnetworks.com>
6075
6076 * expmed.c (store_bit_field_1): Properly truncate the paradoxical
6077 subreg of op0 to the original op0.
6078
c95b2534 60792009-01-11 Laurent GUERBY <laurent@guerby.net>
10270471
LG
6080
6081 * doc/sourcebuild.texi (Source Tree): Move up intl and fixinc.
6082
53a7ff9a
MS
60832009-01-11 Markus Schoepflin <markus.schoepflin@comsoft.de>
6084
6085 PR debug/7055
6086 * gcc/mips-tfile.c (parse_def): Fix parsing of def strings
6087 starting with digits.
6088
b3a796bc
JJ
60892009-01-10 Jakub Jelinek <jakub@redhat.com>
6090
6091 PR target/38695
6092 * config/arm/arm.c (arm_is_long_call_p): Don't call
6093 arm_function_in_section_p if decl isn't a FUNCTION_DECL.
6094
b21b850e
SB
60952009-01-09 Steven Bosscher <steven@gcc.gnu.org>
6096
6097 * regrename.c (regrename_optimize): Fix dumping.
6098 (find_oldest_value_reg): Preserve REG_POINTER.
6099 (copy_hardreg_forward_1): Likewise.
6100
e0e10d3a
DN
61012009-01-09 Diego Novillo <dnovillo@google.com>
6102
bf9b2cc9 6103 * gimple.h (struct gimple_statement_base) <uid>: Document
e0e10d3a
DN
6104 the restrictions on its use.
6105 (gimple_uid): Tidy.
6106 (gimple_set_uid): Tidy.
6107
c9da2ae8
JJ
61082009-01-09 Jakub Jelinek <jakub@redhat.com>
6109
6110 * config/i386/i386.c (ix86_expand_movmem, ix86_expand_setmem): Add
6111 zero guard even if align_bytes != 0 and count is smaller than
6112 size_needed.
6113
38432148 61142009-01-09 Vladimir Makarov <vmakarov@redhat.com>
a174c19c
VM
6115
6116 PR rtl-optimization/38495
26d5bf5b 6117 * ira-emit.c (print_move_list, ira_debug_move_list): New functions.
a174c19c
VM
6118 (add_range_and_copies_from_move_list): Print all added ranges.
6119 Add ranges to memory optimized destination.
6120
260fda3d
JJ
61212009-01-09 Jakub Jelinek <jakub@redhat.com>
6122
6f6278ad
JJ
6123 PR target/38686
6124 PR target/38708
6125 * config/i386/i386.c (override_options): Reject
6126 -mstringop-strategy=rep_8byte with -m32.
6127 (ix86_expand_movmem): For size_needed == 1 set epilogue_size_needed
6128 to 1. Do count comparison against epilogue_size_needed at compile
6129 time even when count_exp was constant forced into register. For
6130 size_needed don't jump to epilogue, instead just avoid aligning
6131 and invoke the body algorithm. If need_zero_guard, add zero guard
6132 even if count is non-zero, but smaller than size_needed + number of
6133 bytes that could be stored for alignment.
6134 (ix86_expand_setmem): For size_needed == 1 set epilogue_size_needed
6135 to 1. If need_zero_guard, add zero guard even if count is non-zero,
6136 but smaller than size_needed + number of bytes that could be stored
6137 for alignment. Compare size_needed with epilogue_size_needed instead
6138 of desired_align - align, don't adjust size_needed, pass
6139 epilogue_size_needed to the epilogue expanders.
6140
260fda3d 6141 PR c/35742
26d5bf5b 6142 * c-pretty-print.c (pp_c_expression): Handle GOTO_EXPR like BIND_EXPR.
260fda3d 6143
67b846fa
JDA
61442009-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6145
6146 * pa.c (last_address): Change to unsigned.
6147 (update_total_code_bytes): Change argument to unsigned. Don't
6148 check if insn addresses are set.
6149 (pa_output_function_epilogue): Set last_address to UINT_MAX if insn
6150 addresses are not set.
6151 (pa_asm_output_mi_thunk): Handle wrap when updating last_address.
6152
91c82473
NC
61532009-01-09 Nick Clifton <nickc@redhat.com>
6154
6155 * config/sh/symbian.c: Replace uses of DECL_INLINE with
6156 DECL_DECLARED_INLINE_P.
6157
4017e262
JJ
61582009-01-09 Jakub Jelinek <jakub@redhat.com>
6159
0a49e5c2
JJ
6160 PR middle-end/38347
6161 * dojump.c (do_jump_by_parts_zero_rtx): Use mode instead of
6162 GET_MODE (op0) in operand_subword_force calls.
6163
4017e262
JJ
6164 PR middle-end/38771
6165 * fold-const.c (fold_unary): For COMPOUND_EXPR and COND_EXPR,
6166 fold_convert arg0 operands to TREE_TYPE (op0) first.
6167
7cd06356
VM
61682009-01-08 Vladimir Makarov <vmakarov@redhat.com>
6169
6170 * params.def (ira-max-conflict-table-size): Decrease default value
6171 to 1000.
6172
96867bbd
JJ
61732009-01-08 Jakub Jelinek <jakub@redhat.com>
6174
6175 PR tree-optimization/37031
6176 * lambda-code.c (lambda_collect_parameters): Call pointer_set_destroy
6177 on parameter_set.
6178 (build_access_matrix): Reserve correct size for AM_MATRIX vector,
6179 allocate it using gc instead of heap, use VEC_quick_push instead of
6180 VEC_safe_push.
6181 * graphite.c (build_access_matrix): Allocate AM_MATRIX vector using gc
6182 instead of heap, use VEC_quick_push instead of VEC_safe_push.
6183 * tree-data-ref.h (struct access_matrix): Change matrix to gc
6184 allocated vector from heap allocated.
6185 * lambda.h: Add DEF_VEC_ALLOC_P for gc allocated lambda_vector.
6186 * tree-loop-linear.c (linear_transform_loops): Allocate nest
6187 vector only after perfect_loop_nest_depth call.
6188
68f61c3d
SP
61892009-01-08 Sebastian Pop <sebastian.pop@amd.com>
6190 Jan Sjodin <jan.sjodin@amd.com>
6191
6192 PR tree-optimization/38559
6193 * graphite.c (debug_value, copy_constraint,
6194 swap_constraint_variables, scale_constraint_variable, ): New.
6195 (get_lower_bound, get_upper_bound): Removed.
6196 (graphite_trans_bb_strip_mine): Clean up this code that works
6197 only for constant number of iterations. Fully copy upper and
6198 lower bound constraints, not only the constant part of them.
6199 * graphite.h (debug_value): Declared.
6200
82567e33
IR
62012009-01-08 Ira Rosen <irar@il.ibm.com>
6202
6203 PR tree-optimization/37194
6204 * tree-vect-transform.c (vect_estimate_min_profitable_iters):
6205 Don't add the cost of cost model guard in prologue to scalar
6206 outside cost in case of known number of iterations.
6207
7da13f1d
NF
62082009-01-07 Nathan Froyd <froydnj@codesourcery.com>
6209 Alan Modra <amodra@bigpond.net.au>
6210
6211 * config/rs6000/rs6000.c (rs6000_legitimize_address): Check for
6212 non-word-aligned REG+CONST addressing.
6213
c0f64575
UB
62142009-01-07 Uros Bizjak <ubizjak@gmail.com>
6215
6216 PR target/38706
6217 * config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
6218 free_after_compilation when outputting a thunk.
6219 (alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
6220 Do not call free_after_compilation here.
6221
301b6a4e
UB
62222009-01-07 Uros Bizjak <ubizjak@gmail.com>
6223
6224 * config/i386/i386.c (ix86_target_string): Use ARRAY_SIZE.
301b6a4e
UB
6225 (ix86_valid_target_attribute_inner_p): Ditto.
6226
6a114766
JS
62272009-01-07 Jan Sjodin <jan.sjodin@amd.com>
6228
6229 PR tree-optimization/38492
6230 PR tree-optimization/38498
6231 * tree-check.c (operator_is_linear, scev_is_linear_expression): New.
6232 * tree-chrec.h (scev_is_linear_expression): Declared.
6233 * graphite.c (graphite_cannot_represent_loop_niter): New.
6234 (scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
6235 (graphite_loop_normal_form): Use gcc_assert.
6236 (scan_tree_for_params): Use CASE_CONVERT.
6237 (phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
6238 (build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
6239 Use gcc_assert. Discard scops that contain unhandled cases.
6240 (build_scop_conditions): Return a boolean status for unhandled cases.
6241 (strip_mine_profitable_p): Print the loop number, not its depth.
6242 (is_interchange_valid): Pass the depth of the loop nest, don't
6243 recompute it wrongly.
6244 (graphite_trans_bb_block): Same.
6245 (graphite_trans_bb_block): Print tentative of loop blocking.
6246 (graphite_trans_scop_block): Do not print that the loop has been
6247 blocked.
6248 (graphite_transform_loops): Do not handle scops that contain condition
6249 scalar phi nodes.
6250
65b82caa
L
62512009-01-07 H.J. Lu <hongjiu.lu@intel.com>
6252
6253 AVX Programming Reference (December, 2008)
6254 * config/i386/avxintrin.h (_mm256_stream_si256): New.
6255 (_mm256_stream_pd): Likewise.
6256 (_mm256_stream_ps): Likewise.
6257
6258 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTDQ256,
6259 IX86_BUILTIN_MOVNTPD256 and IX86_BUILTIN_MOVNTPS256.
6260 (ix86_special_builtin_type): Add VOID_FTYPE_PV4DI_V4DI.
6261 (bdesc_special_args): Add __builtin_ia32_movntdq256,
6262 __builtin_ia32_movntpd256 and __builtin_ia32_movntps256.
6263 (ix86_init_mmx_sse_builtins): Handle VOID_FTYPE_PV4DI_V4DI.
6264 (ix86_expand_special_args_builtin): Likewise.
6265
6266 * config/i386/sse.md (AVXMODEDI): New.
6267 (avx_movnt<mode>): Likewise.
6268 (avx_movnt<mode>): Likewise.
6269 (<sse>_movnt<mode>): Remove AVX support.
6270 (sse2_movntv2di): Likewise.
6271
cef158f9
RG
62722009-01-07 Richard Guenther <rguenther@suse.de>
6273
6274 PR middle-end/38751
6275 * fold-const.c (extract_muldiv): Remove obsolete comment.
6276 (fold_plusminus_mult_expr): Undo MINUS_EXPR
6277 to PLUS_EXPR canonicalization for the canonicalization.
6278
246cb5be
GP
62792009-01-07 Gerald Pfeifer <gerald@pfeifer.com>
6280
6281 * doc/install.texi (alpha*-dec-osf*): Remove note on 32-bit
6282 hosted cross-compilers generating less efficient code.
6283
84b9b872
RS
62842009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
6285
6286 * function.h (rtl_data): Add a dbr_scheduled_p field.
6287 * reorg.c (dbr_schedule): Set it.
6288 (gate_handle_delay_slots): Check it.
6289 * config/mips/mips.c (mips_base_delayed_branch): Delete.
6290 (mips_reorg): Check flag_delayed_branch instead of
6291 mips_base_delayed_branch.
6292 (mips_override_options): Don't set mips_base_delayed_branch
6293 or flag_delayed_branch.
6294
ace984c8
RS
62952009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
6296
6297 PR rtl-optimization/38426.
6298 * ira.c (ira): Set current_function_is_leaf earlier.
6299
7ad7809b
JJ
63002009-01-06 Jakub Jelinek <jakub@redhat.com>
6301
6302 PR rtl-optimization/38722
6303 * combine.c (try_combine): Don't modify PATTERN (i3) and notes
6304 too early, only set a flag and modify after last possible
6305 undo_all point.
6306
c52ec948
JJ
63072009-01-06 Janis Johnson <janis187@us.ibm.com>
6308
6309 PR c/34252
6310 * ginclude/float.h: Rename DECnn_DEN to DECnn_SUBNORMAL_MIN.
6311 * real.c (decimal_single_format): Correct values of emin and emax.
6312 (decimal_double_format): Ditto.
6313 (decimal_quad_format): Ditto.
6314 * c-cppbuiltin.c (builtin_define_decimal_float_constants): Adjust
6315 computation of DECnn_MIN and DECnn_MAX for corrected values of
6316 emin and emax. Define __DECnn_SUBNORMAL_MIN__ instead of
6317 __DECnn_MIN__, and adjust its computation for the corrected value
6318 of emin.
6319
300240e1
JH
63202009-01-06 Jan Hubicka <jh@suse.cz>
6321
6322 PR target/38744
435da628 6323 * config/i386/i386.c (ix86_expand_call): Use ARRAY_SIZE.
300240e1 6324
271c069e
GP
63252009-01-06 Gerald Pfeifer <gerald@pfeifer.com>
6326
6327 * doc/contrib.texi (Contributors): Slightly adjust the end note.
6328 Add Robert Clark to the list of testers.
6329
64e4c301 63302009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 6331 Kai Tietz <kai.tietz@onevision.com>
64e4c301 6332
435da628
UB
6333 * config/i386/i386.md (*msabi_syvabi): Add SSE regs clobbers.
6334 * config/i386/i386.c (ix86_expand_call): Add clobbers.
64e4c301 6335
7650b83e 63362009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 6337 Kai Tietz <kai.tietz@onevision.com>
7650b83e 6338
435da628
UB
6339 * config/i386/i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used
6340 for w64 ABI.
6341 * config/i386/i386.c (struct ix86_frame): Add padding0 and nsseregs.
7650b83e
JH
6342 (ix86_nsaved_regs): Count only general purpose regs.
6343 (ix86_nsaved_sseregs): New.
6344 (ix86_compute_frame_layout): Update nsseregs; set preferred alignment
6345 to 16 for w64; compute padding and size of sse reg save area.
301b6a4e
UB
6346 (ix86_emit_save_regs, ix86_emit_save_regs_using_mov): Save only
6347 general purpose regs.
7650b83e
JH
6348 (ix86_emit_save_sse_regs_using_mov): New.
6349 (ix86_expand_prologue): Save SSE regs if needed.
6350 (ix86_emit_restore_regs_using_mov): Use only general purpose regs.
6351 (ix86_emit_restore_sse_regs_using_mov): New.
6352 (ix86_expand_epilogue): Save SSE regs if needed.
6353
9aa5c1b2 63542009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 6355 Kai Tietz <kai.tietz@onevision.com>
9aa5c1b2 6356
435da628
UB
6357 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Enable for MSABI
6358 * config/i386/i386.c (init_cumulative_args): Disallow calls of MSABI
6359 functions when accumulate outgoing args is off.
9aa5c1b2 6360
f7556aae
L
63612009-01-06 H.J. Lu <hongjiu.lu@intel.com>
6362
6363 PR bootstrap/38742
6364 * ira-color.c (ira_reuse_stack_slot): Check ENABLE_IRA_CHECKING
6365 before using pseudos_have_intersected_live_ranges_p.
6366
6367 * ira-int.h (ira_assert): Always define.
6368
e47b7d04
L
63692009-01-06 H.J. Lu <hongjiu.lu@intel.com>
6370
6371 AVX Programming Reference (December, 2008)
6372 * config/i386/avxintrin.h (_mm_permute2_pd): Removed.
6373 (_mm256_permute2_pd): Likewise.
6374 (_mm_permute2_ps): Likewise.
6375 (_mm256_permute2_ps): Likewise.
6376 * config/i386/i386.md (UNSPEC_VPERMIL2): Likewise.
6377 * config/i386/sse.md (avx_vpermil2<mode>3): Likewise.
6378
6379 * config/i386/i386.c (ix86_builtins): Remove
6380 IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS,
6381 IX86_BUILTIN_VPERMIL2PD256 and IX86_BUILTIN_VPERMIL2PS256.
6382 (ix86_builtin_type): Remove V8SF_FTYPE_V8SF_V8SF_V8SI_INT,
6383 V4DF_FTYPE_V4DF_V4DF_V4DI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT
6384 and V2DF_FTYPE_V2DF_V2DF_V2DI_INT.
6385 (bdesc_args): Remove __builtin_ia32_vpermil2pd,
6386 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256 and
6387 __builtin_ia32_vpermil2ps256.
6388 (ix86_init_mmx_sse_builtins): Updated.
6389 (ix86_expand_args_builtin): Likewise.
6390
44b86471
JDA
63912009-01-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6392
e47b7d04
L
6393 * pa.c (output_call): Relocate non-jump insns in the delay slot of
6394 long absolute calls when generating PA 2.0 code.
44b86471 6395
311aab06
VM
63962009-01-05 Vladimir Makarov <vmakarov@redhat.com>
6397
6398 PR rtl-optimization/38583
6399 * params.h (IRA_MAX_CONFLICT_TABLE_SIZE): New macro.
6400
6401 * params.def (ira-max-conflict-table-size): New.
6402
6403 * doc/invoke.texi (ira-max-conflict-table-size): Decribe.
6404
6405 * ira.h (ira_conflicts_p): New external definition.
6406
6407 * ira-conflicts.c (build_conflict_bit_table): Do not build too big
6408 table. Report this. Return result of building.
6409 (ira_build_conflicts): Use ira_conflicts_p. Check result of
6410 building conflict table.
6411
301b6a4e 6412 * ira-color.c (fast_allocation): Use num instead of ira_allocnos_num.
311aab06
VM
6413 (ira_color): Use ira_conflicts_p.
6414
6415 * global.c: Include ira.h.
6416 (pseudo_for_reload_consideration_p, build_insn_chain): Use
6417 ira_conflicts_p.
6418
6419 * Makefile.in (global.o): Add ira.h.
6420
6421 * ira-build.c (mark_all_loops_for_removal,
6422 propagate_some_info_from_allocno): New.
6423 (remove_unnecessary_allocnos): Call
6424 propagate_some_info_from_allocno.
6425 (remove_low_level_allocnos): New.
6426 (remove_unnecessary_regions): Add parameter. Call
6427 mark_all_loops_for_removal and remove_low_level_allocnos. Pass
6428 parameter to remove_unnecessary_regions.
6429 (ira_build): Remove all regions but root if the conflict table was
6430 not built. Update conflict hard regs for allocnos crossing calls.
6431
6432 * ira.c (ira_conflicts_p): New global.
6433 (ira): Define and use ira_conflicts_p.
6434
6435 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
6436 count_spilled_pseudo, find_reg, alter_reg, finish_spills,
301b6a4e 6437 emit_input_reload_insns, delete_output_reload): Use ira_conflicts_p.
311aab06 6438
5641785f
BE
64392009-01-06 Ben Elliston <bje@au.ibm.com>
6440
6441 * gengtype-lex.l (YY_NO_INPUT): Define.
6442
e4e5261f
AP
64432009-01-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
6444
6445 PR c/34911
5641785f
BE
6446 * c-common.c (handle_vector_size_attribute): Also reject
6447 BOOLEAN_TYPE types.
e4e5261f 6448
7b10257f
SP
64492009-01-05 Sebastian Pop <sebastian.pop@amd.com>
6450
6451 PR tree-optimization/38492
6452 * graphite.c (rename_map_elt, debug_rename_elt,
301b6a4e
UB
6453 debug_rename_map_1, debug_rename_map, new_rename_map_elt,
6454 rename_map_elt_info, eq_rename_map_elts,
6455 get_new_name_from_old_name, bb_in_sese_p): Moved around.
7b10257f
SP
6456 (sese_find_uses_to_rename_use): Renamed sese_build_livein_liveouts_use.
6457 (sese_find_uses_to_rename_bb): Renamed sese_build_livein_liveouts_bb.
6458 (sese_build_livein_liveouts): New.
6459 (new_sese, free_sese): New.
6460 (new_scop): Call new_sese.
6461 (free_scop): Call free_sese.
6462 (rename_variables_from_edge, rename_phis_end_scop): Removed.
6463 (register_old_new_names): Renamed register_old_and_new_names.
6464 (register_scop_liveout_renames, add_loop_exit_phis,
6465 insert_loop_close_phis, struct igp,
6466 default_liveout_before_guard, add_guard_exit_phis,
6467 insert_guard_phis, copy_renames): New.
6468 (translate_clast): Call insert_loop_close_phis and insert_guard_phis.
6469 (sese_add_exit_phis_edge): Renamed scop_add_exit_phis_edge.
6470 (rewrite_into_sese_closed_ssa): Renamed scop_insert_phis_for_liveouts.
6471 (scop_adjust_phis_for_liveouts): New.
6472 (gloog): Call scop_adjust_phis_for_liveouts.
6473
6474 * graphite.h (struct sese): Documented. Added fields liveout,
301b6a4e 6475 num_ver and livein.
7b10257f
SP
6476 (SESE_LIVEOUT, SESE_LIVEIN, SESE_LIVEIN_VER, SESE_NUM_VER): New.
6477 (new_sese, free_sese, sese_build_livein_liveouts): Declared.
6478 (struct scop): Added field liveout_renames.
6479 (SCOP_LIVEOUT_RENAMES): New.
6480
9761fcc7
HJ
64812009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
6482
6483 PR tree-optimization/38510
6484 * graphite.c (recompute_all_dominators): Call mark_irreducible_loops.
6485 (translate_clast): Call recompute_all_dominators before
6486 graphite_verify.
6487 (gloog): Call recompute_all_dominators before graphite_verify.
6488
64892009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
c95b2534 6490 Jan Sjodin <jan.sjodin@amd.com>
9761fcc7
HJ
6491
6492 PR tree-optimization/38500
6493 * graphite.c (create_sese_edges): Call fix_loop_structure after
6494 splitting blocks.
6495
c95b2534 64962009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
48a01864
JS
6497
6498 * config.gcc: Add m32r*-*-rtems*.
6499 * config/m32r/rtems.h: New file.
6500
fc0cd180
BE
65012009-01-05 Ben Elliston <bje@au.ibm.com>
6502
6503 * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
6504 (.po.pox): Likewise.
6505 (po/gcc.pot): Likewise.
6506
3106d8e5
DM
65072009-01-04 David S. Miller <davem@davemloft.net>
6508
6509 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
6510 (STARTING_FRAME_OFFSET): Always set to zero.
6511
0009b473
RS
65122009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
6513
6514 * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Add commentary.
6515 * tree-cfg.c (verify_gimple_assign_binary): Allow shifts of
6516 fixed-point types, and vectors of the same.
6517
4f24c6d6
RS
65182009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
6519
6520 * config/mips/sync.md (*mb_barrier): Rename to...
6521 (*memory_barrier): ...this.
6522
1df48f5c
JW
65232009-01-04 Jonathan Wakely <jwakely.gcc@gmail.com>
6524
6525 * doc/extend.texi (Function Attributes): Move @cindex after @item
eefe5da0 6526 for 'artificial' and 'flatten'. Fix grammar for 'externally_visible'
1df48f5c
JW
6527 and put in alphabetical order. Fix 'target' name and put in order.
6528 * doc/invoke.texi (-Wstrict-null-sentinel, -fipa-matrix-reorg): Fix
6529 typos.
6530
1a8c13b3
UB
65312009-01-04 Uros Bizjak <ubizjak@gmail.com>
6532
6533 * config/s390/s390.md (UNSPEC_MB): Rename from UNSPECV_MB.
6534 (memory_barrier): Expand as unspec instead of unspec_volatile.
6535 Remove mem:BLK from insn operands. Use Pmode scratch register.
6536 (*memory_barrier): Define as unspec instead of unspec_volatile.
6537 Use (match_dup 0) as input operand.
6538
6539 * config/sparc/sparc.md (UNSPEC_MEMBAR): Rename from UNSPECV_MEMBAR.
6540 * config/sparc/sync.md (memory_barrier): Expand as unspec instead of
6541 unspec_volatile. Remove mem:BLK from insn operands. Use Pmode
6542 scratch register. Remove operand 1.
6543 (*stbar): Define as unspec instead of unspec_volatile.
6544 Use (match_dup 0) as input operand, remove (const_int 8).
6545 (*membar): Define as unspec instead of unspec_volatile.
6546 Use (match_dup 0) as input operand, remove input operand 2.
6547
6548 * config/xtensa/xtensa.md (UNSPEC_MEMW): Rename from UNSPECV_MEMW.
6549 (memory_barrier): Expand as unspec instead of unspec_volatile.
6550 Remove mem:BLK from insn operands. Use Pmode scratch register.
6551 (*memory_barrier): Define as unspec instead of unspec_volatile.
6552 Use (match_dup 0) as input operand.
6553
6554 * config/ia64/sync.md (memory_barrier): Redefine as expander pattern.
6555 Remove mem:BLK from insn operands. Use Pmode scratch register.
6556 Set volatile flag on operand 0.
6557 (*memory_barrier): New insn pattern.
6558
6559 * config/rs6000/sync.md (memory_barrier): Remove mem:BLK from
6560 insn operands.
6561 (*memory_barrier): Use (match_dup 0) as input operand.
6562
6563 * config/mips/sync.md (memory_barrier): Redefine as expander pattern.
6564 Remove mem:BLK from insn operands. Use Pmode scratch register.
6565 Set volatile flag on operand 0.
301b6a4e 6566 (*mb_internal): New insn pattern.
1a8c13b3
UB
6567
6568 * config/alpha/sync.md (*memory_barrier): Rename from *mb_internal.
6569
fb0703f7
SB
65702009-01-04 Steven Bosscher <steven@gcc.gnu.org>
6571
6572 PR middle-end/38586
6573 * function.c (struct temp_slot): Move to the section of the file
6574 that deals with temp slots. Remove field 'address'.
6575 (temp_slot_address_table): New hash table of address -> temp slot.
6576 (struct temp_slot_address_entry): New struct, items for the table.
6577 (temp_slot_address_compute_hash, temp_slot_address_hash,
6578 temp_slot_address_eq, insert_temp_slot_address): Support functions
6579 for the new table.
6580 (find_temp_slot_from_address): Rewrite to use the new hash table.
6581 (remove_unused_temp_slot_addresses): Remove addresses of temp
6582 slots that have been made available.
6583 (remove_unused_temp_slot_addresses_1): Call-back for htab_traverse,
6584 worker function for remove_unused_temp_slot_addresses.
6585 (assign_stack_temp_for_type): Don't clear the temp slot address list.
6586 Add the temp slot address to the address -> temp slot map.
6587 (update_temp_slot_address): Update via insert_temp_slot_address.
6588 (free_temp_slots): Call remove_unused_temp_slot_addresses.
6589 (pop_temp_slots): Likewise.
6590 (init_temp_slots): Allocate the address -> temp slot map, or empty
6591 the map if it is already allocated.
6592 (prepare_function_start): Initialize temp slot processing.
6593
b5a430f3
SB
65942009-01-04 Steven Bosscher <steven@gcc.gnu.org>
6595
6596 PR middle-end/38584
6597 * cfgexpand.c (estimate_stack_frame_size): Simplify the estimate:
6598 Calculate the size of all stack vars assuming no packing of stack
6599 vars will happen, replacing a quadratic algorithm with a linear one.
6600
5d560619
JJ
66012009-01-03 Jakub Jelinek <jakub@redhat.com>
6602
6603 PR target/38707
6604 * expmed.c (store_bit_field_1): Don't modify op0 if movstrict insn
6605 can't be used.
6606
953a7caa
DN
66072009-01-03 Diego Novillo <dnovillo@google.com>
6608
6609 * doc/contrib.texi: Update contributions.
6610
5f26a230
JJ
66112009-01-03 Jakub Jelinek <jakub@redhat.com>
6612
493aa551
JJ
6613 PR c++/38705
6614 * builtins.c (fold_builtin_memory_op): Give up if either operand
6615 is volatile. Set srctype or desttype to non-qualified version
6616 of the other type.
6617
5f26a230
JJ
6618 PR c/38700
6619 * builtins.c (fold_builtin_expect): Only check DECL_WEAK for VAR_DECLs
6620 and FUNCTION_DECLs.
6621
c95b2534 66222009-01-02 Kenneth Zadeck <zadeck@naturalbridge.com>
fafe34f9
KZ
6623
6624 PR rtl-optimization/35805
6625 * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
6626 problem if fast dce is able to remove any instructions.
6627 * dce.c (dce_process_block): Fix dump message.
6628
0b355794
MM
66292009-01-02 Mark Mitchell <mark@codesourcery.com>
6630
6631 PR 33649
6632 * tree-ssa-pre.c (compute_antic): Correct loop bounds.
6633
0cf0d02b
JJ
66342009-01-02 Jakub Jelinek <jakub@redhat.com>
6635
6636 PR middle-end/38690
6637 * tree-flow.h (op_code_prio, op_prio): New prototypes.
6638 * tree-pretty-print.c (op_code_prio): New function.
6639 (op_prio): No longer static. Use op_code_prio.
6640 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs):
6641 Use op_prio and op_code_prio to determine if () should be
6642 printed around operand(s) or not.
6643
6644 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
6645 dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
6646 dump_gimple_label, dump_gimple_try, dump_symbols, dump_gimple_phi,
6647 dump_gimple_mem_ops, dump_bb_header, dump_bb_end, pp_cfg_jump): Use
6648 pp_character instead of pp_string for single letter printing.
6649
e3606f3b
RS
66502009-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6651
6652 * doc/extend.texi: Fix '#pragma GCC option' typo.
6653
c95b2534 66542009-01-02 Richard Guenther <rguenther@suse.de>
00f39bd5 6655
a5f061dc
RG
6656 * doc/install.texi (--enable-checking): Mention different
6657 default for stage1.
6658 (--enable-stage1-checking): Document.
00f39bd5 6659
26de0bcb
AP
66602009-01-01 Andrew Pinski <pinskia@gmail.com>
6661
6662 PR middle-end/30142
6663 * tree-cfg.c (verify_expr): Add INDIRECT_REF case. Change MODIFY_EXPR
6664 case to be an error.
6665
7a7d8fab
BE
66662009-01-02 Ben Elliston <bje@au.ibm.com>
6667
6668 * config/fp-bit.h (pack_d): Constify argument.
6669 * config/fp-bit.c (makenan): Constify return type. Remove casts.
6670 (isnan): Constify argument.
6671 (isinf): Likewise.
6672 (iszero): Likewise.
6673 (pack_d): Likewise.
6674 (_fpadd_parts): Constify return type.
6675 (_fpmul_parts): Likewise.
6676 (_fpdiv_parts): Likewise.
6677
b295aee2
JJ
66782009-01-01 Jakub Jelinek <jakub@redhat.com>
6679
6680 PR c/36489
6681 * c-typeck.c (add_pending_init): Add IMPLICIT argument. Only
6682 warn about overwriting initializer with side-effects or
6683 -Woverride-init if !IMPLICIT.
6684 (output_init_element): Likewise. Pass IMPLICIT down to
6685 add_pending_init.
6686 (process_init_element): Add IMPLICIT argument. Pass it down
6687 to output_init_element.
6688 (push_init_element, pop_init_level, set_designator): Adjust
6689 process_init_element callers.
6690 (set_nonincremental_init, set_nonincremental_init_from_string):
6691 Adjust add_pending_init callers.
6692 (output_pending_init_elements): Adjust output_init_element callers.
6693 * c-tree.h (process_init_element): Adjust prototype.
6694 * c-parser.c (c_parser_initelt, c_parser_initval): Adjust
6695 process_init_element callers.