gcc

lp:~vcs-imports/gcc/+git/gcc

Owned by VCS imports
Get this repository:
git clone https://git.launchpad.net/~vcs-imports/gcc/+git/gcc

Import details

Import Status: Failed

This repository is an import of the Git repository at https://gcc.gnu.org/git/gcc.git.

The import has been suspended because it failed 5 or more times in succession.

Last successful import was .

Import started on izar and finished taking 1 hour 10 minutes — see the log
Import started on alnitak and finished taking 1 hour 20 minutes — see the log
Import started on izar and finished taking 8 minutes — see the log
Import started on alnitak and finished taking 8 minutes — see the log

Branches

Name Last Modified Last Commit
hjl/iamcu/gcc-5-branch 2016-02-05 12:51:20 UTC
Define check_union_passing6 only for CHECK_FLOAT128

Author: hjl
Author Date: 2016-02-04 01:46:17 UTC

Define check_union_passing6 only for CHECK_FLOAT128

 * gcc.target/i386/iamcu/test_passing_unions.c (check_union_passing6):
 Define only if CHECK_FLOAT128 is defined.
 (main): Properly initialize u5.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233124 138bc75d-0d04-0410-961f-82ee72b054a4

hjl/pr69299 2016-01-29 15:58:15 UTC
Call constraint_satisfied_p to check memory operand

Author: H.J. Lu
Author Date: 2016-01-16 15:57:34 UTC

Call constraint_satisfied_p to check memory operand

Call constraint_satisfied_p, instead of MEM_P and memory_operand, to
check for valid memory operand.

 * ira-costs.c (record_reg_classes): Call constraint_satisfied_p,
 instead of MEM_P, to check for valid memory operand.
 * recog.c (asm_operand_ok): Call constraint_satisfied_p, instead
 of memory_operand, to check for valid memory operand.

hjl/cvtps2pd 2016-01-29 00:21:45 UTC
Use vm on %vcvtps2pd

Author: H.J. Lu
Author Date: 2016-01-29 00:21:45 UTC

Use vm on %vcvtps2pd

hjl/pr69530/master 2016-01-28 17:50:06 UTC
Call true_regnum to check for SSE registers

Author: H.J. Lu
Author Date: 2016-01-28 17:43:49 UTC

Call true_regnum to check for SSE registers

LRA may generate

(set (subreg:TI (reg/v:V2TI 21 xmm0 [orig:92 v32u128_0 ] [92]) 0)
     (mem/c:TI (plus:DI (reg/f:DI 7 sp)
                 (const_int -56 [0xffffffffffffffc8])) [2 %sfp+-32 S16 A256]))

We should call true_regnum to check for SSE registers.

gcc/

 PR target/69530
 * config/i386/i386.md (TI splitter): Call true_regnum to check
 for SSE registers.

gcc/testsuite/

 PR target/69530
 * gcc.target/i386/pr69530.c: New test.

aoliva/pr69461 2016-01-28 05:40:06 UTC
[PR69461] LRA: check modes in reg class membership test

Author: Alexandre Oliva
Author Date: 2016-01-28 05:40:06 UTC

[PR69461] LRA: check modes in reg class membership test

for gcc/ChangeLog

 PR target/69461
 * lra-constraints.c (in_class_p): Split...
 (available_regs_for_mode_in_class_p): ... this out. Test
 HARD_REGNO_MODE_OK.
 (simplify_operand_subreg): Proceed with simplification from
 valid to invalid MEM address if no REGs are available with the
 needed mode in the goal class.

for gcc/testsuite/ChangeLog

 PR target/69461
 * gcc.dg/torture/pr69461.c: New.

hjl/pr68986/gcc-5-branch 2016-01-27 20:19:58 UTC
Update preferred stack boundary in ix86_update_stack_boundary

Author: hjl
Author Date: 2016-01-26 12:51:07 UTC

Update preferred stack boundary in ix86_update_stack_boundary

__tls_get_addr must be called with 16-byte aligned stack, which is
guaranted by setting preferred_stack_boundary to 128 bits. Preferred
stack boundary adjustment for __tls_get_addr should be done in
ix86_update_stack_boundary, not ix86_compute_frame_layout Also
there is no need to over-align stack for __tls_get_addr and function
with __tls_get_addr call isn't a leaf function.

gcc/

 Backport from mainline
 PR target/68986
 * config/i386/i386.c (ix86_compute_frame_layout): Move stack
 alignment adjustment to ...
 (ix86_update_stack_boundary): Here. Don't over-align stack nor
 change stack_alignment_needed for __tls_get_addr.
 (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
 if __tls_get_addr is called.

gcc/testsuite/

 Backport from mainline
 PR target/68986
 * gcc.target/i386/pr68986-1.c: New test.
 * gcc.target/i386/pr68986-2.c: Likewise.
 * gcc.target/i386/pr68986-3.c: Likewise.

hjl/pr69454/master 2016-01-27 16:01:56 UTC
Don't align DImode to 32 bits if the STV pass is enabled

Author: H.J. Lu
Author Date: 2016-01-25 20:31:45 UTC

Don't align DImode to 32 bits if the STV pass is enabled

Since the STV pass uses SSE2 instructions on DImode which needs 64-bit
alignment for DImode, don't align DImode to 32 bits if the STV pass is
enabled.

gcc/

 PR target/69454
 * config/i386/i386.c (convert_scalars_to_vector): Don't change
 stack alignment here.
 (ix86_minimum_alignment): Don't align DImode to 32 bits if the
 STV pass is enabled.

gcc/testsuite/

 PR target/69454
 * gcc.target/i386/pr69454-1.c: New test.
 * gcc.target/i386/pr69454-2.c: Likewise.

aoliva/pr69466 2016-01-27 07:43:00 UTC
[PR69466] fix loop vectorizer set_current_def

Author: Alexandre Oliva
Author Date: 2016-01-27 07:43:00 UTC

[PR69466] fix loop vectorizer set_current_def

slpeel_duplicate_current_defs_from_edges is often called with edges to
blocks that were copied from one another, but it isn't always so.
Check that their phi nodes match before calling set_current_def for
any of them.

for gcc/ChangeLog

 PR target/69466
 * tree-vect-loop-manip.c
 (slpeel_duplicate_current_defs_from_edges): Skip if dest blocks
 don't have phi nodes for names for the same base variables.

for gcc/testsuite/ChangeLog

 PR target/69466
 * gfortran.dg/vect/pr69466.f90: New.

hjl/pr68986/master 2016-01-25 23:34:04 UTC
Update stack alignment in ix86_update_stack_boundary

Author: H.J. Lu
Author Date: 2016-01-25 22:49:12 UTC

Update stack alignment in ix86_update_stack_boundary

Stack alignment adjustment for __tls_get_addr should be done in
ix86_update_stack_boundary, not ix86_compute_frame_layout. Also
there is no need to over-align stack for __tls_get_addr and function
with __tls_get_addr call isn't a leaf function.

gcc/

 PR target/68986
 * config/i386/i386.c (ix86_compute_frame_layout): Move stack
 alignment adjustment to ...
 (ix86_update_stack_boundary): Here. Don't over-align stack for
 __tls_get_addr.
 (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
 if __tls_get_addr is called.

gcc/testsuite/

 PR target/68986
 * gcc.target/i386/pr68986-1.c: New test.
 * gcc.target/i386/pr68986-2.c: Likewise.
 * gcc.target/i386/pr68986-3.c: Likewise.

hjl/pr69399/master 2016-01-22 18:51:05 UTC
Add HAVE_WORKING_CXX_BUILTIN_CONSTANT_P

Author: H.J. Lu
Author Date: 2016-01-21 19:51:47 UTC

Add HAVE_WORKING_CXX_BUILTIN_CONSTANT_P

Without the fix for PR 65656, g++ miscompiles __builtin_constant_p in
wi::lrshift in wide-int.h. Add a check with PR 65656 testcase to verify
that C++ __builtin_constant_p works properly.

gcc/

 PR c++/69399
 * configure.ac: Check if C++ __builtin_constant_p works
 properly.
 (HAVE_WORKING_CXX_BUILTIN_CONSTANT_P): AC_DEFINE.
 * system.h (STATIC_CONSTANT_P): Use __builtin_constant_p only
 if HAVE_WORKING_CXX_BUILTIN_CONSTANT_P is defined.
 * config.in: Regenerated.
 * configure: Likewise.

gcc/testsuite/

 PR c++/69399
 * gcc.dg/torture/pr69399.c: New test.

hjl/pr69399/gcc-5-branch 2016-01-22 18:49:32 UTC
Add HAVE_WORKING_CXX_BUILTIN_CONSTANT_P

Author: H.J. Lu
Author Date: 2016-01-21 19:51:47 UTC

Add HAVE_WORKING_CXX_BUILTIN_CONSTANT_P

Without the fix for PR 65656, g++ miscompiles __builtin_constant_p in
wi::lrshift in wide-int.h. Add a check with PR 65656 testcase to verify
that C++ __builtin_constant_p works properly.

gcc/

 PR c++/69399
 * configure.ac: Check if C++ __builtin_constant_p works
 properly.
 (HAVE_WORKING_CXX_BUILTIN_CONSTANT_P): AC_DEFINE.
 * system.h (STATIC_CONSTANT_P): Use __builtin_constant_p only
 if HAVE_WORKING_CXX_BUILTIN_CONSTANT_P is defined.
 * config.in: Regenerated.
 * configure: Likewise.

gcc/testsuite/

 PR c++/69399
 * gcc.dg/torture/pr69399.c: New test.

aoliva/pr69315 2016-01-22 18:27:46 UTC
[PR69315] enable finish_function to recurse for constexpr functions

Author: Alexandre Oliva
Author Date: 2016-01-22 18:27:46 UTC

[PR69315] enable finish_function to recurse for constexpr functions

We don't want finish_function to be called recursively from mark_used.
However, it's desirable and necessary to call itself recursively when
performing delayed folding, because that may have to instantiate and
evaluate constexpr template functions.

So, arrange for finish_function to accept being called recursively
during delayed folding, save and restore the controlling variables,
and process the deferred mark_used calls only when the outermost call
completes.

for gcc/cp/ChangeLog

 PR c++/69315
 * decl.c (is_folding_function): New variable.
 (finish_function): Test, save and set it.

for gcc/testsuite/ChangeLog

 PR c++/69315
 * g++.dg/pr69315.C: New.

hjl/pr65656/gcc-5-branch 2016-01-21 19:28:41 UTC
Fix C++ __builtin_constant_p

Author: jason
Author Date: 2015-04-28 14:43:59 UTC

Fix C++ __builtin_constant_p

We have two desires for interaction of __builtin_constant_p with
constexpr: 1) it should be a constant-expression even if its operands
are not, and 2) we shouldn't fold it to false prematurely when parsing a
constexpr function (c++/54021). We were having trouble with both of
these, and this patch fixes #1 without breaking #2.

