If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: web.archive.org/web/20220818183345/https://gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html - LTO Overview (GNU Compiler Col.

site address: web.archive.org/web/20221002085615/https://gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html redirected to: web.archive.org/web/20220818183345/https://gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html

site title: LTO Overview (GNU Compiler Collection (GCC) Internals)

Our opinion (on Tuesday 29 September 2026 11:03:12 UTC):

GREEN status (no comments) - no comments

Meta tags:
description=LTO Overview (GNU Compiler Collection (GCC) Internals);
keywords=LTO Overview (GNU Compiler Collection (GCC) Internals);

Headings (most frequently used words):

25, design, overview, lto, modes, of, operation,

Text of the page (most frequently used words):
the (73), lto (27), and (22), this (14), object (10), compilation (10), program (9), which (9), for (9), into (8), files (8), gcc (8), file (7), whopr (7), whole (6), link (6), support (6), mode (5), during (5), wpa (5), stage (5), compiler (5), are (5), time (5), executes (5), call (5), graph (5), optimization (5), with (5), that (5), when (4), partitioned (4), partitions (4), main (4), parallel (4), memory (4), local (4), all (4), phase (4), implemented (4), code (4), generated (4), not (4), pass (4), function (4), sections (4), representation (4), gimple (4), objects (4), callgraph (3), ltrans (3), most (3), single (3), been (3), decisions (3), global (3), intermediate (3), information (3), both (3), two (3), set (3), bytecode (3), overview (3), next (2), index (2), contents (2), layout (2), given (2), number (2), same (2), advantage (2), allow (2), execution (2), stages (2), can (2), has (2), read (2), final (2), performed (2), analysis (2), makes (2), contain (2), language (2), every (2), splits (2), cpus (2), distributed (2), large (2), different (2), optimized (2), source (2), level (2), unit (2), one (2), infrastructure (2), modes (2), half (2), reader (2), front (2), end (2), enabled (2), lto1 (2), flto (2), elf (2), streamer (2), out (2), passes (2), currently (2), could (2), plugin (2), fat (2), used (2), slim (2), tools (2), systems (2), web (2), org (2), gnu (2), sep (2), compiling, split, roughly, size, tries, minimize, references, cross, partition, boundaries, consuming, part, process, additionally, avoids, need, load, seen, extension, usual, executed, within, after, transformations, made, locally, each, optimizations, cannot, decided, efficiently, may, sequentially, procedure, transformation, facilitate, results, stored, new, expressed, generation, lgen, compiled, packaged, together, summary, three, designed, utilize, multiple, environment, quickly, applications, stands, optimizer, confused, semantics, aggregated, from, many, distributes, sub, graphs, note, yet, but, since, parallelism, facilitated, via, generating, would, easy, implement, makefile, fwhole, similar, way, were, goals, was, effective, programs, reason, implements, operation, second, detects, invokes, reads, aggregates, them, translation, entry, point, lto_main, collect2, takes, image, built, previous, encodes, corresponding, produce_asm_for_decls, pass_ipa_lto_finish_out, traverses, encoding, reachable, declaration, type, generates, described, below, lto_output, pass_ipa_lto_gimple_out, manager, composed, ipa, all_lto_gen_passes, highest, first, writer, produces, streaming, internal, data, structures, needed, optimize, generate, includes, declarations, types, bodies, also, saved, alongside, option, passed, detected, configured, larger, than, regular, format, allows, ship, development, production, builds, perhaps, surprising, side, effect, feature, any, mistake, toolchain, leads, being, older, calling, directly, system, more, robust, disadvantage, user, informed, disabled, libtool, ffat, default, only, such, called, they, require, like, understand, symbol, tables, targets, these, have, extended, use, consisting, alone, emitted, special, based, well, darwin, cygwin, mingw, design, wayback, machine, http, archive, 20220818183345, https, onlinedocs, gccint, html, timestamps, about, capture, fail, success, 2023, 2022, 2021, aug, jul, jan, 2013, 2026, 132, captures, collection, internals,


