https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78529
Joey Ye changed:
What|Removed |Added
CC||joey.ye at arm dot com
--- Comment #36 from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64082
Joey Ye changed:
What|Removed |Added
CC||joey.ye at arm dot com
--- Comment #1 from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60172
--- Comment #26 from Joey Ye ---
Regression disappeared from 4.9 branch since Aug 2014, though the problem
discussed here is not yet confirmed solved.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
Joey Ye changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #14 from Joey Ye ---
Em. Probably a more favorable solution is fix expand_epilogue to precisely
elaborate the side effect?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #9 from Joey Ye ---
>
> Indeed, the patch is conservative, but that's not such a bad idea for a
> correctness fix. We can always folllow up with a more optimal patch.
Tom, are you going to submit this patch for review, or are you wor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63747
--- Comment #4 from Joey Ye ---
It actually fails on all targets.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63747
--- Comment #3 from Joey Ye ---
Created attachment 33906
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33906&action=edit
/home/joeye01/patches/icf-switch-testcase-141105.patch
Test case patch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63747
--- Comment #2 from Joey Ye ---
/* { dg-options "-O2" } */
/* { dg-do run } */
static int __attribute__((noinline))
foo(int i)
{
switch (i)
{
case 0:
case 1:
case 2:
case 3:
return 0;
default:
return 1;
}
}
-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: joey.ye at arm dot com
ARM -Os bootstrap breaks. Root cause lies in ipa-icf-gimple.c where
compare_gimple_switch doesn't compare case numbers correctly. Will upload a
reduced test case soon.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #8 from Joey Ye ---
(In reply to vries from comment #5)
> Created attachment 33874 [details]
> tentative patch, adds missing clobbers
This patch does recover thumb1 bootstrap
- Joey
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #6 from Joey Ye ---
(In reply to vries from comment #5)
> Could you try out the patch and see if it fixes things for you?
>
Tom, thanks for the quick action. Apparantly this patch should recover the
bootstrap. I will test it and come
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #4 from Joey Ye ---
Created attachment 33873
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33873&action=edit
Preprocessed testcase
Options to reproduce:
-march=armv4t -mthumb -O2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #3 from Joey Ye ---
Created attachment 33872
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33872&action=edit
Reduced rtl dump previous pass
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #2 from Joey Ye ---
Created attachment 33871
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33871&action=edit
Reduced rtl dump
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #1 from Joey Ye ---
Challenging to reduce a small case, as inlining impacts optimization behavior.
Trying to describe the problem as clear as possible.
Problemetic generated code:
mov r0, r10
mov r1, r3
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: joey.ye at arm dot com
architecture option: --with-arch=armv4t --with-mode=thumb
BOOT_CFLAGS="-O2 -g"
(Stage2) Error message:
src/gcc/trunk/libgcc/libgcc2.c: I
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59335
Joey Ye changed:
What|Removed |Added
Status|REOPENED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59335
Joey Ye changed:
What|Removed |Added
Status|RESOLVED|REOPENED
Resolution|FIXED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56846
--- Comment #5 from Joey Ye ---
This issue was predicted back to when _Unwind_Backtrace was enabled on ARM.
http://gcc.gnu.org/ml/gcc/2007-08/msg00235.html
"This will keep going if the personality routine returns _URC_FAILURE.
Do you need anythi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56846
Joey Ye changed:
What|Removed |Added
CC||joey.ye at arm dot com
--- Comment #1 from
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60169
Joey Ye changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60166
Joey Ye changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60169
--- Comment #2 from Joey Ye ---
A fix is available here:
http://gcc.gnu.org/ml/gcc-patches/2014-02/msg01306.html
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54742
--- Comment #36 from Joey Ye ---
Please ignore previous comment as it shouldn't be here.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60172
--- Comment #11 from Joey Ye ---
Repost from another record. It is annoying that after commenting one record it
automatically jumps to the next.
Here is good expansion:
;; _41 = _42 * 4;
(insn 20 19 0 (set (reg:SI 126 [ D.5038 ])
(ashift
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60172
--- Comment #10 from Joey Ye ---
(In reply to rguent...@suse.de from comment #9)
> On Mon, 17 Feb 2014, joey.ye at arm dot com wrote:
>
>
> But that doesn't make sense - it means that -fdisable-tree-forwprop4
> should get
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54742
--- Comment #35 from Joey Ye ---
Here is good expansion:
;; _41 = _42 * 4;
(insn 20 19 0 (set (reg:SI 126 [ D.5038 ])
(ashift:SI (reg/v:SI 131 [ Int_1_Par_Val ])
(const_int 2 [0x2]))) -1
(nil))
;; _40 = _2 + _41;
(insn
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60172
--- Comment #8 from Joey Ye ---
Here is tree dump and diff of 133t.forwprop4
:
Int_Index_4 = Int_1_Par_Val_3(D) + 5;
Int_Loc.0_5 = (unsigned int) Int_Index_4;
_6 = Int_Loc.0_5 * 4;
_8 = Arr_1_Par_Ref_7(D) + _6;
*_8 = Int_2_Par_Val_10(D
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60172
--- Comment #7 from Joey Ye ---
(In reply to Richard Biener from comment #5)
> (In reply to Joey Ye from comment #4)
> > -fdisable-tree-forwprop4 doesn't help. -fno-tree-ter makes it even worse.
>
> The former is strange because it's the only pas
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60172
--- Comment #4 from Joey Ye ---
-fdisable-tree-forwprop4 doesn't help. -fno-tree-ter makes it even worse.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60172
--- Comment #2 from Joey Ye ---
Created attachment 32131
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32131&action=edit
The function that causes the regression
Attached Proc_8 from dhrystone, header file and good/bad.s
It is the only func
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59335
Joey Ye changed:
What|Removed |Added
Status|RESOLVED|REOPENED
Resolution|FIXED
-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: joey.ye at arm dot com
Dhrystone on Cortex-M4 drops by 1.5% with this patch:
2014-01-29 Richard Biener
PR tree-optimization/58742
* tree-ssa-forwprop.c (associate_pointerplus): Rename to
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60166
--- Comment #2 from Joey Ye ---
(In reply to Ramana Radhakrishnan from comment #1)
> Isn't this a dup of PR59833.
It isn't. This one is only impacts QNAN.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59335
Joey Ye changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60169
--- Comment #1 from Joey Ye ---
Caused by http://gcc.gnu.org/ml/gcc-patches/2012-12/msg01229.html, reason is
that stack layout shouldn't change during and after reload.
I have a patch fixing it under testing.
Assignee: unassigned at gcc dot gnu.org
Reporter: joey.ye at arm dot com
Created attachment 32119
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32119&action=edit
testcase
Trunk gcc 20140210:
arm-none-eabi-gcc -mthumb -fomit-frame-pointer -mthumb -fPIC -mcpu=cortex-m0
-
Assignee: unassigned at gcc dot gnu.org
Reporter: joey.ye at arm dot com
#include
#include
#include
int g;
float i = 0.0 ,j = 0.0 ;
int main()
{
float f = i / j;
memcpy(&g, &f, sizeof(g));
printf("f=%f, hex=%x\n", f, g);
retur
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59757
Joey Ye changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59884
--- Comment #2 from Joey Ye ---
(In reply to Andrew Pinski from comment #1)
> Comes from:
> if (p->target_binary != target_option_current_node)
> {
> (void) targetm.target_option.pragma_parse (NULL_TREE,
> p->target_binary);
> ta
Assignee: unassigned at gcc dot gnu.org
Reporter: joey.ye at arm dot com
Affected target: arm. (x86/x86_64 passes)
Affected version: trunk 20140109, 4.8, 4.7
~/cases/pragma $ cat p.c
#pragma GCC push_options
#pragma GCC optimize("O2")
int foo(int a){
return a+1;
}
#pragma GCC p
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59757
--- Comment #5 from Joey Ye ---
Here are some debug and log that might help to investigate.
Following one is suspecious to me, .MEM_18 is said to be defined a stmt that
doesn't look like it should do
(gdb) call debug_tree((*cfun->gimple_df->ssa_n
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59757
--- Comment #1 from Joey Ye ---
foo.c: In function 'univision_ug2828gfeff01_init':
foo.c:119:1: internal compiler error: tree check: expected ssa_name, have
var_de
cl in vn_reference_compute_hash, at tree-ssa-sccvn.c:631
univision_ug2828gfeff01_i
Assignee: unassigned at gcc dot gnu.org
Reporter: joey.ye at arm dot com
Created attachment 31796
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31796&action=edit
Reduced test case
target: arm-none-eabi
host: Only Windows (crossbuild with i586-mingw32msvc). The same r
: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: joey.ye at arm dot com
$ cat v.c
struct str {
volatile unsigned f1: 8;
};
int foo(struct str *a)
{
a->f1=sizeof(struct str);
}
$ arm-none-eabi-gcc -mthumb -mcpu=cortex-m3 -Os -fstrict-volatile-bitfields
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56997
Joey Ye changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59582
--- Comment #6 from Joey Ye ---
duplication of https://sourceware.org/bugzilla/show_bug.cgi?id=15323
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59582
--- Comment #5 from Joey Ye ---
HJ, do you know which patch fixed this issue? I might need to backport it into
local 2.23 branch.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59582
Joey Ye changed:
What|Removed |Added
Status|WAITING |RESOLVED
Resolution|---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59582
--- Comment #2 from Joey Ye ---
Lastest binutils trunk still has this issue. I'm assuming 2.24 the same.
: lto
Assignee: unassigned at gcc dot gnu.org
Reporter: joey.ye at arm dot com
~/work/lto_startup_s/3 $ cat Makefile
CC=gcc
CFLAGS=-flto
EXT_CFLAGS=
e : ext.o main.o
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
ext.o : ext.c
$(CC) $(EXT_CFLAGS) -c -o $@ $^
~/work/lto_startup_s
ugins
Assignee: unassigned at gcc dot gnu.org
Reporter: joey.ye at arm dot com
trunk 205454 breaks plugin on x86_64 and arm. When gcc is built and installed,
using it to build any plugin with
g++ -fPIC -g -O2 -shared -I `g++ -print-file-name=plugin`/include
will result as:
install/li
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56997
--- Comment #3 from Joey Ye 2013-04-18 08:46:36 UTC ---
(In reply to comment #2)
> -fstrict-volatile-bitfields implementation is bogus, as I repeatedly said
> it should now piggy-back on DECL_BIT_FIELD_REPRESENTATIVE. Note that
> in your
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56997
--- Comment #1 from Joey Ye 2013-04-18 08:12:50 UTC ---
Quoted from
http://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Code-Gen-Options.html#Code-Gen-Options:
-fstrict-volatile-bitfields
If the target requires strict alignment, and honoring
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56997
Bug #: 56997
Summary: Incorrect write to packed field when
strict-volatile-bitfields enabled on aarch32
Classification: Unclassified
Product: gcc
Version: 4.9.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54742
--- Comment #8 from Joey Ye 2013-03-08 03:56:38 UTC ---
// A none loop case shows how minor changes impacts current jump thread
behavior
int foo(int state, int check)
{
switch (state) {
case 0:
state = 1;
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54051
--- Comment #6 from Joey Ye 2013-02-05 07:48:48 UTC ---
(In reply to comment #5)
> This issue also impacts ldrexh/ldrexb as assembler doesn't accept ldrexh r1,
> [r0, #0]. Better to backport to 4.7.
and 4.6
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54051
Joey Ye changed:
What|Removed |Added
CC||joey.ye at arm dot com
--- Comment
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54933
Joey Ye changed:
What|Removed |Added
CC||joey.ye at arm dot com
--- Comment
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55757
--- Comment #5 from Joey Ye 2012-12-21 03:32:21 UTC ---
However, there is room to improve both performance and stack consumption in
case of Os:
extern void bar(int *);
void foo()
{
int a;
bar(&a);
}
Built with -mcpu=cort
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55757
Joey Ye changed:
What|Removed |Added
CC||joey.ye at arm dot com
--- Comment
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54742
--- Comment #3 from Joey Ye 2012-10-10 07:37:15 UTC ---
Current jump-threading is too conservative to thread this case. Following
limits are what I observed by reading code:
1. It only thread around blocks that
* Single entry
* Multip
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54742
Bug #: 54742
Summary: Switch elimination in FSM loop
Classification: Unclassified
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priori
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54733
Bug #: 54733
Summary: Missing opportunity to optimize endian independent
load/store
Classification: Unclassified
Product: gcc
Version: unknown
Status: UNCON
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51200
Joey Ye changed:
What|Removed |Added
Status|RESOLVED|VERIFIED
--- Comment #4 from Joey Ye 2011-12-2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51200
--- Comment #2 from Joey Ye 2011-11-22 03:58:29 UTC ---
Here is a test case fix.
With this patch, backend part of Bernd's original patch can be skipped. Thus
DJ's concern of unnecessary change can be addressed.
Also this test case intends to war
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51200
--- Comment #1 from Joey Ye 2011-11-18 02:23:17 UTC ---
A patch is available at http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00217.html
but is pending for about 1 year.
Latest discussion is at http://gcc.gnu.org/ml/gcc-patches/2011-11/msg01623.ht
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51200
Bug #: 51200
Summary: Wrong code sequence to store restrict volatile
bitfield
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
S
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49437
Joey Ye changed:
What|Removed |Added
CC||joey.ye at arm dot com
--- Comment #2 from
70 matches
Mail list logo