Ping!
-Original Message-
From: Dharmakan Rohit-B30502
Sent: Tuesday, July 08, 2014 8:13 AM
To: gcc-patches@gcc.gnu.org
Cc: Wienskoski Edmar-RA8797; dje@gmail.com; Alan Modra; Jakub Jelinek
Subject: [RFC: Patch, PR 60102] [4.9/4.10 Regression] powerpc fp-bit ices at
dwf_regno
Hello!
- Thunk name encodes offset into the structure, which is different
between 32/64bit targete when pointers are involved.
- CCP runs with -O1 only
- Missing dump cleanup
2014-07-22 Uros Bizjak ubiz...@gmail.com
* g++.dg/ipa/imm-devirt-2.C (dg-final): Improve einline dump string.
Hi Uros,
Hello!
- Thunk name encodes offset into the structure, which is different
between 32/64bit targete when pointers are involved.
- CCP runs with -O1 only
- Missing dump cleanup
2014-07-22 Uros Bizjak ubiz...@gmail.com
* g++.dg/ipa/imm-devirt-2.C (dg-final): Improve einline
Attached patch delays generation of Asan memory checking
code until sanopt pass.
Here is an updated patch based on Jakub's review. Bootstrapped and
regtested on x64.
-Y
commit 7c371a6f462e166d3f2ad89afbe2e61b1a0b799b
Author: Yury Gribov y.gri...@samsung.com
Date: Thu Jul 17 09:45:26 2014
On Wed, 16 Jul 2014, Jeff Law wrote:
On 06/22/14 12:20, Marc Glisse wrote:
Hello,
I followed the advice in this discussion:
https://gcc.gnu.org/ml/gcc-patches/2014-04/msg00269.html
and here is a new patch. I made an effort to isolate a path in at least
one subcase so it doesn't look too
On Jul 21, 2014, at 9:43 PM, Segher Boessenkool seg...@kernel.crashing.org
wrote:
CONSTANT_P is true for more than just all kinds of constant number.
This patch undoes that part of the wide-int patches.
Okay to apply?
Ok.
I’ve audited the rest of the wide-int patches to ensure that this was
On 07/21/14 23:00, Alexey Preobrazhensky wrote:
Hi all,
This patch adds support for non-fixed shadow in asan stack instrumentation.
It is required for Kernel AddressSanitizer, as the shadow offset is
not known at the compile time,
To get shadow offset this patch uses function
It is required for Kernel AddressSanitizer, as the shadow offset is
not known at the compile time,
To get shadow offset this patch uses function __asan_get_shadow_ptr.
Wouldn't be more effective just to read variable instead of function call?
Depends on how much logic you want to hide there.
On 07/22/14 14:30, Yury Gribov wrote:
It is required for Kernel AddressSanitizer, as the shadow offset is
not known at the compile time,
To get shadow offset this patch uses function __asan_get_shadow_ptr.
Wouldn't be more effective just to read variable instead of function call?
Depends
This function just returns some global variable,
and I don't think we will need something more complex in future.
For kernel probably yes but what about userspace?
-Y
Hi all,
These tests use very large arrays as part of their loop interchange
testing so they don't fit into the 1MiB binary size limit imposed by
-mcmodel=tiny. This causes errors at link-time.
Skip them when that is the case.
Ok to commit?
Thanks,
Kyrill
2014-07-22 Kyrylo Tkachov
Hi all,
I noticed that we use UNSPEC_CLS for the clrsb optab when we could be using the
RTL code for it. I don't see any reason not to use the RTL code and some
execution tests confirm that the cls instruction implements the expected clrsb
semantics. This patch removes the UNSPEC_CLS
Hi all,
Following up on patch [1/2] Remove UNSPEC_CLS and use clrsb RTL code in its'
place this patch adds rtx costs handling of the CLZ, CLRSB RTL codes as well as the
UNSPEC_RBIT unspec.
The CLZ and CLRSB cases are handled identically (they are implemented by the
clz and cls instructions
In looking at David's gcov patch I noticed that other changes have introduced
more global symbols into the user's namespace, without even using a gcov prefix.
That's bad. This patch gets rid of one of them (set_gcov_list).
I'll apply shortly unless there are comments.
nathan
2014-07-22
On 16 July 2014 10:49, Kyrill Tkachov kyrylo.tkac...@arm.com wrote:
Hi all,
This patch implements the vbsl_f64 intrinsic and adds an execution test for
it.
Not much else to say about it.
Tested aarch64-none-elf.
Ok for trunk?
2014-07-16 Kyrylo Tkachov kyrylo.tkac...@arm.com
*
On 07/22/2014 01:56 AM, Ville Voutilainen wrote:
+/* Parse a type-parameter-key.
+
+ type-parameter-key:
+ class
+ typedef
+
+ Returns the kind of type-parameter-key specified, or none_type to indicate
+ error. */
+
Typo above, should be typename, not typedef.
Thanks!
New
On Fri, 18 Jul 2014, Hans-Peter Nilsson wrote:
On Fri, 18 Jul 2014, Jan-Benedict Glaw wrote:
This was a build using GCC's ./contrib/config-list.mk to do the build.
It passes --enable-werror-always to top-level `configure', this is
where the -Werror comes from.
Aha. Looks like it's of
On Sat, 19 Jul 2014, Gerald Pfeifer wrote:
On Mon, 14 Jul 2014, Richard Biener wrote:
2014-07-14 Richard Biener rguent...@suse.de
* libgcov.h (struct gcov_fn_info): Make ctrs size 1.
I actually had the same patch ready and tested already, but realized
this would increase memory
On 22 July 2014 12:23, Kyrill Tkachov kyrylo.tkac...@arm.com wrote:
Hi all,
I noticed that we use UNSPEC_CLS for the clrsb optab when we could be using
the RTL code for it. I don't see any reason not to use the RTL code and some
execution tests confirm that the cls instruction implements the
On 22 July 2014 12:23, Kyrill Tkachov kyrylo.tkac...@arm.com wrote:
Hi all,
Following up on patch [1/2] Remove UNSPEC_CLS and use clrsb RTL code in
its' place this patch adds rtx costs handling of the CLZ, CLRSB RTL codes
as well as the UNSPEC_RBIT unspec.
The CLZ and CLRSB cases are
On Sat, Jul 19, 2014 at 5:44 PM, Jan Hubicka hubi...@ucw.cz wrote:
On 07/18/2014 11:03 AM, Jan Hubicka wrote:
I really only care about types containing virtual table pointers to not
change,
so non-PODs are out of game. Current propagation is built around
assumption that
once polymorphic
On Mon, Jul 21, 2014 at 7:13 AM, Pengfei Yuan 0xcool...@gmail.com wrote:
Hi,
This patch tunes optimization options based on profile data:
* Disable PGO options if profile is not available or empty.
* Optimize for size if profile is available but empty.
Err ... these don't seem interesting
As discussen during the Cauldron keeping some builtin doesn't help because
you are not forced to access the newly created object via the pointer returned
by the placement new. That is,
template T
struct Storage {
char x[sizeof(T)];
Storage() { new (x) T; }
T get() {
On Fri, Jul 18, 2014 at 3:36 PM, Yury Gribov y.gri...@samsung.com wrote:
Hi all,
Attached patch delays generation of Asan memory checking code
until sanopt pass. This is a first step towards global static analysis
of Asan instrumentation which would allow to
* remove redundant
On Tue, Jul 22, 2014 at 3:54 PM, Jan Hubicka hubi...@ucw.cz wrote:
As discussen during the Cauldron keeping some builtin doesn't help because
you are not forced to access the newly created object via the pointer
returned
by the placement new. That is,
template T
struct Storage {
On Tue, Jul 22, 2014 at 4:15 PM, Yury Gribov y.gri...@samsung.com wrote:
On 07/22/2014 05:57 PM, Richard Biener wrote:
I probably could
provide fnspec with (EAF_DIRECT | EAF_NOCLOBBER | EAF_NOESCAPE) or
even EAF_UNUSED for these functions but this does not seem
to be supported in current
On 07/22/2014 05:57 PM, Richard Biener wrote:
I probably could
provide fnspec with (EAF_DIRECT | EAF_NOCLOBBER | EAF_NOESCAPE) or
even EAF_UNUSED for these functions but this does not seem
to be supported in current middle-end.
Simply add the fn spec attribute to the functions?
Problem is
currently, the implementation of AArch64 prologue/epilogue expand
hooks are a bit unclean.
the major issues are:
* when pushing callee-saved registers, register offset are
calculated by ad-hoc code instead of referencing offset
table initialized in aarch64_layout_frame.
* FP/LR
Yes, clang-format knows how to format patches,
and it also has a vi and emacs mode able to format a region of code.
On Tue, Jul 22, 2014 at 12:46 AM, Yury Gribov y.gri...@samsung.com wrote:
On 07/22/2014 02:24 AM, Sebastian Pop wrote:
What about getting clang-format to GNU format instead of
indenting and making sure columns less than 80 in
the following functions:
* aarch64_save_or_restore_fprs
* aarch64_save_or_restore_callee_save_registers
*no functional change*
OK to install?
thanks.
gcc/
* config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): GNU-Stylize code.
This patch change the type of start_offset to HOST_WIDE_INT
to be consistent with all other code
*no functional change*
OK to install ?
thanks.
gcc/
* config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Change type to
HOST_WIDE_INT.
From 942f4a0fa1edb85f3d5b67abe6712e5813bd67fe Mon
This patch remove the useless local variable start_offset.
*no functional change*
OK to install?
thanks.
gcc/
* config/aarch64/aarch64.c (aarch64_save_or_restore_callee_save_registers):
Rename
'offset' to 'start_offset'. Remove local variable 'start_offset'.
From
This patch removes useless variable increment, use UNITS_PER_WORD directly.
*no functional change*
ok to install?
thanks.
gcc/
* config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Remove increment.
(aarch64_save_or_restore_callee_save_registers): Likewise.
From
This patch refactor the inner loop out into aarch64_next_callee_save,
and simplify the code logic and reduce indent.
*no functional change*
ok to install?
thanks.
gcc/
* config/aarch64/aarch64.c (aarch64_next_callee_save): New function.
(aarch64_save_or_restore_fprs): Use
We should use offset calculated during frame layout instead of
ad-hoc interative increment.
This patch let the code fetch reg offsets from cfun-machine-frame.reg_offset.
By this fix, FP/LR could be treated as normal register also.
*no functional change*
OK to install?
thanks
gcc/
*
This patch removes the useless paramter 'base_rtx', as we use
stack_pointer_rtx always.
*no functional change*
OK to install?
thanks
gcc/
* config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Remove base_rtx.
(aarch64_save_or_restore_callee_save_registers): Likewise.
From
This patch add several helper functions to handle function
invokation under different mode.
We will merge core/vectore register push/restore function
in later patches, so these helper functions are necessary.
*no functional change*
ok to install?
thanks.
gcc/
* config/aarch64/aarch64.c
This patch hoist the calcuation of register rtx to avoid invoking
of gen_rtx_REG scattered everywhere.
*no functional change*
ok to install?
thanks.
gcc/
* config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Hoist calculation
of register rtx.
This patch simplify aarch64_expand_prologue using our new
helper functions. All ad-hoc code for saving FP/LR are removed.
*no functional change*
OK to install?
thanks.
gcc/
* config/aarch64/aarch64.c (aarch64_gen_storewb_pair): New helper function.
(aarch64_pushwb_pair_reg): Likewise.
Like patch 12, this patch simplify aarch64_expand_epilogue using
our new helper functions. All ad-hoc code for saving FP/LR are removed.
*no functional change*
OK to install?
thanks.
gcc/
* config/aarch64/aarch64.c (aarch64_gen_loadwb_pair): New helper function.
(aarch64_popwb_pair_reg):
currently we are generating sub-optimal epilogue when there
is frame pointer and there is outgoing area.
take gcc.target/aarch64/test_frame_12.c for example:
the epilogue for test_12 is:
.L12:
sub sp, x29, #16
ldp x29, x30, [sp, 16]
add sp, sp,
vector and core register push/restore code are duplicated.
this patch unify them as one copy.
*no functional change*
ok to install?
thanks.
gcc/
* config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Deleted.
(aarch64_save_callee_saves): New function to handle reg save
for both
Add two new frame fields:
* cfun-machine-frame.wb_candidate1
* cfun-machine-frame.wb_candidate2
* wb_candidate1 to record the first reg index which
could carry write-back.
* wb_candidate2 to record the second reg index which
could form reg pair with
* wb_candidate1 to carry
the common reg save/restore function should skip those write-back
candidate reg if 'skip_wb' be true.
*no functional change*
ok to install?
thanks.
gcc/
* config/aarch64/aarch64.c (aarch64_save_callee_save_common): New parameter
skip_wb.
(aarch64_restore_callee_save_common): Likewise.
split save and restore code.
the logic will be easier to understand.
ok for upstream?
thanks.
gcc/
* config/aarch64/aarch64.md: (aarch64_save_or_restore_callee_saves):
Rename to aarch64_save_callee_saves, remove restore code.
(aarch64_restore_callee_saves): New function.
From
On Tue, Jul 22, 2014 at 6:01 AM, Kyrill Tkachov kyrylo.tkac...@arm.com wrote:
Hi all,
These tests use very large arrays as part of their loop interchange testing
so they don't fit into the 1MiB binary size limit imposed by -mcmodel=tiny.
This causes errors at link-time.
Skip them when that
On 22/07/14 16:01, Sebastian Pop wrote:
On Tue, Jul 22, 2014 at 6:01 AM, Kyrill Tkachov kyrylo.tkac...@arm.com wrote:
Hi all,
These tests use very large arrays as part of their loop interchange testing
so they don't fit into the 1MiB binary size limit imposed by -mcmodel=tiny.
This causes
I don't see why
long x[1024];
Q *q = new (x) Q;
q-~Q ();
new (x) T;
would be invalid. I also don't see why
Q q;
q.~Q ();
new (q) T;
would be. Object lifetime is precisely specified and I don't see where it is
tied to (static) storage lifetime.
This is precisely the testcase
I've attached the patch, which contains generation of Gimple code from
isl_ast_node_block. Is it fine for trunk?
--
Cheers, Roman Gareev.
2014-07-22 Roman Gareev gareevro...@gmail.com
gcc/
* graphite-isl-ast-to-gimple.c:
I've attached the patch, which adds the extension of all schedules to
the maximal number of schedule dimensions. It is necessary for the
proper work of the isl AST generator. Is it fine for trunk?
--
Cheers, Roman Gareev.
2014-07-22 Roman Gareev
Please take a look the updated patch. It addresses the issue of using
dlclose before dump, and potential races (between a thread closing a
library and the dumper call).
David
On Sun, Jul 20, 2014 at 11:12 PM, Nathan Sidwell nat...@acm.org wrote:
On 07/20/14 21:38, Xinliang David Li wrote:
The
On Mon, Jul 14, 2014 at 11:11 AM, Jiong Wang jiong.w...@arm.com wrote:
currently the following testcases are disabled for arm target,
gcc.dg/ira-shrinkwrap-prep-1.c
gcc.dg/ira-shrinkwrap-prep-2.c
gcc.dg/pr10474.c
the reason is on arm target, register r3 is caller-saved. Normally it does
Hi,
in order to avoid spurious testsuite failures, I've checked in the
following obvious patch so that the testcase always returns zero. I
have verified it still properly tests for non-existence of the bug.
Thanks,
Martin
2014-07-22 Martin Jambor mjam...@suse.cz
PR ipa/61160
On Sat, Jul 12, 2014 at 11:40 PM, Kugan
kugan.vivekanandara...@linaro.org wrote:
- if (!TARGET_VFP)
-return;
+ if (!TARGET_VFP || TARGET_THUMB1)
+return default_atomic_assign_expand_fenv (hold, clear, update);
You don't need to call default function here. It is empty, the
On 22/07/2014 18:00, Roman Gareev wrote:
I've attached the patch, which adds the extension of all schedules to
the maximal number of schedule dimensions. It is necessary for the
proper work of the isl AST generator. Is it fine for trunk?
--
Cheers, Roman
On 22/07/2014 18:00, Roman Gareev wrote:
I've attached the patch, which contains generation of Gimple code from
isl_ast_node_block. Is it fine for trunk?
LGTM.
Tobias
On 22 July 2014 15:53, Ed Smith-Rowland 3dw...@verizon.net wrote:
On 07/22/2014 01:56 AM, Ville Voutilainen wrote:
+/* Parse a type-parameter-key.
+
+ type-parameter-key:
+ class
+ typedef
+
+ Returns the kind of type-parameter-key specified, or none_type to
indicate
+
On Mon, 16 Jun 2014, Jan Hubicka wrote:
/* Variables declared 'const' without an initializer
have zero as the initializer if they may not be
overridden at link or run time. */
if (!DECL_INITIAL (real_decl)
(DECL_EXTERNAL (decl) || decl_replaceable_p (decl)))
On Tue, 22 Jul 2014, Alexander Monakov wrote:
I'd like to push this topic forward a bit. I've bootstrapped and regtested a
version of the patch based on the initial proposal to check DECL_WEAK. The
approach with decl_replaceable_p looks not that easy; I'll expand in a
followup email.
The
On Tue, Jul 22, 2014 at 09:17:12PM +0400, Alexander Monakov wrote:
On Tue, 22 Jul 2014, Alexander Monakov wrote:
I'd like to push this topic forward a bit. I've bootstrapped and regtested
a
version of the patch based on the initial proposal to check DECL_WEAK. The
approach with
This patch changes the logic in crtbegin that looks for libgcc.dll
such that the test is only done once, guaranteeing consistent results
between the register and deregister cases.
Previously, a crash occurred if the application (directly or
indirectly) caused libgcc.dll to load after main() was
On Jul 22, 2014, at 4:01 AM, Kyrill Tkachov kyrylo.tkac...@arm.com wrote:
These tests use very large arrays as part of their loop interchange testing
so they don't fit into the 1MiB binary size limit imposed by -mcmodel=tiny.
This causes errors at link-time.
Ok to commit?
So the test suite
On Tue, 22 Jul 2014, Richard Biener wrote:
On Fri, 18 Jul 2014, Hans-Peter Nilsson wrote:
On Fri, 18 Jul 2014, Jan-Benedict Glaw wrote:
It should be per-target because there *may* be port-specific
constructs warned about by buggy previous-but-not-ancient
gcc-versions, where working
Hi,
This patch from Marius removes the redundant tests. Tested on
Linux/x86-64 without regressions. I will check it in tomorrow.
Thanks.
H.J.
--
diff --git a/libgcc/config/libbid/ChangeLog b/libgcc/config/libbid/ChangeLog
index 9405a3a..8ec7468 100644
--- a/libgcc/config/libbid/ChangeLog
+++
Hans-Peter Nilsson h...@bitrange.com writes:
gcc:
* configure.ac: For cross-builds of non-releases with gcc 4.4.4
and newer, enable -Werror. Provide per-target exceptions, and do
except vax-*.
This will break when a new printf format is added.
Andreas.
--
Andreas
Would it be a good idea to allow multiple match_and_simplify within for ?
* genmatch.c (parse_for): Adjust to parse multiple patterns.
Thanks and Regards,
Prathamesh
Index: genmatch.c
===
--- genmatch.c (revision 212558)
+++
On Wed, Jul 23, 2014 at 3:42 AM, Prathamesh Kulkarni
bilbotheelffri...@gmail.com wrote:
Would it be a good idea to allow multiple match_and_simplify within for ?
allow multiple patterns (match_and_simplify, for).
* genmatch.c (parse_for): Adjust to parse multiple patterns.
Thanks and Regards,
I was displaying pattern = number for debugging some issue related to
implementing for-pattern, not meant for dumping with -v
Removed accordingly.
* genmatch.c (main): Remove unnecessary debug information.
Thanks and Regards,
Prathamesh
Index: genmatch.c
On Jul 22, 2014, at 1:40 PM, Hans-Peter Nilsson h...@bitrange.com wrote:
*Developers* (or rather, people cross-building non-released gcc
source in their usual setup) don't use the fairly old or even
broken host gcc versions that can be expected in use in the
general public (well, the users
This patch changes syntax of inner-if to be parenthesized - (if (cond))
* genmatch.c (parse_match_and_simplify): Adjust to parse parenthesized if.
(peek_ident): New function.
* match.pd: Adjust patterns having if-expr to new syntax.
Thanks and Regards,
Prathamesh
Index: gcc/genmatch.c
In the experiment, about 60% (1019/1699) profile data files are empty
(all counters are zero).
2014-07-22 21:39 GMT+08:00 Richard Biener richard.guent...@gmail.com:
On Mon, Jul 21, 2014 at 7:13 AM, Pengfei Yuan 0xcool...@gmail.com wrote:
Hi,
This patch tunes optimization options based on
On Tue, 22 Jul 2014, Mike Stump wrote:
On Jul 22, 2014, at 1:40 PM, Hans-Peter Nilsson h...@bitrange.com wrote:
*Developers* (or rather, people cross-building non-released gcc
source in their usual setup) don't use the fairly old or even
broken host gcc versions that can be expected in
On Jul 22, 2014, at 6:22 PM, Hans-Peter Nilsson h...@bitrange.com wrote:
Note that I didn't actually ask for approval.
Then I’m shadow boxing. I assumed that people wanted to turn it on by default.
I’m all for that, I think it is a good idea and a fine direction. :-) The
only limitation is
73 matches
Mail list logo