Commit Graph

141960 Commits

Author SHA1 Message Date
Uros Bizjak bbe741d0e2 mvc1.c: Move to ...
* gcc.dg/mvc1.c: Move to ...
	* gcc.target/i386/mvc1.c: ... here.  Require ifunc.
	* gcc.dg/mvc2.c: Move to ...
	* gcc.target/i386/mvc2.c: ... here.
	* gcc.dg/mvc3.c: Move to ...
	* gcc.target/i386/mvc3.c: ... here.
	* gcc.dg/mvc4.c: Move to ...
	* gcc.target/i386/mvc4.c: ... here.  Require ifunc.
	* gcc.dg/mvc5.c: Move to ...
	* gcc.target/i386/mvc5.c: ... here.
	* gcc.dg/mvc6.c: Move to ...
	* gcc.target/i386/mvc6.c: ... here.
	* gcc.dg/mvc7.c: Move to ...
	* gcc.target/i386/mvc7.c: ... here.

	* g++.dg/ext/mvc1.C: Require ifunc.

From-SVN: r229697
2015-11-03 09:34:42 +01:00
Alexandre Oliva 1b223a9f34 defer mark_addressable calls during expand till the end of expand
for  gcc/ChangeLog

	* gimple-expr.c: Include hash-set.h and rtl.h.
	(mark_addressable_queue): New var.
	(mark_addressable): Factor actual marking into...
	(mark_addressable_1): ... this.  Queue it up during expand.
	(mark_addressable_2): New.
	(flush_mark_addressable_queue): New.
	* gimple-expr.h (flush_mark_addressable_queue): Declare.
	* cfgexpand.c: Include gimple-expr.h.
	(pass_expand::execute): Flush mark_addressable queue.

From-SVN: r229696
2015-11-03 03:57:07 +00:00
Alexandre Oliva ec95cd4792 Remove ChangeLog entry unintentionally duplicated in the top level
From-SVN: r229695
2015-11-03 03:52:56 +00:00
Alexandre Oliva 067339d220 ifcombine: factor out inner block viability test
Bail out early if the inner block has side effects or is otherwise not
eligible for ifcombine.

for  gcc/ChangeLog

	* tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out
	bb_no_side_effects_p tests...
	(tree_ssa_ifcombine_bb): ... here.

From-SVN: r229691
2015-11-03 00:31:18 +00:00
Alexandre Oliva 828ca3d835 [PR68083] don't introduce undefined behavior in ifcombine
The ifcombine pass may move a conditional access to an uninitialized
value before the condition that ensures it is always well-defined,
thus introducing undefined behavior.  Stop it from doing so.

for  gcc/ChangeLog

	PR tree-optimization/68083
	* tree-ssa-ifcombine.c: Include tree-ssa.h.
	(bb_no_side_effects_p): Test for undefined uses too.
	* tree-ssa.c (gimple_uses_undefined_value_p): New.
	* tree-ssa.h (gimple_uses_undefined_value_p): Declare.

for  gcc/testsuite/ChangeLog

	PR tree-optimization/68083
	* gcc.dg/torture/pr68083.c: New.  From Zhendong Su.

From-SVN: r229690
2015-11-03 00:30:07 +00:00
GCC Administrator dac7e9b819 Daily bump.
From-SVN: r229689
2015-11-03 00:16:12 +00:00
Ian Lance Taylor 09df499401 libgo: Bump version number.
Reviewed-on: https://go-review.googlesource.com/16583

From-SVN: r229686
2015-11-02 23:30:21 +00:00
Jeff Law b89410efd1 [PATCH] Avoid more irreducible loops in FSM threader
* tree-ssa-threadupdate.c (valid_jump_thread_path): Also detect
	cases where the loop latch edge is in the middle of an FSM
	path.

	* gcc.dg/tree-ssa/ssa-thread-11.c: Verify that we do not have
	irreducible loops in the CFG.

