PR tree-optimization/46985
* tree-scalar-evolution.c (instantiate_scev_r): If chrec is NULL,
return it immediately.
* gfortran.dg/pr46985.f90: New test.
From-SVN: r168027
PR target/46915
* config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead
of next_real_insn. Search forward checking for both ASM_INPUT and
ASM_OPERANDS asms until exit condition is found.
(branch_needs_nop_p): Likewise.
(use_skip_p): New function.
(output_cbranch): Use use_skip_p.
(output_bb, output_bvb): Likewise.
From-SVN: r168026
In gcc/testsuite/:
2010-12-17 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/exceptions-4.m: Adjust for change in error message.
From-SVN: r168003
2010-12-17 Nicola Pero <nicola.pero@meta-innovation.com>
* init.c: Include objc/runtime.h and objc-private/module-abi-8.h
instead of objc/objc-api.h.
(init_check_module_version): Take a 'struct objc_module *'
argument instead of 'Module_t'. Use 'struct objc_module *'
instead of 'Module_t'.
(__objc_created_classes_tree): Take a 'struct objc_module *'
argument instead of 'Module_t'; use 'struct objc_symtab *' instead
of 'Symtab_t'.
(__objc_call_callback): Take a 'struct objc_module *' argument
instead of 'Module_t'; use 'struct objc_symtab *' instead of
'Symtab_t' and 'struct objc_category *' instead of 'Category_t'.
(_objc_load_callback): Take a 'struct objc_category *' argument
instead of 'Category *'.
(class_superclass_of_class): Use objc_getClass() instead of
objc_lookup_class().
(create_tree_of_subclasses_inherited_from): Same change (also, use
an explicit 'if' instead of '?').
(objc_init_statics): Same change.
(objc_send_load): Same change.
(__objc_init_protocol): same change.
(__objc_send_message_in_list): Take a 'struct objc_method_list *'
argument instead of 'MethodList_t'. Use 'struct objc_method *'
instead of 'Method_t'.
(__objc_send_load): Use 'struct objc_method_list *' instead of
'MethodList_t'. Use sel_registerName() instead of
sel_register_name().
(__objc_exec_class): Take a 'struct objc_module *' argument
instead of 'Module_t'. Use 'struct objc_symtab *' instead of
'Symtab_t'. Use objc_getClass() instead of objc_lookup_class().
Use 'struct objc_category *' instead of 'Category_t'.
From-SVN: r168000
gcc:
2010-12-17 Paolo Bonzini <bonzini@gnu.org>
PR c/20385
* function.c (used_types_insert): Handle ERROR_MARK.
* c-decl.c (grokdeclarator): Handle ERROR_MARK.
(declspecs_add_type): Leave error_mark_node in specs->type.
(finish_declspecs): Change it to integer_type_node here.
* c-parser.c (c_parser_peek_2nd_token): Move earlier.
(enum c_lookahead_kind): New.
(c_parser_next_token_starts_typename): New name of
c_parser_next_tokens_start_typename. Accept lookahead enum
and handle it here instead of...
(c_parser_next_tokens_start_declaration): ... here. Call it.
(c_parser_declspecs): Accept another argument. Do not exit
on C_ID_ID if it is guessed to be an unknown typename.
(c_parser_parms_declarator): Use 2nd token to distinguish a K&R
declaration from an ANSI declaration starting with an unknown
typename.
(c_parser_struct_declaration, c_parser_objc_type_name,
c_parser_typeof_specifier, c_parser_declarator,
c_parser_direct_declarator_inner): Adjust calls.
(c_parser_parameter_declaration): Likewise.
(c_parser_type_name): Pass back an error_mark_node to the caller.
(c_parser_postfix_expression): Do error recovery when
c_parser_type_name returns NULL.
testsuite:
2010-12-17 Paolo Bonzini <bonzini@gnu.org>
PR c/20385
* objc.dg/tls/init-2.m: Adjust.
* gcc.dg/noncompile/920923-1.c: Adjust.
* gcc.dg/noncompile/pr44517.c: Adjust.
* gcc.dg/declspec-18.c: New test.
From-SVN: r167999
2010-12-17 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/arm.md (maddhisi4, *maddhidi4): Use the canonical
operand order for plus.
Drop redundant % from constraints.
From-SVN: r167991
* config/spu/t-spu-elf (LIB2FUNCS_EXCLUDE): Add _floattisf and
_floatunstisf.
* config/spu/spu.md ("floattisf2"): New expander.
("floatunstisf2"): New insn pattern and splitter.
("cgt_ti_m1"): New insn pattern.
From-SVN: r167984
gcc/
* config/arm/arm.c (arm_select_cc_mode): Before calling
arm_select_dominance_cc_mode for AND or IOR operations, ensure
that op is NE or EQ.
gcc/testsuite/
* gcc.c-torture/compile/20101217-1.c: New test.
From-SVN: r167981
Fix for PR debug/45088
gcc/
* dwarf2out.c (gen_type_die_with_usage): Do not try to emit debug
info for a redundant typedef that has DECL_ORIGINAL_TYPE set. Use
that underlying type instead.
gcc/testsuite/
* g++.dg/debug/dwarf2/self-ref-1.C: New test.
* g++.dg/debug/dwarf2/self-ref-2.C: Likewise.
From-SVN: r167976
2010-12-16 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/46924
* graphite-sese-to-poly.c (detect_commutative_reduction): Do not
detect reductions outside the current SESE region.
* sese.h (stmt_in_sese_p): New.
(defined_in_sese_p): Call stmt_in_sese_p.
* gcc.dg/graphite/pr46924.c: New.
From-SVN: r167962
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.
From-SVN: r167961
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.
* gcc.dg/graphite/pr46966.c: New test.
From-SVN: r167960
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
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.
* g++.dg/opt/pr43655.C: New test.
From-SVN: r167955