Commit Graph

132562 Commits

Author SHA1 Message Date
Aldy Hernandez
7c371a4c90 dwarf2out.c (struct die_struct): Add dumped_early field.
* dwarf2out.c (struct die_struct): Add dumped_early field.
	(reparent_child): New.
	(splice_child_die): Use reparent_child.
	(gen_subprogram_die): Do not regenerate parameters if previously
	dumped.
	(gen_variable_die): Fix parent of decls that have been dumped
	early to reflect correct context.
	Do not regenerate decls if previously dumped.
	(dwarf2out_decl): Add return value.
	(dwarf2out_early_decl): Set dumped_early bit.

From-SVN: r214909
2014-09-04 16:38:04 +00:00
Aldy Hernandez
b7af73a719 Make output_die() output the parent DIE for each DIE.
From-SVN: r214908
2014-09-04 16:37:54 +00:00
Aldy Hernandez
c9fd354aec Make gen_formal_parameter_die() merge DIEs from a previous execution.
Do not set DW_AT_inline incorrectly on all functions.

Do not remove formal parameters when a previous DIE has been found.
Instead, augment the missing bits later.

From-SVN: r214907
2014-09-04 16:37:45 +00:00
Aldy Hernandez
73179e4a24 dearly: Emit DIEs for decls early in the compilation process.
This is the original patch from Michael Matz, ported to a more recent
mainline.

From-SVN: r214906
2014-09-04 16:37:36 +00:00
Guozhi Wei
5143726943 re PR target/62040 (internal compiler error: in simplify_const_unary_operation, at simplify-rtx.c:1555)
PR target/62040
	* config/aarch64/iterators.md (VQ_NO2E, VQ_2E): New iterators.
	* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Split
	it into two patterns.
	(move_lo_quad_internal_be_<mode>): Likewise.
	
	* gcc.target/aarch64/pr62040.c: New test.

From-SVN: r214905
2014-09-04 16:06:13 +00:00
Manuel López-Ibáñez
2b71f4a4f8 options.texi: Document that Var and Init are required if CPP is given.
gcc/ChangeLog:

2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* doc/options.texi: Document that Var and Init are required if CPP
	is given.
	* optc-gen.awk: Require Var and Init if CPP is given.
	* common.opt (Wpedantic): Use Init.

libcpp/ChangeLog:

2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* macro.c (replace_args): Use cpp_pedwarning, cpp_warning and
	CPP_W flags.
	* include/cpplib.h: Add CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
	* init.c (cpp_create_reader): Do not init to -1 here.
	* expr.c (num_binary_op): Use cpp_pedwarning.

gcc/c-family/ChangeLog:

2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
	Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
	(Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
	and Init.
	* c-opts.c (c_common_handle_option): Do not handle here.
	(sanitize_cpp_opts): Likewise.
	* c-common.c (struct reason_option_codes_t): Handle
	CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.

gcc/testsuite/ChangeLog:

2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* gcc.dg/cpp/endif-pedantic2.c: More general options do not
	override specific ones, but specific ones do.

From-SVN: r214904
2014-09-04 15:13:40 +00:00
Bill Schmidt
6bf5ce8f85 rs6000.c (special_handling_values): Add SH_EXTRACT.
[gcc]

2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (special_handling_values): Add
	SH_EXTRACT.
	(rtx_is_swappable_p): Look for patterns with a VEC_SELECT, perhaps
	wrapped in a VEC_DUPLICATE, representing an extract.  Mark these
	as swappable with special handling SH_EXTRACT.  Remove
	UNSPEC_VSX_XXSPLTW from the list of disallowed unspecs for the
	optimization.
	(adjust_extract): New function.
	(handle_special_swappables): Add default to case statement; add
	case for SH_EXTRACT that calls adjust_extract.
	(dump_swap_insn_table): Handle SH_EXTRACT.

[gcc/testsuite]

2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/swaps-p8-13.c: New test.
	* gcc.target/powerpc/swaps-p8-14.c: New test.
	* gcc.target/powerpc/swaps-p8-15.c: New test.

From-SVN: r214903
2014-09-04 14:31:34 +00:00
Bill Schmidt
2b3106ecef vsx.md (*vsx_extract_<mode>_load): Always match selection of 0th memory doubleword, regardless of endianness.
[gcc]

2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vsx.md (*vsx_extract_<mode>_load): Always match
	selection of 0th memory doubleword, regardless of endianness.

[gcc/testsuite]

2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/vsx-extract-1.c:  Test 0th doubleword
	regardless of endianness.

From-SVN: r214902
2014-09-04 14:27:45 +00:00
Jan-Benedict Glaw
aad038845a rx.h (HARD_REGNO_MODE_OK): Add braces.
2014-09-04  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/rx/rx.h (HARD_REGNO_MODE_OK): Add braces.

From-SVN: r214901
2014-09-04 13:22:53 +00:00
Markus Trippelsdorf
382995f56c re PR ipa/61659 (Extra undefined symbol because of devirtualization)
PR ipa/61659
	* decl.c (duplicate_decls): Check DECL_DECLARED_INLINE_P on
	newdecl, not olddecl.

From-SVN: r214900
2014-09-04 08:37:05 -04:00
Alan Modra
5c15381263 re PR debug/60655 (ICE: output_operand: invalid expression as operand)
PR debug/60655
	* dwarf2out.c (mem_loc_descriptor <PLUS>): Return NULL if addend
	can't be output.

From-SVN: r214899
2014-09-04 21:48:25 +09:30
Matthew Fortune
ff050c66b1 Add target hook to override DWARF2 frame register size
gcc/

	* target.def (TARGET_DWARF_FRAME_REG_MODE): New target hook.
	* targhooks.c (default_dwarf_frame_reg_mode): New function.
	* targhooks.h (default_dwarf_frame_reg_mode): New prototype.
	* doc/tm.texi.in (TARGET_DWARF_FRAME_REG_MODE): Document.
	* doc/tm.texi: Regenerate.
	* dwarf2cfi.c (expand_builtin_init_dwarf_reg_sizes): Abstract mode
	selection logic to default_dwarf_frame_reg_mode.

From-SVN: r214898
2014-09-04 08:32:05 +00:00
GCC Administrator
a0f75fa8c3 Daily bump.
From-SVN: r214897
2014-09-04 00:17:00 +00:00
Chris Manghane
f1d2ac4f84 compiler: Add precise type information on the heap.
* go-gcc.cc (Gcc_backend::implicit_variable): Remove init
	parameter.  Add is_hidden parameter.
	(Gcc_backend::implicit_variable_set_init): New method.
	(Gcc_backend::implicit_variable_reference): New method.

From-SVN: r214894
2014-09-03 22:56:09 +00:00
Marek Polacek
d2e4feca24 invoke.texi: Document that -Wlogical-not-parentheses is enabled by -Wall.
* doc/invoke.texi: Document that -Wlogical-not-parentheses is enabled
	by -Wall.
c-family/
	* c.opt (Wlogical-not-parentheses): Enable by -Wall.

From-SVN: r214893
2014-09-03 20:37:33 +00:00
Fritz Reese
88f7d6fb23 [multiple changes]
2014-09-03  Fritz Reese  <Reese-Fritz@zai.com>

        PR fortran/62174
        * decl.c (variable_decl): Don't overwrite typespecs of Cray
        * pointees
        when matching a component declaration.

2014-09-02  Fritz Reese  <Reese-Fritz@zai.com>

        PR fortran/62174
        * gfortran.dg/cray_pointers_11.f90: New.

From-SVN: r214891
2014-09-03 20:50:27 +02:00
Richard Sandiford
64e04187a1 rtl.texi (RTX_AUTOINC): Document that the first operand is the automodified register.
gcc/
	* doc/rtl.texi (RTX_AUTOINC): Document that the first operand is
	the automodified register.

From-SVN: r214890
2014-09-03 18:43:29 +00:00
Richard Sandiford
4fbca4ba44 output.h (get_some_local_dynamic_name): Declare.
gcc/
	* output.h (get_some_local_dynamic_name): Declare.
	* final.c (some_local_dynamic_name): New variable.
	(get_some_local_dynamic_name): New function.
	(final_end_function): Clear some_local_dynamic_name.
	* config/alpha/alpha.c (machine_function): Remove some_ld_name.
	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Delete.
	(print_operand): Report an error if '%&' is used inappropriately.
	* config/i386/i386.c (get_some_local_dynamic_name): Delete.
	(get_some_local_dynamic_name_1): Delete.
	* config/rs6000/rs6000.c (machine_function): Remove some_ld_name.
	(rs6000_get_some_local_dynamic_name): Delete.
	(rs6000_get_some_local_dynamic_name_1): Delete.
	(print_operand): Report an error if '%&' is used inappropriately.
	* config/s390/s390.c (machine_function): Remove some_ld_name.
	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Delete.
	(print_operand): Assert that get_some_local_dynamic_name is nonnull.
	* config/sparc/sparc.c: Include rtl-iter.h.
	(machine_function): Remove some_ld_name.
	(sparc_print_operand): Report an error if '%&' is used inappropriately.
	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Delete.

From-SVN: r214889
2014-09-03 18:36:10 +00:00
Richard Henderson
dd991abb1b aarch64: Improve epilogue unwind info
* config/aarch64/aarch64.c (aarch64_popwb_single_reg): Remove.
        (aarch64_popwb_pair_reg): Remove.
        (aarch64_set_frame_expr): Remove.
        (aarch64_restore_callee_saves): Add CFI_OPS argument; fill it with
        the restore ops performed by the insns generated.
        (aarch64_expand_epilogue): Attach CFI_OPS to the stack deallocation
        insn.  Perform the calls_eh_return addition later; do not attempt to
        preserve the CFA in that case.  Don't use aarch64_set_frame_expr.
        (aarch64_expand_prologue): Use REG_CFA_ADJUST_CFA directly, or no
        special markup at all.  Load cfun->machine->frame.hard_fp_offset
        into a local variable.
        (aarch64_frame_pointer_required): Don't check calls_alloca.

From-SVN: r214886
2014-09-03 10:00:31 -07:00
Richard Biener
b30e733a13 opts.c (default_options_optimization): Adjust max-combine-insns to 2 for -Og.
2014-09-03  Richard Biener  <rguenther@suse.de>

	* opts.c (default_options_optimization): Adjust
	max-combine-insns to 2 for -Og.

From-SVN: r214879
2014-09-03 14:28:20 +00:00
Martin Jambor
c8f403525a re PR ipa/62015 (ipa-cp-clone uses a clone that is too specialized for the call context)
2014-09-03  Martin Jambor  <mjambor@suse.cz>

	PR ipa/62015
	* ipa-cp.c (intersect_aggregates_with_edge): Handle impermissible
	pass-trough jump functions correctly.

testsuite/
	* g++.dg/ipa/pr62015.C: New test.

From-SVN: r214878
2014-09-03 16:26:38 +02:00
Martin Jambor
6f9549ee68 re PR ipa/61986 (ICE on valid code at -O3 on x86_64-linux-gnu indecide_about_value, at ipa-cp.c:3480)
2014-09-03  Martin Jambor  <mjambor@suse.cz>
    
	PR ipa/61986
	* ipa-cp.c (find_aggregate_values_for_callers_subset): Chain
	created replacements in ascending order of offsets.
	(known_aggs_to_agg_replacement_list): Likewise.
    
gcc/testsuite/
	* gcc.dg/ipa/pr61986.c: New test.

From-SVN: r214877
2014-09-03 16:16:54 +02:00
Marek Polacek
2b3ae5d12a re PR c/62294 (Missing "passing argument [...] from incompatible pointer type" warning.)
PR c/62294
	* gcc.dg/pr62294.c: New test.
	* gcc.dg/pr62294.h: New file.

From-SVN: r214876
2014-09-03 13:20:43 +00:00
Martin Liska
27732ffd58 Fix for tree-ssa-pre
* tree-ssa-sccvn.c (vn_reference_lookup_call): default (NULL) value
	is set to preserve uninitialized value for vnresult.

From-SVN: r214873
2014-09-03 12:42:01 +00:00
Kaz Kojima
a0d3407e32 pr39228.c: Use dg-add-options instead of dg-options.
* gcc.c-torture/execute/pr39228.c: Use dg-add-options instead
	of dg-options.  Add "inline" keyword to test functions.

From-SVN: r214872
2014-09-03 12:27:52 +00:00
Marek Polacek
8d95fe25c5 re PR c/62024 (__atomic_always_lock_free is not a constant expression)
PR c/62024
	* c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
	conversions.

	* g++.dg/cpp0x/pr62024.C: New test.
	* gcc.dg/pr62024.c: New test.

From-SVN: r214871
2014-09-03 11:16:29 +00:00
Chung-Ju Wu
d40f3c4030 [NDS32] No need to take padding into consideration in Andes ABI2 because we can...
[NDS32] No need to take padding into consideration in Andes ABI2 because
        we can pass arguments in registers for variadic function.

  -- By default GCC uses must_pass_in_stack_var_size_or_pad for TARGET_MUST_PASS_IN_STACK.
     For Andes ABI2, the data layout in memory will be incorrect when calling variadic function
     under big-endian configuration.

	* config/nds32/nds32.c (nds32_must_pass_in_stack): New implementation
	for TARGET_MUST_PASS_IN_STACK.

From-SVN: r214869
2014-09-03 10:19:39 +00:00
Chung-Ju Wu
650fc46935 [NDS32] Provide TARGET_ARG_PARTIAL_BYTES so that we can have structure argument
partially in registers and stack.

  -- This is needed if we would like to pass variadic arguments via registers
     that are pused on the stack by callee.  So that va_arg() can access
     arguments continously in memory.

	* config/nds32/nds32.c (nds32_arg_partial_bytes): New implementation
	for TARGET_ARG_PARTIAL_BYTES.

From-SVN: r214868
2014-09-03 10:15:06 +00:00
Chung-Ju Wu
557430f169 [NDS32] Emit stack push instructions for varargs at prologue stage and emit...
[NDS32]  Emit stack push instructions for varargs at prologue stage and
         emit stack adjustment instructions for varargs at epilogue stage.

  -- Note that we do not need to handle it in v3push/v3pop prologue/epilogue
     expanding because we do not apply v3push/v3pop for variadic function.

	* config/nds32/nds32.c (nds32_expand_prologue): Emit stack push
	instructions for varargs implementation.
	(nds32_expand_epilogue): Emit stack adjustment instructions for
	varargs implementation.

From-SVN: r214867
2014-09-03 10:09:14 +00:00
Chung-Ju Wu
99575d60c8 [NDS32] Since we are going to provide new heuristic for fp-as-gp optimization,
we better not to set cfun->machine->fp_as_gp_p at prologue expanding.

	* config/nds32/nds32.c (nds32_expand_prologue): Suppress fp-as-gp
	optimization detection.

From-SVN: r214866
2014-09-03 10:01:54 +00:00
Chung-Ju Wu
7f6cd86bef [NDS32] Deal with nameless arguments in nds32_function_arg and nds32_function_arg_advance.
1. We have caller prepare nameless arguments in the way of calling a normal function.

     e.g. Assume a function: void va_test (int n, ...);
          When calling "va_test (6, 11, 22, 33, 44, 55, 66);",
               r0    <- 6
               r1    <- 11
               r2    <- 22
               r3    <- 33
               r4    <- 44
               r5    <- 55
            [sp + 0] <- 66

  2. Note that we DO NOT handle it for TARGET_HARD_FLOAT case.
     The TARGET_HARD_FLOAT should push all the nameless arguments into
     stack and GCC is able to take care of them itself.
     In addition, we have not implemented hard float on trunk yet.

	* config/nds32/nds32.c (nds32_function_arg): Deal with nameless
	arguments.
	(nds32_function_arg_advance): Deal with nameless arguments.
	* config/nds32/nds32.h (NDS32_ARG_PASS_IN_REG_P): Split it into ...
	(NDS32_ARG_ENTIRE_IN_GPR_REG_P): ... this one and ...
	(NDS32_ARG_PARTIAL_IN_GPR_REG_P): ... this one.

From-SVN: r214865
2014-09-03 09:55:28 +00:00
Richard Biener
52e4630c51 tree-ssa-pre.c (alloc_expression_id): Use quick_grow_cleared.
2014-09-03  Richard Biener  <rguenther@suse.de>

	* tree-ssa-pre.c (alloc_expression_id): Use quick_grow_cleared.
	(struct bb_bitmap_sets): Remove deferred member.
	(BB_DEFERRED): Remove.
	(defer_or_phi_translate_block): Remove.
	(compute_antic_aux): Remove deferring of blocks, assert
	proper iteration order.
	(compute_antic): Do not set BB_DEFERRED.
	(eliminate): Allocate el_avail of proper size initially.

From-SVN: r214864
2014-09-03 09:50:24 +00:00
Chung-Ju Wu
4f44e960ea [NDS32] Since argument pointer must be 8-byte alignment...
[NDS32] Since argument pointer must be 8-byte alignment, our first parameter may
        require 4-byte offset if pushed varargs is not 8-byte aligned.

	* config/nds32/nds32.h (FIRST_PARM_OFFSET): Set proper location
	according to the value of crtl->args.pretend_args_size.

From-SVN: r214863
2014-09-03 09:44:49 +00:00
Chung-Ju Wu
35da54a608 [NDS32] Prepare necessary varargs information in compute_stack_frame().
* config/nds32/nds32.c (nds32_compute_stack_frame): Prepare necessary
	varargs information.

From-SVN: r214862
2014-09-03 09:37:36 +00:00
Chung-Ju Wu
d4a6a4d9a0 [NDS32] Implement TARGET_SETUP_INCOMING_VARARGS target hook.
* config/nds32/nds32.c (nds32_setup_incoming_varargs): New
	implementation for TARGET_SETUP_INCOMING_VARARGS.
	(nds32_strict_argument_naming): Refine comment.
	* config/nds32/nds32.h (TARGET_SOFT_FLOAT, TARGET_HARD_FLOAT):
	Define for future implementation.

From-SVN: r214861
2014-09-03 09:32:08 +00:00
Ilya Tocar
9c6fb3ba59 adxintrin.h (_subborrow_u32): New.
gcc/
2014-09-02  Ilya Tocar  <ilya.tocar@intel.com>

        * config/i386/adxintrin.h (_subborrow_u32): New.
        (_addcarry_u32): Ditto.
        (_subborrow_u64): Ditto.
        (_addcarry_u64): Ditto.
        * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_SBB32,
        IX86_BUILTIN_SBB64.
        (ix86_init_mmx_sse_builtins): Handle __builtin_ia32_sbb_u32,
        __builtin_ia32_sbb_u64


testsuite/
2014-09-02  Ilya Tocar  <ilya.tocar@intel.com>

        * gcc.target/i386/adx-addcarryx32-1.c: Test addcarry, subborrow.
        * gcc.target/i386/adx-addcarryx32-2.c: Ditto.
        * gcc.target/i386/adx-addcarryx32-3.c: Ditto.
        * gcc.target/i386/adx-addcarryx64-1.c: Ditto.
        * gcc.target/i386/adx-addcarryx64-2.c: Ditto.
        * gcc.target/i386/adx-addcarryx64-3.c: Ditto.

From-SVN: r214860
2014-09-03 13:24:34 +04:00
Chung-Ju Wu
9d93cc2467 [NDS32] Define and rename some GPR-specific stuff.
* config/nds32/nds32.c (nds32_function_arg): Define and rename some
	GPR-specific stuff.
	(nds32_function_arg_advance): Likewise.
	(nds32_init_cumulative_args): Likewise.
	* config/nds32/nds32.h (NDS32_MAX_GPR_REGS_FOR_ARGS): Define.
	(NDS32_FIRST_GPR_REGNUM): Define.
	(NDS32_LAST_GPR_REGNUM): Define.
	(NDS32_AVAILABLE_REGNUM_FOR_GPR_ARG): Define.
	(NDS32_ARG_PASS_IN_REG_P): Use NDS32_MAX_GPR_REGS_FOR_ARGS.
	(FUNCTION_ARG_REGNO_P): Use NDS32_MAX_GPR_REGS_FOR_ARGS.
	(machine_function): Use GRP-specific stuff.

From-SVN: r214859
2014-09-03 09:16:51 +00:00
Chung-Ju Wu
38a0632eb7 [NDS32] Remove unused variables.
* config/nds32/nds32.c (nds32_expand_prologue): Remove unused variables.
	(nds32_expand_epilogue): Likewise.
	(nds32_expand_prologue_v3push): Likewise.
	(nds32_expand_epilogue_v3pop): Likewise.

From-SVN: r214858
2014-09-03 09:09:56 +00:00
Chung-Ju Wu
2da1e7c022 [NDS32] We need to make sure it is NOT a variadic function so that some v3push/v3pop preparation can be applied.
-- The rationale of such avoidance is that the 'pop25' instruction also
     contains return behavior and we have no chance to further adjust stack
     pointer before returning to caller, which is very important to
     variadic function.
  -- So we do not setup v3push/v3pop (push25/pop25) information for a
     variadic function.  It will use normal stack push/pop instead.

	* config/nds32/nds32.c (nds32_compute_stack_frame): Do not use
	v3push/v3pop for variadic function.
	* config/nds32/nds32.md (prologue, epilogue): Likewise.

From-SVN: r214857
2014-09-03 09:04:46 +00:00
Chung-Ju Wu
6f3d3f9c7c [NDS32] Consider varargs situation when creating stack operation assembly code.
-- In fact, we only need to take care of 'push.s' situation,
     because we have to push all the nameless arguments into stack.
  -- We do not have to use 'pop.s' to restore them back to registers,
     because we can just adjust stack pointer to set frame location.
     This operation should be done in epilogue expanding.
  -- Because 'pop25' instruction also performs return operation, we will
     not use v3push/v3pop on isr and vararg functions.
     Therefore, their instruction length should be 4 bytes.

	* config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
	Check rtx for varargs implementation.
	(nds32_output_stack_pop): Likewise.
	* config/nds32/nds32-protos.h: Have a rtx argument for
	nds32_output_stack_push and nds32_output_stack_pop.
	* config/nds32/nds32.md: Likewise.

From-SVN: r214856
2014-09-03 08:57:02 +00:00
Chung-Ju Wu
126b11c692 [NDS32] Add a function to indentify if FUNC is an interrupt service routine.
* config/nds32/nds32-isr.c (nds32_isr_function_p): Define new function
	to check if FUNC is an interrupt service routine.
	* config/nds32/nds32-protos.h (nds32_isr_function_p): Declaration.

From-SVN: r214855
2014-09-03 08:50:14 +00:00
Chung-Ju Wu
dd1536a726 [NDS32] Preparation in nds32.h of using registers to save varargs.
-- The varargs area may also need padding bytes so that we can ensure
     that argument pointer is 8-byte alignment.

	* config/nds32/nds32.h (machine_function): Add some fields for variadic
	arguments implementation.

From-SVN: r214854
2014-09-03 08:40:40 +00:00
Chung-Ju Wu
1509ec034c [NDS32] In nds32_valid_stack_push_pop_p(), we look into OP rtx to see if we indeed save $fp/$gp/$lp registers.
* config/nds32/nds32-predicates.c
	(nds32_valid_stack_push_pop): Rename to ...
	(nds32_valid_stack_push_pop_p): ... this.
	* config/nds32/nds32-protos.h: Likewise.
	* config/nds32/predicates.md: Likewise.

From-SVN: r214853
2014-09-03 08:28:02 +00:00
Chung-Ju Wu
88437f39a8 [NDS32] Refine the implementation and consider CFA restore information for stack v3push/v3pop.
* config/nds32/nds32.c (nds32_gen_stack_v3push): Rename to ...
	(nds32_emit_stack_v3push): ... this.
	(nds32_gen_stack_v3pop): Rename to ...
	(nds32_emit_stack_v3pop): ... this and consider CFA restore
	information.

From-SVN: r214852
2014-09-03 08:20:49 +00:00
Chung-Ju Wu
4e9a2848eb [NDS32] Refine the implementation and consider CFA restore information for stack push/pop multiple.
* config/nds32/nds32.c (nds32_gen_stack_push_multiple): Rename to ...
	(nds32_emit_stack_push_multiple): ... this.
	(nds32_gen_stack_pop_multiple): Rename to ...
	(nds32_emit_stack_pop_multiple): ... this and consider CFA restore
	information.

From-SVN: r214851
2014-09-03 08:17:00 +00:00
Andreas Krebbel
b7d19263fe re PR bootstrap/61078 (ESA mode bootstrap failure since r209897)
2014-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	PR target/61078
	* config/s390/s390.md ("*negdi2_31"): Add s390_split_ok_p check
	and add a second splitter to handle the remaining cases.

2014-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	PR target/61078
	* gcc.target/s390/pr61078.c: New testcase.

From-SVN: r214850
2014-09-03 08:06:09 +00:00
Chung-Ju Wu
64a08b7f98 [NDS32] Define PIC_OFFSET_TABLE_REGNUM to $gp register.
* config/nds32/nds32.h (PIC_OFFSET_TABLE_REGNUM): Define.

From-SVN: r214849
2014-09-03 08:02:37 +00:00
Uros Bizjak
7d4cef2d37 20111227-2.c: Compile only for x86 targets.
* gcc.dg/20111227-2.c: Compile only for x86 targets.
	* gcc.dg/20111227-3.c: Ditto.

From-SVN: r214848
2014-09-03 09:58:17 +02:00
Max Ostapenko
869b69b4e9 gcc-dg.exp (set-target-env-var): Change env to ::env.
gcc/testsuite/ChangeLog:

2014-09-03  Max Ostapenko  <m.ostapenko@partner.samsung.com>

	* lib/gcc-dg.exp (set-target-env-var): Change env to ::env.

From-SVN: r214846
2014-09-03 10:16:30 +03:00
Tobias Burnus
19c41621fe Missed that file in r213079 of 2014-07-26
2014-09-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/61881
        PR fortran/61888
        PR fortran/57305
        * gfortran.dg/sizeof_4.f90: New.

From-SVN: r214843
2014-09-03 08:41:37 +02:00