From-SVN: r229685
2015-11-02 16:25:06 -07:00
Tom de Vries 58b2d87ea1 Rename make_restrict_var_constraints to make_param_constraints
2015-11-03  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-structalias.c (make_restrict_var_constraints): Rename to ...
	(make_param_constraints): ... this.  Add and handle restrict_name
	parameter.  Handle is_full_var case.
	(intra_create_variable_infos): Use make_param_constraints.

From-SVN: r229684
2015-11-02 23:23:28 +00:00
Tom de Vries b9ae50844f Replace make_copy_constraint with make_constraint_from in make_restrict_var_constraints
2015-11-03  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-structalias.c (make_restrict_var_constraints): Replace
	make_copy_constraint call with make_constraint_from call.

From-SVN: r229683
2015-11-02 23:23:19 +00:00
Andreas Tobler 3b963b33ca freebsd64.h (ASM_SPEC32): Adust spec to handle PIE executables.
2015-11-02  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle
    PIE executables.

From-SVN: r229680
2015-11-02 22:51:25 +01:00
Ian Lance Taylor c5f6dbf60d mksysinfo.sh: Handle TIOCGPGRP if too complex for -dump-go-spec.
Reviewed-on: https://go-review.googlesource.com/16580

From-SVN: r229676
2015-11-02 20:23:09 +00:00
Ian Lance Taylor ec3838a735 syscall: Change raw_ioctl cmd type to uintptr.
Attempt to fix a build bug report:
    
    ../../../../libgo/go/syscall/exec_linux.go:185:37: error: integer constant overflow
       _, err1 = raw_ioctl_ptr(sys.Ctty, TIOCSPGRP, unsafe.Pointer(&pgrp))
    
    Reviewed-on: https://go-review.googlesource.com/16539

From-SVN: r229674
2015-11-02 19:58:15 +00:00
David Malcolm 525ce91010 libcpp: Improvements to description of source_location in line-map.h
libcpp/ChangeLog:
	* include/line-map.h (source_location): In the table in the
	descriptive comment, show UNKNOWN_LOCATION, BUILTINS_LOCATION,
	LINE_MAP_MAX_LOCATION_WITH_COLS, LINE_MAP_MAX_SOURCE_LOCATION.
	Add notes about ad-hoc values.

From-SVN: r229673
2015-11-02 19:47:03 +00:00
Richard Sandiford 5c1a2e639a Move constant folds for maths functions to new file
The new routines operate on the built-in enum rather than on tree decls.
The idea is to extend this to handle internal functions too, with a
combined enum for both.

The patch also moves fold_fma too, with the same prototype.  The long-term
plan is to replace FMA_EXPR with an internal function, for consistency
with the way that things like SQRT will be handled.

Tested on x86_64-linux-gnu, arm-linux-gnueabi and aarch64-linux-gnu.

gcc/
	* builtins.h (fold_fma): Move to fold-const-call.h.
	* builtins.c: Include fold-const-call.h.
	(mathfn_built_in_2): New function, split out from...
	(mathfn_built_in_1): ...here.
	(do_real_to_int_conversion, fold_const_builtin_pow)
	(fold_const_builtin_logb, fold_const_builtin_significand)
	(fold_const_builtin_load_exponent, do_mpfr_arg1, do_mpfr_arg2)
	(do_mpfr_arg3, do_mpfr_sincos, do_mpfr_bessel_n, do_mpc_arg1): Delete.
	(fold_builtin_sincos): Use fold_const_call to handle constants.
	(fold_builtin_1, fold_builtin_2, fold_builtin_3): Add explicit
	checks for ERROR_MARK.  Use fold_const_call to handle constant
	folds for math functions.
	(fold_fma): Move to fold-const-call.c.
	* fold-const.c: Include fold-const-call.h.
	* Makefile.in (OBJS): Add fold-const-call.o.
	(PLUGIN_HEADERS): Add fold-const-call.h.
	* realmpfr.h (real_from_mpfr): Allow the format to be specified
	directly.
	* realmpfr.c (real_from_mpfr): Likewise.
	* fold-const-call.h, fold-const-call.c: New files.

