diff mbox

Housekeeping work in backends.html

Message ID 8312738.ciDlLVGyTE@polaris
State New
Headers show

Commit Message

Eric Botcazou Jan. 5, 2015, 11:15 p.m. UTC
Hi,

the attached patch removes obsolete ports (c4x, m68hc11 and ms1), toggles the 
'p' letter and adjust accordingly (only avr, fr30, m68k, mcore, rs6000 and sh 
still use define_peephole) and removes trailing spaces.

OK to commit?

Some ports are missing (lm32, moxie, nios2, nvptx, rl78, rx) so the relevant 
maintainers are CCed (see 6.3.9 Anatomy of a Target Back End in the doc).

Comments

Jeff Law Jan. 6, 2015, 6:43 p.m. UTC | #1
On 01/05/15 16:15, Eric Botcazou wrote:
> Hi,
>
> the attached patch removes obsolete ports (c4x, m68hc11 and ms1), toggles the
> 'p' letter and adjust accordingly (only avr, fr30, m68k, mcore, rs6000 and sh
> still use define_peephole) and removes trailing spaces.
>
> OK to commit?
>
> Some ports are missing (lm32, moxie, nios2, nvptx, rl78, rx) so the relevant
> maintainers are CCed (see 6.3.9 Anatomy of a Target Back End in the doc).
This is fine.

I might claim updating this shouldn't ever require a review :-)

jeff
Sandra Loosemore Jan. 6, 2015, 8:49 p.m. UTC | #2
On 01/05/2015 04:15 PM, Eric Botcazou wrote:
> Hi,
>
> the attached patch removes obsolete ports (c4x, m68hc11 and ms1), toggles the
> 'p' letter and adjust accordingly (only avr, fr30, m68k, mcore, rs6000 and sh
> still use define_peephole) and removes trailing spaces.
>
> OK to commit?
>
> Some ports are missing (lm32, moxie, nios2, nvptx, rl78, rx) so the relevant
> maintainers are CCed (see 6.3.9 Anatomy of a Target Back End in the doc).

I think that for nios2 the correct entry is probably "SCpd", but the 
descriptions of some of the things in the table are too terse for me to 
be 100% sure that's correct.  E.g., the nios2 architecture doesn't 
include the concept of "condition codes" at all, so how many registers 
they might occupy seems irrelevant.  And, I think the "S" (no free 
simulator) situation will probably be resolved soon, and it's hardly a 
property of either the architecture or the GCC port....

-Sandra
Eric Botcazou Jan. 6, 2015, 11:39 p.m. UTC | #3
> Some ports are missing (lm32, moxie, nios2, nvptx, rl78, rx) so the relevant
> maintainers are CCed (see 6.3.9 Anatomy of a Target Back End in the doc).

The page is directly browsable at https://gcc.gnu.org/backends.html

For the moxie, nvptx, rl178 and rx ports, maintainers can send me the string 
as Sandra did for the nios2 port and I'll update the document.
Max Filippov Jan. 7, 2015, 12:10 a.m. UTC | #4
Hi Eric,

On Wed, Jan 7, 2015 at 2:39 AM, Eric Botcazou <ebotcazou@adacore.com> wrote:
> The page is directly browsable at https://gcc.gnu.org/backends.html
>
> For the moxie, nvptx, rl178 and rx ports, maintainers can send me the string
> as Sandra did for the nios2 port and I'll update the document.

Xtensa is now supported by the QEMU, so probably question mark in its 'S' slot
may be removed.
Eric Botcazou Jan. 7, 2015, 8:09 a.m. UTC | #5
> Xtensa is now supported by the QEMU, so probably question mark in its 'S'
> slot may be removed.

Done, thanks.
Bernd Schmidt Jan. 10, 2015, midnight UTC | #6
On 01/07/2015 12:39 AM, Eric Botcazou wrote:
>> Some ports are missing (lm32, moxie, nios2, nvptx, rl78, rx) so the relevant
>> maintainers are CCed (see 6.3.9 Anatomy of a Target Back End in the doc).
>
> The page is directly browsable at https://gcc.gnu.org/backends.html
>
> For the moxie, nvptx, rl178 and rx ports, maintainers can send me the string
> as Sandra did for the nios2 port and I'll update the document.

For nvptx it's not really clear what to use in some cases, and in others 
I have no idea why we would need to keep track of these "characteristics".

H - you could argue a hardware implementation does not exist as it's a
     virtual target, but it can obviously be compiled down to run on
     hardware that does exist.
Q - "registers" are typed and you can declare 64 bit registers, so
     probably this is true
f - Not even sure what this is about. It only defines a small epilogue
     pattern.
a - Port uses neither LRA nor reload. Might be a new characteristic
     (along with several others).

The closest string is probably

SQCqfbde


Bernd
Eric Botcazou Jan. 13, 2015, 10:46 p.m. UTC | #7
> H - you could argue a hardware implementation does not exist as it's a
>      virtual target, but it can obviously be compiled down to run on
>      hardware that does exist.

Agreed.

> Q - "registers" are typed and you can declare 64 bit registers, so
>      probably this is true

OK.

> f - Not even sure what this is about. It only defines a small epilogue
>      pattern.

I think this means that the port still uses asm prologue/epilogue.  That's not 
the case here, so 'f' should probably be omitted and 'g' be added.

As a matter of fact, there are no ports left with 'f'.

> a - Port uses neither LRA nor reload. Might be a new characteristic
>      (along with several others).
> 
> The closest string is probably
> 
> SQCqfbde

