Age | Commit message (Collapse) | Author | Files | Lines |
|
optimizing.
* config/i386/i386.c (ix86_expand_builtin): Generate
reg for readflags built-in when optimizing.
* config/i386/i386.md (*pushfl<mode>): Rename to ...
(pushfl<mode>2): This. Fix iterator.
(*popfl<mode>): Rename to ...
(*popfl<mode>1): This. Fix iterator.
From-SVN: r205707
|
|
[ADJUST_FIELD_ALIGN].
2013-12-05 Marek Polacek <polacek@redhat.com>
c-family/
* c-common.c (c_sizeof_or_alignof_type): Move a declaration into
[ADJUST_FIELD_ALIGN].
From-SVN: r205705
|
|
2013-12-05 Max Ostapenko <m.ostapenko@partner.samsung.com>
* c-c++-common/tsan/atomic_stack.c: New test.
* c-c++-common/tsan/fd_pipe_race.c: New test.
* c-c++-common/tsan/free_race.c: New test.
* c-c++-common/tsan/mutexset1.c: New test.
* c-c++-common/tsan/race_on_barrier.c: New test.
* c-c++-common/tsan/sleep_sync.c: New test.
* c-c++-common/tsan/thread_leak.c: New test.
* c-c++-common/tsan/thread_leak1.c: New test.
* c-c++-common/tsan/thread_leak2.c: New test.
* c-c++-common/tsan/tiny_race.c: New test.
* c-c++-common/tsan/tls_race.c: New test.
* c-c++-common/tsan/write_in_reader_lock.c: New test.
* lib/tsan-dg.exp: New file.
* gcc.dg/tsan/tsan.exp: New file.
* g++.dg/tsan/tsan.exp: New file.
* g++.dg/dg.exp: Prune tsan subdirectory.
From-SVN: r205704
|
|
ChangeLog/
* config/i386/i386.c(IX86_BUILTIN_READ_FLAGS): New.
(IX86_BUILTIN_WRITE_FLAGS): Ditto.
(ix86_init_mmx_sse_builtins): Define
__builtin_ia32_writeeflags_u32, __builtin_ia32_writeeflags_u64,
__builtin_ia32_readeflags_u32, __builtin_ia32_readeflags_u64.
(ix86_expand_builtin): Expand them.
* config/i386/ia32intrin.h (__readeflags): New.
(__writeeflags): Ditto.
* gcc/config/i386/i386.md (*pushfl<mode>): Ditto.
(*popfl<mode>1): Ditto.
testsuite/ChangeLog/
* gcc.target/i386/readeflags-1.c: New.
* gcc.target/i386/writeeflags-1.c: Ditto.
From-SVN: r205703
|
|
2013-12-05 Yury Gribov <y.gribov@samsung.com>
PR sanitizer/59369
* c-c++-common/asan/pr59063-1.c: Disable on non-Linux platforms.
* c-c++-common/asan/pr59063-2.c: Likewise.
From-SVN: r205699
|
|
+ inform (permerror + inform...
/cp
2013-12-05 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (duplicate_decls): Replace pairs of errors and permerrors
with error + inform (permerror + inform, respectively).
/testsuite
2013-12-05 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/constexpr-46336.C: Adjust expected messages.
* g++.dg/cpp0x/defaulted2.C: Likewise.
* g++.dg/cpp1y/auto-fn8.C: Likewise.
* g++.dg/gomp/udr-3.C: Likewise.
* g++.dg/lookup/extern-c-redecl5.C: Likewise.
* g++.dg/lookup/linkage1.C: Likewise.
* g++.dg/overload/new1.C: Likewise.
* g++.dg/parse/friend5.C: Likewise.
* g++.dg/parse/namespace-alias-1.C: Likewise.
* g++.dg/parse/namespace10.C: Likewise.
* g++.dg/parse/redef2.C: Likewise.
* g++.dg/template/friend44.C: Likewise.
* g++.old-deja/g++.brendan/crash42.C: Likewise.
* g++.old-deja/g++.brendan/crash52.C: Likewise.
* g++.old-deja/g++.brendan/crash55.C: Likewise.
* g++.old-deja/g++.jason/overload21.C: Likewise.
* g++.old-deja/g++.jason/overload5.C: Likewise.
* g++.old-deja/g++.jason/redecl1.C: Likewise.
* g++.old-deja/g++.law/arm8.C: Likewise.
* g++.old-deja/g++.other/main1.C: Likewise.
From-SVN: r205697
|
|
statements)
2013-12-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/56787
* gcc.dg/vect/pr56787.c: Adjust to not require vector float
division.
From-SVN: r205696
|
|
From-SVN: r205695
|
|
constructor)
2013-12-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/59374
* tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence):
Commonize known and unknown dependence case fixing the allowed
read-write dependence case and dropping code that should not
matter.
* gcc.dg/torture/pr59374-1.c: New testcase.
* gcc.dg/torture/pr59374-2.c: Likewise.
From-SVN: r205694
|
|
ChangeLog/
* config/ia64/ia64.md (prologue_allocate_stack): Block auto-
generation of predicated version.
(epilogue_deallocate_stack): Ditto.
(prologue_allocate_stack_pr): Add explicit predicated version.
(epilogue_deallocate_stack_pr): Ditto.
* config/ia64/ia64.c (ia64_single_set): Use explicit versions.
testsuite/ChangeLog/
* gcc.target/ia64/pr52731.c: New.
From-SVN: r205692
|
|
build != host.
<recursive call for build != host>: Clear GMPINC. Don't bother
saving CFLAGS.
From-SVN: r205690
|
|
-fisolate-erroneous-paths-dereference...
* common.opt: Split up -fisolate-erroneous-paths into
-fisolate-erroneous-paths-dereference and
-fisolate-erroneous-paths-attribute.
* invoke.texi: Corresponding changes.
* gimple.c (infer_nonnull_range): Add and use new arguments
to control what kind of statements can be used to infer a
non-null range.
* gimple.h (infer_nonnull_range): Update prototype.
* tree-vrp.c (infer_value_range): Corresponding changes.
* opts.c (default_options_table): Update due to option split.
* gimple-ssa-isolate-paths.c: Fix trailing whitespace.
(find_implicit_erroneous_behaviour): Pass additional arguments
to infer_nonnull_range.
(find_explicit_erroneous_behaviour): Similarly.
(gate_isolate_erroneous_paths): Check both of the new
options.
testsuite/
* gcc.dg/pr38984.c: Use -fno-isolate-erroneous-paths-dereference.
* gcc.dg/tree-ssa/isolate-2.c: Explicitly turn on
-fisolate-erroneous-paths-attribute.
* gcc.dg/tree-ssa/isolate-4.c: Likewise.
From-SVN: r205689
|
|
From-SVN: r205688
|
|
PR c/52023
c-family:
* c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
and check field alignment if set.
* c-common.h (c_sizeof_or_alignof_type): Update prototype.
(c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
c:
* c-parser.c (c_parser_alignas_specifier): Use
c_sizeof_or_alignof_type instead of c_alignof.
(c_parser_alignof_expression): Likewise, with min_alignof
parameter depending on alignof spelling used.
cp:
* typeck.c (cxx_sizeof_or_alignof_type): Update call to
c_sizeof_or_alignof_type.
objc:
* objc-act.c (objc_synthesize_getter): Update calls to
c_sizeof_or_alignof_type.
testsuite:
* gcc.dg/c11-align-6.c: New test.
From-SVN: r205685
|
|
From-SVN: r205684
|
|
From-SVN: r205683
|
|
PR ada/59382
gnattools/
* configure.ac (target parameterization): Rewrite.
* configure: Regenerate.
gcc/ada/
* indepsw-darwin.adb: New file.
From-SVN: r205681
|
|
functions)
PR c/54113
c/
* c-decl.c (start_function): Don't warn for missing prototype for
inline functions.
testsuite/
* gcc.dg/pr54113.c: New test.
From-SVN: r205680
|
|
gcc/
2013-12-04 Tobias Burnus <burnus@net-b.de>
PR debug/37132
* lto-streamer.h (LTO_tags): Add LTO_namelist_decl_ref.
* tree.def (NAMELIST_DECL): Add.
* tree.h (NAMELIST_DECL_ASSOCIATED_DECL): New macro.
* tree.c (initialize_tree_contains_struct): Add asserts for it.
* dwarf2out.c (gen_namelist_decl): New function.
(gen_decl_die, dwarf2out_decl): Call it.
(dwarf2out_imported_module_or_decl_1): Handle NAMELIST_DECL.
* lto-streamer-in.c (lto_input_tree_ref): Handle NAMELIST_DECL.
(lto_input_tree_ref, lto_input_tree_1): Update lto_tag_check_range
call.
* lto-streamer-out.c (lto_output_tree_ref): Handle
* NAMELIST_DECL.
gcc/fortran
2013-12-04 Tobias Burnus <burnus@net-b.de>
PR debug/37132
* trans-decl.c (generate_namelist_decl, create_module_nml_decl):
New static functions.
(gfc_generate_module_vars, generate_local_vars): Call them.
(gfc_trans_use_stmts): Handle namelists for debug genertion.
From-SVN: r205679
|
|
From-SVN: r205677
|
|
From-SVN: r205676
|
|
PR c++/59268
* pt.c (tsubst_copy_and_build): Handle POINTER_PLUS_EXPR.
* g++.dg/cpp0x/constexpr-template6.C: New test.
From-SVN: r205674
|
|
* configure.ac: Append gdbasan.in to .gdbinit if CFLAGS contains
-fsanitize=address.
* configure: Regenerated.
* gdbasan.in: New file.
From-SVN: r205669
|
|
size and no representation clause.
* gcc-interface/decl.c (components_to_record): Add specific handling
for fields with zero size and no representation clause.
From-SVN: r205665
|
|
(affecting trunk/4.7/4.6, but not 4.8))
PR rtl-optimization/58726
* combine.c (force_to_mode): Fix comment typo. Don't destructively
modify x for ROTATE, ROTATERT and IF_THEN_ELSE.
* gcc.c-torture/execute/pr58726.c: New test.
From-SVN: r205664
|
|
PR target/59163
* config/i386/i386.c (ix86_legitimate_combined_insn): If for
!TARGET_AVX there is misaligned MEM operand with vector mode
and get_attr_ssememalign is 0, return false.
(ix86_expand_special_args_builtin): Add get_pointer_alignment
computed alignment and for non-temporal loads/stores also
at least GET_MODE_ALIGNMENT as MEM_ALIGN.
* config/i386/sse.md
(<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
<sse>_storeu<ssemodesuffix><avxsizesuffix>,
<sse2_avx_avx512f>_loaddqu<mode><mask_name>,
<sse2_avx_avx512f>_storedqu<mode>, <sse3>_lddqu<avxsizesuffix>,
sse_vmrcpv4sf2, sse_vmrsqrtv4sf2, sse2_cvtdq2pd, sse_movhlps,
sse_movlhps, sse_storehps, sse_loadhps, sse_loadlps,
*vec_interleave_highv2df, *vec_interleave_lowv2df,
*vec_extractv2df_1_sse, sse2_movsd, sse4_1_<code>v8qiv8hi2,
sse4_1_<code>v4qiv4si2, sse4_1_<code>v4hiv4si2,
sse4_1_<code>v2qiv2di2, sse4_1_<code>v2hiv2di2,
sse4_1_<code>v2siv2di2, sse4_2_pcmpestr, *sse4_2_pcmpestr_unaligned,
sse4_2_pcmpestri, sse4_2_pcmpestrm, sse4_2_pcmpestr_cconly,
sse4_2_pcmpistr, *sse4_2_pcmpistr_unaligned, sse4_2_pcmpistri,
sse4_2_pcmpistrm, sse4_2_pcmpistr_cconly): Add ssememalign attribute.
* config/i386/i386.md (ssememalign): New define_attr.
* g++.dg/torture/pr59163.C: New test.
From-SVN: r205663
|
|
if...
* gcc-interface/trans.c (Case_Statement_to_gnu): Do not push a binding
level for each branch if this is a case expression in Ada 2012.
(gnat_to_gnu) <case N_Expression_With_Actions>: Adjust comment.
From-SVN: r205662
|
|
PR target/59163
* config/i386/i386.c (ix86_legitimate_combined_insn): If for
!TARGET_AVX there is misaligned MEM operand with vector mode
and get_attr_ssememalign is 0, return false.
(ix86_expand_special_args_builtin): Add get_pointer_alignment
computed alignment and for non-temporal loads/stores also
at least GET_MODE_ALIGNMENT as MEM_ALIGN.
* config/i386/sse.md
(<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
<sse>_storeu<ssemodesuffix><avxsizesuffix>,
<sse2_avx_avx512f>_loaddqu<mode><mask_name>,
<sse2_avx_avx512f>_storedqu<mode>, <sse3>_lddqu<avxsizesuffix>,
sse_vmrcpv4sf2, sse_vmrsqrtv4sf2, sse2_cvtdq2pd, sse_movhlps,
sse_movlhps, sse_storehps, sse_loadhps, sse_loadlps,
*vec_interleave_highv2df, *vec_interleave_lowv2df,
*vec_extractv2df_1_sse, sse2_movsd, sse4_1_<code>v8qiv8hi2,
sse4_1_<code>v4qiv4si2, sse4_1_<code>v4hiv4si2,
sse4_1_<code>v2qiv2di2, sse4_1_<code>v2hiv2di2,
sse4_1_<code>v2siv2di2, sse4_2_pcmpestr, *sse4_2_pcmpestr_unaligned,
sse4_2_pcmpestri, sse4_2_pcmpestrm, sse4_2_pcmpestr_cconly,
sse4_2_pcmpistr, *sse4_2_pcmpistr_unaligned, sse4_2_pcmpistri,
sse4_2_pcmpistrm, sse4_2_pcmpistr_cconly): Add ssememalign attribute.
* config/i386/i386.md (ssememalign): New define_attr.
* g++.dg/torture/pr59163.C: New test.
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r205661
|
|
hash_table::find_slot_with_hash() with -fno-devirtualize)
PR tree-optimization/59355
* ipa-devirt.c (gate_ipa_devirt): Return false if
!flag_devirtualize.
* opts.c (common_handle_option): Fix comment spelling.
* g++.dg/ipa/pr59355.C: New test.
From-SVN: r205656
|
|
gcc/
* gimple-ssa-strength-reduction.c: Include tree-affine.h.
(name_expansions): New static variable.
(alt_base_map): Ditto.
(get_alternative_base): New function.
(find_basis_for_candidate): For CAND_REF, optionally call
find_basis_for_base_expr with the returned value from
get_alternative_base.
(record_potential_basis): Add new parameter 'base' of type 'tree';
add an assertion of non-NULL base; use base to set node->base_expr.
(alloc_cand_and_find_basis): Update; call record_potential_basis
for CAND_REF with the returned value from get_alternative_base.
(replace_refs): Dump details on the replacing.
(execute_strength_reduction): Call pointer_map_create for
alt_base_map; call free_affine_expand_cache with &name_expansions.
gcc/testsuite/
* gcc.dg/tree-ssa/slsr-39.c: Update.
* gcc.dg/tree-ssa/slsr-41.c: New test.
From-SVN: r205655
|
|
From-SVN: r205651
|
|
an inexact exception.
libgcc/ChangeLog:
2013-12-03 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
* config/rs6000/ibm-ldouble.c (__gcc_qadd): Fix add
of normal number and qNaN to not raise an inexact exception.
gcc/testsuite/ChangeLog:
2013-12-03 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
* gcc.target/powerpc/pr57363.c: New test.
From-SVN: r205645
|
|
maybe_add_or_update_dep_1, at sched-deps.c:933)
2013-12-03 Wei Mi <wmi@google.com>
PR rtl-optimization/59020
* sched-deps.c (try_group_insn): Move it from haifa-sched.c to here.
(sched_analyze_insn): Call try_group_insn.
(sched_analyze): Cleanup SCHED_GROUP_P before start the analysis.
* haifa-sched.c (try_group_insn): Moved to sched-deps.c.
(group_insns_for_macro_fusion): Removed.
(sched_init): Remove calling group_insns_for_macro_fusion.
2013-12-03 Wei Mi <wmi@google.com>
PR rtl-optimization/59020
* testsuite/gcc.dg/pr59020.c: New.
* testsuite/gcc.dg/macro-fusion-1.c: New.
* testsuite/gcc.dg/macro-fusion-2.c: New.
From-SVN: r205644
|
|
* config/rs6000/htmintrin.h (_TEXASR_INSTRUCTION_FETCH_CONFLICT): Fix
typo in macro name.
(_TEXASRU_INSTRUCTION_FETCH_CONFLICT): Likewise.
From-SVN: r205641
|
|
PR sanitizer/59063
* lib/asan-dg.exp: Don't add anything to flags if libsanitizer
has not been found.
* lib/ubsan-dg.exp: Likewise. Append to flags also
-B${gccpath}/libsanitizer/.
From-SVN: r205639
|
|
2013-12-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vect/costmodel/ppc/costmodel-slp-34.c: Skip for little
endian.
From-SVN: r205638
|
|
2013-12-03 Vladimir Makarov <vmakarov@redhat.com>
* config/aarch64/aarch64.c (aarch64_frame_pointer_required): Check
LR_REGNUM.
(aarch64_can_eliminate): Don't check elimination source when
frame_pointer_required is false.
From-SVN: r205637
|
|
code.
* config/avr/avr.c (avr_option_override): Warn if asked to generate
position independent code.
* config/avr/avr.h: Modify LINK_SPEC to reject -shared.
From-SVN: r205633
|
|
gcc/
PR target/59363
* config/i386/i386.c (emit_memset): Adjust destination address
after gen_strset.
(expand_setmem_epilogue): Likewise.
gcc/testsuite/
PR target/59363
* gcc.target/i386/pr59363.c: New file.
From-SVN: r205630
|
|
value)
PR middle-end/56344
* calls.c (expand_call): Disallow passing huge arguments
by value.
From-SVN: r205628
|
|
PR c/59351
c/
* c-decl.c (build_compound_literal): Allow compound literals with
empty initial value.
testsuite/
* gcc.dg/pr59351.c: New test.
From-SVN: r205627
|
|
gcc/testsuite/
* gcc.dg/20020312-2.c: Add __nds32__ case.
* gcc.dg/builtin-apply2.c: Skip for nds32*-*-*.
* gcc.dg/sibcall-3.c: Expected fail for nds32*-*-*.
* gcc.dg/sibcall-4.c: Expected fail for nds32*-*-*.
* gcc.dg/stack-usage-1.c (SIZE): Define case for __nds32__.
* gcc.dg/torture/pr37868.c: Skip for nds32*-*-*.
* gcc.dg/torture/stackalign/builtin-apply-2.c: Skip for nds32*-*-*.
* gcc.dg/tree-ssa/20040204-1.c: Expected fail for nds32*-*-*.
* gcc.dg/tree-ssa/pr42585.c: Skip for nds32*-*-*.
* gcc.dg/tree-ssa/sra-12.c: Skip for nds32*-*-*.
* gcc.target/nds32: New nds32 specific directory and testcases.
* lib/target-supports.exp (check_profiling_available): Check for
nds32*-*-elf.
From-SVN: r205625
|
|
PR tree-optimization/59362
* tree-object-size.c (object_sizes): Change into array of
vec<unsigned HOST_WIDE_INT>.
(compute_builtin_object_size): Check computed bitmap for
non-NULL instead of object_sizes. Call safe_grow on object_sizes
vector if new SSA_NAMEs appeared.
(init_object_sizes): Check computed bitmap for non-NULL.
Call safe_grow on object_sizes elements instead of initializing
it with XNEWVEC.
(fini_object_sizes): Call release on object_sizes elements, don't
set it to NULL.
* gcc.c-torture/compile/pr59362.c: New test.
From-SVN: r205623
|
|
PR middle-end/59011
* gimplify.c (nonlocal_vla_vars): New variable.
(gimplify_var_or_parm_decl): Put VAR_DECLs for VLAs into
nonlocal_vla_vars chain.
(gimplify_body): Call declare_vars on nonlocal_vla_vars chain
if outer_bind has DECL_INITIAL (current_function_decl) block.
* gcc.dg/pr59011.c: New test.
From-SVN: r205621
|
|
PR target/58864
* dojump.c (save_pending_stack_adjust, restore_pending_stack_adjust):
New functions.
* expr.h (struct saved_pending_stack_adjust): New type.
(save_pending_stack_adjust, restore_pending_stack_adjust): New
prototypes.
* optabs.c (emit_conditional_move): Call save_pending_stack_adjust
and get_last_insn before do_pending_stack_adjust, call
restore_pending_stack_adjust after delete_insns_since.
* expr.c (expand_expr_real_2): Don't call do_pending_stack_adjust
before calling emit_conditional_move.
* expmed.c (expand_sdiv_pow2): Likewise.
* calls.c (expand_call): Use {save,restore}_pending_stack_adjust.
* g++.dg/opt/pr58864.C: New test.
From-SVN: r205618
|
|
and -O3 on x86_64-linux-gnu)
PR tree-optimization/59322
* tree-ssa-threadedge.c (create_edge_and_update_destination_phis):
Remove code which copied jump threading paths.
PR tree-optimization/59322
* gcc.c-torture/compile/pr59322.c: New test
From-SVN: r205617
|
|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58944
ix86_valid_target_attribute_tree in config/i386/i386.c was
refactored to not depend on global_options structure and to be able to
use any gcc_options structure. One clean way to fix this is by having
target_option_default_node save all the default target options which
can be restored to any gcc_options structure. The root cause of the
above bugs was that ix86_arch_string and ix86_tune_string was not
saved in target_option_deault_node.
This patch saves all the target options used in i386.opt which are
either obtained from the command-line or set to some default.
Testing:
Patch tested for bootstrap on all default languages(also obj-c++ and ada)
on x86_64 and regression testsuite checked for parity with RUNTESTFLAGS -m32
and m64.
From-SVN: r205616
|
|
PR c/58235
c:
* c-typeck.c (build_modify_expr): Diagnose assignment to
expression with array type.
testsuite:
* gcc.dg/c90-array-lval-8.c: New test.
From-SVN: r205615
|
|
From-SVN: r205612
|
|
* config/epiphany/epiphany.h: Wrap rtl_opt_pass declarations
in #ifndef IN_LIBGCC2 / #endif.
From-SVN: r205609
|