From-SVN: r229669
2015-11-02 16:34:16 +00:00
Julian Brown 6aadd15a41 [ARM] neon-testgen.ml typo
* config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous
	brackets and semicolon.

From-SVN: r229662
2015-11-02 12:43:14 +00:00
Alan Lawrence 35e2be9fc9 Revert: tree-scalar-evolution.c: Handle LSHIFT by constant
gcc/:

		tree-scalar-evolution.c (interpret_rhs_expr): Handle some
		LSHIFT_EXPRs as equivalent MULT_EXPRs.

	gcc/testsuite/:

		gcc.dg/vect/vect-strided-shift.c: New.

From-SVN: r229660
2015-11-02 12:39:31 +00:00
Kyrylo Tkachov f4155d214e Move gcc.target/arm/pr67929_1.c test to execute.exp
PR target/67929
	* gcc.target/arm/pr67929_1.c: Move to...
	* gcc.c-torture/execute/pr67929_1.c: ... Here.
	Remove arm-specific directives.  Add noclone, noinline
	attributes.

From-SVN: r229657
2015-11-02 12:23:36 +00:00
Thomas Schwinge f5ce5ca118 [PR middle-end/68166] Restore build with fold checking enabled
gcc/
	PR middle-end/68166
	* fold-const.c: Include "md5.h".

From-SVN: r229652
2015-11-02 08:42:04 +01:00
Jeff Law f0e5161244 [PATCH] Avoid ssa-thread-11.c on various targets
* gcc.dg/tree-ssa/ssa-thread-11.c: Update target selector.

From-SVN: r229651
2015-11-01 22:59:19 -07:00
Jeff Law 4815336c9a [PATCH] Fix vms targets
* vmsdbgout.c: Revert unused header file reduction patch.

From-SVN: r229650
2015-11-01 22:27:14 -07:00
Jeff Law 0f8012fbdd * config/mcore/mcore.c: Include regs.h.
From-SVN: r229649
2015-11-01 22:23:52 -07:00
GCC Administrator 4f1617db75 Daily bump.
From-SVN: r229648
2015-11-02 00:16:12 +00:00
Ian Lance Taylor 1c47a3bfa3 mksysinfo.sh: Handle TIOCSPGRP if too complex for -fdump-go-spec.
Reviewed-on: https://go-review.googlesource.com/16534

From-SVN: r229645
2015-11-01 20:51:23 +00:00
Ian Lance Taylor 2e4e655cf3 re PR go/67968 (go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:1812)
PR go/67968
    compiler: Traverse types of call expressions.
    
    https://gcc.gnu.org/PR67968 provides a test case that causes a gccgo
    crash on valid code.  The compiler failed to build the hash and equality
    functions required for a type descriptor.  The descriptor is for an
    unnamed type that is being returned by a function imported from a
    different package.  The unnamed type is being implicitly converted to an
    interface type by a return statement.  The fix is to ensure that the
    type of a call expression is always traversed.
    
    Test case sent out for the master testsuite as
    https://golang.org/cl/16532 .

From-SVN: r229642
2015-11-01 20:46:04 +00:00
Uros Bizjak 2bbee501a3 pr67609-2.c: Include sse2-check.h.
* gcc.target/i386/pr67609-2.c: Include sse2-check.h.
	(sse2_test): Rename from main.  Do not return 0.

From-SVN: r229641
2015-11-01 21:22:14 +01:00
David Edelsohn 0cf9ec059e pr46756.f: Remove XFAIL for AIX.
* gfortran.dg/debug/pr46756.f: Remove XFAIL for AIX.
        * gfortran.dg/proc_ptr_39.f90: Require visibility.
        * gfortran.dg/read_dir.f90: XFAIL AIX.

