pcc (Peter Collingbourne)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 28 2012, 2:34 PM (247 w, 16 h)

Recent Activity

Fri, Sep 15

pcc committed rL313423: Try to fix check-asan..
Try to fix check-asan.
Fri, Sep 15, 4:39 PM
pcc committed rL313391: ubsan: Unbreak ubsan_cxx runtime library on Windows..
ubsan: Unbreak ubsan_cxx runtime library on Windows.
Fri, Sep 15, 1:25 PM
pcc closed D37882: ubsan: Unbreak ubsan_cxx runtime library on Windows. by committing rL313391: ubsan: Unbreak ubsan_cxx runtime library on Windows..
Fri, Sep 15, 1:25 PM
pcc added inline comments to D37882: ubsan: Unbreak ubsan_cxx runtime library on Windows..
Fri, Sep 15, 1:15 PM
pcc committed rL313379: cfi: Enable ThinLTO tests on Windows..
cfi: Enable ThinLTO tests on Windows.
Fri, Sep 15, 11:57 AM
pcc closed D37883: cfi: Enable ThinLTO tests on Windows. by committing rL313379: cfi: Enable ThinLTO tests on Windows..
Fri, Sep 15, 11:57 AM
pcc committed rL313378: ubsan: Stop building the DLL version of the runtime library on Windows..
ubsan: Stop building the DLL version of the runtime library on Windows.
Fri, Sep 15, 11:56 AM
pcc closed D37884: ubsan: Stop building the DLL version of the runtime library on Windows. by committing rL313378: ubsan: Stop building the DLL version of the runtime library on Windows..
Fri, Sep 15, 11:56 AM
pcc added inline comments to D37882: ubsan: Unbreak ubsan_cxx runtime library on Windows..
Fri, Sep 15, 11:53 AM

Thu, Sep 14

pcc created D37884: ubsan: Stop building the DLL version of the runtime library on Windows..
Thu, Sep 14, 7:06 PM
pcc created D37883: cfi: Enable ThinLTO tests on Windows..
Thu, Sep 14, 7:06 PM
pcc created D37882: ubsan: Unbreak ubsan_cxx runtime library on Windows..
Thu, Sep 14, 7:05 PM
pcc accepted D37059: [ELF] - LTO: do not optimize away symbols accessed from linkerscript..

LGTM

Thu, Sep 14, 9:25 AM

Wed, Sep 13

pcc accepted D37791: [XRay][CodeGen] Use the current function symbol as the associated symbol for the instrumentation map.

Perhaps simplify the test a little by requesting asm output and checking that the section directives are correct.

Wed, Sep 13, 11:16 PM
pcc committed rL313229: Reland r313157, "ThinLTO: Correctly follow aliasee references when dead….
Reland r313157, "ThinLTO: Correctly follow aliasee references when dead…
Wed, Sep 13, 10:04 PM
pcc closed D37842: Reland r313157, "ThinLTO: Correctly follow aliasee references when dead stripping." which was reverted in r313222. by committing rL313229: Reland r313157, "ThinLTO: Correctly follow aliasee references when dead….
Wed, Sep 13, 10:04 PM
pcc created D37842: Reland r313157, "ThinLTO: Correctly follow aliasee references when dead stripping." which was reverted in r313222..
Wed, Sep 13, 8:04 PM
pcc committed rL313201: Use -- to prevent the driver from confusing paths with flags, should fix Mac….
Use -- to prevent the driver from confusing paths with flags, should fix Mac…
Wed, Sep 13, 2:50 PM
pcc committed rL313169: Driver: Make -fwhole-program-vtables a core option so it can be used from clang….
Driver: Make -fwhole-program-vtables a core option so it can be used from clang…
Wed, Sep 13, 11:37 AM
pcc closed D37787: Driver: Make -fwhole-program-vtables a core option so it can be used from clang-cl. by committing rL313169: Driver: Make -fwhole-program-vtables a core option so it can be used from clang….
Wed, Sep 13, 11:37 AM
pcc added inline comments to D37059: [ELF] - LTO: do not optimize away symbols accessed from linkerscript..
Wed, Sep 13, 11:36 AM
pcc committed rL313157: ThinLTO: Correctly follow aliasee references when dead stripping..
ThinLTO: Correctly follow aliasee references when dead stripping.
Wed, Sep 13, 10:11 AM
pcc closed D37789: ThinLTO: Correctly follow aliasee references when dead stripping. by committing rL313157: ThinLTO: Correctly follow aliasee references when dead stripping..
Wed, Sep 13, 10:10 AM
pcc accepted D37814: [ThinLTO] AliasSummary should not have any references.

