| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Storing a register in memory as a full word and then accessing the
same memory address under a smaller-than-word mode amounts to
right-shifting of the register word on big endian machines. So, if
BLOCK_REG_PADDING chooses upward padding for BYTES_BIG_ENDIAN, and
we're copying from the entry_parm REG directly to a pseudo, bypassing
any stack slot, perform the shifting explicitly.
This fixes the miscompile of function_return_val_10 in
gcc.target/aarch64/aapcs64/func-ret-4.c for target aarch64_be-elf
introduced in the first patch for 67753.
for gcc/ChangeLog
PR rtl-optimization/67753
PR rtl-optimization/64164
* function.c (assign_parm_setup_block): Right-shift
upward-padded big-endian args when bypassing the stack slot.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In assign_parms_setup_block, the copy of args in PARALLELs from
entry_parm to stack_parm is deferred to the parm conversion insn seq,
but the copy from stack_parm to target_reg was inserted in the normal
copy seq, that is executed before the conversion insn seq. Oops.
We could do away with the need for an actual stack_parm in general,
which would have avoided the need for emitting the copy to target_reg
in the conversion seq, but at least on pa, due to the need for stack
to copy between SI and SF modes, it seems like using the reserved
stack slot is beneficial, so I put in logic to use a pre-reserved
stack slot when there is one, and emit the copy to target_reg in the
conversion seq if stack_parm was set up there.
for gcc/ChangeLog
PR rtl-optimization/67753
PR rtl-optimization/64164
* function.c (assign_parm_setup_block): Avoid allocating a
stack slot if we don't have an ABI-reserved one. Emit the
copy to target_reg in the conversion seq if the copy from
entry_parm is in it too. Don't use the conversion seq to copy
a PARALLEL to a REG or a CONCAT.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229696 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229695 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229691 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229690 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229689 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
Reviewed-on: https://go-review.googlesource.com/16583
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229686 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229685 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229684 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229683 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle
PIE executables.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229680 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
Reviewed-on: https://go-review.googlesource.com/16580
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229676 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229674 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229673 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229669 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous
brackets and semicolon.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229662 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229660 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229657 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
gcc/
PR middle-end/68166
* fold-const.c: Include "md5.h".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229652 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
| |
* gcc.dg/tree-ssa/ssa-thread-11.c: Update target selector.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229651 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
| |
* vmsdbgout.c: Revert unused header file reduction patch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229650 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229649 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229648 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
Reviewed-on: https://go-review.googlesource.com/16534
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229645 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 .
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229642 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
(sse2_test): Rename from main. Do not return 0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229641 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* gfortran.dg/proc_ptr_39.f90: Require visibility.
* gfortran.dg/read_dir.f90: XFAIL AIX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229640 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229639 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229636 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
adding alldocs.go, doc.go, note.go.
* Makefile.in: Rebuild.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229635 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229634 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229633 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
/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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229632 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
gcc/fortran/
* openmp.c (resolve_omp_clauses): Pass &n->where when calling
gfc_error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229631 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229630 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229629 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229628 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* pt.c (unify): Don't diagnose no common base if we already have
the same template.
(do_auto_deduction): Explain deduction failure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229627 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
| |
uid.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229626 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* parser.c (synthesize_implicit_template_parm)
(finish_fully_implicit_template): Make static.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229625 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
Reviewed-on: https://go-review.googlesource.com/16527
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229624 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
| |
*ggc-common.c : Restore needed header for checking=release.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229623 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229621 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
2015-10-31 Tom de Vries <tom@codesourcery.com>
* tree-ssa-structalias.c (intra_create_variable_infos): Don't expect
existing varinfo for arguments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229620 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229619 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229618 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
2015-10-31 Tom de Vries <tom@codesourcery.com>
* tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229617 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
It is not needed due to the removal of the ctx field.
Reviewed-on: https://go-review.googlesource.com/16525
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229616 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229615 138bc75d-0d04-0410-961f-82ee72b054a4
|