Skip to content
This repository was archived by the owner on Mar 31, 2026. It is now read-only.

What's Been Changed?

Paul Bowen-Huggett edited this page Jun 12, 2018 · 13 revisions

Note that this page isn't intended to include an exhaustive list of changes (that's what diff is for, after all) but instead to summarize the more significant modifications.

Clang Changes

LLVM Changes

New Optimization Passes

There are two new optimization passes:

  1. The “Digest Generation” pass
    • A new "TicketNode" metadata entry to carry the output from the digest-generation phase.
    • LegacyPassManagers.h extended to enable the names of the enabled passes and the target data layout to be hashed.
  2. The “Pruning” pass

MC/Target Changes

  • A new “-repo” object-file format has been added to the triple.

    • This adds a number of new supporting source files: MCAsmInfoRepo.h, MCRepoObjectWriter.h, MCRepoStreamer.h, and so on. In general, these addtions have used the ELF-equivalent functionality as the basis for the new code.
  • getSectionForContant() has an additional GlobalObject* passed to enable the ticket metadata associated with the constant to be found.

  • A new TargetLoweringObjectFileRepo subclass of TargetLoweringObjectFile.

New Tools

repo2obj

This utility creates an ELF object file from a repository given the pstore database path and a ticket file representing an individual compilation.

pstore

The family of pstore tools includes pstore-dump which can be used to inspect the database contents.

Clone this wiki locally