Text of the page (random words):
lto overview gnu compiler collection gcc internals 132 captures 15 jan 2013 17 sep 2026 jul aug sep 18 2021 2022 2023 success fail about this capture timestamps the wayback machine http web archive org web 20220818183345 https gcc gnu org onlinedocs gccint lto overview html next lto object file layout up lto contents index 25 1 design overview link time optimization is implemented as a gcc front end for a bytecode representation of gimple that is emitted in special sections of o files currently lto support is enabled in most elf based systems as well as darwin cygwin and mingw systems by default object files generated with lto support contain only gimple bytecode such objects are called slim and they require that tools like ar and nm understand symbol tables of lto sections for most targets these tools have been extended to use the plugin infrastructure so gcc can support slim objects consisting of the intermediate code alone gimple bytecode could also be saved alongside final object code if the ffat lto objects option is passed or if no plugin support is detected for ar and nm when gcc is configured it makes the object files generated with lto support larger than regular object files this fat object format allows to ship one set of fat objects which could be used both for development and the production of optimized builds a perhaps surprising side effect of this feature is that any mistake in the toolchain leads to lto information not being used e g an older libtool calling ld directly this is both an advantage as the system is more robust and a disadvantage as the user is not informed that the optimization has been disabled at the highest level lto splits the compiler in two the first half the writer produces a streaming representation of all the internal data structures needed to optimize and generate code this includes declarations types the callgraph and the gimple representation of function bodies when flto is given during compilation of a source file the pass manager executes all the passes in all_lto_gen_passes currently this phase is composed of two ipa passes pass_ipa_lto_gimple_out this pass executes the function lto_output in lto streamer out cc which traverses the call graph encoding every reachable declaration type and function this generates a memory representation of all the file sections described below pass_ipa_lto_finish_out this pass executes the function produce_asm_for_decls in lto streamer out cc which takes the memory image built in the previous pass and encodes it in the corresponding elf file sections the second half of lto support is the reader this is implemented as the gcc front end lto1 in lto lto cc when collect2 detects a link set of o a files with lto information and the flto is enabled it invokes lto1 which reads the set of files and aggregates them into a single translation unit for optimization the main entry point for the reader is lto lto cc lto_main 25 1 1 lto modes of operation one of the main goals of the gcc link time infrastructure was to allow effective compilation of large programs for this reason gcc implements two link time compilation modes lto mode in which the whole program is read into the compiler at link time and optimized in a similar way as if it were a single source level compilation unit whopr or partitioned mode designed to utilize multiple cpus and or a distributed compilation environment to quickly link large applications whopr stands for whole program optimizer not to be confused with the semantics of fwhole program it partitions the aggregated callgraph from many different o files and distributes the compilation of the sub graphs to different cpus note that distributed compilation is not implemented yet but since the parallelism is facilitated via generating a makefile it would be easy to implement whopr splits lto into three main stages local generation lgen this stage executes in parallel every file in the program is compiled into the intermediate language and packaged together with the local call graph and summary information this stage is the same for both the lto and whopr compilation mode whole program analysis wpa wpa is performed sequentially the global call graph is generated and a global analysis procedure makes transformation decisions the global call graph is partitioned to facilitate parallel optimization during phase 3 the results of the wpa stage are stored into new object files which contain the partitions of program expressed in the intermediate language and the optimization decisions local transformations ltrans this stage executes in parallel all the decisions made during phase 2 are implemented locally in each partitioned object file and the final object code is generated optimizations which cannot be decided efficiently during the phase 2 may be performed on the local call graph partitions whopr can be seen as an extension of the usual lto mode of compilation in lto wpa and ltrans are executed within a single execution of the compiler after the whole program has been read into memory when compiling in whopr mode the callgraph is partitioned during the wpa stage the whole program is split into a given number of partitions of roughly the same size the compiler tries to minimize the number of references which cross partition boundaries the main advantage of whopr is to allow the parallel execution of ltrans stages which are the most time consuming part of the compilation process additionally it avoids the need to load the whole program into memory next lto object file layout up lto contents index
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)
  • loading

Verified site has: 3 subpage(s). Do you want to verify them? Verify pages:

1-3