LGTM

Wed, Sep 13, 10:02 AM
pcc added a comment to D37789: ThinLTO: Correctly follow aliasee references when dead stripping..

LGTM, not sure how we didn't hit this before!

Short of restructuring the class hierarchy so that AliasSummary doesn't have the refs member

Wed, Sep 13, 9:55 AM

Tue, Sep 12

pcc created D37790: ThinLTOBitcodeWriter: Drop dead constant users before checking whether globals have no users..
Tue, Sep 12, 8:59 PM
pcc created D37789: ThinLTO: Correctly follow aliasee references when dead stripping..
Tue, Sep 12, 8:39 PM
pcc created D37787: Driver: Make -fwhole-program-vtables a core option so it can be used from clang-cl..
Tue, Sep 12, 8:07 PM
pcc committed rL313093: Add Linux target triple to hopefully fix Mac bots..
Add Linux target triple to hopefully fix Mac bots.
Tue, Sep 12, 4:41 PM
pcc accepted D37597: [ubsan] Function Sanitizer: Don't require writable text segments.

LGTM, thanks!

Tue, Sep 12, 4:22 PM
pcc committed rL313079: Remove -generate-dwarf-pub-sections flag..
Remove -generate-dwarf-pub-sections flag.
Tue, Sep 12, 2:53 PM
pcc closed D37725: Remove -generate-dwarf-pub-sections flag. by committing rL313079: Remove -generate-dwarf-pub-sections flag..
Tue, Sep 12, 2:52 PM
pcc committed rL313078: IR: Represent -ggnu-pubnames with a flag on the DICompileUnit..
IR: Represent -ggnu-pubnames with a flag on the DICompileUnit.
Tue, Sep 12, 2:52 PM
pcc closed D37655: IR: Represent -ggnu-pubnames with a flag on the DICompileUnit. by committing rL313078: IR: Represent -ggnu-pubnames with a flag on the DICompileUnit..
Tue, Sep 12, 2:52 PM
pcc added inline comments to D37725: Remove -generate-dwarf-pub-sections flag..
Tue, Sep 12, 2:32 PM
pcc added inline comments to D37709: [LLD] [COFF] Add support for the -wholearchive option.
Tue, Sep 12, 2:13 PM
pcc added inline comments to D37597: [ubsan] Function Sanitizer: Don't require writable text segments.
Tue, Sep 12, 1:06 PM
pcc added inline comments to D37059: [ELF] - LTO: do not optimize away symbols accessed from linkerscript..
Tue, Sep 12, 11:07 AM

Mon, Sep 11

pcc added inline comments to D37709: [LLD] [COFF] Add support for the -wholearchive option.
Mon, Sep 11, 11:40 PM
pcc requested changes to D37719: Allow public Triple deduction from ObjectFiles..

Before considering this patch I would first like to see another client of the function that you are adding.

Mon, Sep 11, 6:36 PM
pcc added inline comments to D37725: Remove -generate-dwarf-pub-sections flag..
Mon, Sep 11, 5:47 PM
pcc created D37725: Remove -generate-dwarf-pub-sections flag..
Mon, Sep 11, 5:05 PM
pcc added a dependent revision for D37655: IR: Represent -ggnu-pubnames with a flag on the DICompileUnit.: D37725: Remove -generate-dwarf-pub-sections flag..
Mon, Sep 11, 5:05 PM
pcc updated the diff for D37655: IR: Represent -ggnu-pubnames with a flag on the DICompileUnit..

Address review comments.

Mon, Sep 11, 4:42 PM
pcc added a comment to D37655: IR: Represent -ggnu-pubnames with a flag on the DICompileUnit..

Reckon maybe a test case with two units - one using gnu pubnames, one not, would be worth having to demonstrate that all works fine & is appropriately respected?

