Re: [Tinycc-devel] How exactly inline works and should I inline all the time?

2021-12-07 Thread Michael Matz

Hey,

On Tue, 7 Dec 2021, Antoni Gual Via wrote:


Perhaps it's  time to have a new official release?Antoni


Perhaps, but not because inlining would be done now: it isn't.  TCC 
doesn't inline functions into others.  But due to how c99 and c11 have 
special requirement for functions marked "inline" the keyword isn't 
completely ignored either, but it still doesn't cause called functions to 
be integrated into their callers.


Inline asm is something else (and doesn't use an "inline" keyword 
anyway), it simply describes the fact that you can write assembler 
instructions in C files, "in line" with the C sources, and don't have to 
resort writing .s files.



Ciao,
Michael.



[icon-envelope-tick-round-orange-animated-no-repeat-v1.gif] Libre de 
virus. www.avast.com


Missatge de l'adreça  del dia dt., 7 de des. 2021
a les 10:44:
  Probably in 0.9.27 (which is almost 4 years old, btw
  -17-Dec-2017 08:27-) :

  http://download.savannah.nongnu.org/releases/tinycc/
  https://repo.or.cz/tinycc.git ("release_0_9_27" tag)

  Yet it officially supports inlined assembly, that also uses the
  'inline' keyword, hence not completely "ignored".

  Anyway, if you look at the tcc source code (tccgen.c, tccpp.c,
  ...) there is already plenty of "inline" inside.

  Regards.

  - Mail d'origine -
  De: Antoni Gual Via 
  À: tinycc-devel@nongnu.org
  Envoyé: Tue, 07 Dec 2021 09:32:35 +0100 (CET)
  Objet: Re: [Tinycc-devel] How exactly inline works and should I
  inline all the time?

  Have I missed anything?
  The documentation for TCC 0.27 states that the inline keyword is
  ignored

  Antonio


<https://www.avast.com/sig-email?utm_medium=email_source=link_campa
  ign=sig-email_content=webmail>
  Libre
  de virus. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email_source=link_campa
  ign=sig-email_content=webmail>
  <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

  Missatge de Antonio Prates  del dia
  dt., 7 de des.
  2021 a les 0:35:

  > Also note you can't inline recursive functions, and other
  restrictions
  > could apply.
  >
  > Maybe have a look into this thread on quora:
  > https://www.quora.com/Can-a-inline-function-be-recursive
  >
  > On Dec 6 2021, at 6:23 pm, david.k...@libertysurf.fr wrote:
  >
  > > Inline is used very specifically where the code has to be
  fast.
  > >
  > > Best is only to inline tiny parts of code that will be
  "inlined".
  > >
  > > That's to say "injected" into the source code where it is
  needed.
  > >
  > > Otherwise it is a full jump to a distant function, with
  context saving.
  > >
  > > Hence the "inlining" only serves a very specific purpose.
  > >
  > > Regards.
  > >
  > > ----- Mail d'origine -----
  > > De: rempas via Tinycc-devel 
  > > À: Tinycc Devel 
  > > Cc: rem...@tutanota.com
  > > Envoyé: Mon, 06 Dec 2021 09:35:19 +0100 (CET)
  > > Objet: [Tinycc-devel] How exactly inline works and should I
  inline all
  > > the time?
  > >
  > > Hi!
  > >
  > > I don't know if we must only post questions that are
  specific to the
  > > TCC compiler
  > > specifically (even tho this question can differ from
  compiler to
  > > compiler) or we can
  > > make questions about C in general and in the case that the
  first is
  > > true then please
  > > inform me so I know. Anyway I wanted to ask how inline works
  > > specifically and not
  > > generally. I know generally that it "puts the source code"
  inline so
  > > we don't have to use
  > > "jmp" but is there anything else to it that I should know?
  Are there
  > > any dangers or reasons
  > > than someone should not use it? Also is there a way to tell
  the
  > > compiler to inline every
  > > function rather than always having to add the "inline"
  keyword?
  > >
  > > ___
  > > Tinycc-devel mailing list
  > > Tinycc-devel@nongnu.org
  > > https://lists.nongnu.org/mailman/listinfo/tinycc-devel
  > >
  > >
  > > ___
  > > Tinycc-devel mailing list
  > > Tinycc-devel@nongnu.org
  > > https://lists.nongnu.org/mailman/listinfo/tinycc-devel
  > >
  >
  > ___

Re: [Tinycc-devel] How exactly inline works and should I inline all the time?

2021-12-07 Thread Antoni Gual Via
Perhaps it's  time to have a new official release?
Antoni

<https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail>
Libre
de virus. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

Missatge de l'adreça  del dia dt., 7 de des.
2021 a les 10:44:

