[Patch, bfin/c6x] Fix ICE for backends that rely on reorder_loops.

2014-01-01 Thread Felix Yang
(working copy) @@ -1,3 +1,12 @@ +2014-01-01 Felix Yang + +* hw-doloop.c (set_bb_indices): Remove. +(reorder_loops): Ditto. +(reorg_loops): Remove do_reorder parameter. +* hw-doloop.h (reorg_loops): Likewise. +* config/c6x/c6x.c (c6x_hwloops): Do not rely on reorder_loops. +

Re: [Patch, bfin/c6x] Fix ICE for backends that rely on reorder_loops.

2014-01-01 Thread Felix Yang
n 1, 2014 at 9:01 PM, Felix Yang wrote: > cc1 backtrace: > > arraysum.c: In function 'test_entry': > arraysum.c:14:1: internal compiler error: in cfg_layout_initialize, at > cfgrtl.c:4233 > } > ^ > 0x6c096d cfg_layout_initialize(unsigned int) > ../../trunk/gc

[Patch, SMS] Fix a potential bug of schedule_reg_moves of SMS

2014-01-02 Thread Felix Yang
=== --- gcc/ChangeLog(revision 206279) +++ gcc/ChangeLog(working copy) @@ -1,3 +1,8 @@ +2013-01-02 Felix Yang + +* modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it +is newly allocated. + 2013-01-01 Jan-Benedict Glaw

Re: [Patch, bfin/c6x] Fix ICE for backends that rely on reorder_loops.

2014-01-02 Thread Felix Yang
ing copy) @@ -1,3 +1,9 @@ +2014-01-02 Felix Yang + +* config/c6x/c6x.c (c6x_hwloops): Do not reorder loop's basic blocks +if bb reordering is enabled. +* config/bfin/bfin.c (bfin_reorg_loops): Ditto. + 2014-01-01 Jan-Benedict Glaw * config/nios2/nios2.h (BITS_PER_UNIT): Do

Re: [Patch, SMS] Fix a potential bug of schedule_reg_moves of SMS

2014-01-02 Thread Felix Yang
Sorry, the year of the date in ChangeLog is wrong, fix it. Index: gcc/ChangeLog == = --- gcc/ChangeLog(revision 206279) +++ gcc/ChangeLog(working copy) @@ -1,3 +1,8 @@ +2014-01-02 Felix Yang + +* modulo-sched.c

Re: [Patch, bfin/c6x] Fix ICE for backends that rely on reorder_loops.

2014-01-05 Thread Felix Yang
Ping? Cheers, Felix On Thu, Jan 2, 2014 at 10:13 PM, Felix Yang wrote: > Hi Bernd, > > It's easy to reproduce this error: > step1: Build gcc for c6x from gcc code of latest trunk, say > c6x-uclinux-gcc for example > step2: Using the newly built c6x gcc compiler to

Re: [Patch, SMS] Fix a potential bug of schedule_reg_moves of SMS

2014-01-05 Thread Felix Yang
Ping ? Cheers, Felix On Thu, Jan 2, 2014 at 9:07 PM, Felix Yang wrote: > Hello Vladimir, > This patch fixes a trivial bug of SMS: distance1_uses needs to be > initialized if newly allocated. > Since the original author of SMS is not active for a very long time, > it would

[PATCH] Add zero-overhead looping for xtensa backend

2014-01-08 Thread Felix Yang
/ChangeLog(working copy) @@ -1,3 +1,18 @@ +2014-01-08 Felix Yang + +* config/xtensa/xtensa.c (xtensa_reorg): New. +(xtensa_reorg_loops): New. +(xtensa_can_use_doloop_p): New. +(xtensa_invalid_within_doloop): New. +(hwloop_optimize): New. +(hwloop_fail): New

Re: [PATCH] Add zero-overhead looping for xtensa backend

2014-01-09 Thread Felix Yang
the reason why I don't check the size of the loop. Index: gcc/ChangeLog === --- gcc/ChangeLog(revision 206463) +++ gcc/ChangeLog(working copy) @@ -1,3 +1,18 @@ +2014-01-09 Felix Yang + +* config/xtensa/xtensa.c (xten

Re: [PATCH] Add zero-overhead looping for xtensa backend

2014-01-09 Thread Felix Yang
for trunk. Cheers, Felix On Thu, Jan 9, 2014 at 11:08 PM, Felix Yang wrote: > Hi Sterling, > > Attached please find version 2 of the patch. > > I applied this updated patch (with small adaptations) to gcc-4.8.2 > and carried out some tests. > I can execute the tes

[Patch, xtensa] Add LOCAL_REGNO to the xtensa backend.

2014-01-14 Thread Felix Yang
=== --- gcc/ChangeLog(revision 206599) +++ gcc/ChangeLog(working copy) @@ -1,3 +1,7 @@ +2014-01-14 Felix Yang + +* config/xtensa/xtensa.h (LOCAL_REGNO): New. + 2014-01-14 Richard Biener PR tree-optimization/58921 Index

[Patch, xtensa] Add section anchor support for the xtensa backend.