Mon, Sep 11, 4:42 PM
pcc committed rL312968: LowerTypeTests: Add import/export support for targets without absolute symbol….
LowerTypeTests: Add import/export support for targets without absolute symbol…
Mon, Sep 11, 3:50 PM
pcc closed D37408: LowerTypeTests: Add import/export support for targets without absolute symbol constants. by committing rL312968: LowerTypeTests: Add import/export support for targets without absolute symbol….
Mon, Sep 11, 3:50 PM
pcc added inline comments to D37408: LowerTypeTests: Add import/export support for targets without absolute symbol constants..
Mon, Sep 11, 3:50 PM
pcc committed rL312967: WholeProgramDevirt: Add import/export support for targets without absolute….
WholeProgramDevirt: Add import/export support for targets without absolute…
Mon, Sep 11, 3:36 PM
pcc closed D37407: WholeProgramDevirt: Add import/export support for targets without absolute symbol constants. by committing rL312967: WholeProgramDevirt: Add import/export support for targets without absolute….
Mon, Sep 11, 3:36 PM
pcc added inline comments to D37709: [LLD] [COFF] Add support for the -wholearchive option.
Mon, Sep 11, 2:17 PM
pcc accepted D37699: Improve readability of MinGW driver. NFC..

LGTM

Mon, Sep 11, 1:18 PM
pcc added inline comments to D37699: Improve readability of MinGW driver. NFC..
Mon, Sep 11, 1:01 PM
pcc added a comment to D37407: WholeProgramDevirt: Add import/export support for targets without absolute symbol constants..

Ping.

Mon, Sep 11, 12:52 PM
pcc added a comment to D37408: LowerTypeTests: Add import/export support for targets without absolute symbol constants..

Ping.

Mon, Sep 11, 12:52 PM

Fri, Sep 8

pcc created D37655: IR: Represent -ggnu-pubnames with a flag on the DICompileUnit..
Fri, Sep 8, 5:55 PM

Thu, Sep 7

pcc committed rL312770: COFF: Implement ThinLTO cache and cache pruning support..
COFF: Implement ThinLTO cache and cache pruning support.
Thu, Sep 7, 5:52 PM
pcc closed D37607: COFF: Implement ThinLTO cache and cache pruning support. by committing rL312770: COFF: Implement ThinLTO cache and cache pruning support..
Thu, Sep 7, 5:52 PM
pcc created D37607: COFF: Implement ThinLTO cache and cache pruning support..
Thu, Sep 7, 5:35 PM
pcc committed rL312767: WholeProgramDevirt: When promoting for single-impl devirt, also rename the….
WholeProgramDevirt: When promoting for single-impl devirt, also rename the…
Thu, Sep 7, 5:13 PM
pcc closed D37550: WholeProgramDevirt: When promoting for single-impl devirt, also rename the comdat. by committing rL312767: WholeProgramDevirt: When promoting for single-impl devirt, also rename the….
Thu, Sep 7, 5:13 PM
pcc committed rL312762: COFF: Remove unnecessary casts. NFCI..
COFF: Remove unnecessary casts. NFCI.
Thu, Sep 7, 4:50 PM
pcc added inline comments to D37597: [ubsan] Function Sanitizer: Don't require writable text segments.
Thu, Sep 7, 4:01 PM
pcc added a comment to D37597: [ubsan] Function Sanitizer: Don't require writable text segments.

Thanks. Once we apply this fix to other platforms this would seem to fix PR17633.

Thu, Sep 7, 3:56 PM
pcc added a comment to D36351: [lld][ELF] Add profile guided section layout.
In D36351#864001, @pcc wrote:
In D36351#863966, @ruiu wrote:

I have a local patch to AutoFDO that I use to create profiles. I can upload it somewhere if you'd like.

Thanks. But the paper says that they used perf command to get profiling data. Why did you have to use AutoFDO?

As far as I know the missing piece is a tool that converts LBR data collected by perf into a weighted call graph. AutoFDO already has support for creating weighted call graphs from perf LBR data, so I just needed to teach it to output the graph in a different format.

Thu, Sep 7, 2:51 PM · lld
pcc added a comment to D36351: [lld][ELF] Add profile guided section layout.
In D36351#863966, @ruiu wrote:

