Hi,
I noticed that libatomic implementation for builtin function parameter
smaller than word.
It would shift the parameter value to word and then store word.
However, the shift amount for big endian would be wrong.
This patch fix libatomic builtin function behavior for big endian toolchain.
Is it
On 16/10/14 21:43, Andrew Pinski wrote:
On Thu, Oct 16, 2014 at 1:38 PM, Sebastian Pop wrote:
Richard Biener wrote:
I have posted 5 patches as part of a larger series to merge
(parts) from the match-and-simplify branch. While I think
there was overall consensus that the idea behind the pro
> The patch was slightly updated to take care of missing UBSan work
> (SANITIZE_FLOAT_DIVIDE, SANITIZE_FLOAT_CAST, SANITIZE_BOUNDS).
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -868,6 +868,20 @@ finish_options (struct gcc_options *opts, struct
gcc_options *opts_set,
/* The -gsplit-dwarf option requir
On Wed, Oct 15, 2014 at 5:29 PM, Kyrill Tkachov wrote:
>
> On 15/10/14 14:00, Richard Biener wrote:
>>
>>
>> Any comments and reviews welcome (I don't think that
>> my maintainership covers enough to simply check this in
>> without approval).
>>
> Hi Richard,
>
> The match-and-simplify branch boot
On 10/17/2014 11:27 AM, Eric Botcazou wrote:
The patch was slightly updated to take care of missing UBSan work
(SANITIZE_FLOAT_DIVIDE, SANITIZE_FLOAT_CAST, SANITIZE_BOUNDS).
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -868,6 +868,20 @@ finish_options (struct gcc_options *opts, struct
gcc_options *opts
> Well, that's a backport of ancient patch from trunk so all credits go
> there. And flag_sanitize is indeed handled differently from other
> compiler flags.
Really curious to know why...
--
Eric Botcazou
On Thu, 16 Oct 2014, Sebastian Pop wrote:
> Richard Biener wrote:
> > To give you an example how it looks like, the following code is
> > generated for
> >
> > /* fold_negate_exprs convert - (~A) to A + 1. */
> > (simplify
> > (negate (bit_not @0))
> > (if (INTEGRAL_TYPE_P (type))
> > (plus
Hi all,
On 09/29/2014 09:21 PM, Yury Gribov wrote:
Kasan developers has asked for an option to override offset of Asan
shadow memory region. This should simplify experimenting with memory
layouts on 64-bit architectures.
New patch which checks that -fasan-shadow-offset is only enabled for
-fsa
On Thu, 16 Oct 2014, Sebastian Pop wrote:
> Richard Biener wrote:
> >
> > I have posted 5 patches as part of a larger series to merge
> > (parts) from the match-and-simplify branch. While I think
> > there was overall consensus that the idea behind the project
> > is sound there are technical qu
On Thu, 16 Oct 2014, Jeff Law wrote:
> On 10/16/14 05:06, Richard Biener wrote:
> >
> > This patch (also applicable to trunk) makes us canoncialize operand
> > order for comparisons at the same time we canonicalize other
> > operand order, in particular before dispatching to generic_simplify.
> >
On Fri, 17 Oct 2014, Jakub Jelinek wrote:
> Hi!
>
> This patch fixes PR63302 by using proper predicate to test if
> an INTEGER_CST is a not power of 2.
> While the issue has been originally reported for PA, the testcase
> shows the same issue on x86_64 (just with __int128 instead of long long).
>
On Fri, 17 Oct 2014, Jakub Jelinek wrote:
> Hi!
>
> This patch optimizes some range tests into bit tests, like we
> already do for switches in emit_case_bit_tests, but this time
> for a series of ored equality or anded non-equality comparisons.
> If at least 3 comparisons (after the contiguous ra
On Fri, 17 Oct 2014, Ramana Radhakrishnan wrote:
> On Wed, Oct 15, 2014 at 5:29 PM, Kyrill Tkachov
> wrote:
> >
> > On 15/10/14 14:00, Richard Biener wrote:
> >>
> >>
> >> Any comments and reviews welcome (I don't think that
> >> my maintainership covers enough to simply check this in
> >> witho
Hi,
some OSes, for example VxWorks 6, still use DWARF unwinding on the ARM, which
means that they use __builtin_eh_return (EABI unwinding doesn't). The builtin
is implemented by means of {arm|thumb}_set_return_address, which can generate
a store if LR has been stored on function entry. The pr
Hello,
this trivial fix was pre-approved by Richard, I regtested and committed
it.
2014-10-17 Marc Glisse
* tree-into-ssa.c (is_old_name): Replace "new" with "old".
--- tree-into-ssa.c (revision 216366)
+++ tree-into-ssa.c (working copy)
@@ -572,23 +572,23 @@ set_livein_bl
This patch modifies the inheritance of all attributes related to pragma
Default_Initial_Condition to account for a case where the full view of
a private type derives from another private type.
-- Source --
-- parent.ads
package Parent is
type Parent_Typ is private
Hi FX,
FX wrote:
> After the compile-time simplification, this patch fixes the handling of
> special values
> (infinities and NaNs) by intrinsics EXPONENT, FRACTION, SPACING, RRSPACING &
> SET_EXPONENT
> Bootstrapped and regtested on x86_64-linux.
> OK to commit?
Looks good to me. Thanks for t
This is an internal change that does not affect the compiler, but fixes
a problem in which a record comparison was not properly expanded. The
compiler back end handled this, but it blew up codepeer. No further
test required.
Tested on x86_64-pc-linux-gnu, committed on trunk
2014-10-17 Robert Dew
The system unit System.Atomic_Counters which provides an atomic
counter type, along with increment, decrement and test operations,
available to user programs.
Tested on x86_64-pc-linux-gnu, committed on trunk
2014-10-17 Robert Dewar
* gnat_rm.texi: Document System.Atomic_Counters.
On 10/17/2014 11:43 AM, Eric Botcazou wrote:
Well, that's a backport of ancient patch from trunk so all credits go
there. And flag_sanitize is indeed handled differently from other
compiler flags.
Really curious to know why...
I bet this was a typo but let's wait for Jakub's comments.
-Y
On Fri, 17 Oct 2014, Richard Biener wrote:
> On Thu, 16 Oct 2014, Sebastian Pop wrote:
>
> > Richard Biener wrote:
> > > To give you an example how it looks like, the following code is
> > > generated for
> > >
> > > /* fold_negate_exprs convert - (~A) to A + 1. */
> > > (simplify
> > > (negat
On Fri, 17 Oct 2014, Richard Biener wrote:
> On Thu, 16 Oct 2014, Jeff Law wrote:
>
> > On 10/16/14 05:06, Richard Biener wrote:
> > >
> > > This patch (also applicable to trunk) makes us canoncialize operand
> > > order for comparisons at the same time we canonicalize other
> > > operand order,
Documentation change only, no further test required
Tested on x86_64-pc-linux-gnu, committed on trunk
2014-10-17 Robert Dewar
* gnat_rm.texi: Document that string literal can be used for
pragma Warnings when operating in Ada 83 mode.
Index: gnat_rm.texi
==
A class-wide type invariant is inherited by a type extension, and incorporated
into the invariant procedure for that type. When the expression for such an
invariant (typically a function call) is first analyzed, we must preserve some
semantic information in it, because the type extension may be dec
Hello.
After IRC discussion, IPA ICF will set local flag to false for both original
and node that becomes an alias.
That will enforce equal calling convention to be use.
i686-pc-linux bootstrap has been still running, I will commit the fix as soon
as it finishes.
I consider it as pre-approved.
This fixes an error in the handling of attributes where the prefix
raises an exception. This resulted from other errors in the program.
No simple test case has been found, but the correction is clearly
safe.
Tested on x86_64-pc-linux-gnu, committed on trunk
2014-10-17 Robert Dewar
* s
A new mechanism has been implemented that allows specialization of
error messages for missing entities in a configurable run-time.
Instead of just outputting the (sometimes obscure) name of the
entity involved, a more meaningful message can be issued. This
new mechanism is used for a case of rendez
For the purposes of restriction No_Implementation_Identifiers,
Standard.Short_Integer should be considered as being implementation
defined and this was not the case. In addition, this patch fixes
a compiler blow up with a compiler built with assertions in the
test for implementation-defined identif
On Thu, Oct 16, 2014 at 5:42 PM, Yuri Rumyantsev wrote:
> Richard,
>
> Here is reduced patch as you requested. All your remarks have been fixed.
> Could you please look at it ( I have already sent the patch with
> changes in add_to_predicate_list for review).
+ if (dump_file && (dump_
This patch improves the error message on an iterator specification whose name
is a function call that does not yield a type that implements an iterator
interface.
Compiling try_containers.adb must yield:
try_containers.adb:17:18: expect object that implements iterator interface
--
with Ada.Te
This patch corrects various problems with the generation of checks for type
invariants, when the type with an invariant is a discriminated type and the
invariant refers to an array component constrained by discriminants.
Tested on x86_64-pc-linux-gnu, committed on trunk
2014-10-17 Ed Schonberg
Directories such as object directories are no longer created for abstract
projects when the builder (gnatmake or gprbuild) is called with -P or
with --subdirs=<...>, even when there is no explicit indication in the
abstract project that there are no sources in the project.
Tested on x86_64-pc-linu
Hi all
we have merged the gcc-4_9-branch into linaro/gcc-4_9-branch up to
revision 216130 as r216256. We have also backported this set of revisions:
r209643 as 215975 : [AArch64] Define TARGET_FLAGS_REGNUM
r211881 as 215975 : PR target/61565
r213035 as 215846 : [AArch64] libitm: Improve _ITM_beg
This is an internal clean up to use an existing abstraction
more extensively. No external effect, no test required.
Tested on x86_64-pc-linux-gnu, committed on trunk
2014-10-17 Robert Dewar
* gnatcmd.adb, make.adb, prj-part.adb, gnatlink.adb, prj-nmsc.adb,
prj-conf.adb, prj-en
http://cplusplus.github.io/LWG/lwg-defects.html#2019
I've checked the relevant _ISblank/_ISBLANK/_CTYPE_B constant on all
targets except VxWorks where I chose something that looks reasonable.
Not all targets reserve a bit for isblank, but this way
ctype_base::blank is always defined, but on some
Hi,
-mlongcall miscompiles nested functions with the AIX ABI. The problem is
that, when -mlongcall is in effect, rs6000_call_aix redirects all calls to:
/* Handle indirect calls. */
if (GET_CODE (func_desc) != SYMBOL_REF
|| (DEFAULT_ABI == ABI_AIX && !SYMBOL_REF_FUNCTION_P (func_desc
Building libssp in C11 mode shows a warning for 64bit configurations,
../../../src/libssp/gets-chk.c:62:12: warning: return makes pointer from integer
without a cast [-Wint-conversion]
Currently working around by adding a prototype in gets-chk.c, conditionally
defined by the inverted condition fo
On 16-10-14 23:46, Eric Botcazou wrote:
Having said that, in my mind, what is confusing about the name
-fuse-caller-save, is that in fact the caller-save registers are already
used in register allocation. It's just that they're used across calls
without the need to save them, but
-fuse-caller-sav
On Fri, Oct 17, 2014 at 12:47 PM, Tom de Vries wrote:
> On 16-10-14 23:46, Eric Botcazou wrote:
>>>
>>> Having said that, in my mind, what is confusing about the name
>>> -fuse-caller-save, is that in fact the caller-save registers are already
>>> used in register allocation. It's just that they'r
On Fri, Oct 17, 2014 at 11:53:01AM +0400, Yury Gribov wrote:
> >From 0225b7878bbb5b803814646d089824d016316fef Mon Sep 17 00:00:00 2001
> From: Yury Gribov
> Date: Thu, 16 Oct 2014 18:31:10 +0400
> Subject: [PATCH 1/2] Add strtoull to libiberty.
>
> 2014-10-17 Yury Gribov
>
> libiberty/
>
Building Linux kernel failed with 'error: initializer element is not
constant', because they're initializing objects with static storage
duration with (T){ ...} - and that isn't permitted in gnu99/gnu11.
I think the Right Thing is to allow some latitude here and enable it
even in gnu99/gnu11 unles
Hi,
this patch disables string/memory builtin functions inlining if ASan is
enabled. As described in my previous post
(https://gcc.gnu.org/ml/gcc/2014-09/msg00020.html), this allow us to be
sure that some dangerous builtins (strcpy, stpcpy, etc) will be handled
correctly. Also, some redundant
C99 mode warns about defaulting to int by default, but without
the possibility to suppress the warning with -Wno-implicit-int.
This is likely to arouse the ire of the users, especially with
the new default.
Therefore the following patch tweaks warn_implicit_int in such
a way that -Wimplicit and -W
Lightly tested, committed.
Richard.
2014-10-17 Richard Biener
Merge from trunk r216316 through r216394.
On Fri, 17 Oct 2014, Richard Biener wrote:
> On Fri, 17 Oct 2014, Ramana Radhakrishnan wrote:
>
> > On Wed, Oct 15, 2014 at 5:29 PM, Kyrill Tkachov
> > wrote:
> > >
> > > On 15/10/14 14:00, Richard Biener wrote:
> > >>
> > >>
> > >> Any comments and reviews welcome (I don't think that
> > >> my
On Fri, Oct 17, 2014 at 12:44:26PM +0400, Yury Gribov wrote:
> On 10/17/2014 11:43 AM, Eric Botcazou wrote:
> >>Well, that's a backport of ancient patch from trunk so all credits go
> >>there. And flag_sanitize is indeed handled differently from other
> >>compiler flags.
> >
> >Really curious to kn
the cause should be one minor bug in prepare_cmp_insn.
the last mode parameter "pmode" of "prepare_cmp_insn" should match the
mode of the first parameter "x", while during the recursive call of
"prepare_cmp_insn",
x is with mode of targetm.libgcc_cmp_return_mode () while pmode is assign to
word
On Thu, Oct 16, 2014 at 12:34:35PM +0400, Yury Gribov wrote:
> Hi all,
>
> As discussed in https://gcc.gnu.org/ml/gcc/2014-09/msg00234.html , this
> patchset backports mainline patches necessary for Kernel ASan in GCC 4.9
> (gcc-4_9-branch). The patcheset consists of
> * Asan headers installation
testsuite/27_io/headers/cstdio/types_std.cc FAILs on dragonflybsd:
/mnt/gcc-src/libstdc++-v3/testsuite/27_io/headers/cstdio/types_std.cc:25:13:
error: aggregate 'FILE gnu::f' has incomplete type and cannot be
defined
/mnt/gcc-src/libstdc++-v3/testsuite/27_io/headers/cstdio/types_std.cc:26:13:
err
On 16/10/14 23:04 +0300, Ville Voutilainen wrote:
Argh, needed to do uglification, and formatting fixes.
Also renamed the Dummy types in tests to something
a bit more descriptive. I'm not using the tr2 test types because the
test types in these tests
are amalgamations of multiple properties to ke
On Fri, Oct 17, 2014 at 03:45:52PM +0400, Maxim Ostapenko wrote:
> Patch also changes logic in asan_mem_ref_hash updating. I eliminated memory
> ref access size from hash computing, so all accesses for same memory
> reference have the same hash. Updating of asan_mem_ref_hash occurs only if
> new ac
Hello Jakub,
On 15 Oct 18:23, Jakub Jelinek wrote:
> On Thu, Oct 09, 2014 at 04:13:25PM +0400, Kirill Yukhin wrote:
> > --- a/gcc/config/i386/i386.c
> > +++ b/gcc/config/i386/i386.c
> > @@ -39821,6 +39823,9 @@ ix86_expand_vector_init_duplicate (bool mmx_ok,
> > enum machine_mode mode,
> >g
On Wed, Oct 15, 2014 at 01:40:07PM +0200, Richard Biener wrote:
> 2014-10-15 Richard Biener
>
> * gimple-fold.h (gimple_build): Declare various overloads.
> (gimple_simplify): Likewise.
> (gimple_convert): Re-implement in terms of gimple_build.
> * gimple-fold.c (gimple_
Hi all,
I've committed the attached as obvious to fix up a whitespace issue in a
patch I committed recently.
This is r216399.
Cheers,
Kyrilldiff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9e35d69b..5a09e3e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -136,8 +136,8 @@
* doc/install.texi
Hello Uroš,
On 16 Oct 14:29, Uros Bizjak wrote:
> > + if (mode == V4DImode)
> > + emit_insn (gen_avx512dq_mulv4di3 (op0, op1, op2));
> > + else if (mode == V2DImode)
> > + emit_insn (gen_avx512dq_mulv4di3 (op0, op1, op2));
>
> Should this be v2di ?
Right, copy-a
Jakub Jelinek writes:
> Not sure if there aren't extra steps to make strtoull prototype available
> in system.h, libiberty.h etc. for systems that don't have strtoull in their
> headers.
See the
#if defined(HAVE_DECL_XXX) && !HAVE_DECL_XXX
lines in include/libiberty.h. Although strtol is miss
Committed to CVS.
? htdocs/gcc-5/.changes.html.swp
Index: htdocs/gcc-5/changes.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v
retrieving revision 1.18
diff -u -r1.18 changes.html
--- htdocs/gcc-5/changes.html 15 Oct 2
On Fri, Oct 17, 2014 at 2:32 PM, Kirill Yukhin wrote:
> Hello Uroš,
> On 16 Oct 14:29, Uros Bizjak wrote:
>> > + if (mode == V4DImode)
>> > + emit_insn (gen_avx512dq_mulv4di3 (op0, op1, op2));
>> > + else if (mode == V2DImode)
>> > + emit_insn (gen_avx512dq_mulv
On Wed, Oct 15, 2014 at 01:39:33PM +0200, Richard Biener wrote:
> 2014-10-15 Richard Biener
Shouldn't Prathamesh be listed as co-author of the patch?
> + fprintf (f, "case SSA_NAME:\n");
> + fprintf (f, "{\n");
> + fprintf (f, "gimple def_stmt = SSA_NAME_DEF_STMT (%s);\n",
>
On Wed, Oct 15, 2014 at 01:40:49PM +0200, Richard Biener wrote:
>
> This adds a bunch of simplifications with constant operands
> or ones that simplify to constants, such as a + 0, x * 1.
>
> It's a patch mainly to get a few questions answered for further
> pattern merges:
>
> - The branch uses
On Fri, Oct 17, 2014 at 04:28:12PM +0400, Kirill Yukhin wrote:
> > I wonder whether for these modes it can ever be beneficial to build them
> > through interleaves/concatenations etc., if it wouldn't be better to build
> > them by storing all values into memory and just reading it back.
> I've trie
On Fri, Oct 17, 2014 at 2:57 PM, Jakub Jelinek wrote:
> On Fri, Oct 17, 2014 at 04:28:12PM +0400, Kirill Yukhin wrote:
>> > I wonder whether for these modes it can ever be beneficial to build them
>> > through interleaves/concatenations etc., if it wouldn't be better to build
>> > them by storing
On 10/17/2014 04:24 PM, Jakub Jelinek wrote:
+/* Returns TRUE if given FCODE corresponds to string or memory builtin
function.
+ */
+
+static inline bool
+is_memory_builtin (enum built_in_function fcode)
+{
+ return fcode <= BUILT_IN_STRSTR && fcode >= BUILT_IN_BCMP;
This is too fragile and u
On Fri, Oct 17, 2014 at 05:01:33PM +0400, Yury Gribov wrote:
> On 10/17/2014 04:24 PM, Jakub Jelinek wrote:
> >>+/* Returns TRUE if given FCODE corresponds to string or memory builtin
> >>function.
> >>+ */
> >>+
> >>+static inline bool
> >>+is_memory_builtin (enum built_in_function fcode)
> >>+{
Jeff,
I prepared another patch that includes test-case as you requested.
Below are answers on your questions.
> First, for the benefit of anyone trying to understand what you're doing,
> defining what "cd equivalent" means would be >helpful.
I added the following comment to function:
fwe
Sorry, somehow I missed this email. Yes, that appears to have fixed it!
Thank you very much,
Alan
Trevor Saunders wrote:
On Tue, Sep 09, 2014 at 03:37:26PM +0100, Alan Lawrence wrote:
Following this, we're seeing ICEs in tests in gcc.dg/pch.exp and g++.dg/pch.exp,
with cross-builds (hosted on
Hello.
Following patch fixes PR63569.
Bootstrap executed on ppc64-linux and no regression seen on x86_64-pc-linux.
Ready for trunk?
Thank you,
Martin
gcc/testsuite/ChangeLog:
2014-10-17 Martin Liska
* gcc.dg/ipa/ipa-icf-31.c: New test.
gcc/ChangeLog:
2014-10-17 Martin Liska
On 10/17/2014 04:12 PM, Jakub Jelinek wrote:
I had a brief look at what ended up on the branch in the end, and
from what I understand, the 4.9 libasan.so has
__asan_report_store_n and __asan_report_load_n entry points, but does
not have any __asan_loadN/__asan_reportN entrypoints (neither 1/2/4/8
On Fri, Oct 17, 2014 at 05:45:17PM +0400, Yury Gribov wrote:
> On 10/17/2014 04:12 PM, Jakub Jelinek wrote:
> >I had a brief look at what ended up on the branch in the end, and
> >from what I understand, the 4.9 libasan.so has
> >__asan_report_store_n and __asan_report_load_n entry points, but does
On 15 Oct 17:35, Jakub Jelinek wrote:
> But we do want to test them with host fallback, which those lines preclude.
> Just a single dg-require-effective-target offload_device guarded test (which
> there necessarily is, e.g. the 57.* ones) should be sufficient for your
> purposes (if you want to dif
Hi,
The patch fixes 1st fail in darwin bootstarp.
When PIC register is pseudo we don't need to init it after setjmp or
non local goto.
Is it ok?
ChangeLog:
2014-10-17 Evgeny Stupachenko
PR target/63534
* config/i386/i386.c (builtin_setjmp_receiver): Delete.
(nonlocal
Richard,
I reworked the patch as you proposed, but I didn't understand what
did you mean by:
>So please rework the patch so critical edges are always handled
>correctly.
In current patch flag_force_vectorize is used (1) to reject phi nodes
with more than 2 arguments; (2) to reject basic blocks w
On 10/17/2014 05:49 PM, Jakub Jelinek wrote:
> Plus if you add misalign tests...
Sure, can do this on Monday.
> - bool use_calls = ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD < INT_MAX
-&& asan_num_accesses >= ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD;
+ bool use_calls
+= ASAN_INSTRUMENTA
Hi,
Some instructions (like one in PR63534) could have hidden use of PIC register.
Therefore we need to leave SET_GOT not deleted till reload completed.
The patch prevents SET_GOT from deleting while PIC register is pseudo.
Is it ok?
ChangeLog:
2014-10-17 Evgeny Stupachenko
PR targe
On Fri, Oct 17, 2014 at 06:15:11PM +0400, Yury Gribov wrote:
> On 10/17/2014 05:49 PM, Jakub Jelinek wrote:
> > Plus if you add misalign tests...
>
> Sure, can do this on Monday.
Ok, thanks.
> > - bool use_calls = ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD < INT_MAX
> >-&& asan_num_accesses >
On Fri, Oct 17, 2014 at 06:02:11PM +0400, Ilya Verbin wrote:
> --- /dev/null
> +++ b/libgomp/testsuite/libgomp.c++/examples-4/e.53.2.C
> @@ -0,0 +1,43 @@
> +// { dg-do run }
> +// { dg-require-effective-target offload_device }
Well, this test actually relies not only offload_device,
but also on no
Hello,
This is fix for bootstrap failure.
Is it OK?
gcc/
* config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Refactor
conditions to fix bootstrap.
--
Thanks, K
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 7040200..3ddaf3d 100644
--- a/gcc/config/i386/i386.c
+
On Fri, Oct 17, 2014 at 4:25 PM, Kirill Yukhin wrote:
> Hello,
> This is fix for bootstrap failure.
>
> Is it OK?
>
> gcc/
> * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Refactor
> conditions to fix bootstrap.
Well, OK.
Uros.
On Fri, Oct 17, 2014 at 06:16:41PM +0400, Evgeny Stupachenko wrote:
> Hi,
>
> Some instructions (like one in PR63534) could have hidden use of PIC register.
> Therefore we need to leave SET_GOT not deleted till reload completed.
> The patch prevents SET_GOT from deleting while PIC register is pseu
Hi,
The patch fixes profile in 32bits PIC mode (only -p option affected).
x86 bootstrap, make check passed
spec2000 o2 -p train data on Corei7:
CINT -5%
CFP +1,5
compared to a compiler before "enabling ebx".
There is a potential performance improve after the patch applied
suggested by Jakub:
h
On 10/17/2014 06:18 PM, Jakub Jelinek wrote:
On Fri, Oct 17, 2014 at 06:15:11PM +0400, Yury Gribov wrote:
On 10/17/2014 05:49 PM, Jakub Jelinek wrote:
Plus if you add misalign tests...
Sure, can do this on Monday.
Ok, thanks.
- bool use_calls = ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD <
On Fri, Oct 17, 2014 at 06:30:42PM +0400, Evgeny Stupachenko wrote:
> Hi,
>
> The patch fixes profile in 32bits PIC mode (only -p option affected).
>
> x86 bootstrap, make check passed
>
> spec2000 o2 -p train data on Corei7:
> CINT -5%
> CFP +1,5
> compared to a compiler before "enabling ebx".
Yes, unconditionally.
If pic_reg is unused, RA will allocate a hard register for it and
treat it as free, DCE after reload will delete SET_GOT.
On Fri, Oct 17, 2014 at 6:20 PM, Jakub Jelinek wrote:
> On Fri, Oct 17, 2014 at 06:16:41PM +0400, Evgeny Stupachenko wrote:
>> Hi,
>>
>> Some instruction
This patch implements the approach I suggested in:
https://gcc.gnu.org/ml/gcc-patches/2014-10/msg00371.html
for fixing PR61360. To recap, the problem is with the use of "enabled" in
the i386.md pattern:
(define_insn "*float2_sse"
[(set (match_operand:MODEF 0 "register_operand" "=f,x,x")
This patch just adds a new utility function called recog_constrain_insn,
to go alongside the existing recog_constrain_insn_cached.
Note that the extract_insn in lra.c wasn't used when checking is disabled.
The function just moved on to the next instruction straight away.
Richard
gcc/
*
This is the main patch, to add new preferred_for_size and
preferred_for_speed attributes that can be used to selectively disable
alternatives when optimising for size or speed. As explained in the
docs, the new attributes are just optimisation hints and it is possible
that "size-only" alternatives
After the previous patch there are cases where we want to constrain
operands to any enabled alternative and cases where we want to also take
size/speed preferences into account. The former applies when
constraining an existing instruction (which might originally have been
in a block with a differe
After the previous patches, this one gets rid of
recog_data.enabled_alternatives and its one remaining use.
Richard
gcc/
* recog.h (recog_data_d): Remove enabled_alternatives.
* recog.c (extract_insn): Don't set it.
* reload.c (find_reloads): Call get_enabled_alternatives
Undo the original fix for 61630 and use preferred_for_speed in the
problematic pattern.
I've not written many gcc.target/i386 tests so the markup might need
some work.
Richard
gcc/
* lra.c (lra): Remove call to recog_init.
* config/i386/i386.md (preferred_for_speed): New attribu
On 17 Oct 16:14, Jakub Jelinek wrote:
> > -volatile int v;
> > +volatile int v = 0;
>
> Why?
Ok, I'll revert it back.
> > --- a/libgomp/testsuite/libgomp.c/target-7.c
> > +++ b/libgomp/testsuite/libgomp.c/target-7.c
> > @@ -1,7 +1,9 @@
> > +// { dg-require-effective-target offload_device }
> > +
On Fri, Oct 17, 2014 at 06:58:17PM +0400, Ilya Verbin wrote:
> Here in the original test you have:
>
> #pragma omp target if (v <= 1)
> if (omp_get_level () != 0 || (f && !omp_is_initial_device ()))
> abort ();
> #pragma omp target device (d) if (v <= 1)
> if (omp_get_level () != 0 ||
On 17 Oct 17:10, Jakub Jelinek wrote:
> On Fri, Oct 17, 2014 at 06:58:17PM +0400, Ilya Verbin wrote:
> > Here in the original test you have:
> >
> > #pragma omp target if (v <= 1)
> > if (omp_get_level () != 0 || (f && !omp_is_initial_device ()))
> > abort ();
> > #pragma omp target devi
On Fri, Oct 17, 2014 at 07:17:31PM +0400, Ilya Verbin wrote:
> On 17 Oct 17:10, Jakub Jelinek wrote:
> > On Fri, Oct 17, 2014 at 06:58:17PM +0400, Ilya Verbin wrote:
> > > Here in the original test you have:
> > >
> > > #pragma omp target if (v <= 1)
> > > if (omp_get_level () != 0 || (f && !o
On 17 Oct 17:18, Jakub Jelinek wrote:
> On Fri, Oct 17, 2014 at 07:17:31PM +0400, Ilya Verbin wrote:
> > On 17 Oct 17:10, Jakub Jelinek wrote:
> > > Well, there is no need to remove them, just the " || (f &&
> > > !omp_is_initial_device ())"
> > > should be dropped from target regions without devi
On Fri, Oct 17, 2014 at 07:29:26PM +0400, Ilya Verbin wrote:
> On 17 Oct 17:18, Jakub Jelinek wrote:
> > On Fri, Oct 17, 2014 at 07:17:31PM +0400, Ilya Verbin wrote:
> > > On 17 Oct 17:10, Jakub Jelinek wrote:
> > > > Well, there is no need to remove them, just the " || (f &&
> > > > !omp_is_initi
Changes to architecture-independent files must use
architecture-independent conditionals, so __BYTE_ORDER__ not __ARMEB__.
--
Joseph S. Myers
jos...@codesourcery.com
Hi,
As the title says, this patch makes the libgomp plugin API use the
GOMP_PLUGIN_ prefix rather than gomp_plugin_. This is purely a
mechanical change.
OK for the gomp4 branch?
Thanks,
Julian
ChangeLog
libgomp/
* libgomp-plugin.c (gomp_plugin_*): Rename to...
(GOMP_PLUGIN_*): Thi
On 10/17/14 05:00, Richard Biener wrote:
I'm starting to lean towards -foptimize-call-clobbers or similar.
Well, it is really some form of IPA driven register allocation. Whether
you want to call it -fipa-ra or not is another question - but if we had
such option then enabling it with that opt
Hi,
This patch tweaks the include path configury used by libgomp to find
the gomp-constants.h header, as suggested by Jakub.
OK for the gomp4 branch?
Thanks,
Julian
libgomp/
* Makefile.am (AM_CPPFLAGS): Fix search path for locating
gomp-constants.h.
* Makefile.in: Regenerate.co
On Fri, 17 Oct 2014, Marek Polacek wrote:
> Building Linux kernel failed with 'error: initializer element is not
> constant', because they're initializing objects with static storage
> duration with (T){ ...} - and that isn't permitted in gnu99/gnu11.
>
> I think the Right Thing is to allow some
1 - 100 of 146 matches
Mail list logo