2014-01-14 Thread Felix Yang
=== --- gcc/ChangeLog(revision 206599) +++ gcc/ChangeLog(working copy) @@ -1,3 +1,11 @@ +2014-01-14 Felix Yang + +* common/config/xtensa/xtensa-common.c +(xtensa_option_optimization_table): Enable -fsection-anchors under -O1 +or plus, and disable -fcommon by

[PATCH] Fix for PR62037

2014-08-08 Thread Felix Yang
geLog === --- gcc/ChangeLog(revision 213772) +++ gcc/ChangeLog(working copy) @@ -1,3 +1,9 @@ +2014-08-09 Felix Yang + +PR tree-optimization/62073 +* tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has +a basic block. + 2014-08-08 Guozh

Re: [PATCH] Fix for PR62037

2014-08-12 Thread Felix Yang
Hi Richard, I find that you missed the testcase with when committing the patch. GCC 4.8 & 4.9 branch also has the same issue, may be we need to fix for them too? Cheers, Felix On Mon, Aug 11, 2014 at 7:24 PM, Richard Biener wrote: > On Sat, Aug 9, 2014 at 6:28 AM, Felix Yang

[PATCH] Add Berkeley qsort to libiberty to make GCC host-independent

2014-08-13 Thread Felix Yang
13873) +++ libiberty/ChangeLog (working copy) @@ -1,3 +1,10 @@ +2014-08-12 Felix Yang + + * qsort.c: New file. + * Makefile.in (CFILES): Add qsort.c + (REQUIRED_OFILES): Add qsort.o. + (qsort.o): New target. + 2014-06-11 Andrew Burgess * cplus-dem.c (do_type):

Re: [PATCH] Fix for PR62037

2014-08-13 Thread Felix Yang
Hi Richard, Yeah, the testcase is there. Sorry for my mistake. Thank you for back-porting this patch to 4.8 & 4.9 branch. Cheers, Felix On Wed, Aug 13, 2014 at 5:30 PM, Richard Biener wrote: > On Tue, Aug 12, 2014 at 6:40 PM, Felix Yang wrote: >> Hi Richard, >> >

Re: [PATCH] Add Berkeley qsort to libiberty to make GCC host-independent

2014-08-13 Thread Felix Yang
berty (libiberty/random.c, an example). Cheers, Felix On Wed, Aug 13, 2014 at 8:16 PM, Jakub Jelinek wrote: > On Wed, Aug 13, 2014 at 08:12:03PM +0800, Felix Yang wrote: >> The qsort library function may have different behavior on >> different hosts (say Linux vs MinGW). >>

Re: [PATCH] Add Berkeley qsort to libiberty to make GCC host-independent

2014-08-13 Thread Felix Yang
Hi Jakub, I got it. I will update the patch after I finished integrating the GLIBC qsort with libiberty. Cheers, Felix On Wed, Aug 13, 2014 at 8:55 PM, Jakub Jelinek wrote: > On Wed, Aug 13, 2014 at 08:48:52PM +0800, Felix Yang wrote: >> I did tried to use the glibc qsort. I

Re: [PATCH] Add Berkeley qsort to libiberty to make GCC host-independent

2014-08-13 Thread Felix Yang
Is this possible a Canadian build. I am afread that the qsort then is from the MinGW/Win host? Cheers, Felix On Wed, Aug 13, 2014 at 9:31 PM, Jeff Law wrote: > On 08/13/14 06:12, Felix Yang wrote: >> >> Hi all, >> >> The qsort library function may have differe

[committed] MAINTAINERS (Write After Approval): Add myself.

2014-10-07 Thread Felix Yang
Index: MAINTAINERS === --- MAINTAINERS(revision 215985) +++ MAINTAINERS(working copy) @@ -583,6 +583,7 @@ Chung-Ju Wu Le-Chun Wu Mingjie Xing Canqun Yang

[4.8 & 4.9] Backport of r211885

2014-10-08 Thread Felix Yang
The enclosed patch for 4.8 & 4.9 branch is a backport of r211885 from trunk. The only change is to use: for (def_rec = DF_INSN_INFO_DEFS (insn_info); *def_rec; def_rec++) other than the new FOR_EACH_INSN_INFO_DEF interface. Bootstrapped on x86_64-SUSE-Linux for both branches. OK to apply? Ind

Re: [PATCH] Add zero-overhead looping for xtensa backend

2014-10-09 Thread Felix Yang
E_LITERALS #define TARGET_THREADPTRXCHAL_HAVE_THREADPTR +#define TARGET_LOOPSXCHAL_HAVE_LOOPS #define TARGET_DEFAULT \ ((XCHAL_HAVE_L32R? 0 : MASK_CONST16) |\ Cheers, Felix On Tue, Jan 14, 2014 at 1:23 AM, Sterling Augustine wrote: > On Thu, Jan 9

Re: 答复: [4.8 & 4.9] Backport of r211885

2014-10-09 Thread Felix Yang
heers, Felix On Thu, Oct 9, 2014 at 6:41 PM, Richard Biener wrote: > On Thu, Oct 9, 2014 at 11:35 AM, Yangfei (Felix) > wrote: >> >>> > > > On Thu, Oct 09, 2014 at 09:04:49AM +, Yangfei (Felix) wrote: >>> > > > > On Wed, Oct 08, 2014 at 11:0