I have a local patch to AutoFDO that I use to create profiles. I can upload it somewhere if you'd like.

Thanks. But the paper says that they used perf command to get profiling data. Why did you have to use AutoFDO?

Thu, Sep 7, 2:38 PM · lld
pcc added a comment to D36351: [lld][ELF] Add profile guided section layout.
In D36351#863961, @ruiu wrote:

How can I test this? I wonder how to create profiling data to feed this feature.

Thu, Sep 7, 2:22 PM · lld
pcc committed rL312744: COFF: PDB: Allow multiple modules with the same name..
COFF: PDB: Allow multiple modules with the same name.
Thu, Sep 7, 1:41 PM
pcc closed D37589: COFF: PDB: Allow multiple modules with the same name. by committing rL312744: COFF: PDB: Allow multiple modules with the same name..
Thu, Sep 7, 1:41 PM
pcc created D37589: COFF: PDB: Allow multiple modules with the same name..
Thu, Sep 7, 1:14 PM
pcc committed rL312740: Remove dead code. NFCI..
Remove dead code. NFCI.
Thu, Sep 7, 12:18 PM

Wed, Sep 6

pcc committed rL312698: ModuleSummaryAnalysis: Correctly handle all function operand references..
ModuleSummaryAnalysis: Correctly handle all function operand references.
Wed, Sep 6, 10:37 PM
pcc closed D37553: Analysis: Correctly handle all function operand references. by committing rL312698: ModuleSummaryAnalysis: Correctly handle all function operand references..
Wed, Sep 6, 10:36 PM
pcc updated subscribers of D37553: Analysis: Correctly handle all function operand references..
Wed, Sep 6, 9:01 PM
pcc created D37553: Analysis: Correctly handle all function operand references..
Wed, Sep 6, 8:56 PM
pcc created D37550: WholeProgramDevirt: When promoting for single-impl devirt, also rename the comdat..
Wed, Sep 6, 6:54 PM
pcc committed rL312686: Object: Downgrade invalid weak externals from an assert fail to an llvm::Error….
Object: Downgrade invalid weak externals from an assert fail to an llvm::Error…
Wed, Sep 6, 6:35 PM
pcc committed rL312683: LTO: Remove unnecessary Windows support code..
LTO: Remove unnecessary Windows support code.
Wed, Sep 6, 5:56 PM
pcc added inline comments to D37541: llvm-lib: add a feature to merge library files..
Wed, Sep 6, 5:41 PM

Tue, Sep 5

pcc added a comment to D37407: WholeProgramDevirt: Add import/export support for targets without absolute symbol constants..

Ok, looks fine to me.
Could you elaborate on the linker issue - is it that some of the uses of these constants can not be represented with existing relocation types? Or is it missing functionality in the existing linkers?

Tue, Sep 5, 4:36 PM
pcc added inline comments to D37407: WholeProgramDevirt: Add import/export support for targets without absolute symbol constants..
Tue, Sep 5, 2:43 PM
pcc committed rL312567: LTO: Try to open cache files before renaming them..
LTO: Try to open cache files before renaming them.
Tue, Sep 5, 12:55 PM
pcc closed D37410: LTO: Try to open cache files before renaming them. by committing rL312567: LTO: Try to open cache files before renaming them..
Tue, Sep 5, 12:55 PM
pcc added a comment to D37410: LTO: Try to open cache files before renaming them..

I think you actually can rename open files on Windows. Or at least, you can try to. I'll have to dig in when I have a bit more time though to see if there's any weird things we need to be aware of when doing it, or casse where it won't work.

But basically, what you do is call SetFileInformationByHandle and set the FileInformationClass parameter to FileRenameInfo, and fill out a FILE_RENAME_INFO structure to pass for the 3rd argument.

Tue, Sep 5, 12:55 PM

Fri, Sep 1

pcc created D37410: LTO: Try to open cache files before renaming them..
Fri, Sep 1, 5:56 PM
pcc created D37408: LowerTypeTests: Add import/export support for targets without absolute symbol constants..
Fri, Sep 1, 5:29 PM
pcc created D37407: WholeProgramDevirt: Add import/export support for targets without absolute symbol constants..
Fri, Sep 1, 5:29 PM
pcc accepted D37368: COFF: handle multiply defined symbols with different storage.

