Age | Commit message (Collapse) | Author | Files | Lines |
|
simple_object_copy_lto_debug_sections not implemented: Invalid argument on Cygwin)
PR target/85238
* lto-wrapper.c (debug_objcopy): Open the files in binary mode.
* dwarf2out.c (dwarf2out_early_finish): Do not generate assembly in LTO
mode for PE-COFF targets.
* config/i386/i386-protos.h (i386_pe_asm_lto_start): Declare.
(i386_pe_asm_lto_end): Likewise.
* config/i386/cygming.h (TARGET_ASM_LTO_START): Define.
(TARGET_ASM_LTO_END): Likewise.
* config/i386/winnt.c (saved_debug_info_level): New static variable.
(i386_pe_asm_lto_start): New function.
(i386_pe_asm_lto_end): Likewise.
From-SVN: r259347
|
|
PR middle-end/84955
gcc/
* lto-streamer-out.c (output_function): Fix CFG loop state before
streaming out.
* omp-expand.c (expand_oacc_for): Handle calls to internal
functions like regular functions.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r259346
|
|
revision r259317)
2018-04-12 Richard Biener <rguenther@suse.de>
PR lto/85371
* dwarf2out.c (init_sections_and_labels): Use debug_line_section[_label]
for the early LTO debug to properly generate references to it
during DIE emission. Do not re-use that for the skeleton for
split-dwarf.
(dwarf2out_early_finish): Likewise.
From-SVN: r259345
|
|
PR target/85328
* config/i386/sse.md
(<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name> split,
<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name> split,
vec_extract_lo_<mode><mask_name> split, vec_extract_lo_v32hi,
vec_extract_lo_v64qi): For non-AVX512VL if input is xmm16+ reg
and output is a reg, avoid creating invalid lowpart subreg, but
instead split into a 512-bit move. Don't split if not AVX512VL,
input is xmm16+ reg and output is a mem.
(vec_extract_lo_<mode><mask_name>, vec_extract_lo_v32hi,
vec_extract_lo_v64qi): Don't require split if not AVX512VL, input is
xmm16+ reg and output is a mem.
* gcc.target/i386/pr85328.c: New test.
From-SVN: r259344
|
|
The CFI magic we emit as part of the indirect branch thunks in order to
have somewhat sane unwind information must not be emitted with
-fno-dwarf2-cfi-asm.
gcc/ChangeLog:
2018-04-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_output_indirect_thunk_function): Check
also for flag_dwarf2_cfi_asm.
gcc/testsuite/ChangeLog:
2018-04-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/nobp-no-dwarf2-cfi.c: New test.
From-SVN: r259340
|
|
2018-04-11 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/warn/Wzero-as-null-pointer-constant-7.C: Move...
* g++.dg/cpp0x/Wzero-as-null-pointer-constant-3.C: ... here.
From-SVN: r259339
|
|
(regcprop.c:995) with -O2 -mavx512vl)
PR rtl-optimization/85342
* regcprop.c (copyprop_hardreg_forward_1): Remove replaced array, use
a bool scalar var inside of the loop instead. Don't try to update
recog_data.operand after failed apply_change_group.
* gcc.target/i386/pr85342.c: New test.
From-SVN: r259338
|
|
2018-04-12 Tom de Vries <tom@codesourcery.com>
PR target/85296
* config/nvptx/nvptx.c (flexible_array_member_type_p): New function.
(nvptx_assemble_decl_begin): Add undefined param. Declare undefined
array with flexible array member as array without given dimension.
(nvptx_assemble_undefined_decl): Set nvptx_assemble_decl_begin call
argument for undefined param to true.
From-SVN: r259337
|
|
From-SVN: r259336
|
|
From-SVN: r259333
|
|
2018-04-11 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/warn/Wzero-as-null-pointer-constant-7.C: Move...
* g++.dg/cpp0x/Wzero-as-null-pointer-constant-3.C: ... here.
From-SVN: r259327
|
|
gcc/testsuite
PR testsuite/85190
* gcc.dg/vect/pr81196.c: Remove function with undefined behavior.
From-SVN: r259326
|
|
PR c++/70808
* g++.dg/warn/Wzero-as-null-pointer-constant-7.C: Require c++11
effective target.
From-SVN: r259325
|
|
2018-04-11 Aaron Sawdey <acsawdey@linux.ibm.com>
PR target/85321
* doc/invoke.texi (RS/6000 and PowerPC Options): Document options
-mcall- and -mtraceback=. Remove options -mabi=spe and -mabi=no-spe
from PowerPC section.
* config/rs6000/sysv4.opt (mcall-): Improve help text.
* config/rs6000/rs6000.opt (mblock-compare-inline-limit=): Trim
help text that is too long.
* config/rs6000/rs6000.opt (mblock-compare-inline-loop-limit=): Trim
help text that is too long.
* config/rs6000/rs6000.opt (mstring-compare-inline-limit=): Trim
help text that is too long.
From-SVN: r259324
|
|
* config/alpha/alpha.md (stack_probe_internal): Rename
from "probe_stack". Update all callers.
From-SVN: r259323
|
|
PR rtl-optimization/84566
* sched-deps.c (sched_analyze_insn): Check deps->readonly when invoking
sched_macro_fuse_insns.
From-SVN: r259322
|
|
PR target/84301
* sched-rgn.c (add_branch_dependences): Move sel_sched_p check here...
(compute_block_dependences): ... from here.
testsuite/
* gcc.target/i386/pr84301.c: New test.
From-SVN: r259321
|
|
Segmentation fault (-O1 and above))
PR tree-optimization/85331
* vec-perm-indices.h (vec_perm_indices::clamp): Change input type
from int to HOST_WIDE_INT.
* gcc.c-torture/execute/pr85331.c: New test.
From-SVN: r259320
|
|
2018-04-11 Martin Jambor <mjambor@suse.cz>
PR ipa/84149
* ipa-cp.c (propagate_vals_across_pass_through): Expand comment.
(cgraph_edge_brings_value_p): New parameter dest_val, check if it is
not the same as the source val.
(cgraph_edge_brings_value_p): New parameter.
(gather_edges_for_value): Pass destination value to
cgraph_edge_brings_value_p.
(perhaps_add_new_callers): Likewise.
(get_info_about_necessary_edges): Likewise and exclude values brought
only by self-recursive edges.
(create_specialized_node): Redirect only clones of self-calling edges.
(+self_recursive_pass_through_p): New function.
(find_more_scalar_values_for_callers_subset): Use it.
(find_aggregate_values_for_callers_subset): Likewise.
(known_aggs_to_agg_replacement_list): Removed.
(decide_whether_version_node): Re-calculate known constants for all
remaining context clones.
From-SVN: r259319
|
|
PR c++/85032
* constexpr.c (potential_constant_expression_1): Consider conversions
from classes to literal types potentially constant.
* g++.dg/cpp0x/pr51225.C: Adjust error message.
* g++.dg/cpp1z/constexpr-if21.C: New test.
From-SVN: r259318
|
|
2018-04-11 Richard Biener <rguenther@suse.de>
PR lto/85339
* dwarf2out.c (dwarf2out_finish): Remove DW_AT_stmt_list attribute
from early DWARF output.
(dwarf2out_early_finish): Output line info unconditionally into
early DWARF and add reference to it.
From-SVN: r259317
|
|
`vpbroadcastb' with -mavx512bw -masm=intel)
PR target/85281
* config/i386/sse.md (iptr): Add V16SFmode and V8DFmode cases.
(<avx512>_vec_dup<mode><mask_name>): Use a single pattern for modes
other than V2DFmode using iptr mode attribute.
(<avx512>_vec_dup<mode><mask_name>): Use iptr mode attribute.
* gcc.target/i386/pr85281.c: New test.
From-SVN: r259316
|
|
From-SVN: r259314
|
|
PR rtl-optimization/85659
* sel-sched-ir.c (sel_init_pipelining): Invoke cleanup_cfg.
testsuite/
* gcc.dg/pr84659.c: New test.
From-SVN: r259313
|
|
2018-04-11 Martin Liska <mliska@suse.cz>
* lto-symtab.c (lto_symtab_merge_p): Use attribute_value_equal
function.
From-SVN: r259312
|
|
on i686-linux-gnu)
PR debug/85302
* dwarf2out.c (skip_loc_list_entry): Don't call size_of_locs if
SIZEP is NULL.
(output_loc_list): Pass address of a dummy size variable even in the
locview handling loop.
(index_location_lists): Add comment on why skip_loc_list_entry can't
call size_of_locs.
* g++.dg/debug/dwarf2/pr85302.C: New test.
From-SVN: r259311
|
|
Instruction pattern for setting the FPSCR expects the input value to be
in a register. However, __builtin_arm_set_fpscr expander does not ensure
that this is the case and as a result GCC ICEs when the builtin is
called with a constant literal.
This commit fixes the builtin to force the input value into a register.
It also remove the unneeded volatile in the existing fpscr test and
fixes the function prototype.
2018-04-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR target/85261
* config/arm/arm-builtins.c (arm_expand_builtin): Force input operand
into register.
gcc/testsuite/
PR target/85261
* config/arm/arm-builtins.c (arm_expand_builtin): Force input operand
into register.
From-SVN: r259310
|
|
From-SVN: r259307
|
|
/cp
2018-04-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70808
* init.c (build_zero_init_1): Handle NULLPTR_TYPE_P being true of
the type like TYPE_PTR_OR_PTRMEM_P.
/testsuite
2018-04-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70808
* g++.dg/warn/Wzero-as-null-pointer-constant-7.C: New.
From-SVN: r259303
|
|
2018-04-10 Aaron Sawdey <acsawdey@linux.ibm.com>
PR target/85321
* doc/invoke.texi (RS/6000 and PowerPC Options): Document options
-mblock-compare-inline-limit, -mblock-compare-inline-loop-limit,
and -mstring-compare-inline-limit.
From-SVN: r259302
|
|
From-SVN: r259300
|
|
The stack clash protection code had a logic error in how it decided
whether to put the final update size in a register, or to emit it
directly in an insn. This fixes it. It also tidies some surrounding
code.
PR target/85287
* gcc/config/rs6000/rs6000.md (allocate_stack): Put the residual size
for stack clash protection in a register whenever we need it to be in
a register.
From-SVN: r259299
|
|
To find out where on-entry register values live at any point in a
program, GDB currently tries to parse to parse the executable code.
This does not work very well, for example it gets confused if some
accesses to the stack use the frame pointer (r31) and some use the
stack pointer (r1). A symptom is that backtraces can be cut short.
This patch enables -fasynchronous-unwind-tables by default for rs6000,
which causes us to emit DWARF unwind tables for all functions, solving
these problems.
This not do anything for sub-targets without DWARF, and only for ELF
sub-targets for now.
It increases executable size, but only modestly, and does not change
memory use, only the disk image.
* common/config/rs6000/rs6000-common.c (rs6000_option_init_struct):
Enable -fasynchronous-unwind-tables by default if OBJECT_FORMAT_ELF.
gcc/testsuite/
* gcc.target/powerpc/dfmode_off.c: Add -fno-asynchronous-unwind-tables.
* gcc.target/powerpc/dimode_off.c: Ditto.
* gcc.target/powerpc/tfmode_off.c: Ditto.
* gcc.target/powerpc/timode_off.c: Ditto.
From-SVN: r259298
|
|
This updates the help text for some options to mention the allowed
values for -mXX=XX.
PR target/85321
* config/rs6000/rs6000.opt (mtraceback=): Show the allowed values in
the help text.
(mlong-double-): Ditto.
* config/rs6000/sysv4.opt (msdata=): Ditto.
(mtls-size=): Ditto.
From-SVN: r259296
|
|
"vector int vec_ldl (int...
gcc/ChangeLog:
2018-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
erroneous entries for
"vector int vec_ldl (int, long int *)", and
"vector unsigned int vec_ldl (int, unsigned long int *)".
Add comments and entries for
"vector bool char vec_ldl (int, bool char *)",
"vector bool short vec_ldl (int, bool short *)",
"vector bool int vec_ldl (int, bool int *)",
"vector bool long long vec_ldl (int, bool long long *)",
"vector pixel vec_ldl (int, pixel *)",
"vector long long vec_ldl (int, long long *)",
"vector unsigned long long vec_ldl (int, unsigned long long *)".
* config/rs6000/rs6000.c (rs6000_init_builtins): Initialize new
type tree bool_long_long_type_node and correct definition of
bool_V2DI_type_node to make reference to this new type tree.
(rs6000_mangle_type): Replace erroneous reference to
bool_long_type_node with bool_long_long_type_node.
* config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Add
comments to emphasize sign distinctions for char and int types and
replace RS6000_BTI_bool_long constant with
RS6000_BTI_bool_long_long constant. Also add comment to restrict
use of RS6000_BTI_pixel.
(bool_long_type_node): Remove this macro definition.
(bool_long_long_type_node): New macro definition
gcc/testsuite/ChangeLog:
2018-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/vec-ldl-1.c: New test.
* gcc.dg/vmx/ops-long-1.c: Correct test programs to reflect
corrections to ABI implementation.
From-SVN: r259294
|
|
* call.c (clear_location_r, convert_default_arg): Revert.
* tree.c (break_out_target_exprs): Add clear_location parm.
(struct bot_data): New.
(bot_manip): Clear location if requested.
* init.c (get_nsdmi): Pass clear_location.
From-SVN: r259291
|
|
gcc/testsuite/
* gcc.target/nvptx/pr85056.c (main): Initialize "sum".
From-SVN: r259288
|
|
gcc/ChangeLog:
* doc/cppopts.texi: Use "side effect" instead of side-effect.
* doc/extend.texi: Same.
* doc/generic.texi: Same.
* doc/implement-c.texi: Same.
* doc/invoke.texi: Same.
* doc/md.texi: Same.
* doc/rtl.texi: Same.
* doc/tree-ssa.texi: Same.
From-SVN: r259287
|
|
simplify-rtx.c:895)
PR rtl-optimization/85300
* combine.c (subst): Handle subst of CONST_SCALAR_INT_P new_rtx also
into FLOAT and UNSIGNED_FLOAT like ZERO_EXTEND, return a CLOBBER if
simplify_unary_operation fails.
* gcc.dg/pr85300.c: New test.
From-SVN: r259285
|
|
cgraph_edge and ipa_ref.
2018-04-10 Martin Liska <mliska@suse.cz>
* gdbhooks.py: Add pretty-printers for varpool_node, symtab_node,
cgraph_edge and ipa_ref.
From-SVN: r259283
|
|
gcc/cp/ChangeLog:
PR c++/85110
* call.c (get_fndecl_argument_location): Make non-static.
* cp-tree.h (get_fndecl_argument_location): New decl.
* typeck.c (convert_for_assignment): When complaining due to
conversions for an argument, show the location of the parameter
within the decl.
gcc/testsuite/ChangeLog:
PR c++/85110
* g++.dg/cpp1z/direct-enum-init1.C: Update for the cases
where we now show the pertinent parameter.
* g++.dg/diagnostic/aka2.C: Likewise.
* g++.dg/diagnostic/param-type-mismatch-2.C: Likewise.
From-SVN: r259282
|
|
PR c++/85312 - P0962 cleanup
* parser.c (cp_parser_perform_range_for_lookup): Remove unreachable
diagnostics.
From-SVN: r259279
|
|
* call.c (clear_location_r): New.
(convert_default_arg): Use it.
* tree.c (bot_manip): Remove builtin_LINE/FILE handling.
From-SVN: r259278
|
|
* pt.c (instantiate_class_template_1): Check for flexible array in
union.
From-SVN: r259277
|
|
From-SVN: r259276
|
|
PR fortran/85313
* openmp.c (resolve_omp_do): Remove bogus if (j < i) break;.
(resolve_oacc_nested_loops): Likewise. Formatting fix.
* gfortran.dg/gomp/pr85313.f90: New test.
From-SVN: r259275
|
|
2018-04-10 Martin Liska <mliska@suse.cz>
PR lto/85248
* lto-symtab.c (lto_symtab_merge_p): Do not check for
TREE_VALUES of error attributes.
From-SVN: r259274
|
|
successfuly.)
2018-04-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/24314
* g++.dg/parse/template29.C: New.
From-SVN: r259273
|
|
gcc/testsuite
PR testsuite/85190
* gcc.dg/vect/pr81196.c: Adjust pointer for aligned access.
From-SVN: r259272
|
|
PR target/85177
PR target/85255
* config/i386/sse.md
(<extract_type>_vinsert<shuffletype><extract_suf>_mask): Fix
computation of the VEC_MERGE selector from mask.
(<extract_type>_vinsert<shuffletype><extract_suf>_1<mask_name>):
Fix decoding of the VEC_MERGE selector into mask.
* gcc.target/i386/avx512f-pr85177.c: New test.
* gcc.target/i386/avx512f-pr85255.c: New test.
From-SVN: r259269
|