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 joey.ye at arm dot com ---
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 joey.ye at arm dot com changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #14 from Joey Ye joey.ye at arm dot com ---
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 joey.ye at arm dot com ---
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
-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=63747
--- Comment #2 from Joey Ye joey.ye at arm dot com ---
/* { 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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63747
--- Comment #3 from Joey Ye joey.ye at arm dot com ---
Created attachment 33906
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33906action=edit
/home/joeye01/patches/icf-switch-testcase-141105.patch
Test case patch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63747
--- Comment #4 from Joey Ye joey.ye at arm dot com ---
It actually fails on all targets.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #1 from Joey Ye joey.ye at arm dot com ---
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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #2 from Joey Ye joey.ye at arm dot com ---
Created attachment 33871
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33871action=edit
Reduced rtl dump
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #3 from Joey Ye joey.ye at arm dot com ---
Created attachment 33872
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33872action=edit
Reduced rtl dump previous pass
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #4 from Joey Ye joey.ye at arm dot com ---
Created attachment 33873
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33873action=edit
Preprocessed testcase
Options to reproduce:
-march=armv4t -mthumb -O2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #6 from Joey Ye joey.ye at arm dot com ---
(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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63718
--- Comment #8 from Joey Ye joey.ye at arm dot com ---
(In reply to vries from comment #5)
Created attachment 33874 [details]
tentative patch, adds missing clobbers
This patch does recover thumb1 bootstrap
- Joey
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: In function
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59335
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
Status|REOPENED|RESOLVED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59335
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
Status|RESOLVED|REOPENED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56846
--- Comment #5 from Joey Ye joey.ye at arm dot com ---
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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56846
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
CC||joey.ye at arm dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60169
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60166
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60169
--- Comment #2 from Joey Ye joey.ye at arm dot com ---
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=60172
--- Comment #10 from Joey Ye joey.ye at arm dot com ---
(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=60172
--- Comment #11 from Joey Ye joey.ye at arm dot com ---
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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54742
--- Comment #36 from Joey Ye joey.ye at arm dot com ---
Please ignore previous comment as it shouldn't be here.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60172
--- Comment #7 from Joey Ye joey.ye at arm dot com ---
(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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60172
--- Comment #8 from Joey Ye joey.ye at arm dot com ---
Here is tree dump and diff of 133t.forwprop4
bb 2:
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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54742
--- Comment #35 from Joey Ye joey.ye at arm dot com ---
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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60172
--- Comment #2 from Joey Ye joey.ye at arm dot com ---
Created attachment 32131
-- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32131action=edit
The function that causes the regression
Attached Proc_8 from dhrystone, header file and good/bad.s
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60172
--- Comment #4 from Joey Ye joey.ye at arm dot com ---
-fdisable-tree-forwprop4 doesn't help. -fno-tree-ter makes it even worse.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60166
--- Comment #2 from Joey Ye joey.ye at arm dot com ---
(In reply to Ramana Radhakrishnan from comment #1)
Isn't this a dup of PR59833.
It isn't. This one is only impacts QNAN.
-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 rguent...@suse.de
PR tree-optimization/58742
* tree-ssa-forwprop.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59335
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
Status|RESOLVED|REOPENED
Assignee: unassigned at gcc dot gnu.org
Reporter: joey.ye at arm dot com
#include stdio.h
#include string.h
#include math.h
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);
return 0
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=32119action=edit
testcase
Trunk gcc 20140210:
arm-none-eabi-gcc -mthumb -fomit-frame-pointer -mthumb -fPIC -mcpu=cortex-m0
-mno-lra png.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60169
--- Comment #1 from Joey Ye joey.ye at arm dot com ---
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.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59335
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
Status|NEW |RESOLVED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59757
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
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 pop_options
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59884
--- Comment #2 from Joey Ye joey.ye at arm dot com ---
(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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59757
--- Comment #5 from Joey Ye joey.ye at arm dot com ---
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
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=31796action=edit
Reduced test case
target: arm-none-eabi
host: Only Windows (crossbuild with i586-mingw32msvc). The same revision
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59757
--- Comment #1 from Joey Ye joey.ye at arm dot com ---
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
: 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 v.c
-S
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56997
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
Status|NEW |RESOLVED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59582
--- Comment #6 from Joey Ye joey.ye at arm dot com ---
duplication of https://sourceware.org/bugzilla/show_bug.cgi?id=15323
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59582
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
Status|WAITING |RESOLVED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59582
--- Comment #5 from Joey Ye joey.ye at arm dot com ---
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
--- Comment #2 from Joey Ye joey.ye at arm dot com ---
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
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/lib/gcc
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=56997
--- Comment #1 from Joey Ye joey.ye at arm dot com 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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56997
--- Comment #3 from Joey Ye joey.ye at arm dot com 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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54742
--- Comment #8 from Joey Ye joey.ye at arm dot com 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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54051
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
CC||joey.ye at arm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54051
--- Comment #6 from Joey Ye joey.ye at arm dot com 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=54933
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
CC||joey.ye at arm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55757
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
CC||joey.ye at arm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55757
--- Comment #5 from Joey Ye joey.ye at arm dot com 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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54742
--- Comment #3 from Joey Ye joey.ye at arm dot com 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
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:
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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51200
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
Status|RESOLVED|VERIFIED
--- Comment #4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51200
--- Comment #2 from Joey Ye joey.ye at arm dot com 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
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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51200
--- Comment #1 from Joey Ye joey.ye at arm dot com 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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49437
Joey Ye joey.ye at arm dot com changed:
What|Removed |Added
CC||joey.ye at arm dot com
70 matches
Mail list logo