gcc

~vcs-imports/gcc/+git/gcc:hjl/skip-rax/gcc-4_9-branch

Last commit made on 2014-12-18
Get this branch:
git clone -b hjl/skip-rax/gcc-4_9-branch https://git.launchpad.net/~vcs-imports/gcc/+git/gcc

Branch merges

Branch information

Name:
hjl/skip-rax/gcc-4_9-branch
Repository:
lp:~vcs-imports/gcc/+git/gcc

Recent commits

bb56f33... by "H.J. Lu" <email address hidden>

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.

df76dff... by gccadmin <gccadmin@138bc75d-0d04-0410-961f-82ee72b054a4>

Daily bump.

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

a47773e... by uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>

2014-12-17 Ulrich Weigand <email address hidden>

 Backport from mainline
 2014-12-03 Ulrich Weigand <email address hidden>

 PR rtl-optimization/64010
 * reload.c (push_reload): Before reusing a register contained
 in an operand as input reload register, ensure that it is not
 used in CALL_INSN_FUNCTION_USAGE.

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

18c92cb... by timshen <timshen@138bc75d-0d04-0410-961f-82ee72b054a4>

2014-12-17 Tim Shen <email address hidden>

 PR libstdc++/64302
 PR libstdc++/64303
 Backported form mainline
 2014-12-17 Tim Shen <email address hidden>

 * include/bits/regex.h (match_results::cbegin, match_results::cend,
 regex_token_iterator::regex_token_iterator,
 regex_token_iterator::_M_normalize_result): Fix match_results cbegin
 and cend and regex_token_iterator::_M_result invariant.
 * include/bits/regex.tcc: Fix regex_token_iterator::_M_result invariant.
 * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Testcase.

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

81a26f6... by gccadmin <gccadmin@138bc75d-0d04-0410-961f-82ee72b054a4>

Daily bump.

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

f65a8be... by ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>

Backport of https://gcc.gnu.org/ml/gcc-patches/2014-10/msg02980.html
from trunk.

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

73515b6... by ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>

Backport https://gcc.gnu.org/ml/gcc-patches/2014-10/msg02994.html to
gcc 4.9 branch.

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

ff3b066... by gccadmin <gccadmin@138bc75d-0d04-0410-961f-82ee72b054a4>

Daily bump.

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

dbdf181... by jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR middle-end/58624
 Backported from mainline
 2014-03-07 Jason Merrill <email address hidden>

 * g++.dg/plugin/plugin.exp (DEFAULT_CXXFLAGS): Remove -ansi.

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

84bb28b... by jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR sanitizer/64265
 * tsan.c (instrument_func_entry): Insert __tsan_func_entry
 call on edge from entry block to single succ instead
 of after labels of single succ of entry block.

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