LGTM

Fri, Sep 1, 12:23 PM · lld
pcc added inline comments to D37368: COFF: handle multiply defined symbols with different storage.
Fri, Sep 1, 11:44 AM · lld
pcc added inline comments to D37368: COFF: handle multiply defined symbols with different storage.
Fri, Sep 1, 11:31 AM · lld
pcc added inline comments to D37368: COFF: handle multiply defined symbols with different storage.
Fri, Sep 1, 11:15 AM · lld
pcc committed rL312332: ModuleSummaryAnalysis: Correctly handle refs from function inline asm to module….
ModuleSummaryAnalysis: Correctly handle refs from function inline asm to module…
Fri, Sep 1, 9:25 AM
pcc closed D37370: ModuleSummaryAnalysis: Correctly handle refs from function inline asm to module inline asm. by committing rL312332: ModuleSummaryAnalysis: Correctly handle refs from function inline asm to module….
Fri, Sep 1, 9:25 AM
pcc added inline comments to D37370: ModuleSummaryAnalysis: Correctly handle refs from function inline asm to module inline asm..
Fri, Sep 1, 9:25 AM
pcc added a comment to D37372: [XRay][compiler-rt] Make __xray_CustomEvent PIC friendlier and build a dynamic version of the XRay runtime.

I'm not sure if this change will do what you think it does. The linker should create GOTs and PLTs for all symbols, even those defined by .s files, as long as an appropriate relocation exists. In particular the change you are making in D37373 should on its own result in the creation of PLT entries for __xray_CustomEntry. Can you please explain the problem that you are trying to solve?

Fri, Sep 1, 9:22 AM
pcc accepted D37373: [XRay][CodeGen] Use PIC-friendly code in XRay sleds and remove synthetic references in .text.

LGTM

Fri, Sep 1, 9:18 AM

Thu, Aug 31

pcc created D37370: ModuleSummaryAnalysis: Correctly handle refs from function inline asm to module inline asm..
Thu, Aug 31, 9:33 PM

Wed, Aug 30

pcc accepted D37313: Simplify writeArchive return type..

LGTM

Wed, Aug 30, 2:50 PM

Tue, Aug 29

pcc added a comment to D34560: Completelly disable git/svn version checking if not needed.
In D34560#855831, @rnk wrote:
In D34560#855735, @pcc wrote:

I thought that the purpose of this change was to make thinlto use LLVM_APPEND_VC_REV to control whether to add the VCS revision to the hash. Or do you think there should be a separate CMake variable to control whether thinlto uses the VCS revision?

I think I see what happened now.

LLVM_APPEND_VC_REV was a dormant option that probably nobody was using. The effect of that option was to add the revision to LLVM_VERSION_STRING in llvm-config.h, which causes llvm-config.h to change after every git commit. This is, IMO, completely undesirable.

Because that functionality was disabled by default, you and others (Jordan?) created VCSRevision.h and the things that came before it to compute accurate version information as part of the build. Rafael didn't want actions to run after changing git branches, so he wrote this patch to put the behavior under this flag. Because you requested the default to change, now everyone is getting the unintended updates to llvm-config.h, causing much larger rebuilds.

However, nobody noticed for months, because cmake caches option settings when it builds. In order to observe the new LLVM_APPEND_VC_REV default value, you have to delete CMakeCache.txt.

Tue, Aug 29, 2:17 PM
pcc added a comment to D34560: Completelly disable git/svn version checking if not needed.
In D34560#855667, @rnk wrote:
In D34560#789101, @pcc wrote:

Using LLVM_APPEND_VC_REV seems fine to me, but we probably want to update the documentation and most likely change the default because right now the VC revision affects ThinLTO cache invalidation, and we shouldn't silently use stale cache entries when clang is upgraded.

@beanz any thoughts?

I think we can revert the change to the default value of LLVM_APPEND_VC_REV. The VCS revision doesn't need to be included in LLVM_VERSION_STRING because ThinLTO includes VCSRevision.h to add LLVM_REVISION into the hash.

Tue, Aug 29, 12:48 PM