Nicola Pero [Thu, 16 Dec 2010 22:52:48 +0000 (22:52 +0000)]
In libobjc/: 2010-12-16 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-16 Nicola Pero <nicola.pero@meta-innovation.com>
* sendmsg.c: Include objc/runtime.h instead of objc/objc-api.h.
Include objc-private/module-abi-8.h and objc-private/selector.h
instead of objc/encoding.h.
(objc_msg_lookup_super): Use super->super_class instead of
super->class.
(method_get_first_argument, method_get_next_argument): Declare
locally.
(class_get_instance_method): Declare before using.
(objc_msg_sendv): Use 'struct objc_method' instead of 'Method'.
(__objc_init_dispatch_tables, __objc_send_initialize): Use
sel_registerName() instead of sel_register_name().
(__objc_forward): Use sel_getName() instead of sel_get_name().
(objc_get_uninstalled_dtable): Use 'void' as argument.
* objc-private/selector.h: New.
Jakub Jelinek [Thu, 16 Dec 2010 22:45:42 +0000 (23:45 +0100)]
re PR tree-optimization/46966 (ICE: in execute_cse_reciprocals, at tree-ssa-math-opts.c:474 with -floop-interchange -fno-tree-copy-prop -fno-tree-loop-im)
PR tree-optimization/46966
* graphite-sese-to-poly.c (build_scop_drs): Call free_gimple_bb for
for bbs that are removed from SCOP_BBS vector.
Konrad Eisele [Thu, 16 Dec 2010 22:28:45 +0000 (22:28 +0000)]
Support for LEON processor
Support for LEON processor
* config.gcc (sparc-*-elf*): Deal with sparc-leon specifically.
(sparc-*-linux*): Likewise.
(sparc-*-rtems*): Remove Solaris left-overs.
(sparc*-*-*): Remove obsolete sparc86x setting.
(sparc-leon*): Default to --with-cpu=v8 and --with-tune=leon.
* doc/invoke.texi (SPARC Options): Document -mcpu/-mtune=leon.
* config/sparc/sparc.h (TARGET_CPU_leon): Define.
(TARGET_CPU_sparc86x): Delete.
(TARGET_CPU_cypress): Define as alias to TARGET_CPU_v7.
(TARGET_CPU_f930): Define as alias to TARGET_CPU_sparclite.
(TARGET_CPU_f934): Likewise.
(TARGET_CPU_tsc701): Define as alias to TARGET_CPU_sparclet.
(CPP_CPU_SPEC): Add entry for -mcpu=leon.
(enum processor_type): Add PROCESSOR_LEON. Reorganize.
* config/sparc/sparc.c (leon_costs): New cost array.
(sparc_option_override): Add entry for TARGET_CPU_leon and -mcpu=leon.
Initialize cost array to leon_costs if -mtune=leon.
* config/sparc/sparc.md (cpu attribute): Add leon. Reorganize.
Include leon.md scheduling description.
* config/sparc/leon.md: New file.
* config/sparc/t-elf: Do not assemble Solaris startup files.
* config/sparc/t-leon: New file.
* config/sparc/t-leon3: Likewise.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r167957
Jakub Jelinek [Thu, 16 Dec 2010 21:44:02 +0000 (22:44 +0100)]
re PR tree-optimization/43655 (-ftree-ter causes FAIL: g++.old-deja/g++.law/temps5.C execution test)
PR tree-optimization/43655
* tree-ssa-ter.c (is_replaceable_p): Don't use
gimple_references_memory_p for -O0, instead check for load
by looking at rhs.
PR libgcj/46774: Create dynamic ProtectionDomain instances which check the system policy.
2010-12-13 Andrew John Hughes <ahughes@redhat.com>
PR libgcj/46774
* libjava/java/security/VMAccessController.java:
(DEFAULT_CONTEXT): Create ProtectionDomain with
four argument constructor (arguments are the same
as those implied by the two argument constructor).
(getContext()): Create ProtectionDomain instances
with four argument constructor using a null Principal
array (as before) but including the classloader, which
was always null before.
Ulrich Weigand [Thu, 16 Dec 2010 18:12:23 +0000 (18:12 +0000)]
t-spu-elf (LIB2_SIDITI_CONV_FUNC): Define.
* config/spu/t-spu-elf (LIB2_SIDITI_CONV_FUNC): Define.
* config/spu/spu.h (MIN_UNITS_PER_WORD): Do not define.
(LIBGCC2_UNITS_PER_WORD): Define if not already defined.
Jan Hubicka [Thu, 16 Dec 2010 01:27:23 +0000 (02:27 +0100)]
re PR tree-optimization/46939 (http://blog.regehr.org/archives/320 example 6)
PR middle-end/46939
* predic.c (predict_paths_leading_to_edge): New function.
(apply_return_prediction): Use it.
(predict_paths_for_bb): Do not special case abnormals.
* gcc.target/i386/pr46939.c: New testcase.
Jakub Jelinek [Wed, 15 Dec 2010 20:20:10 +0000 (21:20 +0100)]
re PR fortran/46945 (gfortran.dg/unpack_zerosize_1.f90 FAILs with -ftree-vrp -fno-tree-ccp -fno-tree-fre)
PR fortran/46945
* trans-array.c (gfc_array_init_size): Perform stride overflow
checking and multiplication by element_size in size_type_node instead
of sizetype, return value with size_type_node type instead of
sometimes with sizetype and sometimes with gfc_array_index_type.
Nicola Pero [Wed, 15 Dec 2010 19:47:18 +0000 (19:47 +0000)]
In libobjc/: 2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
* objc/message.h (objc_super): When using the modern API, do not
define Super and Super_t, and always use 'super_class' for the
super class field.
(objc_msg_lookup_super): Updated prototype to use 'struct
objc_super *' instead of 'Super_t'.
* sendmsg.c (objc_msg_lookup_super): Updated prototype to use
'struct objc_super *' instead of 'Super_t'.
Jakub Jelinek [Wed, 15 Dec 2010 17:50:34 +0000 (18:50 +0100)]
re PR debug/46815 (Invalid DW_AT_location for a retval instance of a class that has a virtual function)
PR debug/46815
* cp-gimplify.c (cp_genericize): When changing RESULT_DECL
into invisible reference, change also DECL_VALUE_EXPR of
NRV optimized variable.
Martin Jambor [Wed, 15 Dec 2010 13:19:46 +0000 (14:19 +0100)]
re PR tree-optimization/46053 (g++.dg/torture/pr45699.C FAILs with -fno-early-inlining)
2010-12-15 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/46053
PR middle-end/46287
PR middle-end/46242
* cgraph.h (cgraph_indirect_call_info): New field thunk_delta.
* gimple.h (gimple_fold_obj_type_ref): Declaration removed.
(gimple_fold_call): Declare.
(gimple_adjust_this_by_delta): Likewise.
* cgraph.c (cgraph_make_edge_direct): New parameter delta. Updated
all users.
(cgraph_clone_edge): Create a copy of indirect_info also for direct
edges.
* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Adjust this
parameters.
* gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Renamed to
gimple_get_virt_mehtod_for_binfo, new parameter delta. Do not search
through thunks, in fact bail out if we encounter one, check that
BINFO_VIRTUALS is not NULL.
(gimple_adjust_this_by_delta): New function.
(gimple_fold_obj_type_ref): Removed.
(gimple_fold_obj_type_ref_call): New function.
(fold_gimple_call): Renamed to gimple_fold_call, made external.
Updated users. Call gimple_fold_obj_type_ref_call instead of
gimple_fold_obj_type_ref.
* ipa-cp.c (ipcp_process_devirtualization_opportunities): Process
thunk deltas.
(ipcp_discover_new_direct_edges): Likewise.
* ipa-prop.c (ipa_make_edge_direct_to_target): New parameter delta.
Updated callers.
(ipa_write_indirect_edge_info): Stream thunk_delta.
(ipa_read_indirect_edge_info): Likewise.
* tree-ssa-ccp.c (ccp_fold_stmt): Use gimple_fold_call instead of
gimple_fold_obj_type_ref.
Sebastian Pop [Wed, 15 Dec 2010 05:04:40 +0000 (05:04 +0000)]
Fix PR46928: handle "A[p] == A[p]" in data dep analysis with p a parameter of the loop.
2010-12-14 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/46928
* tree-data-ref.c (analyze_overlapping_iterations): Handle "A[p] == A[p]"
in data dependence analysis with p a parameter of the loop.
Nicola Pero [Wed, 15 Dec 2010 01:35:20 +0000 (01:35 +0000)]
In libobjc/: 2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
* ivars.c (class_addIvar): Use the 'size' argument instead of
trying to calculate it using objc_sizeof_type().
* objc/runtime.h (class_addIvar): Updated comments.
Nicola Pero [Tue, 14 Dec 2010 23:36:36 +0000 (23:36 +0000)]
Object.h: Moved all the methods, with the exception of -class and -isEqual:, into ...
2010-12-14 Nicola Pero <nicola.pero@meta-innovation.com>
* objc/Object.h: Moved all the methods, with the exception of
-class and -isEqual:, into ...
* objc/deprecated/Object.h: here.
* Object.m: Moved all the methods, with the exception of -class
and -isEqual: into the 'Deprecated' category.
Nicola Pero [Tue, 14 Dec 2010 21:57:31 +0000 (21:57 +0000)]
objects.c (object_copy): Do not #undef as we are no longer including objc/objc-api.h.
2010-12-14 Nicola Pero <nicola.pero@meta-innovation.com>
* objects.c (object_copy): Do not #undef as we are no longer
including objc/objc-api.h.
* selector.c: Include objc/runtime.h and
objc-private/module-abi-8.h. Do not include objc/objc-api.h and
objc/encoding.h. Updated
(__objc_register_selectors_from_class): Use struct
objc_method_list * instead of MethodList_t.
(__objc_register_selectors_from_list): Use Method instead of
Method_t.
(struct objc_method_description_list): Do not define here.
(__objc_register_instance_methods_to_class): Use struct
objc_method_list * instead of MethodList_t and Method instead of
Method_t.