--- Comment #5 from alexvod at google dot com 2009-04-27 09:06 ---
Vladimir, many thanks for your analysis! I will try to do analysis myself and
make comparison on larger real-word examples next time. Lowering severity for
now.
--
alexvod at google dot com changed:
What
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: alexvod at google dot com
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: arm-eabi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39871
--- Comment #4 from alexvod at google dot com 2009-04-23 16:39 ---
A more simple example of this issue:
void func(int*);
void test()
{
int a = 0;
while (1) {
func(a);
if (a 12) break;
}
}
GCC rev123918:
push{lr}
sub sp, sp, #12
mov
--- Comment #3 from alexvod at google dot com 2009-04-23 16:49 ---
Another example of sub-optimal register allocation on ARM/thumb with IRA (not
sure if this the same bug or a different one).
int func(char*);
void func2(const char*, int);
void test(char **pSignature)
{
int clazz = 0
-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: alexvod at google dot com
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86-unknown-linux-gnu, arm-eabi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39874
code generated
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: regression
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: alexvod at google dot com
GCC build triplet
--- Comment #1 from alexvod at google dot com 2009-04-21 16:08 ---
Compilation options: -march=armv5te -fpic -mthumb-interwork -Os -mthumb
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39836
Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: alexvod at google dot com
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: arm-eabi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39837
--- Comment #1 from alexvod at google dot com 2009-04-21 16:45 ---
Created an attachment (id=17664)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17664action=view)
gcc-rev123918.regr.c.139r.loop2_invariant
A dump of loop2_invariant phase with gcc rev123918
--
http
--- Comment #2 from alexvod at google dot com 2009-04-21 16:47 ---
Created an attachment (id=17665)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17665action=view)
gcc-rev123919.regr.c.139r.loop2_invariant
A dump of loop2_invariant phase from gcc rev123919
--
http
ReportedBy: alexvod at google dot com
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39838
spill
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: regression
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: alexvod at google dot com
GCC build triplet: x86_64
--- Comment #2 from alexvod at google dot com 2009-04-21 18:37 ---
(In reply to comment #1)
This is IV-opts messing way up as far as I can tell. Pointer Plus just helped
out PRE and code motion passes which confuses the hell out of IV-opts.
I tried to use -fno-ivopts flag
org
ReportedBy: alexvod at google dot com
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39799
14 matches
Mail list logo