Re: RFA: Add lock_lenth attribute to support the ARC port (Was: Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles)

2012-10-24 Thread Richard Biener
On Wed, Oct 24, 2012 at 3:42 AM, Joern Rennecke joern.renne...@embecosm.com wrote: Quoting Richard Biener richard.guent...@gmail.com: On Tue, Oct 16, 2012 at 9:35 PM, Joern Rennecke joern.renne...@embecosm.com wrote: .. Well, we could split it anyway, and give ports without the need for

Re: RFA: Add lock_lenth attribute to support the ARC port (Was: Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles)

2012-10-24 Thread Joern Rennecke
Quoting Richard Biener richard.guent...@gmail.com: Just to add some extra information, can you quote your ports ADJUST_INSN_LENGTH and one example instruction with length/lock_length attribute the above applies to? This is a bit besides the point, since lock_length does mostly the traditional

Re: RFA: Add lock_lenth attribute to support the ARC port (Was: Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles)

2012-10-24 Thread Joseph S. Myers
On Tue, 23 Oct 2012, Joern Rennecke wrote: I'll be posting the ARC port shortly; it does not fit into a single 100 KB posting, so I'm thinking of splitting it in a configury patch and zx compressed files/tarballs for arc.c, arc.md, libgcc, and the rest of the port. The size limit is 400 kB,

RFA: Add lock_lenth attribute to support the ARC port (Was: Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles)

2012-10-23 Thread Joern Rennecke
Quoting Richard Biener richard.guent...@gmail.com: On Tue, Oct 16, 2012 at 9:35 PM, Joern Rennecke joern.renne...@embecosm.com wrote: .. Well, we could split it anyway, and give ports without the need for multiple length attributes the benefit of the optimistic algorithm. I have attached a

Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles

2012-10-20 Thread Richard Sandiford
Joern Rennecke joern.renne...@embecosm.com writes: @@ -1165,6 +1175,7 @@ shorten_branches (rtx first ATTRIBUTE_UN get the current insn length. If it has changed, reflect the change. When nothing changes for a full pass, we are done. */ + bool first_pass ATTRIBUTE_UNUSED =

Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles

2012-10-20 Thread Joern Rennecke
Quoting Richard Sandiford rdsandif...@googlemail.com: I think instead the set-up loop should have: if (GET_CODE (body) == ADDR_VEC || GET_CODE (body) == ADDR_DIFF_VEC) { #ifdef CASE_VECTOR_SHORTEN_MODE if (increasing GET_CODE (body) == ADDR_DIFF_VEC)

Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles

2012-10-20 Thread Richard Sandiford
Joern Rennecke joern.renne...@embecosm.com writes: Quoting Richard Sandiford rdsandif...@googlemail.com: I think instead the set-up loop should have: if (GET_CODE (body) == ADDR_VEC || GET_CODE (body) == ADDR_DIFF_VEC) { #ifdef CASE_VECTOR_SHORTEN_MODE if (increasing

Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles

2012-10-19 Thread Joern Rennecke
Quoting Richard Sandiford rdsandif...@googlemail.com: Joern Rennecke joern.renne...@embecosm.com writes: When the condition is not fulfilled, we want to keep the length from the previous iteration. Right, that's what I mean. So we need to make sure that the difference between the address

Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles

2012-10-18 Thread Richard Sandiford
Joern Rennecke joern.renne...@embecosm.com writes: @@ -1360,12 +1369,20 @@ shorten_branches (rtx first ATTRIBUTE_UN else inner_length = insn_current_length (inner_insn); - if (inner_length != insn_lengths[inner_uid]) + /* We

Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles

2012-10-18 Thread Joern Rennecke
Quoting Richard Sandiford rdsandif...@googlemail.com: The fact that we even have shared unique ids is pretty bad -- and surely a contradiction in terms -- but I think both ways of handling them rely on the length being the same for all copies. If we don't record a length (your version), we

Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles

2012-10-18 Thread Richard Sandiford
Joern Rennecke joern.renne...@embecosm.com writes: Quoting Richard Sandiford rdsandif...@googlemail.com: The fact that we even have shared unique ids is pretty bad -- and surely a contradiction in terms -- but I think both ways of handling them rely on the length being the same for all copies.

Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles

2012-10-17 Thread Richard Biener
On Tue, Oct 16, 2012 at 9:35 PM, Joern Rennecke joern.renne...@embecosm.com wrote: Quoting Richard Sandiford rdsandif...@googlemail.com: Joern Rennecke joern.renne...@embecosm.com writes: 2012-10-04 Joern Rennecke joern.renne...@embecosm.com * final.c (get_attr_length_1): Use

Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles

2012-10-16 Thread Joern Rennecke
Quoting Richard Sandiford rdsandif...@googlemail.com: Joern Rennecke joern.renne...@embecosm.com writes: 2012-10-04 Joern Rennecke joern.renne...@embecosm.com * final.c (get_attr_length_1): Use direct recursion rather than calling get_attr_length.

Re: Ping: RFA: add lock_length attribute to break branch-shortening cycles

2012-10-15 Thread Richard Sandiford
Joern Rennecke joern.renne...@embecosm.com writes: 2012-10-04 Joern Rennecke joern.renne...@embecosm.com * final.c (get_attr_length_1): Use direct recursion rather than calling get_attr_length. (get_attr_lock_length): New function.

Ping: RFA: add lock_length attribute to break branch-shortening cycles

2012-10-14 Thread Joern Rennecke
2012-10-04 Joern Rennecke joern.renne...@embecosm.com * final.c (get_attr_length_1): Use direct recursion rather than calling get_attr_length. (get_attr_lock_length): New function. (INSN_VARIABLE_LENGTH_P): Define. (shorten_branches): Take