Richard Biener
d679e96bbe
re PR tree-optimization/64365 (Predictive commoning after loop vectorization produces incorrect code.)
...
2015-01-15 Richard Biener <rguenther@suse.de>
PR middle-end/64365
* tree-data-ref.c (dr_analyze_indices): Make sure that accesses
for MEM_REF access functions with the same base can never partially
overlap.
* gcc.dg/torture/pr64365.c: New testcase.
From-SVN: r219634
2015-01-15 08:41:08 +00:00
Marcos Diaz
5434dc0730
common.opt: New option -fstack-protector-explicit.
...
2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
* common.opt: New option -fstack-protector-explicit.
* cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
(stack_protect_decl_phase): Handle stack_protect attribute for
explicit stack protection requests.
(expand_used_vars): Similarly.
* doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
* doc/extend.texi: Add documentation for "stack_protect" attribute.
* doc/invoke.texi: Add documentation for -fstack-protector-explicit.
* c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
for the new option fstack-protector_explicit.
* c-common.c (c_common_attribute_table): Add stack_protect attribute.
(handle_stack_protect_attribute): New function.
* gcc.dg/stackprotectexplicit1.c: New test.
* g++.dg/stackprotectexplicit2.c: New test.
From-SVN: r219633
2015-01-14 22:29:12 -07:00
Jerry DeLisle
1a0c698345
re PR fortran/61933 (Inquire on internal units)
...
2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR target/61933
* gfortran.dg/inquire_internal.f90: New.
* gfortran.dg/negative_unit_check.f90: New.
From-SVN: r219632
2015-01-15 04:06:02 +00:00
Jerry DeLisle
351b443252
re PR fortran/61933 (Inquire on internal units)
...
2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/61933
* io/inquire.c (inquire_via_unit): Set existing to true if a
gfc_unit stucture was found for the given unit number.
* runtime/error.c (translate_error): Add case for
LIBERROR_INQUIRE_INTERNAL_UNIT.
From-SVN: r219631
2015-01-15 03:57:29 +00:00
Jerry DeLisle
2da229cb17
re PR fortran/61933 (Inquire on internal units)
...
2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/61933
* io.c (gfc_match_inquire): Generate error if unit number in
inquire statement is a constant -1. All other values allowed.
* trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
(create_dummy_iostat): Delete function no longer used.
From-SVN: r219630
2015-01-15 03:51:16 +00:00
Ian Lance Taylor
d5d9c650a2
libgo: Bump version number in libgo configure script.
...
From-SVN: r219629
2015-01-15 00:52:38 +00:00
Ian Lance Taylor
3307c079d5
Add files somehow left out of last commit (upgrade to Go 1.4).
...
From-SVN: r219628
2015-01-15 00:40:25 +00:00
Ian Lance Taylor
f8d9fa9e80
libgo, compiler: Upgrade libgo to Go 1.4, except for runtime.
...
This upgrades all of libgo other than the runtime package to
the Go 1.4 release. In Go 1.4 much of the runtime was
rewritten into Go. Merging that code will take more time and
will not change the API, so I'm putting it off for now.
There are a few runtime changes anyhow, to accomodate other
packages that rely on minor modifications to the runtime
support.
The compiler changes slightly to add a one-bit flag to each
type descriptor kind that is stored directly in an interface,
which for gccgo is currently only pointer types. Another
one-bit flag (gcprog) is reserved because it is used by the gc
compiler, but gccgo does not currently use it.
There is another error check in the compiler since I ran
across it during testing.
gotools/:
* Makefile.am (go_cmd_go_files): Sort entries. Add generate.go.
* Makefile.in: Rebuild.
From-SVN: r219627
2015-01-15 00:27:56 +00:00
GCC Administrator
6bd3f109d8
Daily bump.
...
From-SVN: r219626
2015-01-15 00:17:03 +00:00
Oleg Endo
83e3f98b8d
re PR target/53988 ([SH] tst Rm,Rn not used for QI/HImode)
...
gcc/
PR target/53988
* config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
reg-reg copies.
(sh_extending_set_of_reg): New struct.
(sh_find_extending_set_of_reg, sh_split_tst_subregs,
sh_remove_reg_dead_or_unused_notes): New Declarations.
* config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
sh_find_extending_set_of_reg, sh_split_tst_subregs,
sh_extending_set_of_reg::use_as_extended_reg): New functions.
* config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
convert to insn_and_split and use new function sh_split_tst_subregs.
gcc/testsuite/
PR target/53988
* gcc.target/sh/pr53988-1.c: New.
From-SVN: r219623
2015-01-14 23:46:34 +00:00
Sandra Loosemore
ce2c3163d2
invoke.texi (Option Summary): Reclassify -fuse-ld as a linker option.
...
2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
option.
(Optimization Options): Move -fuse-ld documentation to...
(Link Options): ...here.
From-SVN: r219622
2015-01-14 18:09:03 -05:00
Paolo Carlini
36b218ee8f
re PR c++/58671 ([c++11] ICE with thread_local and self-referential variable initialization)
...
/cp
2015-01-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58671
* decl2.c (var_defined_without_dynamic_init): Handle gracefully
self-initialization.
/testsuite
2015-01-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58671
* g++.dg/tls/thread_local-ice3.C: New.
From-SVN: r219621
2015-01-14 22:28:07 +00:00
Matthew Fortune
622ef5dae9
Fix indentation in an earlier gcc/ChangeLog update
...
From-SVN: r219620
2015-01-14 22:10:21 +00:00
Matthew Fortune
047b52f61d
[MIPS] Update the ZC constraint.
...
gcc/
* config/mips/constraints.md (ZC): Add support for R6 LL/SC
offsets.
(ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
* config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
(ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
* config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
instead of ZR for the memory operand of LL/SC.
(compare_and_swap_12, sync_add<mode>): Likewise.
(sync_<optab>_12, sync_old_<optab>_12): Likewise.
(sync_new_<optab>_12, sync_nand_12): Likewise.
(sync_old_nand_12, sync_new_nand_12): Likewise.
(sync_sub<mode>, sync_old_add<mode>): Likewise.
(sync_old_sub<mode>, sync_new_add<mode>): Likewise.
(sync_new_sub<mode>, sync_<optab><mode>): Likewise.
(sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
(sync_nand<mode>, sync_old_nand<mode>): Likewise.
(sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
(test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
(atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
* doc/md.texi (ZC): Update description.
From-SVN: r219619
2015-01-14 22:08:37 +00:00
Jan-Benedict Glaw
7fc39e2189
Pull libiberty.h copyright update from Binutils
...
2015-12-14 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* libiberty.h: Merge Copyright year update from Binutils.
From-SVN: r219617
2015-01-14 21:55:35 +00:00
H.J. Lu
541c580691
Correct target selector in -mfentry tests
...
-fprofile -mfentry works with PIE if gcrt1.o is compiled with -fPIC. A
glibc has been filed, PR 17836, and a glibc patch has been submitted.
* gcc.target/i386/fentry-override.c: Properly place {} in target
selector. Remove nonpic.
* gcc.target/i386/fentry.c: Likewise.
From-SVN: r219616
2015-01-14 13:51:09 -08:00
Andrew MacLeod
77df532784
builtins.c (expand_builtin_atomic_exchange): Remove error when memory model is CONSUME.
...
2015-01-14 Andrew MacLeod <amacleod@redhat.com>
* builtins.c (expand_builtin_atomic_exchange): Remove error when
memory model is CONSUME.
(expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
expand_builtin_atomic_store): Change invalid memory model errors to
warnings.
(expand_builtin_atomic_clear): Change invalid model errors to warnings
and issue warning for CONSUME.
* testsuite/gcc.dg/atomic-invalid.c: Check for invalid memory model
warnings instead of errors.
M gcc/ChangeLog
M gcc/builtins.c
M gcc/testsuite/ChangeLog
M gcc/testsuite/gcc.dg/atomic-invalid.c
From-SVN: r219615
2015-01-14 21:30:39 +00:00
Aldy Hernandez
2ead7928a2
+ * lto-cgraph: Update function comments for
...
+ lto_symtab_encoder_encode_*.
From-SVN: r219607
2015-01-14 16:37:15 +00:00
Ilya Verbin
3b6e42f965
Makefile.in (site.exp): Do not set ENABLE_LTO.
...
gcc/
* Makefile.in (site.exp): Do not set ENABLE_LTO.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_lto): Check for -flto
option support instead of ENABLE_LTO from Makefile.
From-SVN: r219606
2015-01-14 15:51:37 +00:00
Ilya Verbin
837bac8cb6
cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
...
gcc/
* cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
* lto-cgraph.c (select_what_to_stream): Remove argument, use
lto_stream_offload_p instead.
* lto-streamer.h (select_what_to_stream): Remove argument.
* passes.c (ipa_write_summaries): Likewise.
* tree-pass.h (ipa_write_summaries): Likewise.
gcc/lto/
* lto-partition.c (lto_promote_cross_file_statics): Remove argument
from select_what_to_stream.
From-SVN: r219605
2015-01-14 15:15:21 +00:00
Ilya Tocar
2f6c116d28
Fix year in ChangeLog.
...
From-SVN: r219604
2015-01-14 17:23:47 +03:00
Richard Biener
7ef95f9cf0
re PR tree-optimization/59354 (Element swizzling produces invalid result with -O3)
...
2015-01-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/59354
* tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
groups larger than the slp group size as having gaps.
* gcc.dg/vect/pr59354.c: New testcase.
From-SVN: r219603
2015-01-14 14:06:07 +00:00
Andrew Stubbs
7d11e4d632
Fix neon test fails on non-neon configs.
...
gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_arm_neon_ok_nocache): Don't try to test Neon
on ARM architures before v7.
From-SVN: r219602
2015-01-14 14:03:10 +00:00
Andrew MacLeod
8673b6713e
re PR middle-end/59448 (Code generation doesn't respect C11 address-dependency)
...
2015-01-14 Andrew MacLeod <amacleod@redhat.com>
PR middle-end/59448
* builtins.c (get_memmodel): Promote consume to acquire always.
* testsuite/gcc.dg/atomic-invalid.c: Remove obselete test for illegal
consume in an atomic_exchange.
From-SVN: r219601
2015-01-14 13:58:35 +00:00
Ilya Tocar
4b54ab976e
re PR target/64386 (ICE: in extract_insn, at recog.c:2327 (unrecognizable insn) with -mavx512bw)
...
PR target/64386
gcc/
PR target/64386
* config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
V32HImode.
testsuite/
* gcc.target/i386/pr64386.c: New test.
From-SVN: r219600
2015-01-14 16:55:06 +03:00
Ilya Tocar
c67917b65d
re PR target/64393 (ICE: in extract_insn, at recog.c:2327 (unrecognizable insn) with -mavx512vbmi)
...
PR target/64393
gcc/
* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
Enable AVX512BW.
(OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
* config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
AVX512VBMI, as it implies AVX512BW.
testsuite/
* gcc.target/i386/pr64393.c: New test.
From-SVN: r219599
2015-01-14 16:49:58 +03:00
Ilya Tocar
110b788648
re PR target/64387 (ICE: in extract_insn, at recog.c:2327 (unrecognizable insn) with -ffloat-store -mavx512er)
...
PR target/64387
gcc/
* config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
(vec_unpacks_hi_v16sf): Ditto.
testsuite/
* gcc.target/i386/pr64387.c: New test.
From-SVN: r219598
2015-01-14 16:45:49 +03:00
Christophe Lyon
5c52d24936
store-pair-1.c: Fix typo.
...
2015-01-14 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/store-pair-1.c: Fix typo.
From-SVN: r219595
2015-01-14 13:07:43 +01:00
Kyrylo Tkachov
2a62514fca
[AArch64] Error out of arm_neon.h if nofp/nosimd
...
* config/aarch64/arm_neon.h: Error out if AdvancedSIMD
is not available.
* gcc.target/aarch64/arm_neon-nosimd-error.c: New test.
From-SVN: r219594
2015-01-14 12:03:22 +00:00
Kyrylo Tkachov
3bbbd3ee8e
[doc][ARM] Deprecate -mapcs and -mapcs-frame.
...
* doc/invoke.texi (mapcs): Mention deprecation.
(mapcs-frame): Likewise.
From-SVN: r219593
2015-01-14 11:58:06 +00:00
Thomas Preud'homme
6f0a6218e3
re PR target/64453 (Live high register not saved in function prolog on ARM with -Os)
...
2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR target/64453
* config/arm/arm.c (callee_saved_reg_p): Define.
(arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
register is callee saved instead of !call_used_regs[reg].
(thumb1_compute_save_reg_mask): Likewise.
gcc/testsuite/
PR target/64453
* gcc.target/arm/pr64453.c: New.
From-SVN: r219592
2015-01-14 11:51:40 +00:00
Hale Wang
6af2585d5c
arm.c: Tune the max_cond_insns/branch_cost for Cortex-M7.
...
2015-01-14 Hale Wang <hale.wang@arm.com>
* config/arm/arm.c: Tune the max_cond_insns/branch_cost for
Cortex-M7.
From-SVN: r219589
2015-01-14 11:15:30 +00:00
Richard Biener
683750ce09
re PR middle-end/64415 (ICE: verify_ssa failed / segmentation fault with LTO)
...
2015-01-14 Richard Biener <rguenther@suse.de>
PR lto/64415
* tree-inline.c (insert_debug_decl_map): Check destination
function MAY_HAVE_DEBUG_STMTS.
(insert_init_debug_bind): Likewise.
(insert_init_stmt): Remove redundant check.
(remap_gimple_stmt): Drop debug stmts if the destination
function has var-tracking assignments disabled.
* gcc.dg/lto/pr64415_0.c: New testcase.
* gcc.dg/lto/pr64415_1.c: Likewise.
From-SVN: r219588
2015-01-14 11:06:18 +00:00
Martin Liska
217c08c571
IPA ICF: handle IMAGPART_EXPR and REALPART_EXPR.
...
* gcc.dg/ipa/pr64307.c: New test.
* ipa-icf-gimple.c (func_checker::compare_operand): Add support for
IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
From-SVN: r219586
2015-01-14 10:35:13 +00:00
Tejas Belagod
f29e90f541
vect-movi.c: Check for vectorization for 64-bit and 128-bit.
...
2015-01-14 Tejas Belagod <tejas.belagod@arm.com>
* gcc.target/aarch64/vect-movi.c: Check for vectorization for
64-bit and 128-bit.
From-SVN: r219585
2015-01-14 10:29:09 +00:00
Kyrylo Tkachov
ca39a43acc
[ARM] Fix PR target/64460: Set 'shift' attr properly on some patterns.
...
PR target/64460
* config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
(*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
* gcc.target/arm/pr64460_1.c: New test.
From-SVN: r219583
2015-01-14 10:14:23 +00:00
Matthew Fortune
fcd7669cb6
Fix Linux multilib configurations with default architectures
...
gcc/
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
level from an ARCH; do not inject the default.
(MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
MIPS_ISA_LEVEL_SPEC.
(MIPS_ISA_NAN2008_SPEC): Update comment.
(BASE_DRIVER_SELF_SPECS): Likewise.
* config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
MIPS_DEFAULT_ISA_LEVEL_SPEC.
* config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
* config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
* config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
From-SVN: r219580
2015-01-14 08:35:52 +00:00
Richard Biener
46b622cc24
re PR tree-optimization/64493 (ICE at -O3 on x86_64-linux-gnu)
...
2015-01-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/64493
PR tree-optimization/64495
* tree-vect-loop.c (vect_finalize_reduction): For double-reductions
assign the proper vectorized PHI to the inner loop exit PHIs.
* gcc.dg/vect/pr64493.c: New testcase.
* gcc.dg/vect/pr64495.c: Likewise.
From-SVN: r219579
2015-01-14 08:32:18 +00:00
Joey Ye
f7d2b51386
arm.c (arm_compute_save_reg_mask): Do not save lr in case of tail call.
...
2015-01-14 Joey Ye <joey.ye@arm.com>
* config/arm/arm.c (arm_compute_save_reg_mask):
Do not save lr in case of tail call.
* config/arm/thumb2.md (*thumb2_pop_single): New pattern.
From-SVN: r219578
2015-01-14 08:17:15 +00:00
Martin Uecker
de1b5c17fd
tree-vrp.c (check_array_ref): Emit more warnings for warn_array_bounds >= 2.
...
* tree-vrp.c (check_array_ref): Emit more warnings
for warn_array_bounds >= 2.
* common.opt: New option -Warray-bounds=.
* doc/invoke.texi: Document -Warray-bounds=.
* c.opt: New option -Warray-bounds=.
* gcc.dg/Warray-bounds-11.c: New test-case.
From-SVN: r219577
2015-01-13 23:50:19 -07:00
Chung-Ju Wu
2ca1ca6581
[NDS32] Remove some features and options that are not available yet in nds32 port of GNU binutils package.
...
gcc/
* config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
(mforbid-fp-as-gp): Remove.
(mex9): Remove.
* config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
(nds32_symbol_load_store_p): Remove.
(nds32_fp_as_gp_check_available): Clean up implementation.
* config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
cases.
* config/nds32/nds32.c (nds32_asm_file_start): No need to consider
fp-as-gp and ex9 cases.
From-SVN: r219576
2015-01-14 06:08:35 +00:00
Naveen H.S
be77e6092b
octeon3-pipe-1.c: New test.
...
* gcc.target/mips/octeon3-pipe-1.c: New test.
From-SVN: r219575
2015-01-14 06:08:24 +00:00
Jan Hubicka
c02ae3ae3d
tree-profile.c (init_ic_make_global_vars): Drop workaround for bintuils bug 14342.
...
* tree-profile.c (init_ic_make_global_vars): Drop workaround
for bintuils bug 14342.
(init_ic_make_global_vars): Likewise.
(gimple_init_edge_profiler): Likewise.
(gimple_gen_ic_func_profiler): Likewise.
From-SVN: r219574
2015-01-14 05:28:50 +00:00
Naveen H.S
9e145afd37
ipa-inline.c (inline_small_functions): Swap the operands in enum.
...
2015-01-15 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
* ipa-inline.c (inline_small_functions): Swap the operands in
enum.
From-SVN: r219573
2015-01-14 05:10:44 +00:00
Jan Hubicka
0d92b55538
re PR ipa/64481 (r219076 breaks bootstrap (x86_64-unknown-linux-gnu))
...
PR ipa/64481
* ipa-inline-analysis.c (node_growth_cache): Remove.
(initialize_growth_caches): Do not initialize it.
(free_growth_caches): Do not free it.
(do_estimate_growth): Rename to ...
(estimate_growth): ... this one; drop growth cache code.
(growth_likely_positive): Always go the heuristics way.
* ipa-inline.c (can_inline_edge_p): Walk through aliases.
(reset_edge_caches): Do not reset node growth.
(heap_edge_removal_hook): Do not maintain cache.
(inline_small_functions): Likewise; strenghten sanity check.
(ipa_inline): Do not maintain caches.
* ipa-inline.h (node_growth_cache): Remove.
(do_estimate_growth): Remove to ...
(estimate_growth): this one; remove inline version.
(reset_node_growth_cache): Remove.
From-SVN: r219572
2015-01-14 03:47:17 +00:00
GCC Administrator
dc396715ae
Daily bump.
...
From-SVN: r219569
2015-01-14 00:16:58 +00:00
Kaz Kojima
b1479ae31e
configure.host: Remove extra brackets for sh.
...
* libffi/configure.host: Remove extra brackets for sh.
From-SVN: r219565
2015-01-13 23:30:33 +00:00
David Malcolm
86d0ac8876
jit: New API entrypoint: gcc_jit_context_dump_reproducer_to_file
...
gcc/jit/ChangeLog:
* docs/cp/topics/contexts.rst (Debugging): Add
gccjit::context::dump_reproducer_to_file.
* docs/internals/index.rst (Design notes): New section,
discussing input validation and
gcc_jit_context_dump_reproducer_to_file.
* docs/topics/contexts.rst (Debugging): Add
gcc_jit_context_dump_reproducer_to_file.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
* jit-common.h (gcc::jit::dump::get_context): New accessor.
* jit-recording.c: Include "hash-map.h".
Within namespace ::gcc::jit...
(dump::write): Flush each line.
(dump::make_location): Pass false for new param "created_by_user".
(class allocator): New class.
(allocator::~allocator): New function.
(allocator::xstrdup_printf): New function.
(allocator::xstrdup_printf_va): New function.
(class reproducer): New subclass of dump.
(reproducer::reproducer): New function.
(reproducer::write_params): New function.
(reproducer::write_args): New function.
(reproducer::make_identifier): New function.
(reproducer::make_tmp_identifier): New function.
(reproducer::get_identifier): New pair of functions.
(reproducer::get_identifier_as_rvalue): New function.
(reproducer::get_identifier_as_lvalue): New function.
(reproducer::get_identifier_as_type): New function.
(reproducer::xstrdup_printf): New function.
(recording::context::context): Initialize m_toplevel_ctxt.
(recording::context::new_location): Add param created_by_user.
(str_option_reproducer_strings): New table of strings.
(int_option_reproducer_strings): Likewise.
(bool_option_reproducer_strings): Likewise.
(get_type_enum_strings): Likewise.
(names_of_function_kinds): Likewise.
(global_kind_reproducer_strings): Likewise.
(unary_op_reproducer_strings): Likewise.
(binary_op_reproducer_strings): Likewise.
(comparison_reproducer_strings): Likewise.
Within namespace ::gcc::jit::recording::...
(context::dump_reproducer_to_file): New function.
(string::write_reproducer): Likewise.
(location::write_reproducer): Likewise.
(type::access_as_type): Likewise.
(memento_of_get_type::write_reproducer): Likewise.
(memento_of_get_pointer::write_reproducer): Likewise.
(memento_of_get_const::write_reproducer): Likewise.
(memento_of_get_volatile::write_reproducer): Likewise.
(array_type::write_reproducer): Likewise.
(function_type::write_reproducer): Likewise.
(function_type::write_deferred_reproducer): Likewise.
(field::write_reproducer): Likewise.
(struct_::access_as_type): Likewise.
(struct_::write_reproducer): Likewise.
(union_::write_reproducer): Likewise.
(fields::write_reproducer): Likewise.
(rvalue::access_as_rvalue): Likewise.
(lvalue::access_as_rvalue): Likewise.
(lvalue::access_as_lvalue): Likewise.
(param::access_as_rvalue): Likewise.
(param::access_as_lvalue): Likewise.
(param::write_reproducer): Likewise.
(function::write_reproducer): Likewise.
(block::write_reproducer): Likewise.
(global::write_reproducer): Likewise.
(memento_of_new_rvalue_from_const <int>::write_reproducer):
Likewise.
(memento_of_new_rvalue_from_const <long>::write_reproducer):
Likewise.
(memento_of_new_rvalue_from_const <double>::write_reproducer):
Likewise.
(memento_of_new_rvalue_from_const <void *>::write_reproducer):
Likewise.
(memento_of_new_string_literal::write_reproducer): Likewise.
(unary_op::write_reproducer): Likewise.
(binary_op::write_reproducer): Likewise.
(comparison::write_reproducer): Likewise.
(cast::write_reproducer): Likewise.
(call::write_reproducer): Likewise.
(call_through_ptr::write_reproducer): Likewise.
(array_access::write_reproducer): Likewise.
(access_field_of_lvalue::write_reproducer): Likewise.
(access_field_rvalue::write_reproducer): Likewise.
(dereference_field_rvalue::write_reproducer): Likewise.
(dereference_rvalue::write_reproducer): Likewise.
(get_address_of_lvalue::write_reproducer): Likewise.
(local::write_reproducer): Likewise.
(eval::write_reproducer): Likewise.
(assignment::write_reproducer): Likewise.
(assignment_op::write_reproducer): Likewise.
(comment::write_reproducer): Likewise.
(conditional::write_reproducer): Likewise.
(jump::write_reproducer): Likewise.
(return_::write_reproducer): Likewise.
* jit-recording.h (gcc::jit::reproducer): New forward declararion.
Within namespace ::gcc::jit::recording::...
(context::new_location): Add "created_by_user" param.
(context::dump_reproducer_to_file): New method.
(context::m_toplevel_ctxt): New field.
(memento::write_reproducer): New pure virtual function.
(memento::dyn_cast_location): New virtual function.
(string::write_reproducer):
(location::location): Add "created_by_user" param.
(location::dyn_cast_location): New function.
(location::created_by_user): New accessor.
(location::write_reproducer): New function.
(location::m_created_by_user): New field.
(type::access_as_type): New virtual function.
(location::write_reproducer): Likewise.
(type::access_as_type): Likewise.
(memento_of_get_type::write_reproducer): Likewise.
(memento_of_get_pointer::write_reproducer): Likewise.
(memento_of_get_const::write_reproducer): Likewise.
(memento_of_get_volatile::write_reproducer): Likewise.
(array_type::write_reproducer): Likewise.
(function_type::write_reproducer): Likewise.
(function_type::write_deferred_reproducer): Likewise.
(field::write_reproducer): Likewise.
(struct_::access_as_type): Likewise.
(struct_::write_reproducer): Likewise.
(union_::write_reproducer): Likewise.
(union_::m_fields): Remove stray unused field.
(fields::length): New accessor.
(fields::get_field): New accessor.
(fields::write_reproducer): New function.
(rvalue::access_as_rvalue): Likewise.
(lvalue::access_as_rvalue): Likewise.
(lvalue::access_as_lvalue): Likewise.
(param::access_as_rvalue): Likewise.
(param::access_as_lvalue): Likewise.
(param::write_reproducer): Likewise.
(function::write_reproducer): Likewise.
(block::write_reproducer): Likewise.
(global::write_reproducer): Likewise.
(memento_of_new_rvalue_from_const <HOST_TYPE>::write_reproducer):
Likewise.
(memento_of_new_string_literal::write_reproducer): Likewise.
(unary_op::write_reproducer): Likewise.
(binary_op::write_reproducer): Likewise.
(comparison::write_reproducer): Likewise.
(cast::write_reproducer): Likewise.
(call::write_reproducer): Likewise.
(call_through_ptr::write_reproducer): Likewise.
(array_access::write_reproducer): Likewise.
(access_field_of_lvalue::write_reproducer): Likewise.
(access_field_rvalue::write_reproducer): Likewise.
(dereference_field_rvalue::write_reproducer): Likewise.
(dereference_rvalue::write_reproducer): Likewise.
(get_address_of_lvalue::write_reproducer): Likewise.
(local::write_reproducer): Likewise.
(eval::write_reproducer): Likewise.
(assignment::write_reproducer): Likewise.
(assignment_op::write_reproducer): Likewise.
(comment::write_reproducer): Likewise.
(conditional::write_reproducer): Likewise.
(jump::write_reproducer): Likewise.
(return_::write_reproducer): Likewise.
* libgccjit++.h (gccjit::context::dump_reproducer_to_file): New.
* libgccjit.c (gcc_jit_context_new_location): Pass "true" as
param "created_by_user".
(gcc_jit_context_dump_reproducer_to_file): New API entrypoint.
* libgccjit.h (gcc_jit_context_dump_reproducer_to_file): New API
entrypoint.
* libgccjit.map (gcc_jit_context_dump_reproducer_to_file): New API
entrypoint.
gcc/testsuite/ChangeLog:
* jit.dg/harness.h (set_up_logging): Move string concatenation
into...
(concat_strings): New function.
(dump_reproducer): New function.
(test_jit): Call dump_reproducer.
* jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer): New
function.
(jit-dg-test): Delete any generated reproducer from previous runs.
Verify that a generated reproducer was created, and verify that it
compiles.
* jit.dg/test-nested-contexts.c (main): Call
gcc_jit_context_dump_reproducer_to_file.
From-SVN: r219564
2015-01-13 22:14:46 +00:00
H.J. Lu
9c80f9197e
Add dg-require-profiling to gcc.dg/aru-2.c
...
* gcc.dg/aru-2.c: Add dg-require-profiling.
From-SVN: r219561
2015-01-13 13:24:16 -08:00
H.J. Lu
f263fe40d7
Check if -pg links in check_profiling_available
...
* lib/target-supports.exp (check_profiling_available): Check if
-pg links.
From-SVN: r219560
2015-01-13 13:13:36 -08:00