Thanks, I have installed "SQCqgbde" based on the discussion above.
Anthony Green Jan. 14, 2015, 12:44 a.m. UTC | #8
Eric Botcazou <ebotcazou@adacore.com> writes:

> Some ports are missing (lm32, moxie, nios2, nvptx, rl78, rx) so the relevant 
> maintainers are CCed (see 6.3.9 Anatomy of a Target Back End in the doc).

I think I got this right....

           |      Characteristics
Target     | HMSLQNFICBD lqrcpfgmbdiates
-----------+----------------------------
moxie      |       F           g  d    s


AG
Eric Botcazou Jan. 14, 2015, 9:17 a.m. UTC | #9
> I think I got this right....
> 
>            |      Characteristics
> 
> Target     | HMSLQNFICBD lqrcpfgmbdiates
> -----------+----------------------------
> moxie      |       F           g  d    s

Thanks, applied, but I think that 't' could be added because AFAICS every insn 
(not expander) generates exactly 1 assembly instruction.  Not very important 
though since only iq2000 and mep also have this nice property.
diff mbox

Patch

Index: backends.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/backends.html,v
retrieving revision 1.51
diff -u -r1.51 backends.html
--- backends.html	22 Sep 2014 13:46:25 -0000	1.51
+++ backends.html	5 Jan 2015 23:07:09 -0000
@@ -47,7 +47,7 @@ 
 r       Port can switch between ILP32 and LP64 at runtime.
         (Not necessarily supported by all subtargets.)
 c       Port uses cc0.
-p       Port does not use define_peephole.
+p       Port uses define_peephole (as opposed to define_peephole2).
 f       Port does not define prologue and/or epilogue RTL expanders.
 g       Port does not define TARGET_ASM_FUNCTION_(PRO|EPI)LOGUE.
 m       Port does not use define_constants.
@@ -66,49 +66,46 @@ 
          | Characteristics
 Target   | HMSLQNFICBD lqrcpfgmbdates
 ---------+---------------------------
-aarch64  |     Q        q  p g  da  s
-alpha    |  ?? Q   C    q  p g bda e 
-arc      |          B      p g  da
+aarch64  |     Q        q    g  da  s
+alpha    |  ?? Q   C    q    g bda e
+arc      |          B        g  da
 arm      |                      da  s
-avr      |    L  FI    l  c  g b
-bfin     |       F         p g  da
-c4x      |  ??  N I BD       g  d  e 
-c6x      |   S     CB      p g bda 
+avr      |    L  FI    l  cp g b
+bfin     |       F           g  da
+c6x      |   S     CB        g bda
 cr16     |    L  F C         g      s
-cris     |       F  B     cp g b a  s
-epiphany |         C       p g bda  s
-fr30     | ??    FI B        gm     s
-frv      | ??       B      p    da  s
-h8300    |       FI       cp g      s
-i386     |   ? Q        q  p    da   
-ia64     |   ? Q   C    qr p    da   
-iq2000   | ???   FICB      p g  d t  
-m32c     |    L  FI    l   p g      s
+cris     |       F  B     c  g b a  s
+epiphany |         C         g bda  s
+fr30     | ??    FI B      p gm     s
+frv      | ??       B           da  s
+h8300    |       FI       c  g      s
+i386     |   ? Q        q       da
+ia64     |   ? Q   C    qr      da
+iq2000   | ???   FICB        g  d t
+m32c     |    L  FI    l     g      s
 m32r     |       FI             d   s
-m68hc11  |    L  FI    l  c         s
-m68k     |   ?            c      a   
-mcore    |  ?    FI          gm d   s
-mep      |       F C       p g  d t s
+m68k     |   ?            cp     a
+mcore    |  ?    FI        p gm d   s
+mep      |       F C         g  d t s
 microblaze         CB          bd   s
-mips     |     Q   CB   qr p   bda  s
-mmix     | HM  Q   C    q  p   b a e 
+mips     |     Q   CB   qr     bda  s
+mmix     | HM  Q   C    q      b a e
 mn10300  | ??             c  g      s
-ms1      |   S   F  B      p g bd
-msp430   |    L  FI    l   p g      s
-nds32    |       F C       p    da  s
-pa       |   ? Q   CBD  qr    m da e 
-pdp11    |    L   IC    qrcp       e 
-rs6000   |     Q   C    qr      da   
-s390     |   ? Q        qr p g bda e 
-sh       |     Q   CB   qr     bda   
-sparc    |     Q   CB   qr p    da   
-spu      |   ? Q  *C       p g bd    
-stormy16 | ???L  FIC D l   p  m  a
-tilegx   |   S Q   C    q  p g bda e
-tilepro  |   S   F C       p g bda e
-v850     | ??    FI       cp gm d   s
-vax      |  M?    I       cp     a e 
-xtensa   |   ?     C       p   bd    
+msp430   |    L  FI    l     g      s
+nds32    |       F C            da  s
+pa       |   ? Q   CBD  qr    m da e
+pdp11    |    L   IC    qrc        e
+rs6000   |     Q   C    qr p    da
+s390     |   ? Q        qr   g bda e
+sh       |     Q   CB   qr p   bda
+sparc    |     Q   CB   qr      da
+spu      |   ? Q  *C         g bd
+stormy16 | ???L  FIC D l      m  a
+tilegx   |   S Q   C    q    g bda e
+tilepro  |   S   F C         g bda e
+v850     | ??    FI       c  gm d   s
+vax      |  M?    I       c      a e
+xtensa   |   ?     C           bd
 </pre>
 
 <p>For AVR simulator, see <a