OSDN Git Service
jb [Wed, 27 May 2009 20:02:02 +0000 (20:02 +0000)]
Don't link to or test existence of libgfortranbegin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147929
138bc75d-0d04-0410-961f-
82ee72b054a4
tglek [Wed, 27 May 2009 19:53:03 +0000 (19:53 +0000)]
gcc/ChangeLog
* system.h (CONST_CAST2): Use C++ const_cast when compiled as C++
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147928
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 27 May 2009 19:51:15 +0000 (19:51 +0000)]
./:
* Makefile.in (LINKER, LINKER_FLAGS): Define.
(LINKER_FOR_BUILD, BUILD_LINKERFLAGS): Define.
(ALL_LINKERFLAGS): Define.
(xgcc$(exeext)): Change $(COMPILER) to $(LINKER).
(cpp$(exeext), cc1-dummy$(exeext), cc1$(exeext)): Likewise.
(collect2$(exeext), mips-tfile, mips-tdump): Likewise.
(gcov$(exeext), gcov-dump$(exeext)): Likewise.
(build/gen%$(build_exeext)): Change $(COMPILER_FOR_BUILD) to
$(LINKER_FOR_BUILD).
(build/gcov-iov$(build_exeext)): Likewise.
cp/:
* Make-lang.in (g++$(exeext)): Change $(COMPILER) to $(LINKER).
(cc1plus-dummy$(exeext), cc1plus$(exeext)): Likewise.
fortran/:
* Make-lang.in (gfortran$(exeext)): Change $(COMPILER) to
$(LINKER).
(f951$(exeext)): Likewise.
java/:
* Make-lang.in ($(XGCJ)$(exeext)): Change $(COMPILER) to
$(LINKER).
(jc1$(exeext), jcf-dump$(exeext), jvgenmain$(exeext)): Likewise.
objc/:
* Make-lang.in (cc1obj-dummy$(exeext)): Change $(COMPILER) to
$(LINKER).
(cc1obj$(exeext)): Likewise.
objcp/:
* Make-lang.in (cc1objplus-dummy$(exeext)): Change $(COMPILER) to
$(LINKER).
(cc1objplus$(exeext)): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147927
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 27 May 2009 19:49:22 +0000 (19:49 +0000)]
2009-05-27 Tobias Burnus <burnus@net-b.de>
PR fortran/40270
* trans-decl.c (create_main_function): Mark MAIN__ and
argc/argv as TREE_USED and push/pop function_decl context
if needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147926
138bc75d-0d04-0410-961f-
82ee72b054a4
jules [Wed, 27 May 2009 18:47:26 +0000 (18:47 +0000)]
gcc/
* gcse.c (target.h): Include.
(can_assign_to_reg_without_clobbers_p): Check that the target allows
copy of argument to a pseudo register.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147925
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Wed, 27 May 2009 17:55:59 +0000 (17:55 +0000)]
* tree-ssa-live.c (dump_scope_block): Document arguments.
(dump_scope_blocks): Document.
(debug_scope_blocks): New.
* tree-flow.h (debug_scope_blocks): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147923
138bc75d-0d04-0410-961f-
82ee72b054a4
denisc [Wed, 27 May 2009 17:12:24 +0000 (17:12 +0000)]
* doc/contrib.texi (Contributors): add myself to the list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147920
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Wed, 27 May 2009 16:55:44 +0000 (16:55 +0000)]
Change scan-tree-dump-times patterns due to frontend changes
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147919
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 27 May 2009 16:31:26 +0000 (16:31 +0000)]
(Synchronize with addition made to binutils sources):
* plugins.m4: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147918
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Wed, 27 May 2009 16:06:44 +0000 (16:06 +0000)]
* expr.c (target_align): New function. Alignment the TARGET of an
assignment may be assume to have.
(highest_pow2_factor_for_target): Use it instead of relying on
immediate tree attributes of TARGET, not necessarily honored when
intermediate bitfields are involved.
testsuite/
* gcc.c-torture/execute/align-nest.c: New testcase.
* gnat.dg/misaligned_nest.adb: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147916
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Wed, 27 May 2009 15:22:34 +0000 (15:22 +0000)]
Revert part of r147883 that breaks ABI
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147915
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Wed, 27 May 2009 14:39:23 +0000 (14:39 +0000)]
2009-05-27 H.J. Lu <hongjiu.lu@intel.com>
PR target/40266
* config/i386/driver-i386.c (host_detect_local_cpu): Support
AVX, SSE4, AES, PCLMUL and POPCNT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147913
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 27 May 2009 14:27:12 +0000 (14:27 +0000)]
Apply fixed version of previous delta.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147911
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Wed, 27 May 2009 14:13:18 +0000 (14:13 +0000)]
* tree-pretty-print.c (dump_location): New.
(dump_generic_node): Call it.
Factor code to handle BLOCK nodes ...
(dump_block_node): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147910
138bc75d-0d04-0410-961f-
82ee72b054a4
espindola [Wed, 27 May 2009 12:57:59 +0000 (12:57 +0000)]
2009-05-27 Rafael Avila de Espindola <espindola@google.com>
* g++.dg/plugin/attribute_plugin.c: Include gcc-plugin.h first.
* g++.dg/plugin/dumb_plugin.c: Include gcc-plugin.h first.
* g++.dg/plugin/selfassign.c: Include gcc-plugin.h first.
* gcc.dg/plugin/selfassign.c: Include gcc-plugin.h first.
2009-05-27 Rafael Avila de Espindola <espindola@google.com>
* Makefile.in (GCC_PLUGIN_H): New. Replace all uses of gcc-plugin.h with
it.
* doc/plugins.texi: Document that gcc-plugin.h must be the first to be
included.
* gcc-plugin.h: Include config.h and system.h.
(IN_GCC): Define if not defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147908
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Wed, 27 May 2009 12:40:09 +0000 (12:40 +0000)]
PR middle-end/40249
* Makefile.in (CRTSTUFF_CFLAGS): Replace -fno-inline-functions
with -fno-inline.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147907
138bc75d-0d04-0410-961f-
82ee72b054a4
aoliva [Wed, 27 May 2009 07:29:30 +0000 (07:29 +0000)]
* Makefile.tpl (all): Avoid harmless warning in make all when
gcc-bootstrap is enabled but stage_last does not exist.
* Makefile.in: Rebuilt.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147900
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 27 May 2009 06:55:00 +0000 (06:55 +0000)]
* config/m32r/m32r.c: Use REG_P, MEM_P and CONST_INT_P where
applicable.
* config/m32r/m32r.h: Ditto.
* config/m32r/m32r.md: Ditto.
* config/m32r/predicates.md: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147899
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Wed, 27 May 2009 06:51:31 +0000 (06:51 +0000)]
2009-05-27 Kai TIetz <kai.tietz@onevision.com>
* g++.old-deja/g++.brendan/array1.C (array): Use __SIZE_TYPE__
cast instead of assuming 0ul.
* g++.old-deja/g++.brendan/crash64.C (size_t): Define it via
__SIZE_TYPE__.
(_type_desc): Make first argument const.
* g++.old-deja/g++.jason/new3.C (dg-options): Add -Wno-long-long.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147898
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Wed, 27 May 2009 05:27:31 +0000 (05:27 +0000)]
2009-05-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/40187
* intrinsics/iso_c_binding.c (c_f_pointer_u0): Take care
of stride in "shape" argument.
2009-05-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/40187
* gfortran.dg/c_f_pointer_shape_tests_4.f03: New file.
* gfortran.dg/c_f_pointer_shape_tests_4_driver.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147894
138bc75d-0d04-0410-961f-
82ee72b054a4
aoliva [Wed, 27 May 2009 03:29:41 +0000 (03:29 +0000)]
* cgraph.c (dump_cgraph_node): Honor -fdump-noaddr.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147888
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 27 May 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147886
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 26 May 2009 21:19:57 +0000 (21:19 +0000)]
fortran/
2009-05-26 Tobias Burnus <burnus@net-b.de>
PR fortran/39178
* gfortranspec.c (lang_specific_driver): Stop linking
libgfortranbegin.
* trans-decl.c (gfc_build_builtin_function_decls): Stop
making MAIN__ publicly visible.
(gfc_build_builtin_function_decls): Add
gfor_fndecl_set_args.
(create_main_function) New function.
(gfc_generate_function_code): Use it.
libgfortran/
2009-05-26 Tobias Burnus <burnus@net-b.de>
PR fortran/39178
* runtime/main.c (store_exe_path): Make static
and multiple-times callable.
(set_args): Call store_exe_path.
* libgfortran.h: Remove store_exe_path prototype.
* fmain.c (main): Remove store_exe_path call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147883
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 26 May 2009 19:23:45 +0000 (19:23 +0000)]
2009-05-26 Tobias Burnus <burnus@net-b.de>
PR fortran/40246
* match.c (gfc_match_nullify): NULLify freed pointer.
2009-05-26 Tobias Burnus <burnus@net-b.de>
PR fortran/40246
* gfortran.dg/nullify_4.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147879
138bc75d-0d04-0410-961f-
82ee72b054a4
bstarynk [Tue, 26 May 2009 17:33:33 +0000 (17:33 +0000)]
2009-05-26 Basile Starynkevitch <basile@starynkevitch.net>
* gcc/doc/plugins.texi
(Loading plugins): typo.
(Plugin callbacks): Documented PLUGIN_INFO, PLUGIN_GGC_START,
PLUGIN_GGC_MARKING, PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS.
(Interacting with the GCC Garbage Collector): Added new section.
(Giving information about a plugin): Added new section for
PLUGIN_INFO.
* gcc/testsuite/gcc.dg/plugin/plugin.exp: Added ggcplug.c test plugin
with ggcplug-test-1.c for testing PLUGIN_GGC_MARKING etc...
* gcc/testsuite/gcc.dg/plugin/ggcplug-test-1.c: Added new file.
* gcc/testsuite/gcc.dg/plugin/ggcplug.c: Added new file.
* gcc/ggc.h (ggc_register_root_tab): Added declaration.
* gcc/gcc-plugin.h (PLUGIN_GGC_START, PLUGIN_GGC_MARKING)
(PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS): Added new events.
(register_callback): Improved comment in declaration.
* gcc/ggc-common.c (const_ggc_root_tab_t) Added new typedef for
vectors.
(extra_root_vec) Added static variable for dynamic roots
registration.
(ggc_register_root_tab) Added new routine.
(ggc_mark_roots) Added iteration inside extra_root_vec, and invoke
PLUGIN_GGC_MARKING event.
* gcc/ggc-zone.c: Include plugin.h.
(ggc_collect): Invoke PLUGIN_GGC_START & PLUGIN_GGC_END events.
* gcc/ggc-page.c: Include plugin.h.
(ggc_collect): Invoke PLUGIN_GGC_START & PLUGIN_GGC_END events.
* gcc/plugin.c (plugin_event_name): added names of PLUGIN_GGC_START,
PLUGIN_GGC_MARKING, PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS
(register_callback): check lack of callbacks for
pseudo-events. Added handling of PLUGIN_REGISTER_GGC_ROOTS,
PLUGIN_GGC_START, PLUGIN_GGC_MARKING, PLUGIN_GGC_END.
(invoke_plugin_callbacks): Handle PLUGIN_GGC_START,
PLUGIN_GGC_MARKING, PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS.
* gcc/Makefile.in (ggc-common.o, ggc-zone.o, ggc-page.o): Added
dependency on plugin.h.
(plugin.o): Added dependency on ggc.h...
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147878
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 26 May 2009 17:08:57 +0000 (17:08 +0000)]
revert
* config/arm/neon-gen.ml: Include vxWorks.h rather than stdint.h
for VxWorks kernels.
* config/arm/arm_neon.h: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147877
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 26 May 2009 15:54:54 +0000 (15:54 +0000)]
2009-05-26 Richard Guenther <rguenther@suse.de>
* gcc.dg/tree-ssa/inline-3.c: Remove dump file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147876
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 26 May 2009 14:17:38 +0000 (14:17 +0000)]
2009-05-26 Richard Guenther <rguenther@suse.de>
PR middle-end/40248
Revert
* expr.c (expand_expr_real_1): Avoid calling do_store_flag
with mismatched comparison modes.
* expr.c (expand_expr_real_1): Expand the operand of a
VIEW_CONVERT_EXPR in its natural mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147874
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 26 May 2009 14:02:04 +0000 (14:02 +0000)]
./:
* Makefile.in (COMPILER, COMPILER_FLAGS): Define.
(COMPILER_FOR_BUILD, BUILD_COMPILERFLAGS): Define.
(ALL_COMPILERFLAGS): Define.
(.c.o, xgcc$(exeext), cpp$(exeext)): Use $(COMPILER).
(cc1-dummy$(exeext), cc1$(exeext)): Likewise.
(collect2$(exeext), collect2.o): Likewise.
(c-opts.o, c-cppbuiltin.o, c-pch.o, gcc.o, gccspec.o): Likewise.
(gcc-options.o, version.o, prefix.o, toplev.o): Likewise.
($(out_object_file), mips-tfile, mips-tdump): Likewise.
(libbackend.o, intl.o, cppdefault.o): Likewise.
(gcov$(exeext), gcov-dump$(exeext)): Likewise.
(build/%.o): Use $(COMPILER_FOR_BUILD).
(build/gen%$(build_exeext)): Likewise.
(build/gcov-iov$(build_exeext)): LIkewise.
* config/t-darwin (darwin.o): Use $(COMPILER).
(darwin-c.o, darwin-f.o, darwin-driver.o): Likewise.
* config/t-sol2 (sol2-c.o): Likewise.
(sol2.o): Likewise.
* config/t-vxworks (vxworks.o): Likewise.
* config/x-darwin (host-darwin.o): Likewise.
* config/x-hpux (host-hpux.o): Likewise.
* config/x-linux (host-linux.o): Likewise.
* config/x-solaris (host-solaris.o): Likewise.
* config/alpha/x-alpha (driver-alpha.o): Likewise.
* config/arm/t-arm (arm-c.o): Likewise.
* config/arm/t-pe (pe.o): Likewise.
* config/arm/t-wince-pe (pe.o): Likewise.
* config/i386/t-cygming (winnt.o): Likewise.
(winnt-cxx.o, winnt-stubs.o, msformat-c.o): Likewise.
* config/i386/t-cygwin (cygwin1.o): Likewise.
(cygwin2.o): Likewise.
* config/i386/t-i386 (i386-c.o): Likewise.
* config/i386/t-interix (winnt.o): Likewise.
* config/i386/t-netware (netware.o): Likewise.
* config/i386/t-nwld (nwld.o): Likewise.
* config/i386/x-darwin (host-i386-darwin.o): Likewise.
* config/i386/x-i386 (driver-i386.o): Likewise.
* config/i386/x-cygwin (host-cygwin.o): Likewise.
* config/i386/x-mingw32 (host-mingw32.o): Likewise.
* config/ia64/t-ia64 (ia64-c.o): Likewise.
* config/m32c/t-m32c (m32c-pragma.o): Likewise.
* config/mips/x-native (driver-native.o): Likewise.
* config/rs6000/t-rs6000 (rs6000-c.o): Likewise.
* config/rs6000/x-darwin (host-ppc-darwin.o): Likewise.
* config/rs6000/x-darwin64 (host-ppc64-darwin.o): Likewise.
* config/rs6000/x-rs6000 (driver-rs6000.o): Likewise.
* config/score/t-score-elf (score7.o): Likewise.
(score3.o): Likewise.
* config/sh/t-sh (sh-c.o): Likewise.
* config/sh/t-symbian (sh-c.o): Likewise.
(symbian.o): Likewise.
* config/spu/t-spu-elf (spu-c.o): Likewise.
* config/v850/t-v850 (v850-c.o): Likewise.
* config/v850/t-v850e (v850-c.o): Likewise.
ada/:
* gcc-interface/Makefile.in (COMPILER): Define.
(COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
(.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
(seh_init.o, tracebak.o): Likewise.
* gcc-interface/Make-lang.in (ada/targext.o): Likewise.
(ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
(ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
(ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
(ada/utils2.o): Likewise.
cp/:
* Make-lang.in (g++spec.o): Use $(COMPILER).
(g++$(exeext), cc1plus-dummy$(exeext)): Likewise.
(cc1plus$(exeext)): Likewise.
fortran/:
* Make-lang.in (gfortranspec.o): Use $(COMPILER).
(gfortran$(exeext), f951$(exeext), fortran/cpp.o): Likewise.
java/:
* Make-lang.in (jvspec.o): Use $(COMPILER).
($(XGCJ)$(exeext), jc1$(exeext), jcf-dump$(exeext)): Likewise.
(jvgenmain$(exeext), java/jcf-io.o, java/jcf-path.o): Likewise.
objc/:
* Make-lang.in (cc1obj-dummy$(exeext)): Use $(COMPILER).
(cc1obj$(exeext)): Likewise.
objcp/:
* Make-lang.in (cc1objplus-dummy$(exeext)): Use $(COMPILER).
(cc1objplus$(exeext), objcp/objcp-act.o): Likwise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147873
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 26 May 2009 13:22:09 +0000 (13:22 +0000)]
* config/arm/neon-gen.ml: Include vxWorks.h rather than stdint.h
for VxWorks kernels.
* config/arm/arm_neon.h: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147870
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 26 May 2009 11:41:34 +0000 (11:41 +0000)]
2009-05-26 Richard Guenther <rguenther@suse.de>
PR middle-end/40252
* fold-const.c (fold_binary): Use the correct types for building
rotates.
* gcc.c-torture/compile/pr40252.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147868
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 26 May 2009 11:38:03 +0000 (11:38 +0000)]
2009-05-26 Richard Guenther <rguenther@suse.de>
PR middle-end/40252
* fold-const.c (fold_binary): Use the correct types for building
rotates.
* gcc.c-torture/compile/pr40252.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147867
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Tue, 26 May 2009 10:35:16 +0000 (10:35 +0000)]
Fix PR c++/40007
gcc/cp/ChangeLog:
PR c++/40007
* cp-tree.h (MEMBER_TYPES_NEEDING_ACCESS_CHECK): Remove this accessor.
(TI_TYPEDEFS_NEEDING_ACCESS_CHECKING): New accessor.
(get_types_needing_access_check): Declare new entry point.
* pt.c (append_type_to_template_for_access_check_1,
get_types_needing_access_check): New functions.
(perform_typedefs_access_check): Accept FUNCTION_DECLs and
RECORD_TYPEs rather than TEMPLATE_DECLs. Use the new
get_types_needing_access_check, no more
MEMBER_TYPES_NEEDING_ACCESS_CHECK.
(instantiate_class_template): Set input_location to the source
location of the most specialized template definition.
Perform access check using the RECORD_TYPE of the template, not its
associated most generic TEMPLATE_DECL.
(append_type_to_template_for_access_check): Augment function
comments. Use the new get_types_needing_access_check, not
MEMBER_TYPE_NEEDING_ACCESS_CHECK. Use the new
append_type_to_template_for_access_check_1 subroutine.
gcc/testsuite/ChangeLog:
PR c++/40007
* g++.dg/template/typedef18.C: New test.
* g++.dg/template/typedef19.C: Likewise.
* g++.dg/template/typedef20.C: Likewise.
* g++.dg/template/access11.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147866
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 26 May 2009 09:41:29 +0000 (09:41 +0000)]
2009-05-26 Richard Guenther <rguenther@suse.de>
PR testsuite/40247
* gcc.dg/struct/wo_prof_escape_substr_pointer.c: Obfuscate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147864
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 26 May 2009 08:48:02 +0000 (08:48 +0000)]
2009-05-26 Richard Guenther <rguenther@suse.de>
* tree-vect-data-refs.c (vect_create_data_ref_ptr): Remove
redundant calls to merge_alias_info.
(bump_vector_ptr): Likewise.
* tree-ssa-copy.c (merge_alias_info): Remove.
(replace_exp_1): Remove call to merge_alias_info.
(propagate_tree_value): Likewise.
(fini_copy_prop): Propagate points-to info.
* tree-flow.h (merge_alias_info): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147863
138bc75d-0d04-0410-961f-
82ee72b054a4
hariharans [Tue, 26 May 2009 08:19:34 +0000 (08:19 +0000)]
config/picochip/picochip.C (PARAM_INLINE_CALL_COST): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147862
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Tue, 26 May 2009 06:04:16 +0000 (06:04 +0000)]
* gfortran.h (GFC_MPC_RND_MODE): New.
* simplify.c (call_mpc_func): New helper function.
(gfc_simplify_cos, gfc_simplify_exp, gfc_simplify_log,
gfc_simplify_sin, gfc_simplify_sqrt): Add MPC support.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147860
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 26 May 2009 00:17:02 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147859
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 25 May 2009 23:01:02 +0000 (23:01 +0000)]
PR c++/38064
* typeck.c (cp_build_binary_op): Allow ENUMERAL_TYPE in
arithmetic comparisons.
(cp_common_type): Handle scoped enums.
* call.c (promoted_arithmetic_type_p): Don't use INTEGRAL_TYPE_P.
(add_builtin_candidate, add_builtin_candidates): Likewise.
(convert_like_real): Likewise.
* class.c (check_bitfield_decl): Likewise.
* decl.c (check_static_variable_definition): Likewise.
(compute_array_index_type): Likewise.
* decl2.c (grokbitfield): Likewise.
* init.c (build_new_1): Likewise.
* pt.c (convert_nontype_argument): Likewise.
(current_instantiation): Likewise.
* tree.c (pod_type_p): Likewise.
* typeck.c (build_static_cast_1): Likewise.
(build_reinterpret_cast_1): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147854
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 25 May 2009 21:59:24 +0000 (21:59 +0000)]
* cgraph.c (dump_cgraph_node): Dump size/time/benefit.
* cgraph.h (struct inline_summary): New filed self_wize,
size_inlining_benefit, self_time and time_inlining_benefit.
(struct cgraph_global_info): Replace insns by time ans size fields.
* ipa-cp (ipcp_cloning_candidate_p): Base estimate on size
(ipcp_estimate_growth, ipcp_insert_stage): Likewise.
(ipcp_update_callgraph): Do not touch function bodies.
* ipa-inline.c: Include except.h
(MAX_TIME): New constant.
(overall_insns): Remove.
(leaf_node_p): New.
(overall_size, max_benefit): New static variables.
(cgraph_estimate_time_after_inlining): New function.
(cgraph_estimate_size_after_inlining): Rewrite using benefits.
(cgraph_clone_inlined_nodes): Update size.
(cgraph_mark_inline_edge): Update size.
(cgraph_estimate_growth): Use size info.
(cgraph_check_inline_limits): Check size.
(cgraph_default_inline_p): Likewise.
(cgraph_edge_badness): Compute badness based on benefit and size cost.
(cgraph_decide_recursive_inlining): Check size.
(cgraph_decide_inlining_of_small_function): Update size; dump sizes and
times.
(cgraph_decide_inlining): Likewise.
(cgraph_decide_inlining_incrementally): Likewise; honor
PARAM_EARLY_INLINING_INSNS.
(likely_eliminated_by_inlining_p): New predicate.
(estimate_function_body_sizes): New function.
(compute_inline_parameters): Use it.
* except.c (must_not_throw_labels): New function.
* except.h (must_not_throw_labels): Declare.
* tree-inline.c (init_inline_once): Kill inlining_weigths
* tree-ssa-structalias.c: Avoid uninitialized warning.
* params.def (PARAM_MAX_INLINE_INSNS_SINGLE): Reduce to 300.
(PARAM_MAX_INLINE_INSNS_AUTO): Reduce to 60.
(PARAM_INLINE_CALL_COST): Remove.
(PARAM_EARLY_INLINING_INSNS): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147852
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 25 May 2009 15:18:21 +0000 (15:18 +0000)]
2009-05-25 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36327
* tree-ssa-alias.c (walk_non_aliased_vuses): Add second walker
callback for reference translation or lookup at the point
of may-defs.
* tree-ssa-alias.h (walk_non_aliased_vuses): Adjust prototype.
* tree-ssa-sccvn.c (get_ref_from_reference_ops): Bail out
for union COMPONENT_REFs.
(vn_reference_lookup_3): New callback. Lookup from memset
and CONSTRUCTOR assignment, translate through struct copies.
(vn_reference_lookup_pieces): Make sure to not free the
passed operands array. Adjust walk_non_aliased_vuses call.
(vn_reference_lookup): Adjust walk_non_aliased_vuses call,
make sure we do not leak memory.
* gcc.dg/tree-ssa/ssa-fre-24.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-25.c: Likewise.
* gcc.dg/tree-ssa/sra-2.c: Disable FRE.
* gcc.dg/vect/no-vfa-vect-43.c: Adjust.
* gcc.dg/vect/vect-40.c: Likewise.
* gcc.dg/vect/vect-42.c: Likewise.
* gcc.dg/vect/vect-46.c: Likewise.
* gcc.dg/vect/vect-76.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147851
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Mon, 25 May 2009 14:48:24 +0000 (14:48 +0000)]
2009-05-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/40176
* primary.c (gfc_match_varspec): Handle procedure pointer components
with array return value.
* resolve.c (resolve_expr_ppc): Ditto.
(resolve_symbol): Make sure the interface of a procedure pointer has
been resolved.
* trans-array.c (gfc_walk_function_expr): Handle procedure pointer
components with array return value.
* trans-expr.c (gfc_conv_component_ref,gfc_conv_procedure_call,
gfc_trans_arrayfunc_assign): Ditto.
(gfc_trans_pointer_assignment): Handle procedure pointer assignments,
where the rhs is a dummy argument.
* trans-types.c (gfc_get_ppc_type,gfc_get_derived_type): Handle
procedure pointer components with array return value.
2009-05-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/40176
* gfortran.dg/proc_ptr_18.f90: New.
* gfortran.dg/proc_ptr_19.f90: New.
* gfortran.dg/proc_ptr_comp_9.f90: New.
* gfortran.dg/proc_ptr_comp_10.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147850
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 25 May 2009 13:35:10 +0000 (13:35 +0000)]
2009-05-25 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.h (dump_points_to_solution): Declare.
* tree-inline.c (expand_call_inline): Reset the escaped and
callused solutions.
* tree-ssa-structalias.c (pass_build_ealias): New.
* tree-pass.h (pass_build_ealias): Declare.
* passes.c (init_optimization_passes): Add PTA during
early optimizations.
* tree-ssa-alias.c (dump_alias_info): Dump the ESCAPED
and CALLUSED solutions.
(dump_points_to_solution): New function, split out from ...
(dump_points_to_info_for): ... here.
* tree-parloops.c (parallelize_loops): Reset the escaped and
callused solutions.
* gcc.dg/tree-ssa/ssa-fre-14.c: Adjust.
* gcc.dg/tree-ssa/ssa-fre-15.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147848
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Mon, 25 May 2009 13:29:08 +0000 (13:29 +0000)]
2009-05-25 Tristan Gingold <gingold@adacore.com>
* makefile.vms: New file to compile gas on VMS.
* configure.com: New file to do configuration on VMS with DCL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147847
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Mon, 25 May 2009 12:12:08 +0000 (12:12 +0000)]
PR bootstrap/40027
* config/i386/i386.c (USE_HIDDEN_LINKONCE): Only define if missing.
* config/i386/sol2.h [!TARGET_GNU_LD] (USE_HIDDEN_LINKONCE): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147845
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Mon, 25 May 2009 07:56:32 +0000 (07:56 +0000)]
PR tree-optimization/40238
* tree-vect-stmts.c (vect_init_vector): Insert initialization
statements after basic block's labels.
* tree-vect-slp.c (vect_slp_transform_bb): Call destroy_bb_vec_info()
to free the allocated memory.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147844
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Mon, 25 May 2009 03:07:00 +0000 (03:07 +0000)]
2009-05-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Dominique Dhumieres
PR fortran/35732
PR fortran/39872
* trans-array.c (gfc_conv_ss_startstride): Add one to index.
* gfortran.dg/bounds_check_fail_3.f90: New test.
* gfortran.dg/bounds_check_fail_4.f90: New test.
* gfortran.dg/bounds_check_14.f90: Update test.
* gfortran.dg/bound_4.f90: Update test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147842
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 25 May 2009 00:16:47 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147840
138bc75d-0d04-0410-961f-
82ee72b054a4
kkojima [Sun, 24 May 2009 22:06:17 +0000 (22:06 +0000)]
* gcc/config/sh/sh.c (sh_set_return_address): Mark store of
return address with a USE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147836
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sun, 24 May 2009 16:12:58 +0000 (16:12 +0000)]
2009-05-24 Richard Guenther <rguenther@suse.de>
PR middle-end/40233
* tree.c (make_vector_type): Build the TYPE_DEBUG_REPRESENTATION_TYPEs
array type from the main variant of the inner type.
* gcc.c-torture/compile/pr40233.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147835
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 24 May 2009 12:39:17 +0000 (12:39 +0000)]
* Makefile.tpl (compare-target): Skip ./ada/*tools directories.
* Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147834
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 24 May 2009 11:26:53 +0000 (11:26 +0000)]
* gfortran.dg/erf_2.F90 (dg-options): Add -mieee
for alpha*-*-* targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147833
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sun, 24 May 2009 11:25:11 +0000 (11:25 +0000)]
2009-05-24 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config/vax/vax-protos.h (legitimate_constant_address_p): Change
definition to bool (from int) to un-break build.
(legitimate_constant_p, vax_mode_dependent_address_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147832
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sun, 24 May 2009 11:20:29 +0000 (11:20 +0000)]
2009-05-24 Paolo Bonzini <bonzini@gnu.org>
* tree-ssa-operands.h (push_stmt_changes, pop_stmt_changes,
discard_stmt_changes): Delete.
* tree-ssa-operands.c (scb_stack): Delete.
(init_ssa_operands): Do not initialize it.
(fini_ssa_operands): Do not free it.
(push_stmt_changes, pop_stmt_changes, discard_stmt_changes): Delete.
* tree-cfg.c (replace_uses_by): Replace pop_stmt_changes with
update_stmt, remove the others. Fix comments.
* tree-dfa.c (optimize_stack_restore): Likewise.
* tree-ssa-forwprop.c (forward_propagate_addr_expr): Likewise.
* tree-ssa-loop-ivopts.c (rewrite_use): Likewise.
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Likewise.
* tree-ssa-ccp.c (optimize_stack_restore, execute_fold_all_builtins):
Likewise.
* tree-ssa-propagate.c (substitute_and_fold): Likewise.
* tree-ssa-dom.c (propagate_rhs_into_lhs): Likewise.
(dom_opt_finalize_block): Likewise, adjusting access to stmts_to_rescan.
(optimize_stmt): Likewise, adjusting access to stmts_to_rescan.
(stmts_to_rescan): Change item type to gimple.
(tree_ssa_dominator_optimize): Change type of stmts_to_rescan.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147831
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Sun, 24 May 2009 09:14:53 +0000 (09:14 +0000)]
* switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
* switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
Add -auxbase variants to the list of recognized internal switches.
* back_end.adb (Scan_Back_End_Switches): Use the new functions and
adjust comments.
* lib.ads: Make comment on internal GCC switches more general.
* gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
as for C.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147830
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Sun, 24 May 2009 08:44:56 +0000 (08:44 +0000)]
* doc/passes.texi (Tree-SSA passes): Document SLP pass.
* tree-pass.h (pass_slp_vectorize): New pass.
* params.h (SLP_MAX_INSNS_IN_BB): Define.
* timevar.def (TV_TREE_SLP_VECTORIZATION): Define.
* tree-vectorizer.c (timevar.h): Include.
(user_vect_verbosity_level): Declare.
(vect_location): Fix comment.
(vect_set_verbosity_level): Update user_vect_verbosity_level
instead of vect_verbosity_level.
(vect_set_dump_settings): Add an argument. Ignore user defined
verbosity if dump flags require higher level of verbosity. Print to
stderr only for loop vectorization.
(vectorize_loops): Update call to vect_set_dump_settings.
(execute_vect_slp): New function.
(gate_vect_slp): Likewise.
(struct gimple_opt_pass pass_slp_vectorize): New.
* tree-vectorizer.h (struct _bb_vec_info): Define along macros to
access its members.
(vec_info_for_bb): New function.
(struct _stmt_vec_info): Add bb_vinfo and a macro for its access.
(VECTORIZATION_ENABLED): New macro.
(SLP_ENABLED, SLP_DISABLED): Likewise.
(vect_is_simple_use): Add bb_vec_info argument.
(new_stmt_vec_info, vect_analyze_data_ref_dependences,
vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment,
vect_analyze_data_ref_accesses, vect_analyze_data_refs,
vect_schedule_slp, vect_analyze_slp): Likewise.
(vect_analyze_stmt): Add slp_tree argument.
(find_bb_location): Declare.
(vect_slp_analyze_bb, vect_slp_transform_bb): Likewise.
* tree-vect-loop.c (new_loop_vec_info): Adjust function calls.
(vect_analyze_loop_operations, vect_analyze_loop,
get_initial_def_for_induction, vect_create_epilog_for_reduction,
vect_finalize_reduction, vectorizable_reduction,
vectorizable_live_operation, vect_transform_loop): Likewise.
* tree-data-ref.c (dr_analyze_innermost): Update comment,
skip evolution analysis if analyzing a basic block.
(dr_analyze_indices): Likewise.
(initialize_data_dependence_relation): Skip the test whether the
object is invariant for basic blocks.
(compute_all_dependences): Skip dependence analysis for data
references in basic blocks.
(find_data_references_in_stmt): Don't fail in case of invariant
access in basic block.
(find_data_references_in_bb): New function.
(find_data_references_in_loop): Move code to
find_data_references_in_bb and add a call to it.
(compute_data_dependences_for_bb): New function.
* tree-data-ref.h (compute_data_dependences_for_bb): Declare.
* tree-vect-data-refs.c (vect_check_interleaving): Adjust to the case
that STEP is 0.
(vect_analyze_data_ref_dependence): Check for interleaving in case of
unknown dependence in basic block and fail in case of dependence in
basic block.
(vect_analyze_data_ref_dependences): Add bb_vinfo argument, get data
dependence instances from either loop or basic block vectorization
info.
(vect_compute_data_ref_alignment): Check if it is loop vectorization
before calling nested_in_vect_loop_p.
(vect_compute_data_refs_alignment): Add bb_vinfo argument, get data
dependence instances from either loop or basic block vectorization
info.
(vect_verify_datarefs_alignment): Likewise.
(vect_enhance_data_refs_alignment): Adjust function calls.
(vect_analyze_data_refs_alignment): Likewise.
(vect_analyze_group_access): Fix printing. Skip different checks if
DR_STEP is 0. Keep strided stores either in loop or basic block
vectorization data structure. Fix indentation.
(vect_analyze_data_ref_access): Fix comments, allow zero step in
basic blocks.
(vect_analyze_data_ref_accesses): Add bb_vinfo argument, get data
dependence instances from either loop or basic block vectorization
info.
(vect_analyze_data_refs): Update comment. Call
compute_data_dependences_for_bb to analyze basic blocks.
(vect_create_addr_base_for_vector_ref): Check for outer loop only in
case of loop vectorization. In case of basic block vectorization use
data-ref itself as a base.
(vect_create_data_ref_ptr): In case of basic block vectorization:
don't advance the pointer, add new statements before the current
statement. Adjust function calls.
(vect_supportable_dr_alignment): Support only aligned accesses in
basic block vectorization.
* common.opt (ftree-slp-vectorize): New flag.
* tree-vect-patterns.c (widened_name_p): Adjust function calls.
(vect_pattern_recog_1): Likewise.
* tree-vect-stmts.c (process_use): Likewise.
(vect_init_vector): Add new statements in the beginning of the basic
block in case of basic block SLP.
(vect_get_vec_def_for_operand): Adjust function calls.
(vect_finish_stmt_generation): Likewise.
(vectorizable_call): Add assert that it is loop vectorization, adjust
function calls.
(vectorizable_conversion, vectorizable_assignment): Likewise.
(vectorizable_operation): In case of basic block SLP, take
vectorization factor from statement's type and skip the relevance
check. Adjust function calls.
(vectorizable_type_demotion): Add assert that it is loop
vectorization, adjust function calls.
(vectorizable_type_promotion): Likewise.
(vectorizable_store): Check for outer loop only in case of loop
vectorization. Adjust function calls. For basic blocks, skip the
relevance check and don't advance pointers.
(vectorizable_load): Likewise.
(vectorizable_condition): Add assert that it is loop vectorization,
adjust function calls.
(vect_analyze_stmt): Add argument. In case of basic block SLP, check
that it is not reduction, get vector type, call only supported
functions, skip loop specific parts.
(vect_transform_stmt): Check for outer loop only in case of loop
vectorization.
(new_stmt_vec_info): Add new argument and initialize bb_vinfo.
(vect_is_simple_use): Fix comment, add new argument, fix conditions
for external definition.
* passes.c (pass_slp_vectorize): New pass.
* tree-vect-slp.c (find_bb_location): New function.
(vect_get_and_check_slp_defs): Add argument, adjust function calls,
check for patterns only in loops.
(vect_build_slp_tree): Add argument, adjust function calls, fail in
case of multiple types in basic block SLP.
(vect_mark_slp_stmts_relevant): New function.
(vect_supported_load_permutation_p): Fix comment.
(vect_analyze_slp_instance): Add argument. In case of basic block
SLP, take vectorization factor from statement's type, check that
unrolling factor is 1. Adjust function call. Save SLP instance in
either loop or basic block vectorization structure. Return FALSE,
if SLP failed.
(vect_analyze_slp): Add argument. Get strided stores groups from
either loop or basic block vectorization structure. Return FALSE
if basic block SLP failed.
(new_bb_vec_info): New function.
(destroy_bb_vec_info, vect_slp_analyze_node_operations,
vect_slp_analyze_operations, vect_slp_analyze_bb): Likewise.
(vect_schedule_slp): Add argument. Get SLP instances from either
loop or basic block vectorization structure. Set vectorization factor
to be 1 for basic block SLP.
(vect_slp_transform_bb): New function.
* params.def (PARAM_SLP_MAX_INSNS_IN_BB): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147829
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sun, 24 May 2009 04:44:50 +0000 (04:44 +0000)]
2009-05-24 Eelis van der Weegen <eelis@eelis.net>
* libsupc++/initializer_list (initializer_list): Add missing typedefs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147828
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 24 May 2009 00:16:52 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147827
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Sat, 23 May 2009 17:56:14 +0000 (17:56 +0000)]
* final.c (shorten_branches): Do not align labels for jump tables.
(final_scan_insn): Use JUMP_TABLE_DATA_P.
* gcc.dg/falign-labels-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147824
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 23 May 2009 17:54:11 +0000 (17:54 +0000)]
* doc/passes.texi: Standardize spelling of RTL, Tree and Tree SSA.
Remove outdated reference to flow.c and fix nits.
* doc/gccint.texi: Tweak RTL description.
* doc/rtl.texi: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147821
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 23 May 2009 10:56:12 +0000 (10:56 +0000)]
* gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147820
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 23 May 2009 10:51:18 +0000 (10:51 +0000)]
* gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147819
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 23 May 2009 10:37:34 +0000 (10:37 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
original type because of the alignment when there is an address clause.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147818
138bc75d-0d04-0410-961f-
82ee72b054a4
denisc [Sat, 23 May 2009 07:16:07 +0000 (07:16 +0000)]
* config/avr/avr.c: Change my email address.
* config/avr/avr.h: Likewise.
* config/avr/avr.md: Likewise.
* config/avr/avr-protos.h: Likewise.
* config/avr/libgcc.S: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147817
138bc75d-0d04-0410-961f-
82ee72b054a4
tsmigiel [Sat, 23 May 2009 02:28:14 +0000 (02:28 +0000)]
Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
* config/spu/spu-protos.h (aligned_mem_p, spu_valid_mov): Remove.
(spu_split_load, spu_split_store): Change return type to int.
(spu_split_convert): Declare.
* config/spu/predicates.md (spu_mem_operand): Remove.
(spu_mov_operand): Update.
(spu_dest_operand, shiftrt_operator, extend_operator): Define.
* config/spu/spu.c (regno_aligned_for_load): Remove.
(reg_aligned_for_addr, spu_expand_load): Define.
(spu_expand_extv): Reimplement and handle MEM.
(spu_expand_insv): Handle MEM.
(spu_sched_reorder): Handle insn's with length 0.
(spu_legitimate_address_p): Reimplement.
(store_with_one_insn_p): Return TRUE for any mode with size
larger than 16 bytes.
(address_needs_split): Define.
(spu_expand_mov): Call spu_split_load and spu_split_store for MEM
operands.
(spu_convert_move): Define.
(spu_split_load): Use spu_expand_load and change all MEM's to
TImode.
(spu_split_store): Change all MEM's to TImode.
(spu_init_expanders): Preallocate registers that correspond to
LAST_VIRTUAL_REG+1 and LAST_VIRTUAL_REG+2 and set them with
mark_reg_pointer.
(spu_split_convert): Define.
* config/spu/spu.md (QHSI, QHSDI): New mode iterators.
(_move<mode>, _movdi, _movti): Update predicate and condition.
(load, store): Change to define_split.
(extendqiti2, extendhiti2, extendsiti2, extendditi2): Simplify to
extend<mode>ti2.
(zero_extendqiti2, zero_extendhiti2, <v>lshr<mode>3_imm): Define.
(lshr<mode>3, lshr<mode>3_imm, lshr<mode>3_re): Simplify to one
define_insn_and_split of lshr<mode>3.
(shrqbybi_<mode>, shrqby_<mode>): Simplify to define_expand.
(<v>ashr<mode>3_imm): Define.
(extv, extzv, insv): Allow MEM operands.
(trunc_shr_ti<mode>, trunc_shr_tidi, shl_ext_<mode>ti,
shl_ext_diti, sext_trunc_lshr_tiqisi, zext_trunc_lshr_tiqisi,
sext_trunc_lshr_tihisi, zext_trunc_lshr_tihisi): Define for combine.
(_spu_convert2): Change to define_insn_and_split and remove the
corresponding define_peephole2.
(stack_protect_set, stack_protect_test, stack_protect_test_si):
Change predicates to memory_operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147814
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Sat, 23 May 2009 01:36:37 +0000 (01:36 +0000)]
Fix typo in ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147813
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Sat, 23 May 2009 01:34:53 +0000 (01:34 +0000)]
* config/arm/thumb2.md: Add 16-bit multiply instructions.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_arm_thumb2_ok):
New function.
* gcc.target/arm/thumb2-mul-space.c: New file.
* gcc.target/arm/thumb2-mul-space-2.c: New file.
* gcc.target/arm/thumb2-mul-space-3.c: New file.
* gcc.target/arm/thumb2-mul-speed.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147812
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 23 May 2009 00:16:43 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147811
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Fri, 22 May 2009 21:51:12 +0000 (21:51 +0000)]
Fix PR tree-optimization/40219
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147807
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 22 May 2009 20:41:31 +0000 (20:41 +0000)]
2009-05-22 Richard Guenther <rguenther@suse.de>
PR middle-end/38964
* alias.c (write_dependence_p): Do not use TBAA for answering
anti-dependence or output-dependence.
* tree-ssa-structalias.c (set_uids_in_ptset): Remove TBAA pruning
code.
(emit_pointer_definition): Remove.
(emit_alias_warning): Likewise.
(find_what_var_points_to): Remove TBAA pruning code.
(find_what_p_points_to): Likewise. Do not warn about strict-aliasing
violations.
(compute_points_to_sets): Remove code computing the set of
dereferenced pointers.
* tree-data-ref.c (dr_may_alias_p): Properly use the split
oracle for querying anti and output dependencies.
* tree-ssa-alias.c (refs_may_alias_p_1): Add argument specifying
if TBAA may be applied.
(refs_anti_dependent_p): New function.
(refs_output_dependent_p): Likewise.
* tree-ssa-alias.h (refs_anti_dependent_p): Declare.
(refs_output_dependent_p): Likewise.
* doc/tree-ssa.texi (Memory model): New section.
testsuite/
* g++.dg/warn/Wstrict-aliasing-float-ref-int-obj.C: XFAIL.
* gcc.dg/Wstrict-aliasing-converted-assigned.c: Likewise.
* gcc.dg/Wstrict-aliasing-float-ptr-int-obj.c: Likewise.
* doc/c-tree.texi (CHANGE_DYNAMIC_TYPE_EXPR): Remove.
* doc/gimple.texi (GIMPLE_CHANGE_DYNAMIC_TYPE): Remove.
* cfgexpand.c (expand_gimple_basic_block): Do not handle
GIMPLE_CHANGE_DYNAMIC_TYPE or CHANGE_DYNAMIC_TYPE_EXPR.
* expr.c (expand_expr_real_1): Likewise.
* gimple-low.c (lower_stmt): Likewise.
* gimple-pretty-print.c (dump_gimple_stmt): Likewise.
(dump_gimple_cdt): Remove.
* gimple.c (gss_for_code): Do not handle GIMPLE_CHANGE_DYNAMIC_TYPE.
(gimple_size): Likewise.
(walk_gimple_op): Likewise.
(is_gimple_stmt): Likewise.
(walk_stmt_load_store_addr_ops): Likewise.
(gimple_build_cdt): Remove.
* gimple.def (GIMPLE_CHANGE_DYNAMIC_TYPE): Remove.
* gimple.h (gimple_cdt_new_type): Remove.
(gimple_cdt_new_type_ptr): Likewise.
(gimple_cdt_set_new_type): Likewise.
(gimple_cdt_location): Likewise.
(gimple_cdt_location_ptr): Likewise.
(gimple_cdt_set_location): Likewise.
* gimplify.c (gimplify_expr): Do not handle CHANGE_DYNAMIC_TYPE_EXPR.
* tree-cfg.c (remove_useless_stmts_1): Do not handle
GIMPLE_CHANGE_DYNAMIC_TYPE.
(verify_types_in_gimple_stmt): Likewise.
* tree-inline.c (estimate_num_insns): Likewise.
(expand_call_inline): Do not copy DECL_NO_TBAA_P.
(copy_decl_to_var): Likewise.
(copy_result_decl_to_var): Likewise.
* tree-pretty-print.c (dump_generic_node): Do not handle
CHANGE_DYNAMIC_TYPE_EXPR.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* tree-ssa-structalias.c (struct variable_info): Remove
no_tbaa_pruning member.
(new_var_info): Do not set it based on DECL_NO_TBAA_P.
(unify_nodes): Do not copy it.
(find_func_aliases): Do not handle GIMPLE_CHANGE_DYNAMIC_TYPE.
(dump_solution_for_var): Do not dump no_tbaa_pruning state.
(set_uids_in_ptset): Do not check it.
(find_what_var_points_to): Likewise.
(compute_tbaa_pruning): Remove.
(compute_points_to_sets): Do not call it.
* tree.c (walk_tree_1): Do not handle CHANGE_DYNAMIC_TYPE_EXPR.
* tree.def (CHANGE_DYNAMIC_TYPE_EXPR): Remove.
* tree.h (CHANGE_DYNAMIC_TYPE_NEW_TYPE): Remove.
(CHANGE_DYNAMIC_TYPE_LOCATION): Likewise.
(DECL_NO_TBAA_P): Likewise.
(struct tree_decl_common): Move no_tbaa_flag to unused flags section.
* omp-low.c (copy_var_decl): Do not copy DECL_NO_TBAA_P.
(expand_omp_atomic_pipeline): Do not set it.
* print-tree.c (print_node): Do not dump it.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Remove
redundant check.
cp/
* init.c (avoid_placement_new_aliasing): Remove.
(build_new_1): Do not call it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147805
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Fri, 22 May 2009 19:00:45 +0000 (19:00 +0000)]
2009-05-22 Vladimir Makarov <vmakarov@redhat.com>
PR target/39856
* reg-stack.c (subst_stack_regs_pat): Remove gcc_assert for note
for clobber.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147804
138bc75d-0d04-0410-961f-
82ee72b054a4
davek [Fri, 22 May 2009 17:58:45 +0000 (17:58 +0000)]
* src/x86/win32.S (_ffi_closure_STDCALL): New function.
(.eh_frame): Add FDE for it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147802
138bc75d-0d04-0410-961f-
82ee72b054a4
davek [Fri, 22 May 2009 16:22:53 +0000 (16:22 +0000)]
* configure.ac: Also check if assembler supports pc-relative
relocs on X86_WIN32 targets.
* configure: Regenerate.
* src/x86/win32.S (ffi_prep_args): Declare extern, not global.
(_ffi_call_SYSV): Add missing function type symbol .def and
add EH markup labels.
(_ffi_call_STDCALL): Likewise.
(_ffi_closure_SYSV): Likewise.
(_ffi_closure_raw_SYSV): Likewise.
(.eh_frame): Add hand-crafted EH data.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147800
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Fri, 22 May 2009 14:57:15 +0000 (14:57 +0000)]
gcc/
* tree.c (handle_dll_attribute): Mark dllexport'd inlines as
non-external.
gcc/cp
* decl2.c (decl_needed_p): Consider dllexport'd functions needed.
* semantics.c (expand_or_defer_fn): Similarly.
gcc/testsuite/
* gcc.dg/dll-6.c: New test.
* gcc.dg/dll-6a.c: Likewise.
* gcc.dg/dll-7.c: Likewise.
* gcc.dg/dll-7a.c: Likewise.
* g++.dg/ext/dllexport2.C: Likewise.
* g++.dg/ext/dllexport2a.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147799
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Fri, 22 May 2009 07:19:37 +0000 (07:19 +0000)]
2009-05-21 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/40221
* include/tr1_impl/functional: Add explicit cast.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147794
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Fri, 22 May 2009 07:04:09 +0000 (07:04 +0000)]
PR fortran/40195
* module.c (read_md5_from_module_file): Close file before returning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147793
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Fri, 22 May 2009 06:08:04 +0000 (06:08 +0000)]
* Makefile.in (bversion.h, s-bversion): New targets.
(TOPLEV_H): Add bversion.h.
* toplev.h: Include "bversion.h".
(ATTRIBUTE_GCC_DIAG): When building with checking disabled, use
the __format__ attribute only if compiling with the same version
of GCC as the sources (the "build version").
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147792
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Fri, 22 May 2009 01:51:19 +0000 (01:51 +0000)]
* c-format.c (handle_format_attribute): Fix comment typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147790
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 22 May 2009 01:32:49 +0000 (01:32 +0000)]
2009-05-21 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40094
Revert:
2009-05-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/throw_allocator.h (throw_allocator_base): Avoid
out of line member functions definitions.
(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
Remove, use static locals instead.
(throw_allocator_base::do_check_allocated, print_to_string): Declare.
* src/throw_allocator.cc: New.
* src/Makefile.am: Add.
* config/abi/pre/gnu.ver: Add exports.
* src/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147789
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 22 May 2009 01:28:50 +0000 (01:28 +0000)]
2009-05-21 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40094
Revert:
2009-05-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/throw_allocator.h (throw_allocator_base): Avoid
out of line member functions definitions.
(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
Remove, use static locals instead.
(throw_allocator_base::do_check_allocated, print_to_string): Declare.
* src/throw_allocator.cc: New.
* src/Makefile.am: Add.
* config/abi/pre/gnu.ver: Add exports.
* src/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147788
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 22 May 2009 00:16:57 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147786
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Thu, 21 May 2009 23:53:02 +0000 (23:53 +0000)]
PR target/37846
* gcc.target/ia64/mfused-madd-vect.c: New test.
* gcc.target/ia64/mfused-madd.c: New test.
* gcc.target/ia64/mno-fused-madd-vect.c: New test.
* gcc.target/ia64/mno-fused-madd.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147783
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Thu, 21 May 2009 23:51:22 +0000 (23:51 +0000)]
PR target/37846
* config/ia64/ia64.opt (mfused-madd): New.
* config/ia64/ia64.h (TARGET_DEFAULT): Set MASK_FUSED_MADD.
* config/ia64/hpux.h (TARGET_DEFAULT): Ditto.
* config/ia64/ia64.md (maddsf4, msubsf4, nmaddsf4,
madddf4, madddf4_trunc, msubdf4, msubdf4_trunc, nmadddf4,
nmadddf4_truncsf, maddxf4, maddxf4_truncsf, maddxf4_truncdf,
msubxf4, msubxf4_truncsf msubxf4_truncdf, nmaddxf4,
nmaddxf4_truncsf, nmaddxf4_truncdf): Check TARGET_FUSED_MADD.
* config/ia64/vect.md (addv2sf3, subv2sf3): Force fpma/fpms
instruction if !TARGET_FUSED_MADD.
(fpma, fpms): Remove colon from name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147782
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 21 May 2009 22:43:19 +0000 (22:43 +0000)]
2009-05-22 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record
TMR_ORIGINAL. Always either record TMR_SYMBOL or TMR_BASE.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
TARGET_MEM_REF.
(create_expression_by_pieces): Only convert if necessary.
* gimplify.c (gimplify_expr): Handle TARGET_MEM_REF.
* tree-ssa-loop-im.c (gen_lsm_tmp_name): Handle INTEGER_CST.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147779
138bc75d-0d04-0410-961f-
82ee72b054a4
nemet [Thu, 21 May 2009 20:22:45 +0000 (20:22 +0000)]
* config/mips/mips.md (*extzv_trunc<mode>_exts): Turn into a
regular pattern from a template and rename it ...
(*extzv_truncsi_exts): ... to this.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147778
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 21 May 2009 18:59:11 +0000 (18:59 +0000)]
2009-05-21 Richard Guenther <rguenther@suse.de>
* cgraph.h (struct cgraph_node): Remove inline_decl member.
* ipa-inline.c (cgraph_mark_inline_edge): Do not check it.
(cgraph_default_inline_p): Likewise.
(cgraph_decide_inlining_incrementally): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147776
138bc75d-0d04-0410-961f-
82ee72b054a4
denisc [Thu, 21 May 2009 18:46:07 +0000 (18:46 +0000)]
* MAINTAINERS: Update my e-mail address.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147775
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Thu, 21 May 2009 18:42:20 +0000 (18:42 +0000)]
gcc/
2009-05-21 H.J. Lu <hongjiu.lu@intel.com>
Uros Bizjak <ubizjak@gmail.com>
* config/i386/cpuid.h (bit_MOVBE): New.
* config/i386/driver-i386.c (host_detect_local_cpu): Check movbe.
* config/i386/i386.c (OPTION_MASK_ISA_MOVBE_SET): New.
(OPTION_MASK_ISA_MOVBE_UNSET): Likewise.
(ix86_handle_option): Handle OPT_mmovbe.
(ix86_target_string): Add -mmovbe.
(pta_flags): Add PTA_MOVBE.
(processor_alias_table): Add PTA_MOVBE to "atom".
(override_options): Handle PTA_MOVBE.
* config/i386/i386.h (TARGET_MOVBE): New.
* config/i386/i386.md (bswapsi2): Check TARGET_MOVBE.
(*bswapsi_movbe): New.
(*bswapdi_movbe): Likewise.
(bswapdi2): Renamed to ...
(*bswapdi_1): This.
(bswapdi2): New expander.
* config/i386/i386.opt (mmovbe): New.
* doc/invoke.texi: Document -mmovbe.
gcc/testsuite/
2009-05-21 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/movbe-1.c: New.
* gcc.target/i386/movbe-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147773
138bc75d-0d04-0410-961f-
82ee72b054a4
tglek [Thu, 21 May 2009 17:34:43 +0000 (17:34 +0000)]
gcc/ChangeLog
* plugin.c (try_init_one_plugin): Updated to new plugin_init API.
* gcc-plugin.h (plugin_init): Updated signature.
* gcc-plugin.h (plugin_name_args): Moved to this header.
* doc/plugins.texi (plugin_init): Updated documention to reflect API change.
* doc/plugins.texi (plugin_name_args): Added to documention.
gcc/testsuite/ChangeLog
* gcc.dg/plugin/selfassign.c (plugin_init): Updated to new plugin_init signature.
* g++.dg/plugin/selfassign.c (plugin_init): Updated to new plugin_init signature.
* g++.dg/plugin/dumb_plugin.c (plugin_init): Updated to new plugin_init signature.
* g++.dg/plugin/attribute_plugin.c (plugin_init): Updated to new plugin_init signature.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147772
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Thu, 21 May 2009 16:53:48 +0000 (16:53 +0000)]
* config/arm/neon.md (*mul<mode>3add<mode>_neon): New pattern.
(*mul<mode>3neg<mode>add<mode>_neon): Likewise.
* gcc.dg/target/arm/neon-vmla-1.c: New.
* gcc.dg/target/arm/neon-vmls-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147771
138bc75d-0d04-0410-961f-
82ee72b054a4
davek [Thu, 21 May 2009 14:42:22 +0000 (14:42 +0000)]
* configure.ac (cygwin noconfigdirs): Remove libgcj.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147770
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 21 May 2009 14:01:02 +0000 (14:01 +0000)]
2009-05-21 Shujing Zhao <pearly.zhao@oracle.com>
* config/i386/i386.c: Use REG_P, MEM_P, CONST_INT_P, LABEL_P and
JUMP_TABLE_DATA_P predicates where applicable.
* config/i386/predicates.md: Ditto.
* config/i386/sse.md: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147769
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 21 May 2009 13:32:47 +0000 (13:32 +0000)]
* config/i386/i386.md (adddi_4_rex64, addsi_4, addhi_4): For
operand2 -128 override length_immediate attribute to 1.
* config/i386/predicates.md (constm128_operand): New predicate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147767
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 21 May 2009 13:00:30 +0000 (13:00 +0000)]
* config/i386/i386.c (memory_address_length): Handle %r12
the same as %rsp and %r13 the same as %rbp. For %rsp and %rbp
also check REGNO.
(ix86_attr_length_address_default): For MODE_SI lea in 64-bit
mode look through optional ZERO_EXTEND and SUBREG.
* config/i386/i386.md (R12_REG): New define_constant.
(prefix_data16): For sse unit set also for MODE_TI insns.
(prefix_rex): For -m32 always return 0. For TYPE_IMOVX
insns set if operand 1 is ext_QIreg_operand.
(modrm): For TYPE_IMOV clear only if not MODE_DI. For
TYPE_{ALU{,1},ICMP,TEST} insn clear if there is non-shortened
immediate.
(*movdi_extzv_1, zero_extendhidi2, zero_extendqidi2): Change
mode from MODE_DI to MODE_SI.
(movdi_1_rex64): Override modrm and length_immediate attributes
only for movabs (TYPE_IMOV, alternative 2).
(zero_extendsidi2_rex64): Clear prefix_0f attribute if TYPE_IMOVX.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Set
prefix_rex attribute if DImode.
(*adddi_1_rex64, *adddi_2_rex64, *adddi_3_rex64, *adddi_5_rex64,
*addsi_1, *addsi_1_zext, *addsi_2, *addsi_2_zext, *addsi_3,
*addsi_3_zext, *addsi_5, *addhi_1_lea, *addhi_1, *addhi_2, *addhi_3,
*addhi_5, *addqi_1_lea, *addqi_1): Override length_immediate
attribute to 1 if TYPE_ALU and operand 2 is const128_operand.
(pro_epilogue_adjust_stack_1, pro_epilogue_adjust_stack_rex64):
Likewise. For TYPE_IMOV clear length_immediate attribute.
(*ashldi3_1_rex64, *ashldi3_cmp_rex64, *ashldi3_cconly_rex64,
*ashlsi3_1, *ashlsi3_1_zext, *ashlsi3_cmp, **ashlsi3_cconly,
*ashlsi3_cmp_zext, *ashlhi3_1_lea, *ashlhi3_1, *ashlhi3_cmp,
*ashlhi3_cconly, *ashlqi3_1_lea, *ashlqi3_1, *ashlqi3_cmp,
*ashlqi3_cconly): Override length_immediate attribute to 0 if TYPE_ALU
or one operand TYPE_ISHIFT.
(*ashrdi3_1_one_bit_rex64, *ashrdi3_one_bit_cmp_rex64,
*ashrdi3_one_bit_cconly_rex64, *ashrsi3_1_one_bit,
*ashrsi3_1_one_bit_zext, *ashrsi3_one_bit_cmp,
*ashrsi3_one_bit_cconly, *ashrsi3_one_bit_cmp_zext,
*ashrhi3_1_one_bit, *ashrhi3_one_bit_cmp, *ashrhi3_one_bit_cconly,
*ashrqi3_1_one_bit, *ashrqi3_1_one_bit_slp, *ashrqi3_one_bit_cmp,
*ashrqi3_one_bit_cconly, *lshrdi3_1_one_bit_rex64,
*lshrdi3_cmp_one_bit_rex64, *lshrdi3_cconly_one_bit_rex64,
*lshrsi3_1_one_bit, *lshrsi3_1_one_bit_zext, *lshrsi3_one_bit_cmp,
*lshrsi3_one_bit_cconly, *lshrsi3_cmp_one_bit_zext,
*lshrhi3_1_one_bit, *lshrhi3_one_bit_cmp, *lshrhi3_one_bit_cconly,
*lshrqi3_1_one_bit, *lshrqi3_1_one_bit_slp, *lshrqi2_one_bit_cmp,
*lshrqi2_one_bit_cconly, *rotlsi3_1_one_bit_rex64, *rotlsi3_1_one_bit,
*rotlsi3_1_one_bit_zext, *rotlhi3_1_one_bit, *rotlqi3_1_one_bit_slp,
*rotlqi3_1_one_bit, *rotrdi3_1_one_bit_rex64, *rotrsi3_1_one_bit,
*rotrsi3_1_one_bit_zext, *rotrhi3_one_bit, *rotrqi3_1_one_bit,
*rotrqi3_1_one_bit_slp): Override length_immediate attribute to 0,
set mode attribute, don't override length attribute.
(*btsq, *btrq, *btcq, *btdi_rex64, *btsi): Set prefix_0f attribute
to 1.
(return_internal_long): Set length attribute to 2 instead of 1.
(*strmovqi_rex_1, *strsetqi_rex_1, *rep_stosqi_rex64,
*cmpstrnqi_nz_rex_1, *cmpstrnqi_rex_1, *strlenqi_rex_1): Clear
prefix_rex attribute.
* config/i386/predicates.md (ext_QIreg_operand,
const128_operand): New predicates.
(memory_displacement_only_operand): Always return 0 for
TARGET_64BIT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147763
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Thu, 21 May 2009 08:46:40 +0000 (08:46 +0000)]
2009-05-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/thumb2.md (orsi_notsi_si): Fix typo in pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147761
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 21 May 2009 05:58:39 +0000 (05:58 +0000)]
./:
* tree.c (build_tree_list_vec_stat): New function.
(ctor_to_vec): New function.
(build_nt_call_vec): New function.
(build_call_array): Change args to be a const pointer.
(build_call_vec): New function.
* tree.h (build_nt_call_vec): Declare.
(build_tree_list_vec_stat): Declare.
(build_tree_list_vec): Define.
(build_call_array): Update declaration.
(build_call_vec): Declare.
(ctor_to_vec): Declare.
* c-common.c (tree_vector_cache): New static variable.
(make_tree_vector): New function.
(release_tree_vector): New function.
(make_tree_vector_single): New function.
(make_tree_vector_copy): New function.
* c-common.h (tree_vector_cache, make_tree_vector): Declare.
(make_tree_vector_single, make_tree_vector_copy): Declare.
* c-parser.c (cached_expr_list_1, cached_expr_list_2): Remove.
(c_parser_expr_list): Don't manage cache here, instead call
make_tree_vector.
(c_parser_release_expr_list): Remove static function.
(c_parser_vec_to_tree_list): Remove static function.
(c_parser_attributes): Call build_tree_list_vec instead of
c_parser_vec_to_tree_list. Call release_tree_vector instead of
c_parser_release_expr_list.
(c_parser_postfix_expression_after_primary): Likewise.
(c_parser_objc_keywordexpr): Likewise.
cp/:
* parser.c (cp_parser_postfix_expression): Change args to a vec.
Release it when done.
(tree_vector): Define typedef. Define VEC functions.
(cp_parser_parenthesized_expression_list): Change return type to
vec. Change all callers.
(cp_parser_new_expression): Change placement and initializer to
vecs. Release them when done.
(cp_parser_new_placement): Change return type to vec. Change all
callers.
(cp_parser_new_initializer): Likewise.
* typeck.c (build_function_call_vec): Just call
cp_build_function_call_vec.
(cp_build_function_call): Just build a vec and call
cp_build_function_call_vec.
(cp_build_function_call_vec): New function based on old
cp_build_function_call.
(convert_arguments): Remove nargs and argarray parameters. Change
values to a vec. Change caller.
(build_x_compound_expr_from_vec): New function.
(cp_build_modify_expr): Build vec to pass to
build_special_member_call.
* call.c (struct z_candidate): Add first_arg field. Change args
field to vec.
(convert_class_to_reference): Handle first argument separately.
(add_candidate): Add first_arg parameter. Change args parameter
to vec. Change all callers.
(add_function_candidate, add_conv_candidate): Likewise.
(add_template_candidate_real, add_template_candidate): Likewise.
(add_template_conv_candidate): Likewise.
(build_user_type_conversion_1): Handle first argument separately.
(resolve_args): Change return type and parameter type to vecs.
Change all callers.
(perform_overload_resolution): Change args parameter to vec.
Change all callers.
(build_new_function_call, build_operator_new_call): Likewise.
(add_candidates): Likewise.
(build_op_call): New globally visible function, built from and
replacing static function build_object_call.
(build_new_op): Don't handle CALL_EXPR. Build vec, not tree_list,
of arguments.
(build_op_delete_call): Build vec to pass to
cp_build_function_call_vec.
(build_temp): Build vec to pass to build_special_member_call.
(convert_like_real): Likewise.
(perform_direct_initialization_if_possible): Likewise.
(build_over_call): Handle first_arg field. Use build_call_array
rather than build_call_list.
(build_special_member_call): Change args parameter to vec. Change
all callers.
(build_new_method_call): Likewise.
* init.c (expand_default_init): Change parms to vec.
(build_raw_new_expr): Change placement and init to vecs. Change
all callers.
(build_new_1, build_new): Likewise.
* class.c (resolve_address_of_overloaded_function): Build array to
pass to fn_type_unification.
* pt.c (tsubst_copy_and_build): For NEW_EXPR build vecs to pass to
build_new. For CALL_EXPR create a vec rather than a tree_list;
expand a pack if necessary.
(fn_type_unification): Change args parameter to const tree *. Add
nargs parameter. Change all callers.
(type_unification_real): Likewise.
(unify): Build array to pass to type_unification_real.
(get_bindings): Build array to pass to fn_type_unification.
(any_type_dependent_arguments_p): Change args parameter to a vec.
Change all callers.
(make_args_non_dependent): Renamed from build_non_dependent_args.
Change return type to void. Change parameter type to vec. Change
all callers.
(do_auto_deduction): Pass an array to type_unification_real.
* semantics.c (perform_koenig_lookup): Change args to vec. Change
all callers.
(finish_call_expr): Change args to vec. Change all callers. Call
build_op_call instead of passing CALL_EXPR to build_new_op.
(cxx_omp_create_clause_info): Allocate vec to pass to
build_special_member_call.
* decl2.c (build_offset_ref_call_from_tree): Change args parameter
to vec. Change all callers.
* name-lookup.c (lookup_function_nonclass): Likewise.
(struct arg_lookup): Change args to vec.
(arg_assoc_namespace): Handle args as a vec.
(arg_assoc_args_vec): New static function.
(lookup_arg_dependent): Change args parameter to vec. Change all
callers.
* method.c (do_build_assign_ref): Allocate vec to pass to
build_special_member_call.
* except.c (build_throw): Likewise.
* typeck2.c (build_functional_cast): Likewise.
* cvt.c (ocp_convert): Likewise.
* tree.c (build_min_non_dep_call_vec): Change last parameter to
vec. Change all callers.
* cp-tree.h: Update declarations.
* name-lookup.h: Update declarations.
objc/:
* objc-act.c (objc_generate_cxx_ctor_or_dtor): Pass NULL rather
than NULL_TREE to build_special_member_call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147759
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Thu, 21 May 2009 03:06:12 +0000 (03:06 +0000)]
2009-05-20 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/tm.texi (Misc): Document TARGET_INVALID_PARAMETER_TYPE,
TARGET_INVALID_RETURN_TYPE, TARGET_PROMOTED_TYPE, and
TARGET_CONVERT_TO_TYPE.
* hooks.c (hook_tree_const_tree_null): Define.
* hooks.h (hook_tree_const_tree_null): Declare.
* target.h (struct gcc_target): Add invalid_parameter_type,
invalid_return_type, promoted_type, and convert_to_type fields.
* target-def.h: (TARGET_INVALID_PARAMETER_TYPE): Define.
(TARGET_INVALID_RETURN_TYPE): Define.
(TARGET_PROMOTED_TYPE): Define.
(TARGET_CONVERT_TO_TYPE): Define.
(TARGET_INITIALIZER): Update for new fields.
* c-decl.c (grokdeclarator): Check targetm.invalid_return_type.
(grokparms): Check targetm.invalid_parameter_type.
* c-typeck.c (default_conversion): Check targetm.promoted_type.
* c-convert.c (convert): Check targetm.convert_to_type.
gcc/cp/
* typeck.c (default_conversion): Check targetm.promoted_type.
* decl.c (grokdeclarator): Check targetm.invalid_return_type.
(grokparms): Check targetm.invalid_parameter_type.
* cvt.c (ocp_convert): Check targetm.convert_to_type.
(build_expr_type_conversion): Check targetm.promoted_type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147758
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Thu, 21 May 2009 01:12:00 +0000 (01:12 +0000)]
2009-05-20 Benjamin Kosnik <bkoz@redhat.com>
* include/tr1_impl/functional (function): Use explicit operator bool.
* include/bits/shared_ptr.h (__shared_ptr): Same.
* include/bits/unique_ptr.h (unique_ptr): Same.
* include/std/mutex (unique_lock): Same.
* include/std/system_error (error_code): Same.
(error_condition): Same.
* include/std/ostream (sentry): Same.
* include/std/istream (sentry): Same.
* testsuite/19_diagnostics/error_condition/operators/bool.cc: Adjust.
* testsuite/19_diagnostics/error_condition/operators/bool_neg.cc: Same.
* testsuite/19_diagnostics/error_code/operators/bool.cc: Same.
* testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Same.
* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Same.
* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147756
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 21 May 2009 00:16:48 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147755
138bc75d-0d04-0410-961f-
82ee72b054a4
nemet [Wed, 20 May 2009 21:47:57 +0000 (21:47 +0000)]
* config/mips/mips.md (*extenddi_truncate<mode>,
*extendsi_truncate<mode>): Emit exts if supported. Add attribute
defintions.
(*extendhi_truncateqi): New define_insn_and_sptit.
testsuite/
* gcc.target/mips/octeon-exts-6.c: New test.
* gcc.target/mips/extend-1.c: New test.
* gcc.target/mips/octeon-exts-2.c: Adjust to not match sign-extension
EXTS.
* gcc.target/mips/octeon-exts-5.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147751
138bc75d-0d04-0410-961f-
82ee72b054a4