gcc/cp/

 Backport from mainline
 2015-04-28 Jason Merrill <jason@redhat.com>

 PR c++/65656
 * constexpr.c (cxx_eval_builtin_function_call): Fix
 __builtin_constant_p.

gcc/testsuite/

 Backport from mainline
 2015-04-28 Jason Merrill <jason@redhat.com>

 PR c++/65656
 * g++.dg/cpp0x/constexpr-builtin3.C: New test.

gomp-nvptx 2016-01-21 17:18:07 UTC
libgomp: update copyright years in files created on the branch

Author: Alexander Monakov
Author Date: 2016-01-21 17:18:07 UTC

libgomp: update copyright years in files created on the branch

hjl/pr69225/master 2016-01-11 16:32:09 UTC
Set FLT_EVAL_METHOD to 2 only if 387 FPU is used

Author: H.J. Lu
Author Date: 2016-01-08 04:21:10 UTC

Set FLT_EVAL_METHOD to 2 only if 387 FPU is used

When 387 FPU isn't used, there is no excess precision. We should set
FLT_EVAL_METHOD to 2 only if 387 FPU is used.

gcc/

 PR target/69225
 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
 TARGET_80387 is true.

gcc/testsuite

 PR target/69225
 * gcc.target/i386/pr69225-1.c: New test.
 * gcc.target/i386/pr69225-2.c: Likewise.
 * gcc.target/i386/pr69225-3.c: Likewise.
 * gcc.target/i386/pr69225-4.c: Likewise.
 * gcc.target/i386/pr69225-5.c: Likewise.
 * gcc.target/i386/pr69225-6.c: Likewise.

aoliva/pr69123 2016-01-11 09:58:46 UTC
[PR69123] fix handling of MEMs in VTA to avoid dataflow oscillation

Author: Alexandre Oliva
Author Date: 2016-01-11 09:58:46 UTC

[PR69123] fix handling of MEMs in VTA to avoid dataflow oscillation

The problem arises because we used to drop overwritten MEMs from loc
lists of VALUEs, but not of other onepart variables, and it just so
happens that, by doing so, block 6 in the testcase has no D#5 in its
output in the first pass, because the MEM holding its (previous) value
was correctly dropped from value 88:88, but gains it in the second
pass because D#5 has the MEM location incoming directly in its loc
list, rather than indirectly in a VALUE.

This incorrect binding enables other blocks to believe they have a
tentative binding for D#5 in some cycles, but others, still operating
on the early conclusion, believe there isn't, and they oscillate from
that.

Since we check for escaping MEMs in clobbers, we won't lose anything
relevant by dropping call-clobbered or overwritten MEMs in all onepart
variables, and this ensures the loc intersection operation in onepart
vars won't let a MEM through that wasn't present in earlier
iterations.

for gcc/ChangeLog

 PR bootstrap/69123
 * var-tracking.c (drop_overlapping_mem_locs): Operate on all
 onepart vars. Fix typo in comment. Fix reversed condition in
 unshare test.
 (dataflow_set_remove_mem_locs): Operate on all onepart vars.

for gcc/testsuite/ChangeLog

 PR bootstrap/69123
 * g++.dg/pr69123.C: New.

hjl/pr69171/master 2016-01-07 11:52:26 UTC
Add round_nimm_scalar_predicate and use xBm

Author: H.J. Lu
Author Date: 2016-01-06 21:06:17 UTC

Add round_nimm_scalar_predicate and use xBm

Add round_nimm_scalar_predicate for scalar SSE integer to floating point
conversions since round_nimm_predicate is for vector operand.

round_constraint can't be used on vector SSE patterns since it is mapped
to "vm". The "xBm" constraint must be used in this case.

