Commit Graph

132556 Commits

Author SHA1 Message Date
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
Trevor Saunders 134aa83c6f use rtx_code_label in lab_rtx_for_bb hash map
gcc/ChangeLog:

	* cfgexpand.c (label_rtx_for_bb): Change type to
	hash_map<basic_block, rtx_code_label *> *.
	(expand_gimple_basic_block): Adjust.
	(pass_expand::execute): Likewise.

From-SVN: r214842
2014-09-03 00:53:29 +00:00
Trevor Saunders 19f8b22971 use rtx_code_label more
gcc/

	* asan.c, cfgexpand.c, config/alpha/alpha.md, config/arm/arm.c,
	config/epiphany/epiphany.md, config/h8300/h8300.c, config/i386/i386.md,
	config/m32r/m32r.c, config/mcore/mcore.md, config/mips/mips.c,
	config/mips/mips.md, config/nios2/nios2.c, config/pa/pa.c,
	config/s390/s390.c, config/s390/s390.md, config/sh/sh-mem.cc,
	config/sh/sh.c, config/sparc/sparc.c, dojump.c, function.c, optabs.c,
	stmt.c: Assign the result of gen_label_rtx to rtx_code_label * instead
	of rtx.

From-SVN: r214841
2014-09-03 00:52:11 +00:00
Nathan Sidwell b20ee094df libgcov-interface.c (STRONG_ALIAS): New.
* libgcov-interface.c (STRONG_ALIAS): New.
	(__gcov_flush): Call __gcov_reset_int.
	(__gcov_reset): Strong alias for ...
	(__gcov_reset_ing): ... this renamed hidden version.
	* libgcov.h (__gcov_reset_int): New declaration.

From-SVN: r214840
2014-09-03 00:43:00 +00:00
GCC Administrator 4293bc0c2a Daily bump.
From-SVN: r214839
2014-09-03 00:16:57 +00:00
Trevor Saunders b086d5308d support ggc hash_map and hash_set
gcc/ChangeLog:

	* alloc-pool.c: Include coretypes.h.
	* cgraph.h, dbxout.c, dwarf2out.c, except.c, except.h, function.c,
	function.h, symtab.c, tree-cfg.c, tree-eh.c: Use hash_map and
	hash_set instead of htab.
	* ggc-page.c (in_gc): New variable.
	(ggc_free): Do nothing if a collection is taking place.
	(ggc_collect): Set in_gc appropriately.
	* ggc.h (gt_ggc_mx(const char *)): New function.
	(gt_pch_nx(const char *)): Likewise.
	(gt_ggc_mx(int)): Likewise.
	(gt_pch_nx(int)): Likewise.
	* hash-map.h (hash_map::hash_entry::ggc_mx): Likewise.
	(hash_map::hash_entry::pch_nx): Likewise.
	(hash_map::hash_entry::pch_nx_helper): Likewise.
(hash_map::hash_map): Adjust.
(hash_map::create_ggc): New function.
(gt_ggc_mx): Likewise.
(gt_pch_nx): Likewise.
	* hash-set.h (default_hashset_traits::ggc_mx): Likewise.
(default_hashset_traits::pch_nx): Likewise.
(hash_set::hash_entry::ggc_mx): Likewise.
(hash_set::hash_entry::pch_nx): Likewise.
(hash_set::hash_entry::pch_nx_helper): Likewise.
(hash_set::hash_set): Adjust.
(hash_set::create_ggc): New function.
(hash_set::elements): Likewise.
(gt_ggc_mx): Likewise.
(gt_pch_nx): Likewise.
	* hash-table.h (hash_table::hash_table): Adjust.
(hash_table::m_ggc): New member.
	(hash_table::~hash_table): Adjust.
	(hash_table::expand): Likewise.
	(hash_table::empty): Likewise.
(gt_ggc_mx): New function.
	(hashtab_entry_note_pointers): Likewise.
(gt_pch_nx): Likewise.

From-SVN: r214834
2014-09-02 22:46:00 +00:00
Bill Schmidt 70f0f8b2b1 rs6000-builtin.def (XVCVSXDDP_SCALE): New built-in definition.
[gcc]

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

	* config/rs6000/rs6000-builtin.def (XVCVSXDDP_SCALE):  New
	built-in definition.
	(XVCVUXDDP_SCALE): Likewise.
	(XVCVDPSXDS_SCALE): Likewise.
	(XVCVDPUXDS_SCALE): Likewise.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins):  Add
	entries for VSX_BUILTIN_XVCVSXDDP_SCALE,
	VSX_BUILTIN_XVCVUXDDP_SCALE, VSX_BUILTIN_XVCVDPSXDS_SCALE, and
	VSX_BUILTIN_XVCVDPUXDS_SCALE.
	* config/rs6000/rs6000-protos.h (rs6000_scale_v2df): New
	prototype.
	* config/rs6000/rs6000.c (real.h): New include.
	(rs6000_scale_v2df): New function.
	* config/rs6000/vsx.md (UNSPEC_VSX_XVCVSXDDP): New unspec.
	(UNSPEC_VSX_XVCVUXDDP): Likewise.
	(UNSPEC_VSX_XVCVDPSXDS): Likewise.
	(UNSPEC_VSX_XVCVDPUXDS): Likewise.
	(vsx_xvcvsxddp_scale): New define_expand.
	(vsx_xvcvsxddp): New define_insn.
	(vsx_xvcvuxddp_scale): New define_expand.
	(vsx_xvcvuxddp): New define_insn.
	(vsx_xvcvdpsxds_scale): New define_expand.
	(vsx_xvcvdpsxds): New define_insn.
	(vsx_xvcvdpuxds_scale): New define_expand.
	(vsx_xvcvdpuxds): New define_insn.
	* doc/extend.texi (vec_ctf): Add new prototypes.
	(vec_cts): Likewise.
	(vec_ctu): Likewise.
	(vec_splat): Likewise.
	(vec_div): Likewise.
	(vec_mul): Likewise.

[gcc/testsuite]

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

	* gcc.target/powerpc/builtins-1.c: Add tests for vec_ctf,
	vec_cts, and vec_ctu.
	* gcc.target/powerpc/builtins-2.c: Likewise.

From-SVN: r214831
2014-09-02 19:31:47 +00:00