tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Michael Matz
Subject: Re: [Tinycc-devel] How exactly inline works and should I inline all the time?
Date: Tue, 7 Dec 2021 16:18:42 +0100 (CET)
User-agent: Alpine 2.21 (LSU 202 2017-01-01)

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 <david.koch@libertysurf.fr> 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 <antonigualvia@gmail.com>
      À: 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&utm_source=link&utm_campa
      ign=sig-email&utm_content=webmail>
      Libre
      de virus. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campa
      ign=sig-email&utm_content=webmail>
      <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

      Missatge de Antonio Prates <antonioprates@gmail.com> 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.koch@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@nongnu.org>
      > > À: Tinycc Devel <tinycc-devel@nongnu.org>
      > > Cc: rempas@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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]