rsandifo [Wed, 4 Dec 2013 12:54:49 +0000 (12:54 +0000)]
Merge with trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205668
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 4 Dec 2013 10:50:27 +0000 (10:50 +0000)]
Add TREE_INT_CST_OFFSET_NUNITS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205660
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 4 Dec 2013 10:49:14 +0000 (10:49 +0000)]
include/
* longlong.h: New file.
libgcc/
* longlong.h: Delete (moved to include/).
libquadmath/
* Makefile.am (AM_CPPFLAGS): Define.
* Makefile.in: Regenerate.
* printf/gmp-impl.h: Remove path from longlong.h include.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205659
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 4 Dec 2013 08:44:25 +0000 (08:44 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205656
138bc75d-0d04-0410-961f-
82ee72b054a4
yufeng [Wed, 4 Dec 2013 08:06:16 +0000 (08:06 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205655
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 4 Dec 2013 01:35:53 +0000 (01:35 +0000)]
runtime: Use pthread_sigmask instead of sigprocmask.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205652
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 4 Dec 2013 00:17:15 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205651
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 3 Dec 2013 23:58:21 +0000 (23:58 +0000)]
Remove code for zero precisions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205648
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Tue, 3 Dec 2013 19:58:59 +0000 (19:58 +0000)]
Add self as SLSR maintainer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205646
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Tue, 3 Dec 2013 18:57:37 +0000 (18:57 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205645
138bc75d-0d04-0410-961f-
82ee72b054a4
wmi [Tue, 3 Dec 2013 18:35:24 +0000 (18:35 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205644
138bc75d-0d04-0410-961f-
82ee72b054a4
bergner [Tue, 3 Dec 2013 16:26:32 +0000 (16:26 +0000)]
* config/rs6000/htmintrin.h (_TEXASR_INSTRUCTION_FETCH_CONFLICT): Fix
typo in macro name.
(_TEXASRU_INSTRUCTION_FETCH_CONFLICT): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205641
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 3 Dec 2013 16:01:13 +0000 (16:01 +0000)]
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/.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205639
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Tue, 3 Dec 2013 15:54:25 +0000 (15:54 +0000)]
2013-12-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vect/costmodel/ppc/costmodel-slp-34.c: Skip for little
endian.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205638
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Tue, 3 Dec 2013 15:34:56 +0000 (15:34 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205637
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 3 Dec 2013 14:51:07 +0000 (14:51 +0000)]
runtime: Fix prototype and one use of runtime_traceback.
From Richard Biener.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205634
138bc75d-0d04-0410-961f-
82ee72b054a4
denisc [Tue, 3 Dec 2013 14:02:35 +0000 (14:02 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205633
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 3 Dec 2013 12:58:15 +0000 (12:58 +0000)]
* include/std/fstream (basic_filebuf::open): Use preformatted text
for table in Doxygen comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205631
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 3 Dec 2013 12:56:32 +0000 (12:56 +0000)]
Adjust destination address after gen_strset
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205630
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Tue, 3 Dec 2013 12:11:36 +0000 (12:11 +0000)]
PR middle-end/56344
* calls.c (expand_call): Disallow passing huge arguments
by value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205628
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Tue, 3 Dec 2013 11:57:31 +0000 (11:57 +0000)]
PR c/59351
c/
* c-decl.c (build_compound_literal): Allow compound literals with
empty initial value.
testsuite/
* gcc.dg/pr59351.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205627
138bc75d-0d04-0410-961f-
82ee72b054a4
jasonwucj [Tue, 3 Dec 2013 10:58:05 +0000 (10:58 +0000)]
Fix some testcases for nds32 target and provide new nds32 target specific tests.
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205625
138bc75d-0d04-0410-961f-
82ee72b054a4
timshen [Tue, 3 Dec 2013 10:04:32 +0000 (10:04 +0000)]
2013-12-03 Tim Shen <timshen91@gmail.com>
* regex_compiler.h: Add todo comment.
* regex_executor.tcc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205624
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 3 Dec 2013 07:48:58 +0000 (07:48 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205623
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 3 Dec 2013 07:44:37 +0000 (07:44 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205621
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 3 Dec 2013 07:29:20 +0000 (07:29 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205618
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 3 Dec 2013 03:36:58 +0000 (03:36 +0000)]
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205617
138bc75d-0d04-0410-961f-
82ee72b054a4
tmsriram [Tue, 3 Dec 2013 03:14:09 +0000 (03:14 +0000)]
This patch fixes PR 58944
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205616
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 3 Dec 2013 02:47:13 +0000 (02:47 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205615
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 3 Dec 2013 00:17:01 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205612
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 2 Dec 2013 23:22:57 +0000 (23:22 +0000)]
* config/epiphany/epiphany.h: Wrap rtl_opt_pass declarations
in #ifndef IN_LIBGCC2 / #endif.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205609
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 2 Dec 2013 22:41:23 +0000 (22:41 +0000)]
PR tree-optimization/59358
* tree-vrp.c (union_ranges): To check for the partially
overlapping ranges or adjacent ranges, also compare *vr0max
with vr1max.
* gcc.c-torture/execute/pr59358.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205607
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 2 Dec 2013 22:39:12 +0000 (22:39 +0000)]
PR lto/59326
* gcc.target/i386/i386.exp (check_effective_target_avx2): Move to...
* lib/target-supports.exp (check_effective_target_avx2): ... here.
(check_effective_target_vect_simd_clones): New.
* gcc.dg/vect/vect-simd-clone-1.c: Add dg-require-effective-target
vect_simd_clones.
* gcc.dg/vect/vect-simd-clone-2.c: Likewise.
* gcc.dg/vect/vect-simd-clone-3.c: Likewise.
* gcc.dg/vect/vect-simd-clone-4.c: Likewise.
* gcc.dg/vect/vect-simd-clone-5.c: Likewise.
* gcc.dg/vect/vect-simd-clone-6.c: Likewise.
* gcc.dg/vect/vect-simd-clone-7.c: Likewise.
* gcc.dg/vect/vect-simd-clone-8.c: Likewise.
* gcc.dg/vect/vect-simd-clone-9.c: Likewise.
* gcc.dg/vect/vect-simd-clone-10.c: Likewise.
* gcc.dg/vect/vect-simd-clone-11.c: Likewise.
* gcc.dg/vect/vect-simd-clone-12.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205606
138bc75d-0d04-0410-961f-
82ee72b054a4
sterling [Mon, 2 Dec 2013 22:10:44 +0000 (22:10 +0000)]
2013-12-02 Sterling Augustine <saugustine@google.com>
* dwarf2out.c (output_pubnames): Use comp_unit_die ()->die_offset
when there isn't a skeleton die.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205603
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 2 Dec 2013 20:39:25 +0000 (20:39 +0000)]
PR sanitizer/59353
* doc/invoke.texi: Document -fsanitize=return.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205601
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Mon, 2 Dec 2013 20:07:14 +0000 (20:07 +0000)]
* update_web_docs_svn: Work around makeinfo generated file names
and references with "_002d" instead of "-".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205600
138bc75d-0d04-0410-961f-
82ee72b054a4
zadeck [Mon, 2 Dec 2013 19:56:40 +0000 (19:56 +0000)]
[wide-int] remove wi::mul_high
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205599
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Mon, 2 Dec 2013 19:54:29 +0000 (19:54 +0000)]
2013-12-02 Tobias Burnus <burnus@net-b.de>
Manuel López-Ibáñez <manu@gcc.gnu.org>
PR middle-end/59257
* doc/invoke.texi: Add missing @opindex.
(-fsanitize=): Use @gcctabopt instead of @itemize.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205598
138bc75d-0d04-0410-961f-
82ee72b054a4
edlinger [Mon, 2 Dec 2013 19:50:55 +0000 (19:50 +0000)]
2013-12-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
Fix C++0x memory model for unaligned fields in packed, aligned(4)
structures with -fno-strict-volatile-bitfields on STRICT_ALIGNMENT
targets like arm-none-eabi.
* expr.c (expand_assignment): Handle normal fields like bit regions.
testsuite:
2013-12-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc.dg/pr56997-4.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205597
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 2 Dec 2013 19:42:22 +0000 (19:42 +0000)]
Use the division fast path for more cases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205596
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 2 Dec 2013 19:41:03 +0000 (19:41 +0000)]
Address Richard's review comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205595
138bc75d-0d04-0410-961f-
82ee72b054a4
edlinger [Mon, 2 Dec 2013 18:00:47 +0000 (18:00 +0000)]
2013-11-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR target/58115
* function.c (invoke_set_current_function_hook): Call
targetm.set_current_function after setting this_fn_optabs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205593
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 2 Dec 2013 16:08:47 +0000 (16:08 +0000)]
2013-12-02 Marek Polacek <polacek@redhat.com>
testsuite/
* c-c++-common/ubsan/vla-1.c: Split the tests into individual
functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205590
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 2 Dec 2013 15:43:01 +0000 (15:43 +0000)]
2013-12-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/59139
* tree-ssa-loop-niter.c (chain_of_csts_start): Properly match
code in get_val_for.
(get_val_for): Use gcc_checking_asserts.
* gcc.dg/torture/pr59139.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205588
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 2 Dec 2013 15:13:52 +0000 (15:13 +0000)]
2013-12-02 Richard Biener <rguenther@suse.de>
* tree-ssa-operands.c (opf_implicit): Remove.
(opf_address_taken): New flag.
(get_expr_operands): Remove early out, pass down
opf_address_taken for ADDR_EXPRs, add a use operand only
for non-opf_address_taken bases.
(get_indirect_ref_operands): Rename to ...
(get_mem_ref_operands): ... this.
(get_asm_expr_operands): Rename to ...
(get_asm_stmt_operands): ... this.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205587
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Mon, 2 Dec 2013 14:39:28 +0000 (14:39 +0000)]
Add missed pointer de-reference
2013-12-02 Yuri Rumyantsev <ysrumyan@gmail.com>
* ipa-inline.c (check_callers): Add missed pointer de-reference.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205586
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 2 Dec 2013 11:20:14 +0000 (11:20 +0000)]
PR tree-optimization/59356
* tree-dfa.h (get_addr_base_and_unit_offset_1) <case ARRAY_REF>: Do the
offset computation using the precision of the index type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205585
138bc75d-0d04-0410-961f-
82ee72b054a4
yroux [Mon, 2 Dec 2013 07:54:53 +0000 (07:54 +0000)]
* gcc/ChangeLog: Fix ChangeLog entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205582
138bc75d-0d04-0410-961f-
82ee72b054a4
yroux [Mon, 2 Dec 2013 07:44:34 +0000 (07:44 +0000)]
2013-12-02 Yvan Roux <yvan.roux@linaro.org>
* config/arm/arm.c (arm_preferred_reload_class): Only return LO_REGS
when rclass is GENERAL_REGS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205581
138bc75d-0d04-0410-961f-
82ee72b054a4
gganesh [Mon, 2 Dec 2013 07:27:14 +0000 (07:27 +0000)]
Check TARGET_LOOP_UNROLL_ADJUST while deciding unroll factor
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205580
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 2 Dec 2013 00:17:06 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205578
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 1 Dec 2013 20:56:21 +0000 (20:56 +0000)]
PR libfortran/59313
* intrinsics/erfc_scaled.c (erfc_scaled_r16): Also provide for
quadruple precision long double variant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205574
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 1 Dec 2013 12:35:35 +0000 (12:35 +0000)]
Use __builtin_expect.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205573
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 1 Dec 2013 12:34:10 +0000 (12:34 +0000)]
Avoid some unnecessary temporaries and convert some operations to shifts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205572
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 1 Dec 2013 12:33:01 +0000 (12:33 +0000)]
Handle multiplications by 1 as a special case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205571
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 1 Dec 2013 12:20:58 +0000 (12:20 +0000)]
* config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an
identifier node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205568
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Sun, 1 Dec 2013 11:50:20 +0000 (11:50 +0000)]
2013-12-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/57354
* trans-array.c (gfc_conv_resolve_dependencies): For other than
SS_SECTION, do a dependency check if the lhs is liable to be
reallocated.
2013-12-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/57354
* gfortran.dg/realloc_on_assign_23.f90 : New test
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205567
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Sun, 1 Dec 2013 11:42:25 +0000 (11:42 +0000)]
2013-12-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/58410
* trans-array.c (gfc_alloc_allocatable_for_assignment): Do not
use the array bounds of an unallocated array but set its size
to zero instead.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205566
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Sun, 1 Dec 2013 11:37:09 +0000 (11:37 +0000)]
Index: gcc/fortran/resolve.c
===================================================================
*** gcc/fortran/resolve.c (revision 205031)
--- gcc/fortran/resolve.c (working copy)
*************** resolve_transfer (gfc_code *code)
*** 8247,8256 ****
&& exp->value.op.op == INTRINSIC_PARENTHESES)
exp = exp->value.op.op1;
! if (exp && exp->expr_type == EXPR_NULL && exp->ts.type == BT_UNKNOWN)
{
! gfc_error ("NULL intrinsic at %L in data transfer statement requires "
! "MOLD=", &exp->where);
return;
}
--- 8247,8257 ----
&& exp->value.op.op == INTRINSIC_PARENTHESES)
exp = exp->value.op.op1;
! if (exp && exp->expr_type == EXPR_NULL
! && code->ext.dt)
{
! gfc_error ("Invalid context for NULL () intrinsic at %L",
! &exp->where);
return;
}
Index: gcc/testsuite/gfortran.dg/null_5.f90
===================================================================
*** gcc/testsuite/gfortran.dg/null_5.f90 (revision 205031)
--- gcc/testsuite/gfortran.dg/null_5.f90 (working copy)
*************** subroutine test_PR34547_1 ()
*** 34,40 ****
end subroutine test_PR34547_1
subroutine test_PR34547_2 ()
! print *, null () ! { dg-error "in data transfer statement requires MOLD" }
end subroutine test_PR34547_2
subroutine test_PR34547_3 ()
--- 34,40 ----
end subroutine test_PR34547_1
subroutine test_PR34547_2 ()
! print *, null () ! { dg-error "Invalid context" }
end subroutine test_PR34547_2
subroutine test_PR34547_3 ()
Index: gcc/testsuite/gfortran.dg/null_6.f90
===================================================================
*** gcc/testsuite/gfortran.dg/null_6.f90 (revision 205031)
--- gcc/testsuite/gfortran.dg/null_6.f90 (working copy)
*************** end subroutine test_PR50375_2
*** 30,34 ****
subroutine test_PR34547_3 ()
integer, allocatable :: i(:)
! print *, NULL(i)
end subroutine test_PR34547_3
--- 30,34 ----
subroutine test_PR34547_3 ()
integer, allocatable :: i(:)
! print *, NULL(i) ! { dg-error "Invalid context for NULL" }
end subroutine test_PR34547_3
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205565
138bc75d-0d04-0410-961f-
82ee72b054a4
edlinger [Sun, 1 Dec 2013 09:08:04 +0000 (09:08 +0000)]
2013-12-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
* expr.c (emit_group_store): Corrected BITFIELD_END parameter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205563
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sun, 1 Dec 2013 01:40:16 +0000 (01:40 +0000)]
libgo: Avoid some cases of getting callers recursively.
Avoids hanging inside older versions of glibc that do not
support recurive calls to dl_iterate_phdr.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205561
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 1 Dec 2013 00:17:11 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205560
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 30 Nov 2013 18:08:42 +0000 (18:08 +0000)]
reflect: Rename struct field to be consistent in assembler and Go.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205555
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 30 Nov 2013 17:14:50 +0000 (17:14 +0000)]
reflect: Fix MakeFunc for 386 when returning a struct.
When a 386 function returns a struct, it needs to return using
an rtd instruction that pops the hidden struct parameter off
the stack. That wasn't happening.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205551
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 30 Nov 2013 11:13:07 +0000 (11:13 +0000)]
* combine.c (reg_nonzero_bits_for_combine): Apply mask transformation
as applied to nonzero_sign_valid when last_set_mode has less precision
than mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205550
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 30 Nov 2013 09:11:13 +0000 (09:11 +0000)]
2013-11-30 Tobias Burnus <burnus@net-b.de>
PR sanitizer/59275
* doc/invoke.texi (-fsanitize=address,leak): Mention the
* associated
environment variable and link to a list with flags.
(-fsanitize=thread): Ditto and update link.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205548
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 30 Nov 2013 00:16:57 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205547
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 29 Nov 2013 21:29:48 +0000 (21:29 +0000)]
PR sanitizer/59331
cp/
* decl.c (compute_array_index_type): Don't build COMPOUND_EXPR for
instrumentation.
testsuite/
* g++.dg/ubsan/pr59331.C: New test.
* g++.dg/ubsan/cxx1y-vla.C: Enable -Wall -Wno-unused-variable.
Disable the -w option.
* c-c++-common/ubsan/vla-1.c: Likewise.
* c-c++-common/ubsan/vla-2.c: Likewise.
* c-c++-common/ubsan/vla-3.c: Don't use the -w option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205544
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 29 Nov 2013 21:24:14 +0000 (21:24 +0000)]
PR c/42262
c:
* c-typeck.c (process_init_element): Do not treat a string as
initializing a whole array when used with a designator for an
individual element.
testsuite:
* gcc.dg/c99-init-5.c, gcc.dg/c99-init-6.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205543
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 29 Nov 2013 20:13:45 +0000 (20:13 +0000)]
* bootstrap-ubsan.mk (POSTSTAGE1_LDFLAGS): Remove -lpthread -ldl.
Add -B$$r/prev-$(TARGET_SUBDIR)/libsanitizer/.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205542
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Fri, 29 Nov 2013 20:08:38 +0000 (20:08 +0000)]
2013-11-29 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/59340
* lra.c (check_rtl): Use recog_memoized instead of insn_invalid_p.
Revert
2013-11-20 Robert Suchanek <Robert.Suchanek@imgtec.com>
* lra.c (lra): Set lra_in_progress before check_rtl call.
* recog.c (insn_invalid_p): Add !lra_in_progress to prevent
adding clobber regs when LRA is running.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205541
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 29 Nov 2013 19:34:45 +0000 (19:34 +0000)]
Remove empty directory.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205540
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 29 Nov 2013 18:10:21 +0000 (18:10 +0000)]
Add -B$$r/prev-$(TARGET_SUBDIR)/libsanitizer/
* bootstrap-asan.mk (POSTSTAGE1_LDFLAGS): Add
-B$$r/prev-$(TARGET_SUBDIR)/libsanitizer/.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205539
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 29 Nov 2013 17:53:36 +0000 (17:53 +0000)]
Move config ChangeLog entries to config/ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205538
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 29 Nov 2013 17:08:14 +0000 (17:08 +0000)]
Properly add path to libsanitizer.spec to cflags
* lib/asan-dg.exp (asan_link_flags): Properly add path to
libsanitizer.spec to cflags.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205537
138bc75d-0d04-0410-961f-
82ee72b054a4
doko [Fri, 29 Nov 2013 17:04:30 +0000 (17:04 +0000)]
2013-11-29 Matthias Klose <doko@ubuntu.com>
* testsuite/experimental/string_view/requirements/exception,
testsuite/experimental/string_view/capacity/wchar_t,
testsuite/experimental/string_view/capacity/char: Remove empty dirs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205536
138bc75d-0d04-0410-961f-
82ee72b054a4
doko [Fri, 29 Nov 2013 16:53:39 +0000 (16:53 +0000)]
2013-11-29 Matthias Klose <doko@ubuntu.com>
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c,
native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c:
Fix freetype includes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205533
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 29 Nov 2013 16:19:36 +0000 (16:19 +0000)]
PR ada/54040
PR ada/59346
* s-osinte-hpux.ads (timespec): Change type of tv_nsec field to time_t.
* s-osinte-kfreebsd-gnu.ads (timespec): Likewise.
* s-osinte-solaris-posix.ads (timespec): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205532
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 29 Nov 2013 15:34:32 +0000 (15:34 +0000)]
* MAINTAINERS: Update my email address.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205531
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 29 Nov 2013 15:25:31 +0000 (15:25 +0000)]
Add missing testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205530
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Fri, 29 Nov 2013 15:19:34 +0000 (15:19 +0000)]
2013-11-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/59289
* config/arm/arm.c (cortexa15_extra_costs): Adjust costs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205529
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 29 Nov 2013 14:37:07 +0000 (14:37 +0000)]
2013-11-29 Richard Biener <rguenther@suse.de>
PR middle-end/59208
* tree-ssa-operands.h (fini_ssa_operands, verify_ssa_operands,
free_stmt_operands, update_stmt_operands): Add struct function
argument.
* tree-ssa-operands.c: Remove uses of cfun, propagate struct
function argument from fini_ssa_operands, verify_ssa_operands,
free_stmt_operands and update_stmt_operands everywhere.
* tree-ssanames.h (release_ssa_name_fn): New.
(release_ssa_name): Inline wrapper around release_ssa_name_fn.
* tree-ssanames.c (release_ssa_name): Rename to ...
(release_ssa_name_fn): ... this and add struct function argument.
* gimple-ssa.h (update_stmt, update_stmt_if_modified): Adjust.
(update_stmt_fn): New function.
* tree-cfg.c (move_block_to_fn): Adjust.
* tree-if-conv.c (free_bb_predicate): Likewise.
* tree-ssa.c (verify_ssa): Likewise.
(delete_tree_ssa): Likewise.
* gimple-pretty-print.c (dump_gimple_mem_ops): Remove guard.
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Call
update_stmt_fn instead of update_stmt.
* g++.dg/torture/pr59208.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205528
138bc75d-0d04-0410-961f-
82ee72b054a4
yroux [Fri, 29 Nov 2013 13:17:04 +0000 (13:17 +0000)]
2013-11-29 Yvan Roux <yvan.roux@linaro.org>
* config/arm/arm.h (THUMB_SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS
for LRA.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205527
138bc75d-0d04-0410-961f-
82ee72b054a4
yroux [Fri, 29 Nov 2013 13:10:52 +0000 (13:10 +0000)]
2013-11-29 Yvan Roux <yvan.roux@linaro.org>
* config/arm/arm.md (store_minmaxsi): Use only when
optimize_function_for_size_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205526
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 29 Nov 2013 13:00:35 +0000 (13:00 +0000)]
Properly handle function without arguments
PR c/59309
* cilk.c (gimplify_cilk_spawn): Properly handle function without
arguments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205525
138bc75d-0d04-0410-961f-
82ee72b054a4
ygribov [Fri, 29 Nov 2013 12:30:36 +0000 (12:30 +0000)]
gcc/
2013-11-29 Jakub Jelinek <jakub@redhat.com>
Yury Gribov <y.gribov@samsung.com>
PR sanitizer/59063
* config/gnu-user.h: Removed old code for setting up sanitizer
libs.
* gcc.c: Using libsanitizer spec instead of explicit libs.
gcc/testsuite/
2013-11-29 Jakub Jelinek <jakub@redhat.com>
Yury Gribov <y.gribov@samsung.com>
PR sanitizer/59063
* c-c++-common/asan/pr59063-1.c: New test.
* c-c++-common/asan/pr59063-2.c: Likewise.
* lib/asan-dg.exp: Add path to libsanitizer.spec to cflags.
* lib/ubsan-dg.exp: Likewise.
libsanitizer/
2013-11-29 Jakub Jelinek <jakub@redhat.com>
Yury Gribov <y.gribov@samsung.com>
PR sanitizer/59063
* libsanitizer.spec.in: Add spec file to hold link flags for
various sanitizer libs.
* configure.ac: Check whether clock_* routines come from librt.
* asan/Makefile.am (libasan_la_LDFLAGS): Libs now come from
configure.ac.
* tsan/Makefile.am (libtsan_la_LDFLAGS): Likewise.
* ubsan/Makefile.am (libubsan_la_LDFLAGS): Likewise.
* lsan/Makefile.am (liblsan_la_LDFLAGS): Likewise.
* asan/Makefile.in: Regenerate.
* interception/Makefile.in: Regenerate.
* lsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.in: Regenerate.
* tsan/Makefile.in: Regenerate.
* ubsan/Makefile.in: Regenerate.
* Makefile.in: Regenerate.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205524
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 29 Nov 2013 12:16:07 +0000 (12:16 +0000)]
* gnat.dg/opt29.ad[sb]: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205523
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Fri, 29 Nov 2013 12:12:39 +0000 (12:12 +0000)]
Reverted:
2013-11-20 Ilya Enkovich <ilya.enkovich@intel.com>
* cgraph.h (varpool_node): Add need_bounds_init field.
* lto-cgraph.c (lto_output_varpool_node): Output
need_bounds_init value.
(input_varpool_node): Read need_bounds_init value.
* varpool.c (dump_varpool_node): Dump need_bounds_init field.
Reverted:
2013-11-20 Ilya Enkovich <ilya.enkovich@intel.com>
* dbxout.c (dbxout_type): Ignore POINTER_BOUNDS_TYPE.
* dwarf2out.c (gen_subprogram_die): Ignore bound args.
(gen_type_die_with_usage): Skip pointer bounds.
(dwarf2out_global_decl): Likewise.
Reverted:
2013-11-18 Ilya Enkovich <ilya.enkovich@intel.com>
* builtin-types.def (BT_FN_PTR_CONST_PTR_VAR): New.
* chkp-builtins.def (BUILT_IN_CHKP_BIND_BOUNDS): New.
* cfgexpand.c (expand_call_stmt): Expand BUILT_IN_CHKP_BIND_BOUNDS.
* gimple.c (gimple_call_get_nobnd_arg_index): Remove.
* gimple.h (gf_mask): Add GF_CALL_WITH_BOUNDS.
(gimple_call_with_bounds_p): New.
(gimple_call_set_with_bounds): New.
(gimple_call_num_nobnd_args): Remove.
(gimple_call_nobnd_arg): Remove.
* tree.h (CALL_WITH_BOUNDS_P): New.
* rtl.h (CALL_EXPR_WITH_BOUNDS_P): New.
Reverted:
2013-11-08 Ilya Enkovich <ilya.enkovich@intel.com>
* common.opt (fcheck-pointer-bounds): Move to ...
* c-family/c.opt: ... here.
* langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): Remove.
(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_CHKP_SUPPORTED.
* langhooks.h (lang_hooks): Remove chkp_supported field.
* toplev.c (process_options): Remove chkp_supported check.
Reverted:
2013-10-30 Ilya Enkovich <ilya.enkovich@intel.com>
* tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE.
* tree.h (POINTER_BOUNDS_P): New.
(BOUNDED_TYPE_P): New.
(BOUNDED_P): New.
(pointer_bounds_type_node): New.
* tree.c (build_common_tree_nodes): Initialize
pointer_bounds_type_node.
* gimple.h (gimple_call_get_nobnd_arg_index): New.
(gimple_call_num_nobnd_args): New.
(gimple_call_nobnd_arg): New.
(gimple_return_retbnd): New.
(gimple_return_set_retbnd): New
* gimple.c (gimple_build_return): Increase number of ops
for return statement.
(gimple_call_get_nobnd_arg_index): New.
* gimple-pretty-print.c (dump_gimple_return): Print second op.
Reverted:
2013-10-30 Ilya Enkovich <ilya.enkovich@intel.com>
* ipa.c (cgraph_build_static_cdtor_1): Support contructors
with "chkp ctor" and "bnd_legacy" attributes.
* gimplify.c (gimplify_init_constructor): Avoid infinite
loop during gimplification of bounds initializer.
Reverted:
2013-10-30 Ilya Enkovich <ilya.enkovich@intel.com>
* c-family/c-common.c (handle_bnd_variable_size_attribute): New.
(handle_bnd_legacy): New.
(c_common_attribute_table): Add bnd_variable_size and bnd_legacy.
* doc/extend.texi: Document bnd_variable_size and bnd_legacy
attributes.
Reverted:
2013-10-29 Ilya Enkovich <ilya.enkovich@intel.com>
* builtin-types.def (BT_FN_VOID_CONST_PTR): New.
(BT_FN_PTR_CONST_PTR): New.
(BT_FN_CONST_PTR_CONST_PTR): New.
(BT_FN_PTR_CONST_PTR_SIZE): New.
(BT_FN_PTR_CONST_PTR_CONST_PTR): New.
(BT_FN_VOID_PTRPTR_CONST_PTR): New.
(BT_FN_VOID_CONST_PTR_SIZE): New.
(BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE): New.
* chkp-builtins.def: New.
* builtins.def: include chkp-builtins.def.
(DEF_CHKP_BUILTIN): New.
* builtins.c (expand_builtin): Support BUILT_IN_CHKP_INIT_PTR_BOUNDS,
BUILT_IN_CHKP_NULL_PTR_BOUNDS, BUILT_IN_CHKP_COPY_PTR_BOUNDS,
BUILT_IN_CHKP_CHECK_PTR_LBOUNDS, BUILT_IN_CHKP_CHECK_PTR_UBOUNDS,
BUILT_IN_CHKP_CHECK_PTR_BOUNDS, BUILT_IN_CHKP_SET_PTR_BOUNDS,
BUILT_IN_CHKP_NARROW_PTR_BOUNDS, BUILT_IN_CHKP_STORE_PTR_BOUNDS,
BUILT_IN_CHKP_GET_PTR_LBOUND, BUILT_IN_CHKP_GET_PTR_UBOUND,
BUILT_IN_CHKP_BNDMK, BUILT_IN_CHKP_BNDSTX, BUILT_IN_CHKP_BNDCL,
BUILT_IN_CHKP_BNDCU, BUILT_IN_CHKP_BNDLDX, BUILT_IN_CHKP_BNDRET,
BUILT_IN_CHKP_INTERSECT, BUILT_IN_CHKP_ARG_BND, BUILT_IN_CHKP_NARROW,
BUILT_IN_CHKP_EXTRACT_LOWER, BUILT_IN_CHKP_EXTRACT_UPPER.
* common.opt (fcheck-pointer-bounds): New.
* toplev.c (process_options): Check Pointer Bounds Checker is
supported.
* doc/extend.texi: Document Pointer Bounds Checker built-in functions.
Reverted:
2013-10-30 Ilya Enkovich <ilya.enkovich@intel.com>
* target.def (builtin_chkp_function): New.
(chkp_bound_type): New.
(chkp_bound_mode): New.
(fn_abi_va_list_bounds_size): New.
(load_bounds_for_arg): New.
(store_bounds_for_arg): New.
* targhooks.h (default_load_bounds_for_arg): New.
(default_store_bounds_for_arg): New.
(default_fn_abi_va_list_bounds_size): New.
(default_chkp_bound_type): New.
(default_chkp_bound_mode): New.
(default_builtin_chkp_function): New.
* targhooks.c (default_load_bounds_for_arg): New.
(default_store_bounds_for_arg): New.
(default_fn_abi_va_list_bounds_size): New.
(default_chkp_bound_type): New.
(default_chkp_bound_mode); New.
(default_builtin_chkp_function): New.
* doc/tm.texi.in (TARGET_FN_ABI_VA_LIST_BOUNDS_SIZE): New.
(TARGET_LOAD_BOUNDS_FOR_ARG): New.
(TARGET_STORE_BOUNDS_FOR_ARG): New.
(TARGET_BUILTIN_CHKP_FUNCTION): New.
(TARGET_CHKP_BOUND_TYPE): New.
(TARGET_CHKP_BOUND_MODE): New.
* doc/tm.texi: Regenerated.
* langhooks.h (lang_hooks): Add chkp_supported field.
* langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): New.
(LANG_HOOKS_INITIALIZER); Add LANG_HOOKS_CHKP_SUPPORTED.
Reverted:
2013-10-24 Ilya Enkovich <ilya.enkovich@intel.com>
* config/i386/constraints.md (B): New.
(Ti): New.
(Tb): New.
* config/i386/i386-c.c (ix86_target_macros_internal): Add __MPX__.
* config/i386/i386-modes.def (BND32): New.
(BND64): New.
* config/i386/i386-protos.h (ix86_bnd_prefixed_insn_p): New.
* config/i386/i386.c (isa_opts): Add mmpx.
(regclass_map): Add bound registers.
(dbx_register_map): Likewise.
(dbx64_register_map): Likewise.
(svr4_dbx_register_map): Likewise.
(PTA_MPX): New.
(ix86_option_override_internal): Support MPX ISA.
(ix86_conditional_register_usage): Support bound registers.
(print_reg): Likewise.
(ix86_code_end): Add MPX bnd prefix.
(output_set_got): Likewise.
(ix86_output_call_insn): Likewise.
(ix86_print_operand): Add '!' (MPX bnd) print prefix support.
(ix86_print_operand_punct_valid_p): Likewise.
(ix86_print_operand_address): Support UNSPEC_BNDMK_ADDR and
UNSPEC_BNDMK_ADDR.
(ix86_class_likely_spilled_p): Add bound regs support.
(ix86_hard_regno_mode_ok): Likewise.
(x86_order_regs_for_local_alloc): Likewise.
(ix86_bnd_prefixed_insn_p): New.
* config/i386/i386.h (FIRST_PSEUDO_REGISTER): Fix to new value.
(FIXED_REGISTERS): Add bound registers.
(CALL_USED_REGISTERS): Likewise.
(REG_ALLOC_ORDER): Likewise.
(HARD_REGNO_NREGS): Likewise.
(TARGET_MPX): New.
(VALID_BND_REG_MODE): New.
(FIRST_BND_REG): New.
(LAST_BND_REG): New.
(reg_class): Add BND_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(BND_REGNO_P): New.
(ANY_BND_REG_P): New.
(BNDmode): New.
(HI_REGISTER_NAMES): Add bound registers.
* config/i386/i386.md (UNSPEC_BNDMK): New.
(UNSPEC_BNDMK_ADDR): New.
(UNSPEC_BNDSTX): New.
(UNSPEC_BNDLDX): New.
(UNSPEC_BNDLDX_ADDR): New.
(UNSPEC_BNDCL): New.
(UNSPEC_BNDCU): New.
(UNSPEC_BNDCN): New.
(UNSPEC_MPX_FENCE): New.
(BND0_REG): New.
(BND1_REG): New.
(type): Add mpxmov, mpxmk, mpxchk, mpxld, mpxst.
(length_immediate): Likewise.
(prefix_0f): Likewise.
(memory): Likewise.
(prefix_rep): Check for bnd prefix.
(length_nobnd): New.
(length): Use length_nobnd if specified.
(BND): New.
(bnd_ptr): New.
(BNDCHECK): New.
(bndcheck): New.
(*jcc_1): Add bnd prefix and rename length attr to length_nobnd.
(*jcc_2): Likewise.
(jump): Likewise.
(simple_return_internal): Likewise.
(simple_return_pop_internal): Likewise.
(*indirect_jump): Add MPX bnd prefix.
(*tablejump_1): Likewise.
(simple_return_internal_long): Likewise.
(simple_return_indirect_internal): Likewise.
(<mode>_mk): New.
(*<mode>_mk): New.
(mov<mode>): New.
(*mov<mode>_internal_mpx): New.
(<mode>_<bndcheck>): New.
(*<mode>_<bndcheck>): New.
(<mode>_ldx): New.
(*<mode>_ldx): New.
(<mode>_stx): New.
(*<mode>_stx): New.
* config/i386/predicates.md (lea_address_operand): Rename to...
(address_no_seg_operand): ... this.
(address_mpx_no_base_operand): New.
(address_mpx_no_index_operand): New.
(bnd_mem_operator): New.
* config/i386/i386.opt (mmpx): New.
* doc/invoke.texi: Add documentation for the flags -mmpx, -mno-mpx.
* doc/rtl.texi Add documentation for BND32mode and BND64mode.
Reverted:
2013-10-24 Ilya Enkovich <ilya.enkovich@intel.com>
* mode-classes.def (MODE_POINTER_BOUNDS): New.
* tree.def (POINTER_BOUNDS_TYPE): New.
* genmodes.c (complete_mode): Support MODE_POINTER_BOUNDS.
(POINTER_BOUNDS_MODE): New.
(make_pointer_bounds_mode): New.
* machmode.h (POINTER_BOUNDS_MODE_P): New.
* stor-layout.c (int_mode_for_mode): Support MODE_POINTER_BOUNDS.
(layout_type): Support POINTER_BOUNDS_TYPE.
* tree-pretty-print.c (dump_generic_node): Support POINTER_BOUNDS_TYPE.
* tree.c (build_int_cst_wide): Support POINTER_BOUNDS_TYPE.
(type_contains_placeholder_1): Likewise.
* tree.h (POINTER_BOUNDS_TYPE_P): New.
* varasm.c (output_constant): Support POINTER_BOUNDS_TYPE.
* doc/rtl.texi (MODE_POINTER_BOUNDS): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205522
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 29 Nov 2013 12:09:12 +0000 (12:09 +0000)]
2013-11-29 Richard Biener <rguenther@suse.de>
PR middle-end/59338
* tree-cfg.c (verify_expr): Restrict bounds verification of
BIT_FIELD_REF arguments to non-aggregate typed base objects.
* gcc.dg/torture/pr59338.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205521
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Fri, 29 Nov 2013 11:54:23 +0000 (11:54 +0000)]
Add a special case for multiplication with zero.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205520
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Fri, 29 Nov 2013 11:52:05 +0000 (11:52 +0000)]
Add lshift/lrshift fast paths for bit-to-byte conversion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205519
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Fri, 29 Nov 2013 11:50:30 +0000 (11:50 +0000)]
Add add/sub fast paths for offset_int and widest_int.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205518
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Fri, 29 Nov 2013 11:48:44 +0000 (11:48 +0000)]
Apply the lts_p and ltu_p fast paths to cmps and cmpu too.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205517
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Fri, 29 Nov 2013 11:47:51 +0000 (11:47 +0000)]
Extend ltu_p fast path to all length-1 pairs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205516
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 29 Nov 2013 10:47:52 +0000 (10:47 +0000)]
2013-11-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/59334
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Fix bug
in previous commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205515
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 29 Nov 2013 10:41:12 +0000 (10:41 +0000)]
PR lto/59326
* omp-low.c (simd_clone_create): Return NULL if for definition
!cgraph_function_with_gimple_body_p (old_node). Call cgraph_get_body
before calling cgraph_function_versioning.
(expand_simd_clones): Look for "omp declare simd" attribute first.
Don't check targetm.simd_clone.compute_vecsize_and_simdlen here.
Punt if node->global.inlined_to.
(pass_omp_simd_clone::gate): Also enable if in_lto_p && !flag_wpa.
Disable pass if targetm.simd_clone.compute_vecsize_and_simdlen is NULL.
* lto-streamer-out.c (hash_tree): Handle OMP_CLAUSE.
lto/
* lto.c (compare_tree_sccs_1): Handle OMP_CLAUSE.
testsuite/
* gcc.dg/vect/vect-simd-clone-12.c: New test.
* gcc.dg/vect/vect-simd-clone-12a.c: New test.
* gcc.dg/vect/vect-simd-clone-10a.c: Remove extern keywords.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205514
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 29 Nov 2013 10:36:10 +0000 (10:36 +0000)]
PR lto/59326
* tree-core.h (enum omp_clause_schedule_kind): Add
OMP_CLAUSE_SCHEDULE_LAST.
(enum omp_clause_default_kind): Add OMP_CLAUSE_DEFAULT_LAST.
(enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_LAST.
(enum omp_clause_map_kind): Add OMP_CLAUSE_MAP_LAST.
(enum omp_clause_proc_bind_kind): Add OMP_CLAUSE_PROC_BIND_LAST.
* lto-streamer-out.c (lto_is_streamable): Allow streaming
OMP_CLAUSE.
(DFS_write_tree_body): Handle OMP_CLAUSE.
* tree-streamer-out.c (pack_ts_omp_clause_value_fields): New
function.
(streamer_pack_tree_bitfields): Call it for OMP_CLAUSE.
(write_ts_omp_clause_tree_pointers): New function.
(streamer_write_tree_body): Call it for OMP_CLAUSE.
(streamer_write_tree_header): For OMP_CLAUSE stream OMP_CLAUSE_CODE.
* tree-streamer-in.c (unpack_ts_omp_clause_value_fields): New
function.
(unpack_value_fields): Call it for OMP_CLAUSE.
(streamer_alloc_tree): Handle OMP_CLAUSE.
(lto_input_ts_omp_clause_tree_pointers): New function.
(streamer_read_tree_body): Call it for OMP_CLAUSE.
lto/
* lto.c (mentions_vars_p_omp_clause): New function.
(mentions_vars_p): Call it for OMP_CLAUSE. Remove break;
after return stmts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205512
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 29 Nov 2013 07:42:23 +0000 (07:42 +0000)]
PR c/59280
* c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
goto invalid. If it is error_mark_node, don't issue further
diagnostics.
testsuite/
* c-c++-common/pr59280.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205510
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Fri, 29 Nov 2013 05:39:08 +0000 (05:39 +0000)]
testsuite/ChangeLog:
2013-11-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* gcc.target/arm/lp1243022.c: Skip target arm-neon.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205509
138bc75d-0d04-0410-961f-
82ee72b054a4
zadeck [Fri, 29 Nov 2013 03:23:12 +0000 (03:23 +0000)]
fixed comment
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205508
138bc75d-0d04-0410-961f-
82ee72b054a4