gcc/

 PR target/69171
 * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
 Use the "xBm" constraint.
 (float<sseintvecmodelower><mode>2<mask_name><round_name):
 Likewise.
 (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
 (sse_cvtsi2ssq<round_name>): Likewise.
 (sse_cvtss2si<round_name>): Likewise.
 (sse_cvtss2siq<round_name>): Likewise.
 (sse2_cvtsi2sdq<round_name>): Likewise.
 (sse2_cvtsd2si<round_name>): Likewise.
 (sse2_cvtsd2siq<round_name>): Likewise.
 * config/i386/subst.md (round_nimm_scalar_predicate): New
 predicate.

gcc/testsuite/

 PR target/69171
 * gcc.target/i386/pr69171-1.c: New test.
 * gcc.target/i386/pr69171-2.c: Likewise.
 * gcc.target/i386/pr69171-3.c: Likewise.
 * gcc.target/i386/pr69171-4.c: Likewise.
 * gcc.target/i386/pr69171-5.c: Likewise.
 * gcc.target/i386/pr69171-6.c: Likewise.

linaro/prolog-pad 2015-12-15 16:29:49 UTC
Support for -fprolog-pad=N

Author: Maxim Kuvyrkov
Author Date: 2015-12-15 16:29:49 UTC

Support for -fprolog-pad=N

aoliva/pr67355 2015-11-26 23:03:24 UTC
[PR67355] drop dummy zero from reverse VTA ops, fix infinite recursion

Author: Alexandre Oliva
Author Date: 2015-11-26 23:03:24 UTC

[PR67355] drop dummy zero from reverse VTA ops, fix infinite recursion

VTA's cselib expression hashing compares expressions with the same
hash before adding them to the hash table. When there is a collision
involving a self-referencing expression, we could get infinite
recursion, in spite of the cycle breakers already in place. The
problem is currently latent in the trunk, because by chance we don't
get a collision.

Such value cycles are often introduced by reverse_op; most often,
they're indirect, and then value canonicalization takes care of the
cycle, but if the reverse operation simplifies to the original value,
we used to issue a (plus V (const_int 0)), because at some point
adding a plain value V to a location list as a reverse_op equivalence
caused other problems.

This dummy zero, in turn, caused the value canonicalizer to not fully
realize the equivalence, leading to more complex graphs and,
occasionally, to infinite recursion when comparing such
value-plus-zero expressions recursively.

Simply using V solves the infinite recursion from the PR testcase,
since the extra equivalence and the preexisting value canonicalization
together prevent recursion while the unrecognized equivalence
wouldn't, but it exposed another infinite recursion in
memrefs_conflict_p: get_addr had a cycle breaker in place, to skip RTL
referencing values introduced after the one we're examining, but it
wouldn't break the cycle if the value itself appeared in the
expression being examined.

After removing the dummy zero above, this kind of cycle in the
equivalence graph is no longer introduced by VTA itself, but dummy
zeros are also present in generated code, such as in the 32-bit x86's
pro_epilogue_adjust_stack_si_add epilogue insn generated as part of
the builtin longjmp in _Unwind_RaiseException building libgcc's
unwind-dw2.o. So, break the recursion cycle for them too.

for gcc/ChangeLog

 PR debug/67355
 * var-tracking.c (reverse_op): Don't add dummy zero to reverse
 ops that simplify back to the original value.
 * alias.c (refs_newer_value_p): Cut off recursion for
 expressions containing the original value.

pinskia/aarch64_native_new 2015-11-16 18:27:24 UTC
[AARCH64] Add variant support to -m*=native and add thunderxt88pass1.

Author: Andrew Pinski
Author Date: 2015-11-16 18:27:24 UTC

[AARCH64] Add variant support to -m*=native and add thunderxt88pass1.

* config/aarch64/aarch64-cores.def: Add -1 as the variant to all of the cores.
(thunderxt88pass1): New core.
* config/aarch64/driver-aarch64.c (struct aarch64_core_data): Add variant field.
(ALL_VARIANTS): New define.
(AARCH64_CORE): Support VARIANT operand.
(cpu_data): Likewise.
(host_detect_local_cpu): Parse variant field of /proc/cpuinfo. Combine the arch
and single core case and support variant searching.
* common/config/aarch64/aarch64-common.c (AARCH64_CORE): Add VARIANT operand.
* config/aarch64/aarch64-opts.h (AARCH64_CORE): Likewise.
* config/aarch64/aarch64.c (AARCH64_CORE): Likewise.
* config/aarch64/aarch64.h (AARCH64_CORE): Likewise.
* config/aarch64/aarch64-tune.md: Regernate.

pinskia/aarch64_native 2015-11-16 03:19:16 UTC
[AARCH64] Fix part num and implement indendent.

Author: Andrew Pinski
Author Date: 2015-11-15 21:54:20 UTC

[AARCH64] Fix part num and implement indendent.

* config/aarch64/driver-aarch64.c (host_detect_local_cpu):
Rewrite handling of part num to handle the case where
multiple implementers share the same part num.

hjl/pr66250 2015-11-11 21:02:52 UTC
Add a file to make machine mode adjustments

Author: H.J. Lu
Author Date: 2015-05-22 11:29:40 UTC

Add a file to make machine mode adjustments

machmode.def has

/* Allow the target to specify additional modes of various kinds. */

/* Complex modes. */
COMPLEX_MODES (INT);
COMPLEX_MODES (FLOAT);

/* Decimal floating point modes. */
DECIMAL_FLOAT_MODE (SD, 4, decimal_single_format);
DECIMAL_FLOAT_MODE (DD, 8, decimal_double_format);
DECIMAL_FLOAT_MODE (TD, 16, decimal_quad_format);

We can't adjust any complex nor DFP modes in i386-modes.def since they
aren't available yet. But we need to include i386-modes.def before

COMPLEX_MODES (INT);
COMPLEX_MODES (FLOAT);

to get extra modes. This patch adds EXTRA_ADJUSTMENTS_FILE containing
adjustments to machine modes and includes it after all modes have been
created.

 PR other/66250
 * Makefile.in (extra_adjustments_file): New.
 (build/genmodes.o): Depend on $(extra_adjustments_file).
 * config.gcc (extra_adjustments): New. Set to
 ${cpu_type}/${cpu_type}-adjustments.def if available.
 * configure.ac (extra_adjustments): AC_SUBST and
 AC_DEFINE_UNQUOTED if set.
 * genmodes.c (HAVE_EXTRA_ADJUSTMENTS): New.
 (EXTRA_ADJUSTMENTS_FILE): Likewise.
 (emit_autogen_header): Likewise.
 (emit_insn_modes_h): Call emit_autogen_header.
 (emit_insn_modes_c_header): Likewise.
 (emit_min_insn_modes_c_header): Likewise.
 * machmode.def: Include EXTRA_ADJUSTMENTS_FILE if
 HAVE_EXTRA_ADJUSTMENTS is 1.
 * config.in: Regenerated.
 * configure: Likewise.
 * config/i386/i386-modes.def (ADJUST_FLOAT_FORMAT,
 ADJUST_BYTESIZE, ADJUST_ALIGNMENT): Moved to ...
 * config/i386/i386-adjustments.def: Here. New file.

aoliva/pr67753 2015-11-10 20:32:27 UTC
[PR67753] adjust for padding when bypassing memory in assign_parm_setup_block

Author: Alexandre Oliva
Author Date: 2015-11-10 20:32:27 UTC

[PR67753] adjust for padding when bypassing memory in assign_parm_setup_block

Storing a register in memory as a full word and then accessing the
same memory address under a smaller-than-word mode amounts to
right-shifting of the register word on big endian machines. So, if
BLOCK_REG_PADDING chooses upward padding for BYTES_BIG_ENDIAN, and
we're copying from the entry_parm REG directly to a pseudo, bypassing
any stack slot, perform the shifting explicitly.

This fixes the miscompile of function_return_val_10 in
gcc.target/aarch64/aapcs64/func-ret-4.c for target aarch64_be-elf
introduced in the first patch for 67753.

for gcc/ChangeLog

 PR rtl-optimization/67753
 PR rtl-optimization/64164
 * function.c (assign_parm_setup_block): Right-shift
 upward-padded big-endian args when bypassing the stack slot.

aoliva/pr68083 2015-10-30 14:54:32 UTC
ifcombine: factor out inner block viability test

Author: Alexandre Oliva
Author Date: 2015-10-30 14:54:32 UTC

ifcombine: factor out inner block viability test

Bail out early if the inner block has side effects or is otherwise not
eligible for ifcombine.

for gcc/ChangeLog

 * tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out
 bb_no_side_effects_p tests...
 (tree_ssa_ifcombine_bb): ... here.

hjl/pic/master 2015-10-27 14:56:45 UTC
Load specific external function addresses via GOT slot

Author: H.J. Lu
Author Date: 2015-08-29 02:14:49 UTC

Load specific external function addresses via GOT slot

Drawbacks with -fno-plt and noplt attribute are

1. -fno-plt may force locally defined functions to be called via their
GOT slots through indirect branch, instead of direct branch.
2. noplt attribute doesn't work on libcalls of builtin functions.
3. noplt attribute requires modifying source codes which may not be
desirable for third party source packages.

Add -fno-plt=file and -fno-plt=[symbol,...] options to specify which
external function addresses should be loaded from the GOT slot to avoid
PLT. We don't set REG_EQUAL note with external function symbols whose
address are loaded from GOT slots so that load from the GOT slot won't
be optimized out by a register load.

gcc/

 PR target/67400
 * Makefile.in (OBJS): Add noplt-symbols.o.
 * common.opt (fno-plt=): New option.
 * explow.c (force_reg): Don't set REG_EQUAL if
 targetm.cannot_set_reg_equal_const returns true.
 * expr.c (emit_move_insn): Likewise.
 * noplt-symbols.c: New file.
 * noplt-symbols.h: Likewise.
 * target.def (cannot_set_reg_equal_const): New target hook.
 * toplev.c: Include "noplt-symbols.h".
 (process_options): Call noplt_symbols_initialize.
 (toplev::main): Call noplt_symbols_finish.
 * config/i386/i386-protos.h (ix86_noplt_operand): New.
 (ix86_noplt_addr_symbol_rtx): Likewise.
 * config/i386/i386.c: Include "noplt-symbols.h".
 (ix86_noplt_rtx_p): New function.
 (ix86_noplt_operand): Likewise.
 (ix86_noplt_addr_symbol_rtx): Likewise.
 (ix86_cannot_set_reg_equal_const): Likewise.
 (ix86_function_ok_for_sibcall): Replace flag_plt with
 !noplt_decl_p.
 (ix86_legitimate_address_p): Allow UNSPEC_GOT and UNSPEC_GOTPCREL
 if ix86_noplt_addr_symbol_rtx doesn't return NULL.
 (ix86_print_operand_address): Support UNSPEC_GOT and
 UNSPEC_GOTPCREL if ix86_noplt_addr_symbol_rtx doesn't return
 NULL.
 (ix86_expand_move): Load the external function address via the
 GOT slot if ix86_noplt_operand returns true.
 (ix86_expand_call): Replace flag_plt and noplt attribute check
 with !ix86_noplt_rtx_p.
 (ix86_nopic_noplt_attribute_p): Call ix86_noplt_rtx_p.
 (TARGET_CANNOT_SET_REG_EQUAL_CONST): New.
 * config/i386/i386.h (SYMBOL_FLAG_PLT): New.
 (SYMBOL_REF_PLT_P): Likewise.
 (SYMBOL_FLAG_NOPLT): Likewise.
 (SYMBOL_REF_NOPLT_P): Likewise.
 * doc/tm.texi.in (TARGET_CANNOT_SET_REG_EQUAL_CONST): New hook.
 * doc/tm.texi: Updated.

gcc/testsuite/

 PR target/67400
 * gcc.target/i386/noplt-5.c: New test.
 * gcc.target/i386/noplt-6.c: Likweise.
 * gcc.target/i386/noplt-7.c: Likweise.
 * gcc.target/i386/noplt-8.c: Likweise.
 * gcc.target/i386/noplt-9.c: Likweise.
 * gcc.target/i386/noplt-10.c: Likweise.
 * gcc.target/i386/noplt-11.c: Likweise.
 * gcc.target/i386/noplt-12.c: Likweise.
 * gcc.target/i386/noplt-13.c: Likweise.
 * gcc.target/i386/noplt-14.c: Likweise.
 * gcc.target/i386/noplt-15.c: Likweise.
 * gcc.target/i386/noplt-16.c: Likweise.
 * gcc.target/i386/noplt-17.c: Likweise.
 * gcc.target/i386/noplt-18.c: Likweise.
 * gcc.target/i386/pr67400-1.c: Likweise.
 * gcc.target/i386/pr67400-2.c: Likewise.
 * gcc.target/i386/pr67400-3.c: Likewise.
 * gcc.target/i386/pr67400-4.c: Likewise.

pinskia/mcpunative-aarch64 2015-10-25 00:16:14 UTC
Daily bump.

Author: gccadmin
Author Date: 2015-10-25 00:16:14 UTC

Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229293 138bc75d-0d04-0410-961f-82ee72b054a4

hjl/pr67220/master 2015-10-21 11:15:35 UTC
Honor explicitly declared visibility on builtin functions

Author: H.J. Lu
Author Date: 2015-10-14 11:30:10 UTC

Honor explicitly declared visibility on builtin functions

By default, there is no visibility on builtin functions. When there is
explicitly declared visibility on the C library function which a builtin
function fall back on, we should honor the explicit visibility on the
the C library function.

There are 2 issues:

1. We never update visibility of the fall back C library function.
2. init_block_move_fn and init_block_clear_fn used to implement builtin
memcpy and memset generate the library call to memcpy and memset
directly without checking if there is explicitly declared visibility on
them.

This patch updates builtin function with explicit visibility and checks
visibility on builtin memcpy/memset when generating library call.

gcc/c/

 PR middle-end/67220
 * c-decl.c (diagnose_mismatched_decls): Copy explicit visibility
 to builtin function.

gcc/

 PR middle-end/67220
 * expr.c (init_block_move_fn): Copy visibility from the builtin
 memcpy.
 (init_block_clear_fn): Copy visibility from the builtin memset.

gcc/testsuite/

 PR middle-end/67220
 * gcc.dg/pr67220-1.c: New test.
 * gcc.dg/pr67220-2.c: Likewise.
 * gcc.dg/pr67220-3.c: Likewise.
 * gcc.dg/pr67220-4.c: Likewise.
 * gcc.dg/pr67220-5.c: Likewise.
 * gcc.dg/pr67220-6.c: Likewise.

hjl/got/master 2015-10-20 19:13:53 UTC
Put local/global relocs in rw section for -freloc-rw

Author: H.J. Lu
Author Date: 2015-08-31 16:37:50 UTC

Put local/global relocs in rw section for -freloc-rw

Add an option, -freloc-rw, to put local and global relocations in a
read-write section.

gcc/

 PR target/67400
 * common.opt (freloc-rw): New option.
 * targhooks.c (default_reloc_rw_mask): Return 3 for -freloc-rw.

gcc/testsuite/

 PR target/67400
 * gcc.target/i386/pr67400-5.c: New test.
 * gcc.target/i386/pr67400-6.c: Likewise.

hjl/pr65846/master 2015-10-20 10:45:23 UTC
Enable -fsymbolic in LTO if -Bsymbolic is used

Author: H.J. Lu
Author Date: 2015-04-29 18:52:16 UTC

Enable -fsymbolic in LTO if -Bsymbolic is used

When -Bsymbolic is passed to linker, references to global symbols
defined in the shared library are resolved locally. We should pass
-fsymbolic to GCC in this case.

 * collect2.c (main): Add -fsymbolic to COLLECT_GCC_OPTIONS if
 -Bsymbolic is used.
 * doc/invoke.texi: Updated.

hjl/pr67963/master 2015-10-19 18:00:35 UTC
Properly handle -miamcu and -march=lakemont

Author: H.J. Lu
Author Date: 2015-10-16 13:48:11 UTC

Properly handle -miamcu and -march=lakemont

-miamcu specifies how parameters are passed to functions and how value
is returned from a function. Inside function, we can use instructions
supported by -march=XXX. -miamcu -march=haswell can generate x87, SSE
and AVX instructions as long as the IA MCU psABI is followed. But since
Lakemont processor doesn't support x87 instructions, we shouldn't
generate x87 instructions with -march=lakemont. This patch separates
code generation from -miamcu and makes -march=lakemont not to generate
x87 instructions.

gcc/

 PR target/67963
 PR target/67985
 * common/config/i386/i386-common.c (ix86_handle_option): Remove
 OPT_miamcu handling.
 * config/i386/i386.c (PTA_NO_80387): New macro.
 (processor_alias_table): Add PTA_NO_80387 to lakemont.
 (ix86_option_override_internal): Update MASK_80387 from
 PTA_NO_80387. Don't warn x87/MMX/SSE/AVX for -miamcu. Warn
 SSE math only if 80387 is supported. Don't change
 MASK_FLOAT_RETURNS.
 (ix86_valid_target_attribute_tree): Enable FPMATH_387 only if
 80387 is supported.
 * config/i386/i386.h (TARGET_FLOAT_RETURNS_IN_80387): True only
 if TARGET_80387 is true and TARGET_IAMCU is false.
 (TARGET_FLOAT_RETURNS_IN_80387_P): True only if TARGET_80387_P
 is true and TARGET_IAMCU_P is false.

gcc/testsuite/

 PR target/67963
 PR target/67985
 * gcc.target/i386/pr67963-1.c: New test.
 * gcc.target/i386/pr67963-2.c: Likewise.
 * gcc.target/i386/pr67963-3.c: Likewise.
 * gcc.target/i386/pr67985-1.c: Likewise.
 * gcc.target/i386/pr67985-2.c: Likewise.
 * gcc.target/i386/pr67985-3.c: Likewise.

hjl/pr67995/master 2015-10-16 18:45:02 UTC
Don't leak ISA to __attribute__ ((target("arch=XXX")))

Author: H.J. Lu
Author Date: 2015-10-16 18:45:02 UTC

Don't leak ISA to __attribute__ ((target("arch=XXX")))

When processing __attribute__ ((target("arch=XXX"))), we should clear
the ISA bits in x_ix86_isa_flags first to avoid leaking ISA from
command line.

gcc/

 PR target/67995
 * config/i386/i386.c (ix86_valid_target_attribute_tree): If
 arch= is set, clear all bits in x_ix86_isa_flags, except for
 ISA_64BIT, ABI_64, ABI_X32, and CODE16.

gcc/testsuite/

 PR target/67995
 * gcc.target/i386/pr67995-1.c: New test.
 * gcc.target/i386/pr67995-2.c: Likewise.
 * gcc.target/i386/pr67995-3.c: Likewise.

hjl/pr35514 2015-10-09 12:44:24 UTC
Output ELF symbol type for undefined symbols

Author: H.J. Lu
Author Date: 2015-07-05 15:58:28 UTC

Output ELF symbol type for undefined symbols

Update default_elf_asm_output_external to also output symbol type to
help ELF linker properly issue diagnostic message. We don't output
symbol type for reference to external TLS symbol since assembler will
generate TLS symbol type based on TLS relocation and Solaris assembler
only supports the @tls_obj type directive, not the @tls_object type
directive used by GNU assmbler, which doesn't understand the @tls_obj
type directive.

gcc/

 PR target/35514
 * varasm.c (default_elf_asm_output_external): Also output symbol
 type.

gcc/testsuite/

 PR target/35514
 * g++.dg/fstack-protector-strong.C: Adjust scan-assembler-times
 for ELF targets.
 * g++.dg/opt/devirt2.C: Likewise.
 * g++.dg/pr49718.C: Likewise.
 * g++.dg/stackprotectexplicit2.C : Likewise.
 * gcc.dg/fstack-protector-strong.c: Likewise.
 * gcc.dg/tree-ssa/loop-1.c: Likewise.
 * gcc.target/i386/memcpy-strategy-3.c: Likewise.
 * gcc.target/i386/memset-strategy-1.c: Likewise.
 * gfortran.dg/bind_c_array_params_2.f90: Likewise.
 * gcc.dg/pr35514-1.c: New file.
 * gcc.dg/pr35514-2.c: Likewise.
 * lib/target-supports.exp (check_effective_target_elf): New.

hjl/pr67850 2015-10-06 14:54:43 UTC
Merge ix86_maybe_switch_abi with ix86_set_current_function

Author: H.J. Lu
Author Date: 2015-10-06 12:50:37 UTC

Merge ix86_maybe_switch_abi with ix86_set_current_function

ix86_maybe_switch_abi is called to late during RTL expansion and we
use the stale information from compilation of the previous function.
aggregate_value_p uses call_used_regs. aggregate_value_p is used by
IPA and return value optimization, which are called before
ix86_maybe_switch_abi is called. This patch merges ix86_maybe_switch_abi
with ix86_set_current_function.

 PR target/67850
 * config/i386/i386.c (ix86_maybe_switch_abi): Merged with ...
 (ix86_set_current_function): This.
 (TARGET_EXPAND_TO_RTL_HOOK): Removed.

jason/tm 2015-09-30 03:20:59 UTC
Diagnose volatile accesses in transaction_safe function.

Author: Jason Merrill
Author Date: 2015-09-29 18:43:08 UTC

 Diagnose volatile accesses in transaction_safe function.

 * trans-mem.c (volatile_lvalue_p): Rename from volatile_var_p.
 (diagnose_tm_1_op): Also diagnose volatile accesses in
 transaction_safe function.

hjl/got/gcc-5-branch 2015-09-27 15:31:53 UTC
Load address of external function from its GOT slot

Author: H.J. Lu
Author Date: 2015-09-03 18:33:31 UTC

Load address of external function from its GOT slot

Load address of external function from its GOT slot for -fno-plt -fno-pic
if assembler and linker support R_386_GOT32X and R_X86_64_GOTPCRELX to
avoid the PLT slot. R_386_GOT32X and R_X86_64_GOTPCRELX instruct linker
to re-encode the instruction to convert loading function address from its
GOT slot to immediate if the function is defined locally.

gcc/

 PR target/67400
 * config/i386/i386.md (*cmp<mode>_1): Replace
 nonimmediate_operand with ix86_cmp_destination_operand.
 * config/i386/predicates.md (got_slot_operand): New.
 (ix86_cmp_destination_operand): Likewise.
 (x86_64_immediate_operand): Return false if got_slot_operand
 returns true.
 (x86_64_general_operand): Likewise.

gcc/testsuite/

 PR target/67400
 * gcc.target/i386/pr67400-7.c: New test.

aoliva/pr64164 2015-09-27 09:02:00 UTC
revert to assign_parms assignments using default defs

Author: aoliva
Author Date: 2015-09-27 09:02:00 UTC

revert to assign_parms assignments using default defs

Revert the fragile and complicated changes to assign_parms designed to
enable it to use RTL assigments chosen by cfgexpand, and instead have
cfgexpand use the RTL assignments by assign_parms, keying them off of
the default defs that are now necessarily introduced for each parm and
result. The possible lack of a default def was already a problem, and
the fallbacks in place were not enough, as shown by PR67312. We now
have checking asserts in set_rtl that verify that we're assigning to
each var a piece of RTL that matches the expectations set forth by
use_register_for_decl.

for gcc/ChangeLog

 PR rtl-optimization/64164
 PR tree-optimization/67312
 PR middle-end/67340
 PR middle-end/67490
 PR bootstrap/67597
 * cfgexpand.c (parm_in_stack_slot_p): Remove.
 (ssa_default_def_partition): Remove.
 (get_rtl_for_parm_ssa_default_def): Remove.
 (set_rtl): Check that RTL assignments match expectations.
 Loop on SUBREGs, CONCATs and PARALLELs subexprs. Set only the
 default def location for params and results. Record SSA names
 or types in REG and MEM attrs, respectively.
 (set_parm_rtl): New.
 (expand_one_ssa_partition): Drop logic that assigned MEMs with
 unassigned addresses.
 (adjust_one_expanded_partition_var): Don't accept NULL RTL on
 deferred stack alloc vars.
 (expand_used_vars): Skip partitions holding parm default defs.
 Move adjust_one_expanded_partition_var loop...
 (pass_expand::execute): ... here. Drop redundant assert.
 Adjust comments before the final loop over all ssa names.
 Require assigned rtl of parms and results to match exactly.
 Reset its attributes to match them, not any other variables in
 the same partition.
 (expand_debug_expr): Use entry value for PARM's default defs
 only iff they have zero nondebug uses.
 * cfgexpand.h (parm_in_stack_slot_p): Remove.
 (get_rtl_for_parm_ssa_default_def): Remove.
 (set_parm_rtl): Declare.
 * doc/invoke.texi: Improve wording.
 * explow.c (promote_decl_mode): Fix promote_function_mode for
 result decls not by reference.
 (promote_ssa_mode): Disregard BLKmode from promote_decl, and
 bypass TYPE_MODE to get the actual vector mode.
 * function.c: Include tree-dfa.h. Revert 2015-08-14's and
 2015-08-19's changes as follows. Drop include of
 basic-block.h and df.h.
 (rtl_for_parm): Remove.
 (maybe_reset_rtl_for_parm): Remove.
 (parm_in_unassigned_mem_p): Remove.
 (use_register_for_decl): Add logic for RESULT_DECLs matching
 assign_parms' behavior.
 (split_complex_args): Revert.
 (assign_parms_augmented_arg_list): Revert. Add comment
 referencing the logic above.
 (assign_parm_adjust_stack_rtl): Revert.
 (assign_parm_setup_block): Revert. Use set_parm_rtl instead
 of SET_DECL_RTL. Set up a REG if the parm demands so.
 (assign_parm_setup_reg): Revert. Consolidated SET_DECL_RTL
 calls into a single set_parm_rtl. Set up a temporary RTL
 temporarily for expand_assignment.
 (assign_parm_setup_stack): Revert. Use set_parm_rtl.
 (assign_parms_unsplit_complex): Revert. Use set_parm_rtl.
 (assign_bounds): Revert.
 (assign_parms): Revert. Use set_parm_rtl.
 (allocate_struct_function): Relayout result and parms of
 non-abstruct functions.
 (expand_function_start): Revert. Use set_parm_rtl. If the
 result is not a hard reg, create a pseudo from the promoted
 mode of the default def. Promote static chain mode.
 * tree-outof-ssa.c (remove_ssa_form): Drop unused
 partition_has_default_def. Set up
 partitions_for_parm_default_defs.
 (finish_out_of_ssa): Remove partition_has_default_def.
 Release partitions_for_parm_default_defs.
 * tree-outof-ssa.h (struct ssaexpand): Remove
 partition_has_default_def. Add
 partitions_for_parm_default_defs.
 * tree-ssa-coalesce.c: Include tree-dfa.h, tm_p.h and
 stor-layout.h.
 (build_ssa_conflict_graph): Fix conflict-detection of default
 defs of even unused default defs of params and results.
 (for_all_parms): New.
 (create_default_def): New.
 (register_default_def): New.
 (coalesce_with_default): New.
 (create_outofssa_var_map): Create default defs for all parms
 and results, and register their partitions. Add GIMPLE_RETURN
 operands as coalesce candidates with results. Add default
 defs of each parm or result as coalesce candidates with its
 other defs. Mark each result def, and each default def of
 parms, as used_in_copy.
 (gimple_can_coalesce_p): Call it. Call use_register_for_decl
 with the ssa names, even anonymous ones. Drop
 parm_in_stack_slot_p calls. Require same signedness and
 alignment.
 (coalesce_ssa_name): Add coalesce candidates for all defs of
 each parm and result, even unused ones.
 (parm_default_def_partition_arg): New type.
 (set_parm_default_def_partition): New.
 (get_parm_default_def_partitions): New.
 * tree-ssa-coalesce.h (get_parm_default_def_partitions): New.
 * tree-ssa-live.c (partition_view_init): Regard unused defs of
 parms and results as used.
 (verify_live_on_entry): Don't error out just because they're
 not live.

for gcc/testsuite/ChangeLog

 PR rtl-optimization/64164
 PR tree-optimization/67312
 * gcc.dg/pr67312.c: New. From Zdenek Sojka.
 * gcc.target/i386/stackalign/return-4.c: Add -O.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228175 138bc75d-0d04-0410-961f-82ee72b054a4

jkoval/interrupt/master 2015-09-16 10:40:02 UTC
1. Remove red zone support

Author: Julia Koval
Author Date: 2015-09-14 08:18:34 UTC

1. Remove red zone support
2. Fix formatting errors

kyukhin/interrupt 2015-09-11 13:44:26 UTC
Check read() result in std::random_device.

Author: redi
Author Date: 2015-09-11 13:44:26 UTC

Check read() result in std::random_device.

 PR libstdc++/65142
 * src/c++11/random.cc (random_device::_M_getval()): Check read result.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227687 138bc75d-0d04-0410-961f-82ee72b054a4

hjl/pr67215/master 2015-08-31 16:53:06 UTC
Properly handle -fno-plt in ix86_expand_call

Author: H.J. Lu
Author Date: 2015-08-16 11:46:20 UTC

Properly handle -fno-plt in ix86_expand_call

It boils down to that -fno-plt should convert calling an external
function, foo, from

call foo@PLT

to

call *foo@GOT

to avoid one extra direct branch to PLT. The proper place for this is
in backend during expanding a function call. The backend already takes
care of many details for calling an external function, like setting up
a PIC register. Using the GOT slot instead of PLT slot is just one of
those details. For x86, it should be done in ix86_expand_call, not
prepare_call_address and hoping for the best, which doesn't always
happen. Also non-PIC case can only be handled in backend.

This patch reverts -fno-plt in prepare_call_address and handles it in
ix86_expand_call. Other backends may need similar changes to support
-fno-plt. Alternately, we can introduce a target hook to indicate
whether an external function should be called via register for -fno-plt
so that i386 backend can disable it in prepare_call_address.

sibcall_memory_operand is also updated to accept the GOT slot so that

call *foo@GOT(%reg)

can be generated by ix86_expand_call for 32-bit and 64-bit large model.

gcc/

 PR target/67215
 * calls.c (prepare_call_address): Don't handle -fno-plt here.
 * config/i386/i386.c (ix86_expand_call): Generate indirect call
 via GOT for -fno-plt. Support indirect call via GOT for x32.

gcc/testsuite/

 PR target/67215
 * gcc.target/i386/pr67215-1.c: New test.
 * gcc.target/i386/pr67215-2.c: Likewise.

hjl/pr67385 2015-08-28 15:47:35 UTC
Check $READELF_FOR_TARGET for readelf in configure

Author: H.J. Lu
Author Date: 2015-08-28 15:47:35 UTC

Check $READELF_FOR_TARGET for readelf in configure

Similar to as, ld, nm and objdump, gcc configure should check
$READELF_FOR_TARGET for readelf.

 PR bootstrap/67385
 * configure.ac (gcc_cv_readelf): Check $READELF_FOR_TARGET.
 * configure: Regenerated.

hjl/pr67215/gcc-5-branch 2015-08-18 11:49:35 UTC
Properly handle -fno-plt in ix86_expand_call

Author: H.J. Lu
Author Date: 2015-08-16 11:46:20 UTC

Properly handle -fno-plt in ix86_expand_call

prepare_call_address in calls.c is the wrong place to handle -fno-plt.
We shoudn't force function address into register and hope that load
function address via GOT and indirect call via register will be folded
into indirect call via GOT, which doesn't always happen. Also non-PIC
case can only be handled in backend. Instead, backend should expand
external function call into indirect call via GOT for -fno-plt.

This patch reverts -fno-plt in prepare_call_address and handles it in
ix86_expand_call. Other backends may need similar changes to support
-fno-plt. Alternately, we can introduce a target hook to indicate
whether an external function should be called via register for -fno-plt
so that i386 backend can disable it in prepare_call_address.

gcc/

 PR target/67215
 * calls.c (prepare_call_address): Don't handle -fno-plt here.
 * config/i386/i386.c (ix86_expand_call): Generate indirect call
 via GOT for -fno-plt. Support indirect call via GOT for x32.
 * config/i386/predicates.md (sibcall_memory_operand): Allow
 GOT memory operand.

gcc/testsuite/

 PR target/67215
 * gcc.target/i386/pr67215-1.c: New test.
 * gcc.target/i386/pr67215-2.c: Likewise.
 * gcc.target/i386/pr67215-3.c: Likewise.

hjl/pr67029/gcc-5-branch 2015-08-07 18:03:03 UTC
Add alternative_mask to ira_implicitly_set_insn_hard_regs

Author: hjl
Author Date: 2015-08-07 16:18:09 UTC

Add alternative_mask to ira_implicitly_set_insn_hard_regs

Since ira_implicitly_set_insn_hard_regs may be called outside of
ira-lives.c, it can't use the local variable, preferred_alternatives.
This patch adds an alternative_mask argument to
ira_implicitly_set_insn_hard_regs.

Backport from trunk:
gcc/

 PR rtl-optimization/67029
 * ira-color.c: Include "recog.h" before including "ira-int.h".
 * target-globals.c: Likewise.
 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
 adds an alternative_mask argument and use it instead of
 preferred_alternatives.
 * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
 * ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
 * sched-deps.c: Include "ira-int.h" after including "ira.h".
 (sched_analyze_insn): Update call to
 ira_implicitly_set_insn_hard_regs.
 * sel-sched.c: Include "ira-int.h" after including "ira.h".
 (implicit_clobber_conflict_p): Update call to
 ira_implicitly_set_insn_hard_regs.

gcc/testsuite/

 PR rtl-optimization/67029
 * gcc.dg/pr67029.c: New test.

gccrs 2015-07-17 09:07:59 UTC
Update README

Author: RedBrain
Author Date: 2015-07-17 09:07:59 UTC

Update README

linaro/gcc-4_8-branch 2015-07-08 13:36:36 UTC
Bump version number, post release.

Author: clyon
Author Date: 2015-07-08 13:36:36 UTC

Bump version number, post release.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_8-branch@225553 138bc75d-0d04-0410-961f-82ee72b054a4

hjl/iamcu/master 2015-06-30 16:46:45 UTC
IA MCU psABI support: testsuite

Author: hjl
Author Date: 2015-06-30 16:46:45 UTC

IA MCU psABI support: testsuite

We run Intel MCU psABI tests on Linux/ia32 with -miamcu. Since Intel
MCU psABI has a different calling convention, the only Linux libc function
allowed is "abort".

asm-support.S contains some support functions as well as a subset of
soft-fp, which is written in assembly with x87 instructions, to provide
intrinsics needed by -miamcu so that Intel MCU psABI tests can run on
Linux.

 * gcc.target/i386/iamcu/abi-iamcu.exp: New file.
 * gcc.target/i386/iamcu/args.h: Likewise.
 * gcc.target/i386/iamcu/asm-support.S: Likewise.
 * gcc.target/i386/iamcu/defines.h: Likewise.
 * gcc.target/i386/iamcu/macros.h: Likewise.
 * gcc.target/i386/iamcu/test_3_element_struct_and_unions.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_64bit_returning.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_alignment.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_array_size_and_align.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_returning.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_sizes.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_struct_size_and_align.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_union_size_and_align.c: Likewise.
 * gcc.target/i386/iamcu/test_bitfields.c: Likewise.
 * gcc.target/i386/iamcu/test_complex_returning.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_floats.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_integers.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_structs.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_structs_and_unions.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_unions.c: Likewise.
 * gcc.target/i386/iamcu/test_struct_returning.c: Likewise.
 * gcc.target/i386/iamcu/test_varargs.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225199 138bc75d-0d04-0410-961f-82ee72b054a4

gcc-4_8-branch 2015-06-23 09:16:14 UTC
PR 65711

Author: ludo
Author Date: 2015-06-23 09:16:14 UTC

 PR 65711
 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
 '-dynamic-linker' within %{!shared: ...}.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@224828 138bc75d-0d04-0410-961f-82ee72b054a4

aldyh/debug-early 2015-06-05 18:29:00 UTC
Squelch used but never defined warnings.

Author: Aldy Hernandez
Author Date: 2015-06-05 18:29:00 UTC

Squelch used but never defined warnings.

hjl/iamcu/gcc-4_9-branch 2015-05-27 19:52:42 UTC
Add Intel MCU psABI testsuite

Author: H.J. Lu
Author Date: 2015-05-19 18:26:10 UTC

Add Intel MCU psABI testsuite

We run Intel MCU psABI tests on Linux/ia32 with -miamcu. Since Intel
MCU psABI has a different calling convention, the only Linux libc function
allowed is "abort".

asm-support.S contains some support functions as well as a subset of
soft-fp, which is written in assembly with x87 instructions, to provide
intrinsics needed by -miamcu so that Intel MCU psABI tests can run on
Linux.

 * gcc.target/i386/iamcu/abi-iamcu.exp: New file.
 * gcc.target/i386/iamcu/args.h: Likewise.
 * gcc.target/i386/iamcu/asm-support.S: Likewise.
 * gcc.target/i386/iamcu/defines.h: Likewise.
 * gcc.target/i386/iamcu/macros.h: Likewise.
 * gcc.target/i386/iamcu/test_3_element_struct_and_unions.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_64bit_returning.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_alignment.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_array_size_and_align.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_returning.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_sizes.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_struct_size_and_align.c: Likewise.
 * gcc.target/i386/iamcu/test_basic_union_size_and_align.c: Likewise.
 * gcc.target/i386/iamcu/test_bitfields.c: Likewise.
 * gcc.target/i386/iamcu/test_complex_returning.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_floats.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_integers.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_structs.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_structs_and_unions.c: Likewise.
 * gcc.target/i386/iamcu/test_passing_unions.c: Likewise.
 * gcc.target/i386/iamcu/test_struct_returning.c: Likewise.
 * gcc.target/i386/iamcu/test_varargs.c: Likewise.

redi/filesystem-ts 2015-04-30 17:06:54 UTC
Use __cxx11 namespace.

Author: Jonathan Wakely
Author Date: 2015-04-30 17:03:01 UTC

Use __cxx11 namespace.

hjl/pr65846/gcc-5-branch 2015-04-29 18:58:32 UTC
Enable -fsymbolic in LTO if -Bsymbolic is used

Author: H.J. Lu
Author Date: 2015-04-29 18:52:16 UTC

Enable -fsymbolic in LTO if -Bsymbolic is used

When -Bsymbolic is passed to linker, references to global symbols
defined in the shared library are resolved locally. We should pass
-fsymbolic to GCC in this case.

 * collect2.c (main): Add -fsymbolic to COLLECT_GCC_OPTIONS if
 -Bsymbolic is used.
 * doc/invoke.texi: Updated.

hjl/pr61954/master 2015-04-17 14:39:54 UTC
Use s-crtl-ptr.ads for x32

Author: H.J. Lu
Author Date: 2015-04-01 23:43:50 UTC

Use s-crtl-ptr.ads for x32

Add s-crtl-ptr.ads and other files to convert integers to pointers for x32.

tbsaunde/bitvec 2015-04-09 23:57:14 UTC
add bitvec and use some

Author: Trevor Saunders
Author Date: 2015-02-08 14:22:28 UTC

add bitvec and use some

gcc/

2015-04-08 Trevor Saunders <tbsaunde@tbsaunde.org>

 * bitvec.h: New file.
 * bitvec.c: New file.
 * Makefile.in (OBJS-libcommon): Add bitvec.o.
 * alias.c, cfganal.c, cfgbuild.c, cfgbuild.h, cfgexpand.c, cfghooks.c,
 cfghooks.h, cfgloop.c, cfgloopmanip.c, cfgloopmanip.h, cfgrtl.c,
 config/spu/spu.c, cp/vtable-class-hierarchy.c, cse.c, dce.c,
 df-core.c, dse.c, except.c, except.h, function.c, graph.c,
 graphite-sese-to-poly.c, ira-lives.c, loop-unroll.c, lower-subreg.c,
 lra-lives.c, lra.c, modulo-sched.c, recog.c, regcprop.c, reload1.c,
 sched-int.h, sched-rgn.c, sel-sched-ir.c, sel-sched.c,
 store-motion.c, tree-eh.c, tree-into-ssa.c, tree-outof-ssa.c,
 tree-ssa-dce.c, tree-ssa-live.c, tree-ssa-loop-im.c,
 tree-ssa-loop-ivcanon.c, tree-ssa-loop-manip.c,
 tree-ssa-loop-manip.h, tree-ssa-pre.c, tree-ssa-propagate.c,
 tree-ssa-reassoc.c, tree-ssa-structalias.c, tree-stdarg.c,
 tree-vect-slp.c, tree-vrp.c, var-tracking.c: Use bitvec instead
 of sbitmap.

linaro-dev/type-promotion-pass 2015-03-15 22:18:37 UTC
2015-03-16 Kugan Vivekanandarajah <kuganv@linaro.org>

Author: Kugan
Author Date: 2015-03-15 22:18:37 UTC

2015-03-16 Kugan Vivekanandarajah <kuganv@linaro.org>

 * Makefile.in: Add gimple-ssa-type-promote.o.
 * cfgexpand.c (expand_debug_expr): Handle SEXT_EXPR.
 * common.opt: New option -ftree-type-promote.
 * expr.c (expand_expr_real_2): Handle SEXT_EXPR.
 * fold-const.c (int_const_binop_1):
 * gimple-ssa-type-promote.c: New file.
 * passes.def: Define new pass_type_promote.
 * timevar.def: Define new TV_TREE_TYPE_PROMOTE.
 * tree-cfg.c (verify_gimple_assign_binary): Handle SEXT_EXPR.
 * tree-inline.c (estimate_operator_cost):
 * tree-pass.h (make_pass_type_promote): New.
 * tree-pretty-print.c (dump_generic_node): Handle SEXT_EXPR.
 (op_symbol_code): Likewise.
 * tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
 * tree.def: Define new SEXT_EXPR.

jason/tag-inherit 2015-03-13 18:05:23 UTC
* class.c (check_tag): Handle variables and functions.

Author: Jason Merrill
Author Date: 2015-03-10 19:34:49 UTC

 * class.c (check_tag): Handle variables and functions.
 (mark_or_check_attr_tags): Split out from find_abi_tags_r.
 (mark_or_check_tags): Likewise.
 (mark_abi_tags): Use it. Rename from mark_type_abi_tags.
 (check_abi_tags): Add single argument overload for decls.
 Handle inheriting tags for decls.
 * mangle.c (write_mangled_name): Call it.
 (mangle_return_type_p): Split out from write_encoding.
 (unmangled_name_p): Split out from write_mangled_name.
 (write_mangled_name): Ignore abi_tag on namespace.
 * cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG.
 * parser.c (cp_parser_namespace_definition): Set it.
 * name-lookup.c (handle_namespace_attrs): Use arguments. Warn
 about abi_tag attribute on non-inline namespace.
 * tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute.
 (handle_abi_tag_attribute): Allow tags on variables.

hjl/pr53623/gcc-4_8-branch 2015-02-16 14:40:31 UTC
Backported from mainline

Author: jakub
Author Date: 2015-01-14 20:24:05 UTC

 Backported from mainline
 2015-01-13 Jakub Jelinek <jakub@redhat.com>

 PR rtl-optimization/64286
 * ree.c (combine_reaching_defs): Move part of comment earlier,
 remove !SCALAR_INT_MODE_P check.
 (add_removable_extension): Don't add vector mode
 extensions if all uses of the source register aren't the same
 vector extensions.

 * gcc.target/i386/avx2-pr64286.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@219614 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
 gcc/ChangeLog
 gcc/ree.c
 gcc/testsuite/ChangeLog

hjl/pr59971 2015-02-13 16:28:26 UTC
Correct the order of multilib_flags

Author: H.J. Lu
Author Date: 2015-02-13 16:28:26 UTC

Correct the order of multilib_flags

Some testcases need explicit GCC options to properly run, like
gcc.target/i386/sse2-init-v2di-2.c has

/* { dg-options "-O2 -msse4 -march=core2 -dp" } */

-march=core2 is specified explicitly. But with multlib, like

make check-gcc RUNTESTFLAGS="--target_board='unix{-march=k8}'

-march=k8 is appended to the command line options, which overrides
the the command line options specified by dg-options. multlib flags
should be placed at the beginning of the command line options, not at
the end. This patch adds gcc_default_target_compile, which is
almost identical to default_target_compile in dejagnu, except that
it has

    if {[board_info $dest exists multilib_flags]} {
        set add_flags "[board_info $dest multilib_flags] $add_flags"
    }

instead of

    if {[board_info $dest exists multilib_flags]} {
        append add_flags " [board_info $dest multilib_flags]"
    }

It replaces default_target_compile with gcc_default_target_compile.
Tested on Linux/x86-64 with RUNTESTFLAGS="--target_board='unix{-m32,}'".

 PR testsuite/59971
 * lib/gcc-defs.exp (gcc_default_target_compile): New. Replace
 default_target_compile with gcc_default_target_compile.

hjl/pr32219/master 2015-02-12 16:01:42 UTC
Handle symbol visibility/locality for PIE/PIC

Author: H.J. Lu
Author Date: 2015-02-05 22:28:58 UTC

Handle symbol visibility/locality for PIE/PIC

If a hidden weak symbol isn't defined in the TU, we can't assume it will
be defined in another TU at link time. It makes a difference in code
generation when compiling for PIC. If we assume that a hidden weak
undefined symbol is local, the address checking may be optimized out and
leads to the wrong code. This means that a symbol with user specified
visibility is local only if it is locally resolved or defined, not weak
or not compiling for PIC. When symbol visibility is specified in the
source, we should always output symbol visibility even if symbol isn't
local to the TU.

If a global data symbol is defined in the TU, it is always local to the
executable, regardless if it is a common symbol or not. If we aren't
compiling for shared library, locally defined global data symbol binds
locally.

Since some targets call default_binds_local_p_1 directly and depend on
the old behavior of default_binds_local_p_1. This patch copies
default_binds_local_p_1 to default_binds_local_p_2 and changes the
behavior of default_binds_local_p by calling default_binds_local_p_2
instead of default_binds_local_p_1.

gcc/

 PR rtl-optimization/32219
 * cgraphunit.c (varpool_node::finalize_decl): Set definition
 first before calling notice_global_symbol so that it is
 available to notice_global_symbol.
 * varasm.c (default_binds_local_p_2): Copied from
 default_binds_local_p_1. Resolve defined data symbol locally if
 not building shared library. Resolve symbol with user specified
 visibility locally only if it is locally resolved or defined, not
 weak or not compiling for PIC.
 (default_binds_local_p): Replace default_binds_local_p_1 with
 default_binds_local_p_2.
 (default_elf_asm_output_external): Always output visibility
 specified in the source.

gcc/testsuite/

 PR rtl-optimization/32219
 * gcc.dg/visibility-22.c: New test.
 * gcc.dg/visibility-23.c: Likewise.
 * gcc.target/i386/pr32219-1.c: Likewise.
 * gcc.target/i386/pr32219-2.c: Likewise.
 * gcc.target/i386/pr32219-3.c: Likewise.
 * gcc.target/i386/pr32219-4.c: Likewise.
 * gcc.target/i386/pr32219-5.c: Likewise.
 * gcc.target/i386/pr32219-6.c: Likewise.
 * gcc.target/i386/pr32219-7.c: Likewise.
 * gcc.target/i386/pr32219-8.c: Likewise.
 * gcc.target/i386/pr64317.c: Expect GOTOFF relocation instead
 of GOT relocation.

asutton/fold 2015-01-23 19:49:44 UTC
Implement fold expressions.

Author: Andrew Sutton
Author Date: 2015-01-23 19:49:44 UTC

Implement fold expressions.

hjl/skip-rax/gcc-4_8-branch 2014-12-18 13:21:53 UTC
X86-64: Add -mskip-rax-setup

Author: H.J. Lu
Author Date: 2014-12-17 23:16:17 UTC

X86-64: Add -mskip-rax-setup

The Linux kernel never passes floating point arguments around, vararg
functions or not. Hence no vector registers are ever used when calling a
vararg function. But gcc still dutifully emits an "xor %eax,%eax" before
each and every call of a vararg function. Since no callee use that for
anything, these instructions are redundant.

This patch adds the -mskip-rax-setup option to skip setting up RAX
register when SSE is disabled and there are no variable arguments passed
in vector registers. Since RAX register is used to avoid unnecessarily
saving vector registers on stack when passing variable arguments, the
impacts of this option are callees may waste some stack space, misbehave
or jump to a random location. GCC 4.4 or newer don't those issues,
regardless the RAX register value since they don't check the RAX register
value when SSE is disabled.

gcc/

 * config/i386/i386.c (ix86_expand_call): Skip setting up RAX
 register for -mskip-rax-setup when there are no parameters
 passed in vector registers.
 * config/i386/i386.opt (mskip-rax-setup): New option.
 * doc/invoke.texi: Document -mskip-rax-setup.

gcc/testsuite/

 * gcc.target/i386/amd64-abi-7.c: New tests.
 * gcc.target/i386/amd64-abi-8.c: Likwise.
 * gcc.target/i386/amd64-abi-9.c: Likwise.

hjl/skip-rax/gcc-4_9-branch 2014-12-18 13:18:37 UTC
X86-64: Add -mskip-rax-setup

Author: H.J. Lu
Author Date: 2014-12-17 23:16:17 UTC

X86-64: Add -mskip-rax-setup

The Linux kernel never passes floating point arguments around, vararg
functions or not. Hence no vector registers are ever used when calling a
vararg function. But gcc still dutifully emits an "xor %eax,%eax" before
each and every call of a vararg function. Since no callee use that for
anything, these instructions are redundant.

This patch adds the -mskip-rax-setup option to skip setting up RAX
register when SSE is disabled and there are no variable arguments passed
in vector registers. Since RAX register is used to avoid unnecessarily
saving vector registers on stack when passing variable arguments, the
impacts of this option are callees may waste some stack space, misbehave
or jump to a random location. GCC 4.4 or newer don't those issues,
regardless the RAX register value since they don't check the RAX register
value when SSE is disabled.

gcc/

 * config/i386/i386.c (ix86_expand_call): Skip setting up RAX
 register for -mskip-rax-setup when there are no parameters
 passed in vector registers.
 * config/i386/i386.opt (mskip-rax-setup): New option.
 * doc/invoke.texi: Document -mskip-rax-setup.

gcc/testsuite/

 * gcc.target/i386/amd64-abi-7.c: New tests.
 * gcc.target/i386/amd64-abi-8.c: Likwise.
 * gcc.target/i386/amd64-abi-9.c: Likwise.

hjl/x32/longmode 2014-11-20 03:42:05 UTC
Default x32 to long address mode

Author: H.J. Lu
Author Date: 2012-10-26 23:54:56 UTC

Default x32 to long address mode

gimple-classes-v2-option-3 2014-11-19 16:20:23 UTC
Remove stray newline

Author: David Malcolm
Author Date: 2014-11-19 16:20:23 UTC

Remove stray newline

Remove a stray newline seen when diffing against trunk

gcc/ChangeLog.gimple-classes:
 * gimple.h (struct gimple_statement_structure): Remove stray
 newline.

apinski/thunderx-cost 2014-11-15 07:57:57 UTC
Really fix merge.

Author: Andrew Pinski
Author Date: 2014-11-15 07:57:57 UTC

Really fix merge.

kyukhin/gomp4-offload 2014-11-12 12:39:30 UTC
[PATCH 4/4] OpenMP 4.0 offloading to Intel MIC: non-fallback testing

Author: Ilya Verbin
Author Date: 2014-10-14 13:18:04 UTC

[PATCH 4/4] OpenMP 4.0 offloading to Intel MIC: non-fallback testing

2014-10-30 Andrey Turetskiy <andrey.turetskiy@intel.com>
     Ilya Verbin <ilya.verbin@intel.com>

libgomp/
 * Makefile.in: Regenerate.
 * configure: Regenerate.
 * configure.ac: Set up offload_additional_options,
 offload_additional_lib_paths and offload_targets.
 * testsuite/Makefile.am: Overrule site.exp.
 * testsuite/Makefile.in: Regenerate.
 * testsuite/lib/libgomp.exp (libgomp_init): Append
 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
 build directory to LD_LIBRARY_PATH for intelmic offload targets.

dmalcolm/jit 2014-11-11 02:14:34 UTC
Regenerate libgccjit.texi

Author: David Malcolm
Author Date: 2014-11-11 02:14:34 UTC

Regenerate libgccjit.texi

gcc/jit/ChangeLog.jit:
 * docs/_build/texinfo/libgccjit.texi: Regenerate.

dmalcolm/gimple-classes 2014-11-07 19:28:45 UTC
tree-ssa-forwprop.c: Use gassign

Author: David Malcolm
Author Date: 2014-11-07 19:28:11 UTC

tree-ssa-forwprop.c: Use gassign

gcc/ChangeLog.gimple-classes:
 * tree-ssa-forwprop.c (get_prop_dest_stmt): Capture result of
 gimple_assign_ssa_name_copy_p as new local "use_assign", using in
 place of "use_stmt" for typesafety.
 (remove_prop_source_from_use): Add checked cast.
 (rhs_to_tree): Strengthen param "stmt" from gimple to gassign *.
 (forward_propagate_into_comparison): Strengthen local "stmt" from
 gimple to gassign *.
 (forward_propagate_into_cond): Likewise.
 (combine_cond_exprs): Likewise. Replace local bool "changed" with
 gimple "changed_stmt", adding assignments to "changed_stmt" in
 place of those to "changed". Replace is_gimple_assign with a
 dyn_cast, using it to strenghten local "def_stmt" from gimple to
 gassign *.
 (tidy_after_forward_propagate_addr): Add checked cast.
 (forward_propagate_addr_expr_1): Strengthen local "use_stmt" from
 gimple to gassign *.
 (forward_propagate_addr_expr): Introduce local "use_assign", using
 it in place of "use_stmt" for typesafety.
 (forward_propagate_comparison): Strengthen local "stmt" from
 gimple to gassign *. Replace is_gimple_assign with a dyn_cast,
 using it to introduce local "use_assign", using it in place of
 "use_stmt" for typesafety.
 (simplify_conversion_from_bitmask): Strengthen local "stmt" from
 gimple to gassign *. Replace is_gimple_assign with a dyn_cast,
 using it to introduce local "rhs_def_assign", using it in place of
 "rhs_def_stmt" for typesafety.
 (simplify_not_neg_expr): Strengthen local "stmt" from gimple to
 gassign *. Replace is_gimple_assign with a dyn_cast,
 using it to strengthen local "rhs_def_stmt" from gimple to
 gassign *.
 (simplify_gimple_switch): Add checked cast.
 (constant_pointer_difference): Replace is_gimple_assign with a
 dyn_cast, using it to strengthen local "stmt" from gimple to
 gassign *.
 (simplify_builtin_call): Capture result of gimple_assign_single_p
 as new local "assign_stmt1", using it in place of "stmt1" for
 typesafety.
 (truth_valued_ssa_name): Add checked cast.
 (lookup_logical_inverted_value): Replace is_gimple_assign with a
 dyn_cast, using it to strengthen local "def" from gimple to
 gassign *.
 (simplify_bitwise_binary_boolean): Likewise for local
 "op0_def_stmt". Strengthen local "stmt" from gimple to gassign *.
 (simplify_bitwise_binary): Strengthen local "stmt" from gimple to
 gassign *.
 (simplify_rotate): Likewise.
 (associate_pointerplus_align): Likewise, also for local "def_stmt"
 via various is_gimple_assign becoming dyn_casts.
 (associate_pointerplus_diff): Likewise, also for local "minus".
 (combine_conversions): Likewise.
 (simplify_vce): Likewise.
 (simplify_bitfield_ref): Likewise.
 (simplify_permutation): Likewise.
 (simplify_vector_constructor): Likewise.
 (simplify_mult): Likewise.
 (fold_all_stmts): Capture result of gimple_assign_single_p as new
 local "assign_stmt", using it in place of "stmt" for typesafety.
 (pass_forwprop::execute): Within case GIMPLE_ASSIGN add new
 local "assign_stmt" and use it in place of "stmt" for typesafety.

gcc-4_7-branch 2014-06-12 12:08:36 UTC
Mark as release

Author: rguenth
Author Date: 2014-06-12 12:08:36 UTC

Mark as release

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@211571 138bc75d-0d04-0410-961f-82ee72b054a4

linaro-dev/sched-model-prefetch 2014-05-19 01:35:23 UTC
Use rank_for_schedule in model_order_p

Author: Maxim Kuvyrkov
Author Date: 2014-04-09 22:56:48 UTC

Use rank_for_schedule in model_order_p

ienkovic/mpx 2014-04-15 13:26:19 UTC
Merge branch 'ienkovic/mpx/to-process' into ienkovic/mpx/master

Author: Ilya Enkovich
Author Date: 2014-04-15 13:26:19 UTC

Merge branch 'ienkovic/mpx/to-process' into ienkovic/mpx/master

gimple-front-end 2014-04-03 01:36:17 UTC
merge trunk at r209020 into gimple-front-end

Author: tbsaunde
Author Date: 2014-04-03 01:36:17 UTC

merge trunk at r209020 into gimple-front-end

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gimple-front-end@209046 138bc75d-0d04-0410-961f-82ee72b054a4

tbsaunde/bitmap 2014-02-19 06:38:38 UTC
kill bitmap_and_into

Author: Trevor Saunders
Author Date: 2014-02-19 06:38:38 UTC

kill bitmap_and_into

hjl/subreg-class 2013-12-14 18:59:26 UTC
Add subreg_byte to REG_CANNOT_CHANGE_MODE_P

Author: H.J. Lu
Author Date: 2013-12-09 18:46:24 UTC

Add subreg_byte to REG_CANNOT_CHANGE_MODE_P

Add MAYBE_VECTOR_CLASS_P for a class of registers which may be vector
registers. Add CANNOT_CHANGE_MODE_CLASS_P and replace usage of
CANNOT_CHANGE_MODE_CLASS with CANNOT_CHANGE_MODE_CLASS_P, which takes
subreg_byte and always returns true for vector mode and non-zero
subreg_byte. Use MAX_BITSIZE_MODE_ANY_MODE / BITS_PER_UNIT indicate
unknown subreg_byte.

hjl/subreg 2013-12-14 17:23:45 UTC
Add ChangeLog for CANNOT_CHANGE_MODE_CLASS change

Author: H.J. Lu
Author Date: 2013-12-11 12:56:25 UTC

Add ChangeLog for CANNOT_CHANGE_MODE_CLASS change

hjl/libsanitizer 2013-12-05 23:45:52 UTC
Use gas version check in gcc-setup.m4

Author: H.J. Lu
Author Date: 2013-12-05 20:36:40 UTC

Use gas version check in gcc-setup.m4

hjl/x32/gcc-4_8-branch 2013-12-02 16:24:45 UTC
Backport revision 205532 from trunk

Author: ebotcazou
Author Date: 2013-11-29 16:19:36 UTC

Backport revision 205532 from trunk

 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

dodji/abi-instr 2013-11-19 10:36:25 UTC
Support for serialization of member types

Author: Dodji Seketeli
Author Date: 2013-11-19 10:36:25 UTC

Support for serialization of member types

cp/ChangeLog:

 * abi-instr.cc (gen_scope_of): Member types are linked to their
 scope via their DECL_CONTEXT (TYPE_NAME()), not their
 TYPE_CONTEXT. <grin/>. Also, do not add empty elements to the
 scope hash table.
 (gen_scope_decl): Do not use a scope that is not yet fully built.
 We should not be using gen_scope_decl while building type or decl
 members. Rather, we should just be sticking the members into the
 non-fully-built type/decl that we have at hand.
 (gen_class_type_in_scope): Handle member types. Also, for member
 functions, use the new (more generic) version of
 abigail::add_decl_to_scope.

gcc/testsuite/ChangeLog:

 * g++.dg/abi-dump/bases-0.C.bi: Update this for member type(def).
 * g++.dg/abi-dump/simple-class-0.C.bi: Likewise.

tbsaunde/bitmap2 2013-11-19 03:36:34 UTC
move some bitmap functions to methods

Author: Trevor Saunders
Author Date: 2013-11-19 03:36:34 UTC

move some bitmap functions to methods

hjl/x32/ada 2013-11-13 21:10:58 UTC
XAIL addr1.ads and atomic1.ads on x32

Author: H.J. Lu
Author Date: 2013-11-13 21:09:56 UTC

XAIL addr1.ads and atomic1.ads on x32

cilkplus 2013-10-21 15:31:38 UTC
Fixed a bug in Cilk for grainsize.

Author: bviyer
Author Date: 2013-10-21 15:31:38 UTC

Fixed a bug in Cilk for grainsize.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/cilkplus@203896 138bc75d-0d04-0410-961f-82ee72b054a4

gccpy 2013-10-19 12:01:47 UTC
GCCPY: * more readme info

Author: Philip Herron
Author Date: 2013-10-19 12:01:47 UTC

GCCPY: * more readme info

cilkplus-4_8-branch 2013-09-25 21:34:20 UTC
+2013-09-25 Balaji V. Iyer <balaji.v.iyer@intel.com>

Author: bviyer
Author Date: 2013-09-25 21:34:20 UTC

+2013-09-25 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ * elem-function-common.c (rename_elem_fn): Used the mangled name instead
+ of the original function name to append the elemental function mangling
+ prefix.
+

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/cilkplus-4_8-branch@202926 138bc75d-0d04-0410-961f-82ee72b054a4

ubsan 2013-08-30 08:24:49 UTC
Merge branch 'master' of git+ssh://gcc.gnu.org/git/gcc into ubsan

Author: Marek Polacek
Author Date: 2013-08-30 08:24:49 UTC

Merge branch 'master' of git+ssh://gcc.gnu.org/git/gcc into ubsan

vtv 2013-08-01 02:03:59 UTC
2013-07-31 Caroline Tice <cmtice@google.com>

Author: Benjamin Kosnik
Author Date: 2013-08-01 02:03:59 UTC

2013-07-31 Caroline Tice <cmtice@google.com>
            Benjamin Kosnik <bkoz@redhat.com>

 * config/abi/pre/gnu.ver: Export weak symbols.

tromey/auto-dependency-checking 2013-07-25 17:33:57 UTC
fix thinko in the DRIVER_DEFINES / SHLIB patch

Author: Tromey-redhat
Author Date: 2013-07-25 17:33:57 UTC

fix thinko in the DRIVER_DEFINES / SHLIB patch

bviyer/cilkplus-multilib-test 2013-07-23 18:17:46 UTC
Committed all H. J. Changes and Patch.

Author: Balaji V. Iyer
Author Date: 2013-07-23 18:17:46 UTC

Committed all H. J. Changes and Patch.

pinskia/newtreefold 2013-07-22 01:42:04 UTC
2013-07-21 Andrew Pinski <apinski@cavium.com>

Author: Andrew Pinski
Author Date: 2013-07-22 01:42:04 UTC

2013-07-21 Andrew Pinski <apinski@cavium.com>

 * gimple-ssa-combine.c: New file.
 * gimple-ssa-combine.h: New file.
 * Makefile.in (OBJS): Add gimple-ssa-combine.o.
 (gimple-ssa-combine.o): New target.
 * tree-ssa-forwprop.c: Include gimple-ssa-combine.h.
 (delete_dead_code_uptil): New function.
 (ssa_forward_propagate_and_combine): Create
 gimple_combine object and call combine on it.
 Assert if the combine does not find an optimization
 that forwprop's combiner does.

pinskia/bytewiseunop 2013-07-19 20:59:59 UTC
Merge remote branch 'origin/master' into pinskia/bytewiseunop

Author: Andrew Pinski
Author Date: 2013-07-19 20:59:59 UTC

Merge remote branch 'origin/master' into pinskia/bytewiseunop

Conflicts:
 gcc/BASE-VER
 gcc/simplify-rtx.c

aldyh/cilk-simd-merge 2013-07-14 23:25:52 UTC
Cilk Plus #pragma simd iteration with Jason.

Author: Aldy Hernandez
Author Date: 2013-07-14 23:25:52 UTC

Cilk Plus #pragma simd iteration with Jason.

ctice/vtv 2013-07-09 18:57:16 UTC
Finish making all changes to fix vtable verification feature, add

Author: Caroline Tice
Author Date: 2013-07-09 18:57:16 UTC

Finish making all changes to fix vtable verification feature, add
debugging flags, rename functions, etc. appropriately, and make testsuite
run. Only change not here is creating libvtv.so.

aldyh/cilk-in-gomp 2013-06-28 17:23:50 UTC
Fix merge fallout.

Author: Aldy Hernandez
Author Date: 2013-06-28 17:23:50 UTC

Fix merge fallout.

Use flag_enable_cilkplus instead of flag_enable_cilk.

tschwinge/t/hurd/go 2013-06-26 13:24:32 UTC
Revert "gcc/testsuite/"

Author: Thomas Schwinge
Author Date: 2013-06-26 12:26:14 UTC

Revert "gcc/testsuite/"

This reverts commit 2eb51eab5f58fbd110aae626d3239789440ddb94.

The test runs fine if an alternate signal stack is not set (which is known to
be broken).

asutton/c++-concepts 2013-06-21 14:57:37 UTC
2013-06-20 Andrew Sutton <andrew.n.sutton@gmail.com>

Author: Andrew Sutton
Author Date: 2013-06-21 14:57:37 UTC

2013-06-20 Andrew Sutton <andrew.n.sutton@gmail.com>
 * gcc/cp/error.c (subst_to_string): Allow this to be called explicitly
 passing template parameters in the TREE_TYPE and with a null TREE_PURPOSE.
 * constraint.cc (check_requirements): New overload taking template
 arguments.
 (check_constraints.cc): Move instantiation and checking into the
 new check_requirements overload.
 (diagnose_requirements): New family of functions for diagnosing constraint
 failures.

cilkplus-merge 2013-06-03 15:02:16 UTC
Remove local cilkplus changelog entries that have been merged into trunk.

Author: Aldy Hernandez
Author Date: 2013-06-03 15:02:16 UTC

Remove local cilkplus changelog entries that have been merged into trunk.

bkoz/gsoc-regex 2013-05-29 22:22:59 UTC
Merge branch 'master' into gsoc-2012-regex

Author: Benjamin Kosnik
Author Date: 2013-05-29 22:22:59 UTC

Merge branch 'master' into gsoc-2012-regex

aldyh/cilkplus-simd-rewrite 2013-04-19 14:34:06 UTC
New tests for vectorlength and linear clauses, and corresponding code

Author: Aldy Hernandez
Author Date: 2013-04-19 14:34:06 UTC

New tests for vectorlength and linear clauses, and corresponding code
to match.

gcc-4_6-branch 2013-04-12 09:52:28 UTC
Mark as release

Author: gccadmin
Author Date: 2013-04-12 09:52:28 UTC

Mark as release

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@197894 138bc75d-0d04-0410-961f-82ee72b054a4

cxx-conversion 2013-03-26 10:33:36 UTC
Merged revisions 196607-196608,196611-196614,196625,196629-196634,196636,1966...

Author: dnovillo
Author Date: 2013-03-26 10:33:36 UTC

Merged revisions 196607-196608,196611-196614,196625,196629-196634,196636,196639,196645-196647,196649-196650,196654-196659,196666,196669,196671-196675,196682-196683,196694-196695,196697-196698,196700-196701,196704-196706,196709,196721-196748,196750-196751,196753,196755-196758,196762,196764-196765,196767-196771,196773-196779,196781-196784,196788-196792,196795-196797,196799-196800,196804-196807,196810-196814,196821,196823-196825,196828-196829,196831-196832,196834,196841-196842,196847-196853,196855-196856,196858,196860-196861,196864-196866,196868,196870-196872,196874,196876,196878-196879,196882,196884-196890,196896-196897,196899-196902,196954,196956-196961,196964-196965,196970,196977-196978,196981-196983,196989,197002-197005,197007,197011-197012,197016-197019,197021,197023-197025,197029-197034,197036-197042 via svnmerge from
svn+ssh://gcc.gnu.org/svn/gcc/trunk

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/cxx-conversion@197098 138bc75d-0d04-0410-961f-82ee72b054a4

balaji/cilkplus-merge 2013-03-20 22:04:28 UTC
Fixed all the changes mentioned by Aldy.

Author: Balaji V. Iyer
Author Date: 2013-03-20 21:29:01 UTC

Fixed all the changes mentioned by Aldy.

aldyh/test1 2013-03-14 14:51:08 UTC
testing commit

Author: Aldy Hernandez
Author Date: 2013-03-14 14:51:08 UTC

testing commit

sterling/google-accel-tables-4_7 2013-02-26 18:39:38 UTC
hashes count and bucket count are 32 bits.

Author: Sterling Augustine
Author Date: 2013-02-26 18:39:38 UTC

hashes count and bucket count are 32 bits.

101200 of 246 results
This repository contains Public information 
Everyone can see this information.