> Probably in 0.9.27 (which is almost 4 years old, btw -17-Dec-2017 08:27-) :
>
> http://download.savannah.nongnu.org/releases/tinycc/
> https://repo.or.cz/tinycc.git ("release_0_9_27" tag)
>
> Yet it officially supports inlined assembly, that also uses the 'inline'
> keyword, hence not completely "ignored".
>
> Anyway, if you look at the tcc source code (tccgen.c, tccpp.c, ...) there
> is already plenty of "inline" inside.
>
> Regards.
>
> - Mail d'origine -
> De: Antoni Gual Via 
> À: tinycc-devel@nongnu.org
> Envoyé: Tue, 07 Dec 2021 09:32:35 +0100 (CET)
> Objet: Re: [Tinycc-devel] How exactly inline works and should I inline all
> the time?
>
> Have I missed anything?
> The documentation for TCC 0.27 states that the inline keyword is
> ignored
>
> Antonio
>
>
> <
> https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail
> >
> Libre
> de virus. www.avast.com
> <
> https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail
> >
> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>
> Missatge de Antonio Prates  del dia dt., 7 de
> des.
> 2021 a les 0:35:
>
> > Also note you can't inline recursive functions, and other restrictions
> > could apply.
> >
> > Maybe have a look into this thread on quora:
> > https://www.quora.com/Can-a-inline-function-be-recursive
> >
> > On Dec 6 2021, at 6:23 pm, david.k...@libertysurf.fr wrote:
> >
> > > Inline is used very specifically where the code has to be fast.
> > >
> > > Best is only to inline tiny parts of code that will be "inlined".
> > >
> > > That's to say "injected" into the source code where it is needed.
> > >
> > > Otherwise it is a full jump to a distant function, with context saving.
> > >
> > > Hence the "inlining" only serves a very specific purpose.
> > >
> > > Regards.
> > >
> > > - Mail d'origine -
> > > De: rempas via Tinycc-devel 
> > > À: Tinycc Devel 
> > > Cc: rem...@tutanota.com
> > > Envoyé: Mon, 06 Dec 2021 09:35:19 +0100 (CET)
> > > Objet: [Tinycc-devel] How exactly inline works and should I inline all
> > > the time?
> > >
> > > Hi!
> > >
> > > I don't know if we must only post questions that are specific to the
> > > TCC compiler
> > > specifically (even tho this question can differ from compiler to
> > > compiler) or we can
> > > make questions about C in general and in the case that the first is
> > > true then please
> > > inform me so I know. Anyway I wanted to ask how inline works
> > > specifically and not
> > > generally. I know generally that it "puts the source code" inline so
> > > we don't have to use
> > > "jmp" but is there anything else to it that I should know? Are there
> > > any dangers or reasons
> > > than someone should not use it? Also is there a way to tell the
> > > compiler to inline every
> > > function rather than always having to add the "inline" keyword?
> > >
> > > ___
> > > Tinycc-devel mailing list
> > > Tinycc-devel@nongnu.org
> > > https://lists.nongnu.org/mailman/listinfo/tinycc-devel
> > >
> > >
> > > ___
> > > Tinycc-devel mailing list
> > > Tinycc-devel@nongnu.org
> > > https://lists.nongnu.org/mailman/listinfo/tinycc-devel
> > >
> >
> > ___
> > Tinycc-devel mailing list
> > Tinycc-devel@nongnu.org
> > https://lists.nongnu.org/mailman/listinfo/tinycc-devel
> >
>
>
> ___
> Tinycc-devel mailing list
> Tinycc-devel@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>
___
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel


Re: [Tinycc-devel] How exactly inline works and should I inline all the time?

2021-12-07 Thread Antoni Gual Via
Have I missed anything?
The documentation for TCC 0.27 states that the inline keyword is ignored

Antonio


<https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail>
Libre
de virus. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

Missatge de Antonio Prates  del dia dt., 7 de des.
2021 a les 0:35:

> Also note you can't inline recursive functions, and other restrictions
> could apply.
>
> Maybe have a look into this thread on quora:
> https://www.quora.com/Can-a-inline-function-be-recursive
>
> On Dec 6 2021, at 6:23 pm, david.k...@libertysurf.fr wrote:
>
> > Inline is used very specifically where the code has to be fast.
> >
> > Best is only to inline tiny parts of code that will be "inlined".
> >
> > That's to say "injected" into the source code where it is needed.
> >
> > Otherwise it is a full jump to a distant function, with context saving.
> >
> > Hence the "inlining" only serves a very specific purpose.
> >
> > Regards.
> >
> > - Mail d'origine -
> > De: rempas via Tinycc-devel 
> > À: Tinycc Devel 
> > Cc: rem...@tutanota.com
> > Envoyé: Mon, 06 Dec 2021 09:35:19 +0100 (CET)
> > Objet: [Tinycc-devel] How exactly inline works and should I inline all
> > the time?
> >
> > Hi!
> >
> > I don't know if we must only post questions that are specific to the
> > TCC compiler
> > specifically (even tho this question can differ from compiler to
> > compiler) or we can
> > make questions about C in general and in the case that the first is
> > true then please
> > inform me so I know. Anyway I wanted to ask how inline works
> > specifically and not
> > generally. I know generally that it "puts the source code" inline so
> > we don't have to use
> > "jmp" but is there anything else to it that I should know? Are there
> > any dangers or reasons
> > than someone should not use it? Also is there a way to tell the
> > compiler to inline every
> > function rather than always having to add the "inline" keyword?
> >
> > ___
> > Tinycc-devel mailing list
> > Tinycc-devel@nongnu.org
> > https://lists.nongnu.org/mailman/listinfo/tinycc-devel
> >
> >
> > ___
> > Tinycc-devel mailing list
> > Tinycc-devel@nongnu.org
> > https://lists.nongnu.org/mailman/listinfo/tinycc-devel
> >
>
> ___
> Tinycc-devel mailing list
> Tinycc-devel@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>
___
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel


[Tinycc-devel] How exactly inline works and should I inline all the time?

2021-12-06 Thread rempas via Tinycc-devel
Hi!

I don't know if we must only post questions that are specific to the TCC 
compiler
specifically (even tho this question can differ from compiler to compiler) or 
we can
make questions about C in general and in the case that the first is true then 
please
inform me so I know. Anyway I wanted to ask how inline works specifically and 
not
generally. I know generally that it "puts the source code" inline so we don't 
have to use
"jmp" but is there anything else to it that I should know? Are there any 
dangers or reasons
than someone should not use it? Also is there a way to tell the compiler to 
inline every
function rather than always having to add the "inline" keyword?

___
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel