- 19 May, 2010 14 commits
-
-
* hooks.h (hook_tree_tree_tree_bool_null): Rename to... (hook_tree_tree_int_treep_bool_null): ...this. Update signature. * hooks.c: Likewise. * target-def.h (TARGET_FOLD_BUILTIN): Define to hook_tree_tree_int_treep_bool_null. * target.h: (struct gcc_target): Update signature of fold_builtin field. * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature. * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP instead of the call expression. (fold_builtin_call_array): Pass n and argarray directly. (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of consing a list. * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift MAX_ARGS check out of the loop. Delete declaration of `arity', declare `i' and use it in place of `arity'. * config/sparc/sparc.c (sparc_fold_builtin): Update signature. Dereference `args' directly. * config/xtensa/xtensa (xtensa_fold_builtin): Likewise. From-SVN: r159585
Nathan Froyd committed -
gcc: * doc/sourcebuild.texi (Effective-Target Keywords): Document 3dnow, sse3, sse2. (Directives): Document optional dg-require-effective-target selector. gcc/testsuite: * lib/target-supports.exp (check_effective_target_sse2): New proc. * lib/target-supports-dg.exp (dg-require-effective-target): Allow for optional selector. * gcc.target/i386/i386.exp (check_effective_target_3dnow): New proc. (check_effective_target_sse3): New proc. * gcc.target/i386/math-torture/math-torture.exp: Load target-supports.exp. Only add options with -msse2 to MATH_TORTURE_OPTIONS if check_effective_target_sse2. * gcc.dg/vect/vect.exp: Return unless check_effective_target_sse2. * gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Likewise. * g++.dg/vect/vect.exp: Likewise. * gfortran.dg/vect/vect.exp: Likewise. * lib/fortran-torture.exp (get-fortran-torture-options): Only use -msse2 if check_effective_target_sse2. * gcc.target/i386/3dnow-1.c: Use dg-require-effective-target 3dnow. * gcc.target/i386/3dnow-2.c: Likewise. * gcc.target/i386/3dnowA-1.c: Likewise. * gcc.target/i386/3dnowA-2.c: Likewise. * gcc.target/i386/pr42549.c: Likewise. * gcc.target/i386/sse3-addsubpd.c: Use dg-require-effective-target sse3. * gcc.target/i386/sse3-addsubps.c: Likewise. * gcc.target/i386/sse3-haddpd.c: Likewise. * gcc.target/i386/sse3-haddps.c: Likewise. * gcc.target/i386/sse3-hsubpd.c: Likewise. * gcc.target/i386/sse3-hsubps.c: Likewise. * gcc.target/i386/sse3-lddqu.c: Likewise. * gcc.target/i386/sse3-movddup.c: Likewise. * gcc.target/i386/sse3-movshdup.c: Likewise. * gcc.target/i386/sse3-movsldup.c: Likewise. * g++.dg/abi/mangle42.C: Use dg-require-effective-target sse2. * g++.dg/ext/attrib35.C: Likewise. * g++.dg/opt/pr40496.C: Likewise. * g++.dg/other/i386-1.C: Likewise. * g++.dg/other/i386-4.C: Likewise. * g++.dg/other/pr34435.C: Likewise. * g++.dg/other/pr39496.C: Likewise. * g++.dg/other/pr40446.C: Likewise. * gcc.dg/compat/union-m128-1_main.c: Likewise. * gcc.dg/compat/vector-1a_main.c: Likewise. * gcc.dg/compat/vector-2a_main.c: Likewise. * gcc.dg/lto/20090206-1_0.c: Likewise. * gcc.dg/pr34856.c: Likewise. * gcc.dg/pr36584.c: Likewise. * gcc.dg/pr36997.c: Likewise. Adapt dg-message line number. * gcc.dg/pr37544.c: Likewise. * gcc.dg/torture/pr16104-1.c: Likewise. * gcc.dg/torture/pr35771-1.c: Likewise. * gcc.dg/torture/pr35771-2.c: Likewise. * gcc.dg/torture/pr35771-3.c: Likewise. * gcc.dg/torture/stackalign/alloca-2.c: Likewise. * gcc.dg/torture/stackalign/alloca-3.c: Likewise. * gcc.dg/torture/stackalign/push-1.c: Likewise. * gcc.dg/torture/stackalign/vararg-3.c: Likewise. * gcc.dg/tree-ssa/prefetch-6.c: Likewise. * gcc.dg/tree-ssa/prefetch-7.c: Likewise. * gcc.dg/vect/vect-debug-pr41926.c: Likewise. * gcc.target/i386/20060512-1.c: Likewise. * gcc.target/i386/20060512-3.c: Likewise. * gcc.target/i386/all_one_m128i.c: Likewise. * gcc.target/i386/float128-1.c: Likewise. * gcc.target/i386/float128-2.c: Likewise. * gcc.target/i386/fpcvt-1.c: Likewise. * gcc.target/i386/fpcvt-2.c: Likewise. * gcc.target/i386/fpcvt-3.c: Likewise. * gcc.target/i386/fpprec-1.c: Likewise. * gcc.target/i386/funcspec-9.c: Likewise. * gcc.target/i386/incoming-1.c: Likewise. * gcc.target/i386/incoming-12.c: Likewise. * gcc.target/i386/incoming-2.c: Likewise. * gcc.target/i386/incoming-3.c: Likewise. * gcc.target/i386/incoming-4.c: Likewise. * gcc.target/i386/incoming-6.c: Likewise. * gcc.target/i386/incoming-7.c: Likewise. * gcc.target/i386/incoming-8.c: Likewise. * gcc.target/i386/opt-1.c: Likewise. * gcc.target/i386/opt-2.c: Likewise. * gcc.target/i386/ordcmp-1.c: Likewise. * gcc.target/i386/pr17692.c: Likewise. * gcc.target/i386/pr18614-1.c: Likewise. * gcc.target/i386/pr22152.c: Likewise. * gcc.target/i386/pr23570.c: Likewise. * gcc.target/i386/pr23575.c: Likewise. * gcc.target/i386/pr26449-1.c: Likewise. * gcc.target/i386/pr26600.c: Likewise. * gcc.target/i386/pr27790.c: Likewise. * gcc.target/i386/pr28839.c: Likewise. * gcc.target/i386/pr30970.c: Likewise. * gcc.target/i386/pr32000-1.c: Likewise. * gcc.target/i386/pr32000-2.c: Likewise. * gcc.target/i386/pr32280.c: Likewise. * gcc.target/i386/pr32661.c: Likewise. * gcc.target/i386/pr32708-1.c: Likewise. * gcc.target/i386/pr32961.c: Likewise. * gcc.target/i386/pr33329.c: Likewise. * gcc.target/i386/pr35714.c: Likewise. * gcc.target/i386/pr35767-1.c: Likewise. * gcc.target/i386/pr35767-1d.c: Likewise. * gcc.target/i386/pr35767-1i.c: Likewise. * gcc.target/i386/pr35767-2.c: Likewise. * gcc.target/i386/pr35767-2d.c: Likewise. * gcc.target/i386/pr35767-2i.c: Likewise. * gcc.target/i386/pr35767-3.c: Likewise. * gcc.target/i386/pr35767-5.c: Likewise. * gcc.target/i386/pr36222-1.c: Likewise. * gcc.target/i386/pr36578-1.c: Likewise. * gcc.target/i386/pr36578-2.c: Likewise. * gcc.target/i386/pr36992-1.c: Likewise. * gcc.target/i386/pr37101.c: Likewise. * gcc.target/i386/pr37216.c: Likewise. * gcc.target/i386/pr37434-1.c: Likewise. * gcc.target/i386/pr37434-2.c: Likewise. * gcc.target/i386/pr37843-3.c: Likewise. * gcc.target/i386/pr37843-4.c: Likewise. * gcc.target/i386/pr39162.c: Likewise. * gcc.target/i386/pr39315-1.c: Likewise. * gcc.target/i386/pr39315-2.c: Likewise. * gcc.target/i386/pr39315-3.c: Likewise. * gcc.target/i386/pr39315-4.c: Likewise. * gcc.target/i386/pr39445.c: Likewise. * gcc.target/i386/pr39496.c: Likewise. * gcc.target/i386/pr40809.c: Likewise. * gcc.target/i386/pr40906-3.c: Likewise. * gcc.target/i386/pr41019.c: Likewise. * gcc.target/i386/pr42542-1.c: Likewise. * gcc.target/i386/pr42542-2.c: Likewise. * gcc.target/i386/pr42542-3.c: Likewise. * gcc.target/i386/pr42542-3a.c: Likewise. * gcc.target/i386/pr42881.c: Likewise. * gcc.target/i386/push-1.c: Likewise. * gcc.target/i386/quad-sse.c: Likewise. * gcc.target/i386/reload-1.c: Likewise. * gcc.target/i386/sse-10.c: Likewise. * gcc.target/i386/sse-11.c: Likewise. * gcc.target/i386/sse-15.c: Likewise. * gcc.target/i386/sse-17.c: Likewise. * gcc.target/i386/sse-18.c: Likewise. * gcc.target/i386/sse-19.c: Likewise. * gcc.target/i386/sse-4.c: Likewise. * gcc.target/i386/sse-6.c: Likewise. * gcc.target/i386/sse-vect-types.c: Likewise. * gcc.target/i386/sse2-addpd-1.c: Likewise. * gcc.target/i386/sse2-addsd-1.c: Likewise. * gcc.target/i386/sse2-andnpd-1.c: Likewise. * gcc.target/i386/sse2-andpd-1.c: Likewise. * gcc.target/i386/sse2-cmpsd-1.c: Likewise. * gcc.target/i386/sse2-comisd-1.c: Likewise. * gcc.target/i386/sse2-comisd-2.c: Likewise. * gcc.target/i386/sse2-comisd-3.c: Likewise. * gcc.target/i386/sse2-comisd-4.c: Likewise. * gcc.target/i386/sse2-comisd-5.c: Likewise. * gcc.target/i386/sse2-comisd-6.c: Likewise. * gcc.target/i386/sse2-copysign-vec.c: Likewise. * gcc.target/i386/sse2-cvtdq2pd-1.c: Likewise. * gcc.target/i386/sse2-cvtdq2ps-1.c: Likewise. * gcc.target/i386/sse2-cvtpd2dq-1.c: Likewise. * gcc.target/i386/sse2-cvtpd2ps-1.c: Likewise. * gcc.target/i386/sse2-cvtps2dq-1.c: Likewise. * gcc.target/i386/sse2-cvtps2pd-1.c: Likewise. * gcc.target/i386/sse2-cvtsd2si-1.c: Likewise. * gcc.target/i386/sse2-cvtsd2si-2.c: Likewise. * gcc.target/i386/sse2-cvtsd2ss-1.c: Likewise. * gcc.target/i386/sse2-cvtsi2sd-1.c: Likewise. * gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise. * gcc.target/i386/sse2-cvtss2sd-1.c: Likewise. * gcc.target/i386/sse2-cvttpd2dq-1.c: Likewise. * gcc.target/i386/sse2-cvttps2dq-1.c: Likewise. * gcc.target/i386/sse2-cvttsd2si-1.c: Likewise. * gcc.target/i386/sse2-cvttsd2si-2.c: Likewise. * gcc.target/i386/sse2-divpd-1.c: Likewise. * gcc.target/i386/sse2-divsd-1.c: Likewise. * gcc.target/i386/sse2-init-v16qi-1.c: Likewise. * gcc.target/i386/sse2-init-v2di-1.c: Likewise. * gcc.target/i386/sse2-init-v4si-1.c: Likewise. * gcc.target/i386/sse2-init-v8hi-1.c: Likewise. * gcc.target/i386/sse2-lrint-vec.c: Likewise. * gcc.target/i386/sse2-lrintf-vec.c: Likewise. * gcc.target/i386/sse2-maxpd-1.c: Likewise. * gcc.target/i386/sse2-maxsd-1.c: Likewise. * gcc.target/i386/sse2-minpd-1.c: Likewise. * gcc.target/i386/sse2-minsd-1.c: Likewise. * gcc.target/i386/sse2-mmx.c: Likewise. * gcc.target/i386/sse2-movapd-1.c: Likewise. * gcc.target/i386/sse2-movapd-2.c: Likewise. * gcc.target/i386/sse2-movd-1.c: Likewise. * gcc.target/i386/sse2-movd-2.c: Likewise. * gcc.target/i386/sse2-movdqa-1.c: Likewise. * gcc.target/i386/sse2-movdqa-2.c: Likewise. * gcc.target/i386/sse2-movdqu-1.c: Likewise. * gcc.target/i386/sse2-movdqu-2.c: Likewise. * gcc.target/i386/sse2-movhpd-1.c: Likewise. * gcc.target/i386/sse2-movhpd-2.c: Likewise. * gcc.target/i386/sse2-movlpd-1.c: Likewise. * gcc.target/i386/sse2-movlpd-2.c: Likewise. * gcc.target/i386/sse2-movmskpd-1.c: Likewise. * gcc.target/i386/sse2-movntdq-1.c: Likewise. * gcc.target/i386/sse2-movntpd-1.c: Likewise. * gcc.target/i386/sse2-movq-1.c: Likewise. * gcc.target/i386/sse2-movq-2.c: Likewise. * gcc.target/i386/sse2-movq-3.c: Likewise. * gcc.target/i386/sse2-movsd-1.c: Likewise. * gcc.target/i386/sse2-movsd-2.c: Likewise. * gcc.target/i386/sse2-movupd-1.c: Likewise. * gcc.target/i386/sse2-movupd-2.c: Likewise. * gcc.target/i386/sse2-mulpd-1.c: Likewise. * gcc.target/i386/sse2-mulsd-1.c: Likewise. * gcc.target/i386/sse2-orpd-1.c: Likewise. * gcc.target/i386/sse2-packssdw-1.c: Likewise. * gcc.target/i386/sse2-packsswb-1.c: Likewise. * gcc.target/i386/sse2-packuswb-1.c: Likewise. * gcc.target/i386/sse2-paddb-1.c: Likewise. * gcc.target/i386/sse2-paddd-1.c: Likewise. * gcc.target/i386/sse2-paddq-1.c: Likewise. * gcc.target/i386/sse2-paddsb-1.c: Likewise. * gcc.target/i386/sse2-paddsw-1.c: Likewise. * gcc.target/i386/sse2-paddusb-1.c: Likewise. * gcc.target/i386/sse2-paddusw-1.c: Likewise. * gcc.target/i386/sse2-paddw-1.c: Likewise. * gcc.target/i386/sse2-pand-1.c: Likewise. * gcc.target/i386/sse2-pandn-1.c: Likewise. * gcc.target/i386/sse2-pavgb-1.c: Likewise. * gcc.target/i386/sse2-pavgw-1.c: Likewise. * gcc.target/i386/sse2-pcmpeqb-1.c: Likewise. * gcc.target/i386/sse2-pcmpeqd-1.c: Likewise. * gcc.target/i386/sse2-pcmpeqw-1.c: Likewise. * gcc.target/i386/sse2-pcmpgtb-1.c: Likewise. * gcc.target/i386/sse2-pcmpgtd-1.c: Likewise. * gcc.target/i386/sse2-pcmpgtw-1.c: Likewise. * gcc.target/i386/sse2-pmaddwd-1.c: Likewise. * gcc.target/i386/sse2-pmaxsw-1.c: Likewise. * gcc.target/i386/sse2-pmaxub-1.c: Likewise. * gcc.target/i386/sse2-pminsw-1.c: Likewise. * gcc.target/i386/sse2-pminub-1.c: Likewise. * gcc.target/i386/sse2-pmovmskb-1.c: Likewise. * gcc.target/i386/sse2-pmulhuw-1.c: Likewise. * gcc.target/i386/sse2-pmulhw-1.c: Likewise. * gcc.target/i386/sse2-pmullw-1.c: Likewise. * gcc.target/i386/sse2-pmuludq-1.c: Likewise. * gcc.target/i386/sse2-por-1.c: Likewise. * gcc.target/i386/sse2-psadbw-1.c: Likewise. * gcc.target/i386/sse2-pshufd-1.c: Likewise. * gcc.target/i386/sse2-pshufhw-1.c: Likewise. * gcc.target/i386/sse2-pshuflw-1.c: Likewise. * gcc.target/i386/sse2-pslld-1.c: Likewise. * gcc.target/i386/sse2-pslld-2.c: Likewise. * gcc.target/i386/sse2-pslldq-1.c: Likewise. * gcc.target/i386/sse2-psllq-1.c: Likewise. * gcc.target/i386/sse2-psllq-2.c: Likewise. * gcc.target/i386/sse2-psllw-1.c: Likewise. * gcc.target/i386/sse2-psllw-2.c: Likewise. * gcc.target/i386/sse2-psrad-1.c: Likewise. * gcc.target/i386/sse2-psrad-2.c: Likewise. * gcc.target/i386/sse2-psraw-1.c: Likewise. * gcc.target/i386/sse2-psraw-2.c: Likewise. * gcc.target/i386/sse2-psrld-1.c: Likewise. * gcc.target/i386/sse2-psrld-2.c: Likewise. * gcc.target/i386/sse2-psrldq-1.c: Likewise. * gcc.target/i386/sse2-psrlq-1.c: Likewise. * gcc.target/i386/sse2-psrlq-2.c: Likewise. * gcc.target/i386/sse2-psrlw-1.c: Likewise. * gcc.target/i386/sse2-psrlw-2.c: Likewise. * gcc.target/i386/sse2-psubb-1.c: Likewise. * gcc.target/i386/sse2-psubd-1.c: Likewise. * gcc.target/i386/sse2-psubq-1.c: Likewise. * gcc.target/i386/sse2-psubsb-1.c: Likewise. * gcc.target/i386/sse2-psubsw-1.c: Likewise. * gcc.target/i386/sse2-psubw-1.c: Likewise. * gcc.target/i386/sse2-punpckhbw-1.c: Likewise. * gcc.target/i386/sse2-punpckhdq-1.c: Likewise. * gcc.target/i386/sse2-punpckhqdq-1.c: Likewise. * gcc.target/i386/sse2-punpckhwd-1.c: Likewise. * gcc.target/i386/sse2-punpcklbw-1.c: Likewise. * gcc.target/i386/sse2-punpckldq-1.c: Likewise. * gcc.target/i386/sse2-punpcklqdq-1.c: Likewise. * gcc.target/i386/sse2-punpcklwd-1.c: Likewise. * gcc.target/i386/sse2-pxor-1.c: Likewise. * gcc.target/i386/sse2-set-epi32-1.c: Likewise. * gcc.target/i386/sse2-set-epi64x-1.c: Likewise. * gcc.target/i386/sse2-set-v16qi-1.c: Likewise. * gcc.target/i386/sse2-set-v16qi-2.c: Likewise. * gcc.target/i386/sse2-set-v16qi-3.c: Likewise. * gcc.target/i386/sse2-set-v8hi-1.c: Likewise. * gcc.target/i386/sse2-set-v8hi-1a.c: Likewise. * gcc.target/i386/sse2-set-v8hi-2.c: Likewise. * gcc.target/i386/sse2-set-v8hi-2a.c: Likewise. * gcc.target/i386/sse2-shufpd-1.c: Likewise. * gcc.target/i386/sse2-shufps-1.c: Likewise. * gcc.target/i386/sse2-sqrtpd-1.c: Likewise. * gcc.target/i386/sse2-subpd-1.c: Likewise. * gcc.target/i386/sse2-subsd-1.c: Likewise. * gcc.target/i386/sse2-ucomisd-1.c: Likewise. * gcc.target/i386/sse2-ucomisd-2.c: Likewise. * gcc.target/i386/sse2-ucomisd-3.c: Likewise. * gcc.target/i386/sse2-ucomisd-4.c: Likewise. * gcc.target/i386/sse2-ucomisd-5.c: Likewise. * gcc.target/i386/sse2-ucomisd-6.c: Likewise. * gcc.target/i386/sse2-unpack-1.c: Likewise. * gcc.target/i386/sse2-unpckhpd-1.c: Likewise. * gcc.target/i386/sse2-unpcklpd-1.c: Likewise. * gcc.target/i386/sse2-vec-1.c: Likewise. * gcc.target/i386/sse2-vec-2.c: Likewise. * gcc.target/i386/sse2-vec-3.c: Likewise. * gcc.target/i386/sse2-vec-4.c: Likewise. * gcc.target/i386/sse2-vec-5.c: Likewise. * gcc.target/i386/sse2-vec-6.c: Likewise. * gcc.target/i386/sse2-xorpd-1.c: Likewise. * gcc.target/i386/ssefn-2.c: Likewise. * gcc.target/i386/ssefn-4.c: Likewise. * gcc.target/i386/ssefp-1.c: Likewise. * gcc.target/i386/ssefp-2.c: Likewise. * gcc.target/i386/sseregparm-3.c: Likewise. * gcc.target/i386/sseregparm-4.c: Likewise. * gcc.target/i386/sseregparm-5.c: Likewise. * gcc.target/i386/sseregparm-6.c: Likewise. * gcc.target/i386/sseregparm-7.c: Likewise. * gcc.target/i386/ssetype-1.c: Likewise. * gcc.target/i386/ssetype-2.c: Likewise. * gcc.target/i386/ssetype-3.c: Likewise. * gcc.target/i386/ssetype-4.c: Likewise. * gcc.target/i386/ssetype-5.c: Likewise. * gcc.target/i386/unordcmp-1.c: Likewise. * gcc.target/i386/vararg-1.c: Likewise. * gcc.target/i386/vararg-2.c: Likewise. * gcc.target/i386/vararg-3.c: Likewise. * gcc.target/i386/vararg-4.c: Likewise. * gcc.target/i386/vararg-7.c: Likewise. * gcc.target/i386/vararg-8.c: Likewise. * gcc.target/i386/vecinit-1.c: Likewise. * gcc.target/i386/vecinit-2.c: Likewise. * gcc.target/i386/vecinit-3.c: Likewise. * gcc.target/i386/vecinit-4.c: Likewise. * gcc.target/i386/vecinit-5.c: Likewise. * gcc.target/i386/vecinit-6.c: Likewise. * gcc.target/i386/vectorize2.c: Likewise. * gcc.target/i386/vectorize3.c: Likewise. * gcc.target/i386/vectorize4.c: Likewise. * gcc.target/i386/vectorize6.c: Likewise. * gcc.target/i386/vectorize7.c: Likewise. * gcc.target/i386/vectorize8.c: Likewise. * gcc.target/i386/vperm-v2df.c: Likewise. * gcc.target/i386/vperm-v2di.c: Likewise. * gcc.target/i386/vperm-v4si-1.c: Likewise. * gcc.target/i386/xorps-sse2.c: Likewise. * gcc.target/i386/xorps.c: Likewise. * gfortran.dg/graphite/pr42326-1.f90: Likewise. * gfortran.dg/graphite/pr42326.f90: Likewise. * gfortran.dg/vect/fast-math-mgrid-resid.f: Likewise. From-SVN: r159584
Rainer Orth committed -
re PR lto/44196 (lto1: ICE: tree check: expected field_decl, have type_decl in gimple_types_compatible_p, at gimple.c:3597) 2010-05-19 Richard Guenther <rguenther@suse.de> PR lto/44196 * tree.c (find_decls_types_r): Walk BLOCKs and its vars. * g++.dg/lto/20100519-1_0.C: New testcase. From-SVN: r159582
Richard Guenther committed -
2010-05-19 Richard Guenther <rguenther@suse.de> * doc/invoke.texi (-fwhopr): Document new optional jobs argument. * common.opt (fwhopr=): New. * opts.c (common_handle_option): Handle OPT_fwhopr. * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*. * collect2.c (main): Match -fwhopr*. * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr. Execute ltrans stage in parallel when jobs is bigger than 1. From-SVN: r159573
Richard Guenther committed -
* configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as output, too. (libffi_cv_as_ascii_pseudo_op): Check for .ascii. (libffi_cv_as_string_pseudo_op): Check for .string. * configure: Regenerate. * fficonfig.h.in: Regenerate. * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error. From-SVN: r159570
Rainer Orth committed -
libgcc: * config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun assembler syntax. gcc: * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to pentiumpro on Solaris 8/x86 with Sun as. * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as hidden alias bug. (gcc_cv_as_ix86_quad): Check for .quad directive. * configure: Regenerate. * config.in: Regenerate. * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD. From-SVN: r159569
Rainer Orth committed -
re PR fortran/42360 (intent(out)-dummy-not-set warning for types depends on order of component initializers) gcc/fortran/: 2010-05-19 Daniel Franke <franke.daniel@gmail.com> PR fortran/42360 * gfortran.h (gfc_has_default_initializer): New. * expr.c (gfc_has_default_initializer): New. * resolve.c (has_default_initializer): Removed, use gfc_has_default_initializer() instead. Updated all callers. * trans-array.c (has_default_initializer): Removed, use gfc_has_default_initializer() instead. Updated all callers. * trans-decl.c (generate_local_decl): Do not check the first component only to check for initializers, but use gfc_has_default_initializer() instead. gcc/testsuite/: 2010-05-19 Daniel Franke <franke.daniel@gmail.com> PR fortran/42360 * gfortran.dg/warn_intent_out_not_set.f90: New. From-SVN: r159562
Daniel Franke committed -
gcc/fortran/: 2010-05-19 Daniel Franke <franke.daniel@gmail.com> PR fortran/38404 * primary.c (match_string_constant): Move start_locus just inside the string. * data.c (create_character_intializer): Clarified truncation warning. gcc/testsuite/: 2010-05-19 Daniel Franke <franke.daniel@gmail.com> PR fortran/38404 * gfortran.dg/data_char_1.f90: Updated warning message. * gfortran.dg/data_array_6.f: New. From-SVN: r159561
Daniel Franke committed -
2010-05-19 Martin Jambor <mjambor@suse.cz> * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions also for indirect edges. Actual printing moved... (ipa_print_node_jump_functions_for_edge): ...here. (ipa_compute_jump_functions): Renamed to ipa_compute_jump_functions_for_edge and made static. (ipa_compute_jump_functions): New function. (make_edge_direct_to_target): Check if the number of arguments on the newly direct edge is the same as the number of parametrs of the callee. * ipa-cp.c (ipcp_init_stage): Most functionality moved to new ipa_compute_jump_functions. Call ipa_analyze_params_uses. * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call analysis functions unconditionally, call the new ipa_analyze_params_uses on the node instead of every edge. * testsuite/g++.dg/ipa/ivinline-8.C: New test. * testsuite/gcc.dg/ipa/iinline-2.c: New test. From-SVN: r159559
Martin Jambor committed -
gcc/fortran/: 2010-05-19 Daniel Franke <franke.daniel@gmail.com> PR fortran/34505 * intrinsic.h (gfc_check_float): New prototype. (gfc_check_sngl): New prototype. * check.c (gfc_check_float): New. (gfc_check_sngl): New. * intrinsic.c (add_functions): Moved DFLOAT from aliasing DBLE to be a specific for REAL. Added check routines for FLOAT, DFLOAT and SNGL. * intrinsic.texi: Removed individual nodes of FLOAT, DFLOAT and SNGL, added them to the list of specifics of REAL instead. gcc/testsuite/: 2010-05-19 Daniel Franke <franke.daniel@gmail.com> PR fortran/34505 * gfortran.dg/dfloat_1.f90: Add warnings for non-default kind arguments; add check for return value kind. * gfortran.dg/float_1.f90: Likewise. From-SVN: r159558
Daniel Franke committed -
2010-05-19 Christian Borntraeger <borntraeger@de.ibm.com> * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step to tree. (dump_mem_ref): Adopt debug code to handle a tree as step. This also checks for a constant int vs. non-constant but loop-invariant steps. (find_or_create_group): Change the sort algorithm to only consider steps that are constant ints. (idx_analyze_ref): Adopt code to handle a tree instead of a HOST_WIDE_INT for step. (gather_memory_references_ref): Handle tree instead of int and be prepared to see a NULL_TREE. (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune prefetches if the step cannot be calculated at compile time. (issue_prefetch_ref): Issue prefetches for non-constant but loop-invariant steps. From-SVN: r159557
Christian Borntraeger committed -
From-SVN: r159555
Nathan Froyd committed -
2010-05-18 Nathan Froyd <froydnj@codesourcery.com> * tree.h (build_call_list): Remove. * tree.c (build_call_list): Remove. From-SVN: r159554
Nathan Froyd committed -
From-SVN: r159553
GCC Administrator committed
-
- 18 May, 2010 14 commits
-
-
2010-05-18 Eelis van der Weegen <gcc-bugzilla@contacts.eelis.net> PR libstdc++/44190 * include/debug/vector (vector<>::resize): Call _M_update_guaranteed_capacity. * testsuite/23_containers/vector/capacity/44190.cc: New. From-SVN: r159549
Eelis van der Weegen committed -
gcc/ * tree.h (build_call_list): Remove. * tree.c (build_call_list): Remove. gcc/ada/ * gcc-interface/trans.c (call_to_gnu): Use build_call_vec instead of build_call_list. * gcc-interface/utils.c (build_function_stub): Likewise. gcc/cp/ * tree.c (build_min_non_dep_call_vec): Update comment. gcc/java/ * expr.c (expand_java_multianewarray): Use build_call_vec instead of build_call_list. (pop_arguments): Return a VEC instead of a tree. Take a method type rather than a list of argument types. (rewrite_rule): Change signature. of rewrite_arglist member. (rewrite_arglist_getcaller): Update signature. (rewrite_arglist_getclass): Likewise. (maybe_rewrite_invocation): Update for rewrite_arglist change. (build_known_method_ref): Take a VEC instead of a tree. (invoke_build_dtable): Likewise. (expand_invoke): Update calls to pop_arguments. Use build_call_vec instead of build_call_list. (build_jni_stub): Use build_call_vec instead of build_call_list. * java-tree.h (maybe_rewrite_invocation): Update declaration. (build_known_method_ref): Likewise. (invoke_build_dtable): Likewise. From-SVN: r159548
Nathan Froyd committed -
From-SVN: r159546
Jan Hubicka committed -
re PR rtl-optimization/43332 (valgrind warns about using uninitialized variable with -fsched-pressure -fschedule-insns) 2010-05-18 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/43332 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier. From-SVN: r159545
Vladimir Makarov committed -
* tree.h (build_int_cstu): Implement as static inline. * tree.c (build_int_cstu): Remove function. (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as sign extended. From-SVN: r159544
Anatoly Sokolov committed -
* gcc.target/i386/20011009-1.c (COMMENT): Define. (main): Use it. * gcc.target/i386/pr25993.c [__sun__]: Use .globl. * lib/lto.exp (lto_prune_warns): Fix location line regex. Prune another location line format. (lto-obj): Call lto_prune_warns on comp_output. From-SVN: r159538
Rainer Orth committed -
2010-05-18 Richard Guenther <rguenther@suse.de> PR lto/44143 * lto-wrapper.c (verbose): New variable. Initialize from -v. (debug): Initialize from -save-temps. (collect_execute): Print command-line when verbose. (run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute for ltrans invocation. Produce -dumpbase flag again. (process_args): Remove. (main): Simplify. * collect2.c (maybe_run_lto_and_relink): Only pass object files to lto-wrapper. * gcc.c (LINK_COMMAND_SPEC): Likewise. From-SVN: r159536
Richard Guenther committed -
* gcc.dg/lto/ipacp_0.c: New test. * gcc.dg/lto/ipacp_1.c: New test. * opts.c (decode_options): Do not disable whopr at ipa_cp. * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too. From-SVN: r159535
Jan Hubicka committed -
From-SVN: r159533
Steven Bosscher committed -
gcc/ PR lto/44184 * lto-streamer-out.c (output_gimple_stmt): Output number of labels in a GIMPLE_ASM. * lto-streamer-in.c (input_gimple_stmt): Read number of labels in a GIMPLE_ASM. testsuite/ PR lto/44184 * gcc.dg/lto/20100518_0.c: New test. From-SVN: r159531
Steven Bosscher committed -
PR debug/41371 * var-tracking.c (find_loc_in_1pdv): Add a few checks from rtx_equal_p inline. From-SVN: r159528
Jakub Jelinek committed -
Steven Bosscher <steven@gcc.gnu.org> ChangeLog: * configure.ac (--enable-lto): All *-apple-darwin* now support LTO. * configure: Regenerate. gcc/ChangeLog: * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add lto-macho as lto_binary_reader. * darwin.c (darwin_asm_named_section): Do not add assembler comment after .section directive; just print it before the directive instead. M gcc/config.gcc M gcc/config/darwin.c M ChangeLog M gcc/ChangeLog From-SVN: r159527
Steven Bosscher committed -
From-SVN: r159525
Eric Botcazou committed -
From-SVN: r159523
GCC Administrator committed
-
- 17 May, 2010 12 commits
-
-
cgraph.c (cgraph_create_virtual_clone): Only check versionable_function_p when not in wpa and checking is enabled. * cgraph.c (cgraph_create_virtual_clone): Only check versionable_function_p when not in wpa and checking is enabled. * cgrpahunit.c (cgraph_materialize_all_clones): Stabilize after there are no more functions to materialize. * lto/lto.c (lto_1_to_1_map): Partition non-inline clones. (lto_promote_cross_file_statics): Deal with non-inline clones. From-SVN: r159518
Jan Hubicka committed -
* cgraph.h (struct ipa_replace_map): Add parm_num parameter. * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary): New functions. (output_cgraph): Call output_cgraph_opt_summary. (input_cgrpah): Call input_cgraph_opt_summary. (output_cgraph_opt_summary_p, output_node_opt_summary, input_node_opt_summary, input_cgraph_opt_section): New functions. * lto-section-in.c (lto_section_name): Add cgraphopt. * tree-inline.c (tree_function_versioning): Handle parm_num. * lto-streamer.c (lto_get_section_name): Handle cgraphopt. * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum. From-SVN: r159517
Jan Hubicka committed -
* lto.c (lto_materialize_function): Announce function when reading body; allocate_struct_function only when reading body; do not finalize local statics; ggc_collect after reading; do not mark reachable node. (materialize_cgraph): Do not announce function. From-SVN: r159516
Jan Hubicka committed -
2010-05-17 Changpeng Fang <changpeng.fang@amd.com> * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio. * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply the insn to prefetch ratio heuristic to loops with known trip count. From-SVN: r159515
Changpeng Fang committed -
2010-05-17 Changpeng Fang <changpeng.fang@amd.com> * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New. (schedule_prefetches): Do not generate a prefetch if the unroll factor is far from what is required by the prefetch. From-SVN: r159514
Changpeng Fang committed -
* ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used. (ipcp_estimate_growth): Likewise. (ipcp_const_param_count): Likewise. (ipcp_insert_stage): Likewise. * ipa-prop.c (visit_load_for_mod_analysis): New function. (visit_store_addr_for_mod_analysis): Set used flag. (ipa_detect_param_modifications): Set used flag for SSE params; update use of walk_stmt_load_store_addr_ops. (ipa_print_node_params): Print used flag. (ipa_write_node_info): Stream used flag. (ipa_read_node_info): Likewise. * ipa-prop.h (struct ipa_param_descriptor): Add used field. (ipa_is_param_used): New function. (lto_ipa_fixup_call_notes): Remove unused declaration. From-SVN: r159513
Jan Hubicka committed -
PR target/44074 * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test. * configure: Regenerate. * config.in: Regenerate. * config/i386/i386.c (print_operand) <case ;>: Also print ; if !HAVE_AS_IX86_REP_LOCK_PREFIX. Don't emit whitespace. * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep. (*rep_movsi): Likewise. (*rep_movsi_rex64): Likewise. (*rep_movqi): Likewise. (*rep_movqi_rex64): Likewise. (*rep_stosdi_rex64): Likewise. (*rep_stossi): Likewise. (*rep_stossi_rex64): Likewise. (*rep_stosqi): Likewise. (*rep_stosqi_rex64): Likewise. (*cmpstrnqi_nz_1): Use {%;} after repz. (*cmpstrnqi_nz_rex_1): Likewise. (*cmpstrnqi_1): Likewise. (*cmpstrnqi_rex_1): Likewise. (*strlenqi_1): Use {%;} after repnz. (*strlenqi_rex_1): Likewise. * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} . (*sync_compare_and_swap<mode>): Likewise. (sync_double_compare_and_swap<mode>): Likewise. (*sync_double_compare_and_swapdi_pic): Likewise. (sync_old_add<mode>): Likewise. (sync_add<mode>): Likewise. (sync_sub<mode>): Likewise. (sync_<code><mode>): Likewise. From-SVN: r159512
Rainer Orth committed -
2010-05-17 Janus Weil <janus@gcc.gnu.org> PR fortran/43990 * trans-expr.c (gfc_conv_structure): Remove unneeded and buggy code. This is now handled via 'gfc_class_null_initializer'. 2010-05-17 Janus Weil <janus@gcc.gnu.org> PR fortran/43990 * gfortran.dg/class_21.f03: New. From-SVN: r159511
Janus Weil committed -
* call.c (struct z_candidate): Add explicit_targs field. (add_template_candidate_real): Set it. (build_over_call): Use it to control init-list warning. From-SVN: r159510
Jason Merrill committed -
PR c++/44157 * call.c (build_over_call): Limit init-list deduction warning to cases where the argument is actually an init-list. From-SVN: r159509
Jason Merrill committed -
PR c++/44158 * call.c (build_over_call): Don't do bitwise copy for move ctor. From-SVN: r159508
Jason Merrill committed -
2010-05-17 Martin Jambor <mjambor@suse.cz> * cgraph.h (cgraph_indirect_call_info): New fields anc_offset, otr_token and polymorphic. * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields. (cgraph_clone_edge): Copy the above fields. * tree.c (get_binfo_at_offset): New function. * tree.h (get_binfo_at_offset): Declare. * ipa-prop.h (enum jump_func_type): Added known_type jump function type, reordered items, updated comments. (union jump_func_value): Added base_type field, reordered fields. (enum ipa_lattice_type): Moved down in the file. (struct ipa_param_descriptor): New field polymorphic. (ipa_is_param_polymorphic): New function. * ipa-prop.c: Include gimple.h and gimple-fold.h. (ipa_print_node_jump_functions): Print known type jump functions. (compute_complex_pass_through): Renamed to... (compute_complex_assign_jump_func): this. (compute_complex_ancestor_jump_func): New function. (compute_known_type_jump_func): Likewise. (compute_scalar_jump_functions): Create known type and complex ancestor jump functions. (ipa_note_param_call): New parameter polymorphic, set the corresponding flag in the call note accordingly. (ipa_analyze_call_uses): Renamed to... (ipa_analyze_indirect_call_uses): this. New parameter target, define variable var only in the block where it is used. (ipa_analyze_virtual_call_uses): New function. (ipa_analyze_call_uses): Likewise. (combine_known_type_and_ancestor_jfs): Likewise. (update_jump_functions_after_inlining): Implemented handling of a number of new jump function types combination. (print_edge_addition_message): Removed. (make_edge_direct_to_target): New function. (try_make_edge_direct_simple_call): Likewise. (try_make_edge_direct_virtual_call): Likewise. (update_call_notes_after_inlining): Renamed to... (update_indirect_edges_after_inlining): this. Moved edge creation for indirect calls to try_make_edge_direct_simple_call, also calls try_make_edge_direct_virtual_call for virtual calls. (ipa_print_node_params): Changed the header message. (ipa_write_jump_function): Stream also known type jump functions. (ipa_read_jump_function): Likewise. (ipa_write_indirect_edge_info): Stream new fields in cgraph_indirect_call_info. (ipa_read_indirect_edge_info): Likewise. * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and GIMPLE_FOLD_H. * testsuite/g++.dg/ipa/ivinline-1.C: New test. * testsuite/g++.dg/ipa/ivinline-2.C: New test. * testsuite/g++.dg/ipa/ivinline-3.C: New test. * testsuite/g++.dg/ipa/ivinline-4.C: New test. * testsuite/g++.dg/ipa/ivinline-5.C: New test. * testsuite/g++.dg/ipa/ivinline-6.C: New test. From-SVN: r159507
Martin Jambor committed
-