From-SVN: r229640
2015-11-01 14:36:59 -05:00
GCC Administrator 34b4939d35 Daily bump.
From-SVN: r229639
2015-11-01 00:16:16 +00:00
Ian Lance Taylor 2b193803d7 runtime: If no split stacks, allocate stacks using mmap on 64-bit systems.
When not using split stacks, libgo allocate large stacks for each
    goroutine.  On a 64-bit system, libgo allocates a maximum of 128G for
    the Go heap, and allocates 4M for each stack.  When the stacks are
    allocated from the Go heap, the result is that a program can only create
    32K goroutines, which is not enough for an active Go server.  This patch
    changes libgo to allocate the stacks using mmap directly, rather than
    allocating them out of the Go heap.  This change is only done for 64-bit
    systems when not using split stacks.  When using split stacks, the
    stacks are allocated using mmap directly anyhow.  On a 32-bit system,
    there is no maximum size for the Go heap, or, rather, the maximum size
    is the available address space anyhow.
    
    Reviewed-on: https://go-review.googlesource.com/16531

From-SVN: r229636
2015-10-31 23:48:19 +00:00
Ian Lance Taylor da235df878 Makefile.am (go_cmd_go_files): Update to Go 1.5.1 library by adding alldocs.go, doc.go, note.go.
* Makefile.am (go_cmd_go_files): Update to Go 1.5.1 library by
	adding alldocs.go, doc.go, note.go.
	* Makefile.in: Rebuild.

From-SVN: r229635
2015-10-31 21:29:38 +00:00
Segher Boessenkool ee5c0d8af9 rs6000: Rewrite rs6000_reg_live_or_pic_offset_p
This function is quite a puzzle; untangle it.  No functional change.


2015-10-31  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Rewrite.

From-SVN: r229634
2015-10-31 20:50:09 +01:00
Segher Boessenkool f44c1eb7e1 rs6000: Another PIC LRA fix
This one for TARGET_TOC && TARGET_MINIMAL_TOC.  Without it, r30 is not
saved in the prologue for functions that do not use r30, but the register
is set later in the prologue anyhow.  This made all java tests fail.


2015-10-31  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Use the
	same condition for testing whether RS6000_PIC_OFFSET_TABLE_REGNUM is
	live as for using it elsewhere, for TARGET_MINIMAL_TOC.

From-SVN: r229633
2015-10-31 20:48:19 +01:00
Ville Voutilainen ffea5536df Remove support for N3994, terse range-for, which was not adopted.
/cp
2015-10-31  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Remove the implementation of N3994, terse range-for loops.
	* parser.c (cp_parser_for_init_statement): Remove the parsing
	of a terse range-for.

/testsuite
2015-10-31  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Remove the implementation of N3994, terse range-for loops.
	* g++.dg/cpp1z/range-for1.C: Remove.

From-SVN: r229632
2015-10-31 21:42:01 +02:00
Cesar Philippidis d057afcdca re PR bootstrap/68168 (r229609 breaks bootstrap)
PR Bootstrap/68168

	gcc/fortran/
	* openmp.c (resolve_omp_clauses): Pass &n->where when calling
	gfc_error.

From-SVN: r229631
2015-10-31 10:55:03 -07:00
Eric Botcazou 64c7c0953f * gnat.dg/discr45.adb: New test.
From-SVN: r229630
2015-10-31 17:13:32 +00:00
Jason Merrill 4fea442db7 Implement multiple 'auto' feature from Concepts TS.
* parser.c (cp_parser_type_id_1): Allow 'auto' if -fconcepts.
	(cp_parser_template_type_arg): Likewise.
	(get_concept_from_constraint): Split out most logic to...
	* constraint.cc (placeholder_extract_concept_and_args): ...here.
	(equivalent_placeholder_constraints, hash_placeholder_constraint): New.
	* cxx-pretty-print.c (pp_cxx_constrained_type_spec): New.
	* cxx-pretty-print.h: Declare it.
	* error.c (dump_type) [TEMPLATE_TYPE_PARM]: Call it.
	* pt.c (is_auto_r, extract_autos_r, extract_autos, auto_hash): New.
	(type_uses_auto): Use is_auto_r.
	(do_auto_deduction): Handle multiple 'auto's if -fconcepts.
	* typeck.c (structural_comptypes) [TEMPLATE_TYPE_PARM]: Compare
	constraints.

