- 03 Mar, 2015 23 commits
-
-
* fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before negating it. * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message. From-SVN: r221159
Eric Botcazou committed -
call0 is an ABI that doesn't use register windows. 2015-03-03 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config/xtensa/constraints.md ("a" constraint): Include stack pointer in case of call0 ABI. ("q" constraint): Make empty in case of call0 ABI. ("D" constraint): Include stack pointer in case of call0 ABI. * config/xtensa/xtensa-protos.h (xtensa_set_return_address, xtensa_expand_epilogue, xtensa_regno_to_class): Add new function prototypes. * config/xtensa/xtensa.c (xtensa_callee_save_size): New variable. (xtensa_regno_to_class): Make it a local variable in the function xtensa_regno_to_class. (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove macro, function prototype and implementation. (reg_nonleaf_alloc_order): Make it a local variable in the function order_regs_for_local_alloc. (xtensa_conditional_register_usage): New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro. (xtensa_valid_move): Allow direct moves to stack pointer register in call0 ABI. (xtensa_setup_frame_addresses): Only spill register windows in windowed ABI. (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and call0 ABI respectively. (xtensa_function_arg_1): Only mark a7 register for copying in windowed ABI. (xtensa_call_save_reg): New function. (compute_frame_size): Add space for callee saved register storage to the frame size in call0 ABI. (xtensa_expand_prologue): Generate code to set up stack frame and save callee-saved registers in call0 ABI. (xtensa_expand_epilogue): New function. (xtensa_set_return_address): New function. (xtensa_return_addr): Calculate return address in call0 ABI. (xtensa_builtin_saveregs): Only mark a7 register for copying and emit copying code in windowed ABI. (order_regs_for_local_alloc): Add preferred register allocation order for non-leaf function in call0 ABI. (xtensa_static_chain): Add atatic chain passing for call0 ABI. (xtensa_asm_trampoline_template): Add trampoline generation for call0 ABI. (xtensa_trampoline_init): Add trampoline initialization for call0 ABI. (xtensa_conditional_register_usage, xtensa_regno_to_class): New functions. * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro. (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI. (CALL_USED_REGISTERS): Modify to encode both windowed and call0 ABI call-used registers. (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI. (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in call0 ABI. (REG_CLASS_CONTENTS): Include all registers into the preferred reload registers set, adjust the set in the xtensa_conditional_register_usage. (xtensa_regno_to_class): Drop variable declaration. (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class function. (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI respectively. (FUNCTION_PROFILER): Add _mcount call for call0 ABI. (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI. (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI. (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool location in call0 ABI. (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing stack adjustment size when handling exception. (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI. * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New definitions. ("return" pattern): Generate ret.n/ret in call0 ABI. ("epilogue" pattern): Expand epilogue. ("nonlocal_goto" pattern): Use default in call0 ABI. ("eh_return" pattern): Move implementation to eh_set_a0_windowed, emit eh_set_a0_* depending on ABI. ("eh_set_a0_windowed" pattern): Former eh_return pattern. ("eh_set_a0_call0", "blockage"): New patterns. libgcc/ * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill, __xtensa_nonlocal_goto): Don't compile for call0 ABI. (__xtensa_sync_caches): Only use entry and retw in windowed ABI, use ret in call0 ABI. * config/xtensa/t-windowed: New file. * libgcc/config/xtensa/t-xtensa (LIB2ADDEH): Move to t-windowed. * libgcc/configure: Regenerated. * libgcc/configure.ac: Check if xtensa target is configured for windowed ABI and thus needs to use custom unwind code. From-SVN: r221158
Max Filippov committed -
PR ipa/65287 * gcc.dg/ipa/pr65287.c: New test. From-SVN: r221157
Jan Hubicka committed -
PR ipa/65287 * ipa-icf.c (sem_variable::parse): Skip all alias variables. * gcc.dg/ipa/pr65287.c: New test. From-SVN: r221156
Martin Liska committed -
2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com> PR 65138/target * config/rs6000/rs6000-tables.opt: Regenerate table. From-SVN: r221155
Michael Meissner committed -
* MAINTAINERS: Remove Paul Brook as a Fortran and ARM maintainer. Remove Richard Henderson as a maintainer for the x86 port. From-SVN: r221154
Jeff Law committed -
2015-03-03 Renlin Li <renlin.li@arm.com> gcc/ * doc/md.texi (@item ^): ChangeLog ? into ^. From-SVN: r221152
Renlin Li committed -
* doc/tm.texi: Regenerated. From-SVN: r221151
H.J. Lu committed -
This allows a target to support both windowed and non-windowed ABI. 2015-03-03 Max Filippov <jcmvbkbc@gmail.com> gcc/ * builtins.c (expand_builtin_return_addr): Add RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove surrounding #ifdef. * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change definition to 1. * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Likewise. * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if undefined. * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update paragraph. From-SVN: r221150
Max Filippov committed -
2015-03-03 Joern Rennecke <gnu@amylaar.uk> * MAINTAINERS (CPU Port Maintainers): Update my email address. From-SVN: r221149
Joern Rennecke committed -
2015-03-03 Martin Jambor <mjambor@suse.cz> Eric Botcazou <ebotcazou@adacore.com> gcc/ * tree-sra.c (ipa_sra_check_caller_data): New type. (has_caller_p): Removed. (ipa_sra_check_caller): New function. (ipa_sra_preliminary_function_checks): Use it. gcc/changelog/ * gnat.dg/specs/pack12.ads: New test. Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com> From-SVN: r221148
Martin Jambor committed -
* ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or instead of if branch. From-SVN: r221147
Martin Liska committed -
Fix PR ipa/65282. * gcc.dg/ipa/PR65282.c: New test. PR ipa/65282 * ipa-icf.c (sem_variable::equals): Fix wrong condition. From-SVN: r221146
Martin Liska committed -
re PR tree-optimization/65241 (ICE (in remove_local_expressions_from_table, at tree-ssa-dom.c:1081)) PR tree-optimization/65241 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr hash table if INSERT is true. PR tree-optimization/65241 * gcc.c-torture/compile/pr65241.c: New test. From-SVN: r221145
Jeff Law committed -
PR target/65296 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove. From-SVN: r221144
Georg-Johann Lay committed -
gcc/ PR target/64331 * config/avr/avr.c (context.h, tree-pass.h): Include them. (avr_pass_data_recompute_notes): New static variable. (avr_pass_recompute_notes): New class. (avr_register_passes): New static function. (avr_option_override): Call it. gcc/testsuite/ PR target/64331 * gcc.target/avr/torture/pr64331.c: New test. From-SVN: r221143
Georg-Johann Lay committed -
gcc/ Fix various problems with specs file generation. PR target/65296 * config.gcc (extra_gcc_objs) [avr]: Remove. * config/avr/driver-avr.c: Remove file. * config/avr/t-avr (driver-avr.o): Remove rule. (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and INCLUDES to build. Depend on TM_H. * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various build warnings. Fix non-matching types and non-existing %-codes. (tm.h): Include. (*lib) [!WITH_AVRLIBC]: Don't link libdev.a. (*libgcc) [WITH_AVRLIBC]: Add "-lm". * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition. * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=. (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC) (LIBGCC_SPEC): Remove definitions. From-SVN: r221141
Georg-Johann Lay committed -
* config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG to create a register in testing mode. From-SVN: r221139
Eric Botcazou committed -
re PR target/65263 (ICE (error: unrecognizable insn / in insn_min_length, at config/rs6000/rs6000.md) on powerpc64le-linux-gnu) Fix PR ipa/65263. PR ipa/65263 * cgraph.c (cgraph_node::has_thunk_p): New function. * cgraph.h (cgraph_node::has_thunk_p: Likewise. * ipa-icf.c (redirect_all_callers): Do not redirect thunks. (sem_function::merge): Assert is changed. * g++.dg/ipa/pr65263.C: New test. Co-Authored-By: Jan Hubicka <hubicka@ucw.cz> From-SVN: r221134
Martin Liska committed -
Fix PR ipa/65087. PR ipa/65087 * ipa-icf.c (sem_item_optimizer::execute): Change function return value to boolean. (sem_item_optimizer::merge_classes): Likewise. (ipa_icf_driver): Return TODO_remove_functions in case there's a merge operation processed. * ipa-icf.h: Change function return value to boolean. Co-Authored-By: Martin Jambor <mjambor@suse.cz> From-SVN: r221133
Martin Liska committed -
2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com> PR 65138/target * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic processor type for 64-bit little endian PowerPC. * config/rs6000/rs6000.c (rs6000_option_override_internal): If -mdebug=reg, print TARGET_DEFAULT. Fix logic to use TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg printing built-in mask so it does not pass NULL pointers. * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document -mcpu=powerpc64le. From-SVN: r221132
Michael Meissner committed -
From-SVN: r221131
GCC Administrator committed -
re PR target/58158 (ICE with conditional moves on GPRs with a floating point conditional on mipsel with loongson2f) 2015-03-02 Steve Ellcey <sellcey@imgtec.com> PR target/58158 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to !ISA_HAS_FP_CONDMOVE. From-SVN: r221128
Steve Ellcey committed
-
- 02 Mar, 2015 17 commits
-
-
* config/i386/i386.md (*udivmod<mode>4_pow2): Remove reload_completed. From-SVN: r221127
Aldy Hernandez committed -
* doc/invoke.texi (Options for Code Generation Conventions): Fix URL of DSO paper. From-SVN: r221125
Ulrich Drepper committed -
PR ipa/65130 * ipa-inline.c (check_callers): Looks for recursion. (inline_to_all_callers): Give up on uninlinable or recursive edges. * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update summary of inline clones. (do_estimate_growth_1): Fix recursion check. * gcc.dg/lto/pr65130_0.c: New testcase. * gcc.dg/lto/pr65130_1.c: New testcase. From-SVN: r221124
Jan Hubicka committed -
re PR ipa/64988 (ICE: verify_cgraph_node failed: Alias and target's comdat groups differs with -fdeclone-ctor-dtor) PR ipa/64988 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve comdat groups. * g++.dg/torture/pr64988.C: New testcase. From-SVN: r221123
Jan Hubicka committed -
2015-03-02 Tobias Burnus <burnus@net-b.de> * check.c (gfc_check_atomic): Properly check for coarrayness and for being coindexed. 2015-03-02 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_atomic_6.f90: New. From-SVN: r221122
Tobias Burnus committed -
PR lto/65276 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert when checking TYPE_BINFO. Co-Authored-By: Aldy Hernandez <aldyh@redhat.com> From-SVN: r221121
Jan Hubicka committed -
PR libgcc/64885 * gthr-single.h: Use __unused__ attribute instead of unused. * config/gthr-vxworks.h: Likewise. * config/i386/gthr-win32.h: Likewise. From-SVN: r221120
Jonathan Wakely committed -
PR libstdc++/65279 * include/std/scoped_allocator (__inner_type_impl, scoped_allocator_adaptor): Add defaulted copy assignment and move assignment operators. * testsuite/20_util/scoped_allocator/65279.cc: New. From-SVN: r221119
Jonathan Wakely committed -
PR libstdc++/64367 * include/std/stdexcept (__sso_string): Don't use non-static member in sizeof. From-SVN: r221118
Jonathan Wakely committed -
2015-03-02 Richard Biener <rguenther@suse.de> PR ipa/65270 * ipa-icf-gimple.c: Include builtins.h. (func_checker::compare_memory_operand): Compare base alignment. From-SVN: r221117
Richard Biener committed -
2015-03-02 Robert Dewar <dewar@adacore.com> * scng.adb (Scan): Ignore illegal character in relaxed semantics mode. 2015-03-02 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Set_Membership); Retain Overloaded flag on left operand, so it can be properly resolved with type of alternatives of right operand. * sem_res.adb (Resolve_Set_Membership): Handle properly an overloaded left-hand side when the alternatives on the right hand side are literals of some universal type. Use first non-overloaded alternative to find expected type. 2015-03-02 Ed Schonberg <schonberg@adacore.com> * exp_ch7.adb (Make_Set_Finalize_Address_Call): Use underlying type to retrieve designated type, because the purported access type may be a partial (private) view, when it is declared in the private part of a nested package, and finalization actions are generated when completing compilation of enclosing unit. From-SVN: r221116
Arnaud Charlet committed -
2015-03-02 Robert Dewar <dewar@adacore.com> * back_end.adb (Call_Back_End): Remove previous patch, the back end now gets to see the result of -gnatd.1 (Unnest_Subprogram_Mode) processing. * elists.ads, elists.adb (List_Length): New function. * exp_unst.ads, exp_unst.adb: Major changes, first complete version. * sem_util.adb (Check_Nested_Access): Handle formals in Unnest_Subprogram_Mode. (Adjust_Named_Associations): Minor reformatting. * sprint.adb (Sprint_Node_Actual): Fix failure to print aliased for parameters. From-SVN: r221115
Robert Dewar committed -
2015-03-02 Robert Dewar <dewar@adacore.com> * atree.ads, atree.adb (Uint24): New function (Set_Uint24): New procedure. * atree.h (Uint24): New macro for field access. * back_end.adb (Call_Back_End): For now, don't call back end if unnesting subprogs. * einfo.adb (Activation_Record_Component): New field (Subps_Index): New field. * einfo.ads (Activation_Record_Component): New field (Subps_Index): New field Minor reordering of comments into alpha order. * exp_unst.ads, exp_unst.adb: Continued development. 2015-03-02 Gary Dismukes <dismukes@adacore.com> * exp_disp.ads: Minor reformatting. 2015-03-02 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Chain_Use_Clause): Do not chain use clause from ancestor to list of use clauses active in descendant unit if we are within the private part of an intervening parent, to prevent circularities in use clause list. From-SVN: r221114
Arnaud Charlet committed -
exp_ch9.adb (Build_Corresponding_Record): Propagate type invariants to the corresponding record type. 2015-03-02 Javier Miranda <miranda@adacore.com> * exp_ch9.adb (Build_Corresponding_Record): Propagate type invariants to the corresponding record type. * exp_disp.ad[sb] (Set_DT_Position_Value): New subprogram which sets the value of the DTC_Entity associated with a given primitive of a tagged type and propagates the value to the wrapped subprogram. (Set_DTC_Entity_Value): Propagate the DTC value to the wrapped entity. * sem_ch13.adb (Build_Invariant_Procedure): Append the code associated with invariants of progenitors. * sem_ch3.adb (Build_Derived_Record_Type): Inherit type invariants of parents and progenitors. (Process_Full_View): Check hidden inheritance of class-wide type invariants. * sem_ch7.adb (Analyze_Package_Specification): Do not generate the invariant procedure for interface types; build the invariant procedure for tagged types inheriting invariants from their progenitors. * sem_prag.adb (Pragma_Invariant) Allow invariants in interface types but do not build their invariant procedure since their invariants will be propagated to the invariant procedure of types covering the interface. * exp_ch6.adb, exp_disp.adb, sem_ch3.adb, sem_ch7.adb, sem_ch8.adb, sem_disp.adb: Replace all calls to Set_DT_Position by calls to Set_DT_Position_Value. From-SVN: r221113
Javier Miranda committed -
2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> * sem_attr.adb (Analyze_Attribute): Factor out heavily indented code in Denote_Same_Function. Do not analyze attribute 'Result when it is inside procedure _Postconditions. Remove a misplaced warning diagnostic. Code cleanup. (Denote_Same_Function): New routine. * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Code cleanup. Warn on pre/postconditions on an inlined subprogram. (Analyze_Pragma, Refined_Post case): Warn on pre/postconditions on an inlined subprogram. (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup. Warn on pre/post condition on an inlined subprogram. (Analyze_Test_Case_In_Decl_Part): Code cleanup. Warn on pre/postconditions on an inlined subprogram. (Check_Postcondition_Use_In_Inlined_Subprogram): New routine. From-SVN: r221112
Hristian Kirtchev committed -
2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Ensure_Aggregate_Form): Ensure that the name denoted by the Chars of a pragma argument association has the proper Sloc when converted into an aggregate. 2015-03-02 Bob Duff <duff@adacore.com> * sem_ch6.adb (Check_Private_Overriding): Capture Incomplete_Or_Partial_View in a constant. This is cleaner and more efficient. 2015-03-02 Gary Dismukes <dismukes@adacore.com> * einfo.ads, exp_unst.ads: Minor reformatting. 2015-03-02 Ed Schonberg <schonberg@adacore.com> * a-strsea.adb (Find_Token): Ensure that the range of iteration does not perform any improper character access. This prevents erroneous access in the unusual case of an empty string target and a From parameter less than Source'First. 2015-03-02 Robert Dewar <dewar@adacore.com> * elists.adb (List_Length): Fix incorrect result. From-SVN: r221111
Arnaud Charlet committed -
2015-03-02 Bob Duff <duff@adacore.com> * sem_ch6.adb (Check_Private_Overriding): Refine the legality checks here. It used to check that the function is merely overriding SOMEthing. Now it checks that the function is overriding a corresponding public operation. This is a correction to the implementation of the rule in RM-3.9.3(10). From-SVN: r221110
Bob Duff committed
-