Re: [PATCH] Add zero-overhead looping for xtensa backend

2014-10-10 Thread Felix Yang
: gcc/ChangeLog === --- gcc/ChangeLog(revision 216079) +++ gcc/ChangeLog(working copy) @@ -1,3 +1,20 @@ +2014-10-10 Felix Yang + +* config/xtensa/xtensa.h (TARGET_LOOPS): New Macro. +* config/xtensa/xtensa.c

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-10-11 Thread Felix Yang
=== --- gcc/ChangeLog(revision 216116) +++ gcc/ChangeLog(working copy) @@ -1,3 +1,14 @@ +2014-10-11 Felix Yang +Jeff Law + +* ira.c (struct equivalence): Change member "is_arg_equivalence" and "rep

Re: [PATCH] Add zero-overhead looping for xtensa backend

2014-10-13 Thread Felix Yang
LCOUNT register in GCC in order to free this general register. But I want this patch applied as a first step, OK? Cheers, Felix On Tue, Oct 14, 2014 at 12:09 AM, augustine.sterl...@gmail.com wrote: > On Fri, Oct 10, 2014 at 6:59 AM, Felix Yang wrote: >> Hi Sterling, >> >>

Re: [PATCH] Add zero-overhead looping for xtensa backend

2014-10-14 Thread Felix Yang
PING? Cheers, Felix On Tue, Oct 14, 2014 at 12:30 AM, Felix Yang wrote: > Thanks for the comments. > > The patch checked the usage of teh trip count register, making sure > that it is not used in the loop body other than the doloop_end or > lives past the doloop_end inst

[PATCH, trivial] Clean up code: update comments and fix spacing to conform to coding style.

2014-09-19 Thread Felix Yang
(ira_object_t obj1, ira_object_t obj2) { Index: gcc/ChangeLog === --- gcc/ChangeLog(revision 215391) +++ gcc/ChangeLog(working copy) @@ -1,3 +1,8 @@ +2014-09-19 Felix Yang + +* cfgrtl.c ira.c ira-color.c ira-conflicts

[PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-22 Thread Felix Yang
Hi, I find that update_equiv_regs in ira.c sets the wrong EQUIV reg-note for pseudo with more than one definiton in certain situation. Here is a simplified RTL snippet after this function finishs handling: (insn 77 37 78 2 (set (reg:SI 171) (const_int 0 [0])) ticket151.c:33 52 {

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-23 Thread Felix Yang
Hi, Attached please fined the updated patch. Cheers, Felix On Tue, Sep 23, 2014 at 10:48 AM, Yangfei (Felix) wrote: >> On 09/22/14 08:40, Felix Yang wrote: >> > Hi, >> > >> > I find that update_equiv_regs in ira.c sets the wrong EQUIV >> &

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-23 Thread Felix Yang
/ChangeLog(working copy) @@ -1,3 +1,8 @@ +2014-09-23 Felix Yang + +* ira.c (update_equiv_regs): Check all definitions for a multiple-set +register to make sure that the RHS have the same value. + 2014-09-23 Ilya Enkovich * cfgcleanup.c (try_optimize_cfg): Do not remove label

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-24 Thread Felix Yang
/ChangeLog(revision 215550) +++ gcc/ChangeLog(working copy) @@ -1,3 +1,11 @@ +2014-09-24 Felix Yang + +* ira.c (struct equivalence): Add no_equiv member. +(no_equiv): Set no_equiv of struct equivalence if register is marked +as having no known equivalence. +(update_equiv_regs

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-24 Thread Felix Yang
PING ? Cheers, Felix On Wed, Sep 24, 2014 at 8:07 PM, Felix Yang wrote: > Hi Jeff, > > Thanks for the comments. I updated the patch adding some enhancements. > Bootstrapped on x86_64-suse-linux. Please apply this patch if OK for > trunk. > > Three points: >

[PATCH] Fix typo in comments

2014-09-25 Thread Felix Yang
ngeLog === --- gcc/ChangeLog(revision 215598) +++ gcc/ChangeLog(working copy) @@ -1,3 +1,8 @@ +2014-09-25 Felix Yang + +* lra.c (lra_set_insn_recog_data): Fix typo in comment. +* genautomata.c (merge_states): Ditto. + 2014-09-25 Ale

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-26 Thread Felix Yang
s26 # of expected failures3 # of unsupported tests1 === libstdc++ tests === +++ gcc/ChangeLog(working copy) @@ -1,3 +1,13 @@ +2014-09-26 Felix Yang +Jeff Law + +* ira.c (struct equivalence): Change member "is_arg_equivalence" and "repla

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-27 Thread Felix Yang
ke[1]: *** [stage1-bubble] Error 2 make[1]: Leaving directory `/home/yangfei/gcc-devel/build' make: *** [all] Error 2 I think the code change is OK. Anything I missed? Cheers, Felix On Sat, Sep 27, 2014 at 5:03 AM, Jeff Law wrote: > On 09/26/14 07:57, Felix Yang wrote: >> >>