Re: Compiler Output

haddock!uunet!uiucdcs!ccvaxa!aglew
19 Dec 87 21:36:00 GMT

          From comp.compilers

Related articles
Compiler Output gm@amdahl.amdahl.com (1987-12-08)
Re: Compiler Output rab@mimsy.UUCP (1987-12-09)
Re: Compiler Output ll-xn!ames!oliveb!felix!preston@BBN.COM (1987-12-11)
Re: Compiler Output haddock!uunet!uiucdcs!ccvaxa!aglew (1987-12-19)
| List of all articles for this month |
From: haddock!uunet!uiucdcs!ccvaxa!aglew
Newsgroups: comp.compilers
Date: 19 Dec 87 21:36:00 GMT
References: <777@ima.ISC.COM>
Nf-Id: #R:ima.ISC.COM:777:ccvaxa:35300002:000:1567
Nf-From: ccvaxa.UUCP!aglew Dec 19 15:36:00 1987

..> Compilers generating assembly or object code


An example: PCC compilers usually generate assembly, so there are
utilities like "inline" in BSD 4.3 that perform inline expansion
of assembly language functions, and permit access via what seems to be
a function call to C, to all the special instructions of your machine,
without paying the overhead of an assembly language wrapper.


Eg. I just finished inlining all the special instructions on my machine, but
notably double precision arithmetic, access to special registers, and a
few special arithmetic operations like Shift and Count Zeroes - FFS.
All of these instructions fell naturally into our calling sequence,
so could be directly inlined to look like a function.


Of course, it's nicer when the compiler does inlining, but I haven't seen
cross-language inlining yet. Providing assembly language intermediate
code permits the creation of special purpose optimizations like BSD inline,
without having to learn the internal structure of the compiler.


And now I'm going to look at writing an improved assembly to assembly
lnaguage pipeline optimizer and code reorganizer. But, I don't want to
learn the innards of our compiler to do this.


Andy "Krazy" Glew. Gould CSD-Urbana. 1101 E. University, Urbana, IL 61801
aglew@mycroft.gould.com ihnp4!uiucdcs!ccvaxa!aglew aglew@gswd-vms.arpa
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.