From-SVN: r229629
2015-10-31 12:20:05 -04:00
Jason Merrill a459b07fa4 Streamline for_each_template_parm.
* pt.c (for_each_template_parm_r): Use WALK_SUBTREE.
	Return a meaningful value rather than error_mark_node.
	(for_each_template_parm): Return a tree.
	(uses_template_parms_level): Return bool.
	* cp-tree.h: Adjust.

From-SVN: r229628
2015-10-31 12:19:55 -04:00
Jason Merrill 09833a1db1 Improve deduction failure diagnostics.
* pt.c (unify): Don't diagnose no common base if we already have
	the same template.
	(do_auto_deduction): Explain deduction failure.

From-SVN: r229627
2015-10-31 12:19:50 -04:00
Jason Merrill 79d9b2dea2 pt.c (hash_tmpl_and_args): Use iterative_hash_object on template uid.
* pt.c (hash_tmpl_and_args): Use iterative_hash_object on template
	uid.

From-SVN: r229626
2015-10-31 12:19:44 -04:00
Jason Merrill dfded2f6b4 Make some functions static.
* parser.c (synthesize_implicit_template_parm)
	(finish_fully_implicit_template): Make static.

From-SVN: r229625
2015-10-31 12:19:38 -04:00
Ian Lance Taylor b9702967ee libgo: Update from Go 1.5 to Go 1.5.1.
Reviewed-on: https://go-review.googlesource.com/16527

From-SVN: r229624
2015-10-31 15:23:52 +00:00
Markus Trippelsdorf 67376cd2a5 ggc-common.c : Restore needed header for checking=release.
*ggc-common.c : Restore needed header for checking=release.

From-SVN: r229623
2015-10-31 10:57:33 +00:00
Tom de Vries 6664e41e59 Tune pointer-plus folding
2015-10-31  Tom de Vries  <tom@codesourcery.com>

	* fold-const.c (fold_unary_loc): Tune POINTER_PLUS_EXPR folding.

	* gfortran.dg/assumed_type_2.f90: Update test.
	* gfortran.dg/no_arg_check_2.f90: Same.

From-SVN: r229621
2015-10-31 09:33:25 +00:00
Tom de Vries 82d2c2706f Don't expect existing varinfo for arguments in intra_create_variable_infos
2015-10-31  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-structalias.c (intra_create_variable_infos): Don't expect
	existing varinfo for arguments.

From-SVN: r229620
2015-10-31 08:08:48 +00:00
Tom de Vries d0c9ca4461 Add initial constraints in create_function_info_for
2015-10-31  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-structalias.c (ipa_pta_execute): Add extra arg to call to
	create_function_info_for.  Dump constraints generated during
	create_function_info_for. Move intra_create_variable_infos call and
	function-return-values-escape bit to ...
	(create_function_info_for): ... here, and merge
	intra_create_variable_infos call with argument loop.  Add and handle
	nonlocal_p parameter.

From-SVN: r229619
2015-10-31 08:08:39 +00:00
Tom de Vries 2ce4413c7f Improve readability and structure of create_function_info_for
2015-10-31  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-structalias.c (create_function_info_for): Make sure prev_vi
	updating is alap, and seperated from preceding code.  Make sure
	insert_vi_for_tree is seperated from surrounding code.

From-SVN: r229618
2015-10-31 08:08:28 +00:00
Tom de Vries a543155b20 Use make_copy_constraint in ipa_pta_execute
2015-10-31  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint.

From-SVN: r229617
2015-10-31 08:08:18 +00:00
Ian Lance Taylor af146490bb runtime: Remove now unnecessary pad field from ParFor.
It is not needed due to the removal of the ctx field.
    
    Reviewed-on: https://go-review.googlesource.com/16525

From-SVN: r229616
2015-10-31 00:59:47 +00:00
GCC Administrator 725e1be340 Daily bump.
From-SVN: r229615
2015-10-31 00:16:16 +00:00
Ian Lance Taylor 8af57ca269 compiler: Create pointer type for all types with methods.
Reviewed-on: https://go-review.googlesource.com/16522

From-SVN: r229612
2015-10-30 23:00:06 +00:00