The site also has references to the 2 subdomain(s)

  archive.org  Verify   help.archive.org  Verify


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/1.1 302 FOUND
Server nginx
Date Tue, 29 Sep 2026 11:03:06 GMT
Content-Type text/plain; charset=utf-8
Content-Length 0
Connection close
x-archive-redirect-reason found capture at 20220818183345
location htt???/web.archive.org/web/20220818183345/htt????/gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html
server-timing captures_list;dur=0.350952, exclusion.robots;dur=0.027900, exclusion.robots.policy;dur=0.021718, esindex;dur=0.006913, cdx.remote;dur=14.484141, LoadShardBlock;dur=162.388215, PetaboxLoader3.datanode;dur=125.703994, PetaboxLoader3.resolve;dur=9.864618
x-app-server wwwb-app220-dc8
x-ts 302
x-tr 194
server-timing TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie wb-p-SERVER=wwwb-app220; path=/
X-location All
X-AS 16276
X-RL 0
X-NA 0
X-Page-Cache MISS
Server-Timing MISS
X-NID OVH SAS
Referrer-Policy no-referrer-when-downgrade
Permissions-Policy interest-cohort=()
X-sd 0
HTTP/1.1 200 OK
Server nginx
Date Tue, 29 Sep 2026 11:03:12 GMT
Content-Type text/html; charset=utf-8
Transfer-Encoding chunked
Connection close
x-archive-orig-date Thu, 18 Aug 2022 18:33:45 GMT
x-archive-orig-server Apache/2.4.37 (Red Hat Enterprise Linux) OpenSSL/1.1.1k mod_qos/11.70 mod_wsgi/4.6.4 Python/3.6 mod_perl/2.0.12 Perl/v5.26.3
x-archive-orig-upgrade h2,h2c
x-archive-orig-connection Upgrade, close
x-archive-orig-last-modified Mon, 15 Aug 2022 00:53:20 GMT
x-archive-orig-etag 2681-5e63d0edf955c
x-archive-orig-accept-ranges bytes
x-archive-orig-content-length 9857
x-archive-orig-vary Accept-Encoding
x-archive-orig-strict-transport-security max-age=16070400
x-archive-guessed-content-type text/html
x-archive-guessed-charset utf-8
memento-datetime Thu, 18 Aug 2022 18:33:45 GMT
link <htt????/gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html>; rel= original , <htt???/web.archive.org/web/timemap/link/htt????/gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html>; rel= timemap ; type= application/link-format , <htt???/web.archive.org/web/htt????/gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html>; rel= timegate , <htt???/web.archive.org/web/20130115052324/htt???/gcc.gnu.org:80/onlinedocs/gccint/LTO-Overview.html>; rel= first memento ; datetime= Tue, 15 Jan 2013 05:23:24 GMT , <htt???/web.archive.org/web/20220709095526/htt????/gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html>; rel= prev memento ; datetime= Sat, 09 Jul 2022 09:55:26 GMT , <htt???/web.archive.org/web/20220818183345/htt????/gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html>; rel= memento ; datetime= Thu, 18 Aug 2022 18:33:45 GMT , <htt???/web.archive.org/web/20221128210102/htt????/gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html>; rel= next memento ; datetime= Mon, 28 Nov 2022 21:01:02 GMT , <htt???/web.archive.org/web/20260917210242/htt????/gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html>; rel= last memento ; datetime= Thu, 17 Sep 2026 21:02:42 GMT
content-security-policy default-src self unsafe-eval unsafe-inline data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src ARCHIVEIT-10636-2022081916-00000/ARCHIVEIT-10636-SEMIANNUAL-JOB1655373-SEED1795468-20220818042007694-00015-h3.warc.gz
server-timing captures_list;dur=0.587725, exclusion.robots;dur=0.041202, exclusion.robots.policy;dur=0.030657, esindex;dur=0.011334, cdx.remote;dur=8.105938, LoadShardBlock;dur=368.662386, PetaboxLoader3.datanode;dur=127.617737, PetaboxLoader3.resolve;dur=111.477681, load_resource;dur=4560.308118, nav;dur=0.235586
x-app-server wwwb-app244-dc8
x-ts 200
x-tr 4969
server-timing TR;dur=0,Tw;dur=0,Tc;dur=1
set-cookie wb-p-SERVER=wwwb-app244; path=/
X-location All
X-AS 16276
X-RL 0
X-NA 0
X-Page-Cache MISS
Server-Timing MISS
X-NID OVH SAS
Referrer-Policy no-referrer-when-downgrade
Permissions-Policy interest-cohort=()
X-sd 0
Content-Encoding gzip

Meta Tags

title="LTO Overview (GNU Compiler Collection (GCC) Internals)"
http-equiv="Content-Type" content="text/html; charset=utf-8"
name="description" content="LTO Overview (GNU Compiler Collection (GCC) Internals)"
name="keywords" content="LTO Overview (GNU Compiler Collection (GCC) Internals)"
name="resource-type" content="document"
name="distribution" content="global"
name="Generator" content="makeinfo"

Load Info

page size7465
load time (s)5.756192
redirect count1
speed download1296
server IP 207.241.237.3
* all occurrences of the string "http://" have been changed to "htt???/"