pcc (Peter Collingbourne)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 28 2012, 2:34 PM (263 w, 5 d)

Recent Activity

Today

pcc created D42225: libcxx: Provide overloads for basic_filebuf::open() et al that take wchar_t* filenames on Windows..
Wed, Jan 17, 7:02 PM
pcc retitled D42220: libcxx: Use vcruntime declarations for typeinfo on Windows. from libcxx: Move bad_cast and bad_typeid member functions inline on Windows. to libcxx: Use vcruntime declarations for typeinfo on Windows..
Wed, Jan 17, 6:37 PM
pcc updated the diff for D42220: libcxx: Use vcruntime declarations for typeinfo on Windows..
  • Use typeinfo declarations from vcruntime
Wed, Jan 17, 6:36 PM
pcc added a comment to D42220: libcxx: Use vcruntime declarations for typeinfo on Windows..

Is this really a "fix" or does it just hide the ODR issue?

Wed, Jan 17, 6:05 PM
pcc created D42220: libcxx: Use vcruntime declarations for typeinfo on Windows..
Wed, Jan 17, 5:21 PM
pcc added a comment to D42201: CodeGen: handle llvm.used properly for COFF.

This doesn't seem like it will do the right thing if the global has internal linkage. Do we care about that case? I guess we could handle it by emitting dummy ABSOLUTE relocations from a non-COMDAT section to the section or symbol that we want to preserve.

Wed, Jan 17, 4:57 PM
pcc committed rCXX322794: libcxx: Define set_unexpected, _get_unexpected and __uncaught_exceptions….
libcxx: Define set_unexpected, _get_unexpected and __uncaught_exceptions…
Wed, Jan 17, 4:36 PM
pcc committed rL322794: libcxx: Define set_unexpected, _get_unexpected and __uncaught_exceptions….
libcxx: Define set_unexpected, _get_unexpected and __uncaught_exceptions…
Wed, Jan 17, 4:36 PM
pcc closed D42207: libcxx: Define set_unexpected, _get_unexpected and __uncaught_exceptions without dllimport..
Wed, Jan 17, 4:36 PM
pcc created D42214: libcxx: Move Windows threading support into a .cpp file..
Wed, Jan 17, 4:36 PM
pcc created D42207: libcxx: Define set_unexpected, _get_unexpected and __uncaught_exceptions without dllimport..
Wed, Jan 17, 3:33 PM
pcc committed rCXX322744: libcxx: Disable CFI in function std::get_temporary_buffer..
libcxx: Disable CFI in function std::get_temporary_buffer.
Wed, Jan 17, 11:35 AM
pcc committed rL322744: libcxx: Disable CFI in function std::get_temporary_buffer..
libcxx: Disable CFI in function std::get_temporary_buffer.
Wed, Jan 17, 11:35 AM
pcc closed D42146: libcxx: Disable CFI in function std::get_temporary_buffer..
Wed, Jan 17, 11:35 AM
pcc closed D42146: libcxx: Disable CFI in function std::get_temporary_buffer..
Wed, Jan 17, 11:35 AM

Yesterday

pcc committed rCXX322617: libcxx: Stop using private MSVC macros in the exception implementation..
libcxx: Stop using private MSVC macros in the exception implementation.
Tue, Jan 16, 8:41 PM
pcc committed rL322617: libcxx: Stop using private MSVC macros in the exception implementation..
libcxx: Stop using private MSVC macros in the exception implementation.
Tue, Jan 16, 8:41 PM
pcc closed D42158: libcxx: Stop using private MSVC macros in the exception implementation..
Tue, Jan 16, 8:41 PM
pcc created D42158: libcxx: Stop using private MSVC macros in the exception implementation..
Tue, Jan 16, 7:38 PM
pcc committed rCRT322607: cfi: Add a blacklist entry for MSVC's std::get_temporary_buffer function..
cfi: Add a blacklist entry for MSVC's std::get_temporary_buffer function.
Tue, Jan 16, 5:17 PM
pcc committed rL322607: cfi: Add a blacklist entry for MSVC's std::get_temporary_buffer function..
cfi: Add a blacklist entry for MSVC's std::get_temporary_buffer function.
Tue, Jan 16, 5:17 PM
pcc closed D42150: cfi: Add a blacklist entry for MSVC's std::get_temporary_buffer function..
Tue, Jan 16, 5:16 PM
pcc created D42150: cfi: Add a blacklist entry for MSVC's std::get_temporary_buffer function..
Tue, Jan 16, 4:59 PM
pcc created D42146: libcxx: Disable CFI in function std::get_temporary_buffer..
Tue, Jan 16, 4:31 PM

Wed, Jan 10

pcc added inline comments to D41915: [lldCOFF] Print detailed timing information with /VERBOSE.
Wed, Jan 10, 6:40 PM
pcc added a comment to D41915: [lldCOFF] Print detailed timing information with /VERBOSE.

Could this also include some of the earlier linking phases in Driver.cpp (I'm thinking input file reading, GC, ICF)?

Wed, Jan 10, 2:39 PM
pcc committed rCXX322201: libcxx: Stop providing a definition of __GLIBC_PREREQ..
libcxx: Stop providing a definition of __GLIBC_PREREQ.
Wed, Jan 10, 10:18 AM
pcc committed rL322201: libcxx: Stop providing a definition of __GLIBC_PREREQ..
libcxx: Stop providing a definition of __GLIBC_PREREQ.
Wed, Jan 10, 10:18 AM
pcc closed D41892: libcxx: Stop providing a definition of __GLIBC_PREREQ..
Wed, Jan 10, 10:18 AM

Tue, Jan 9

pcc created D41892: libcxx: Stop providing a definition of __GLIBC_PREREQ..
Tue, Jan 9, 5:12 PM
pcc accepted D41741: LowerTypeTests: Add limited support for aliases.

LGTM

Tue, Jan 9, 3:09 PM
pcc added a comment to D41741: LowerTypeTests: Add limited support for aliases.

Sorry disregard the negative tests comment, i see that you added some to the existing tests.

Tue, Jan 9, 12:39 PM
pcc added a comment to D41741: LowerTypeTests: Add limited support for aliases.

The code looks good, but please add negative tests as well as tests for the functionality you are adding to ThinLTOBitcodeWriter.

Tue, Jan 9, 12:32 PM

Fri, Jan 5

pcc added inline comments to D41741: LowerTypeTests: Add limited support for aliases.
Fri, Jan 5, 3:59 PM

Thu, Jan 4

pcc committed rL321841: WholeProgramDevirt: Simplify ORE getter mechanism for old PM. NFCI..
WholeProgramDevirt: Simplify ORE getter mechanism for old PM. NFCI.
Thu, Jan 4, 4:28 PM
pcc added a comment to D41741: LowerTypeTests: Add limited support for aliases.

Please add some negative tests, e.g. alias of function without jump table entry,

Thu, Jan 4, 4:19 PM

Tue, Dec 19

pcc committed rC321139: Revert r320942, "[ASTImporter] Support importing FunctionTemplateDecl and….
Revert r320942, "[ASTImporter] Support importing FunctionTemplateDecl and…
Tue, Dec 19, 5:48 PM
pcc committed rL321139: Revert r320942, "[ASTImporter] Support importing FunctionTemplateDecl and….
Revert r320942, "[ASTImporter] Support importing FunctionTemplateDecl and…
Tue, Dec 19, 5:48 PM
pcc committed rCXX321124: libcxx: Fix for basic_stringbuf::seekoff() after r320604..
libcxx: Fix for basic_stringbuf::seekoff() after r320604.
Tue, Dec 19, 3:39 PM
pcc committed rL321124: libcxx: Fix for basic_stringbuf::seekoff() after r320604..
libcxx: Fix for basic_stringbuf::seekoff() after r320604.
Tue, Dec 19, 3:34 PM
pcc closed D41319: libcxx: Fix for basic_stringbuf::seekoff() after r320604..
Tue, Dec 19, 3:34 PM
pcc updated the diff for D41319: libcxx: Fix for basic_stringbuf::seekoff() after r320604..
  • Make __hm const
Tue, Dec 19, 3:24 PM

Dec 18 2017

pcc added a comment to D40720: No -fsanitize=function warning when calling noexcept function through non-noexcept pointer in C++17.

Would it be possible to fix this by stripping the noexcept specifiers from both the function type used in the check and the one that is embedded in the prefix data? The downside is that we won't catch the case where the caller has a noexcept specifier and the callee doesn't, but that seems like an edge case to me, and we can think about fixing it in other ways later.

Dec 18 2017, 1:29 PM

Dec 15 2017

pcc created D41319: libcxx: Fix for basic_stringbuf::seekoff() after r320604..
Dec 15 2017, 6:10 PM
pcc added inline comments to D41267: [LTO] Make processing of combined module more consistent.
Dec 15 2017, 5:56 PM
pcc accepted D41267: [LTO] Make processing of combined module more consistent.

LGTM

Dec 15 2017, 5:39 PM
pcc accepted D40747: [ThinLTO] Enable importing of aliases as copy of aliasee.

LGTM

Dec 15 2017, 1:20 PM
pcc added a comment to D41267: [LTO] Make processing of combined module more consistent.

Please add a test that shows that we create an empty object file with the correct target triple.

Dec 15 2017, 1:13 PM
pcc added inline comments to D41274: [LTO] NFC: remove unique_ptr from some LTO::RegularLTOState members.
Dec 15 2017, 11:02 AM
pcc added a comment to D40747: [ThinLTO] Enable importing of aliases as copy of aliasee.
In D40747#947144, @pcc wrote:

Now that we basically treat alias summaries in the same way as their aliasees, I wonder whether we can simplify things by removing AliasSummary and summarizing aliases by creating a FunctionSummary or GlobalVariableSummary from the aliasee instead.

I'm not sure we can as there are other requirements for knowing the alias relationship. For example, we can't convert a non-prevailing alias and aliasee to available_externally (see thinLTOResolveWeakForLinkerGUID) - that is in the original module and not related to importing.

Dec 15 2017, 10:52 AM

Dec 14 2017

pcc added inline comments to D41270: Fix buffer overrun in WindowsResourceCOFFWriter::writeSymbolTable().
Dec 14 2017, 8:14 PM
pcc added inline comments to D41267: [LTO] Make processing of combined module more consistent.
Dec 14 2017, 6:00 PM
pcc added a comment to D41267: [LTO] Make processing of combined module more consistent.

I think this patch can be simplified with my suggestions below. Let me know if it works.

Dec 14 2017, 5:56 PM
pcc added inline comments to D41263: Fix size computation in WindowsResourceCOFFWriter::performFileLayout().
Dec 14 2017, 4:53 PM
pcc added inline comments to D41257: Use warn() instead of error() to report a bad symbol in a DSO..
Dec 14 2017, 4:14 PM
pcc accepted D41257: Use warn() instead of error() to report a bad symbol in a DSO..

LGTM

Dec 14 2017, 3:53 PM
pcc added a comment to D41222: Handle previously ASAN-instrumented IR gracefully when ASAN re-invoked.

The asan pass is more like something like codegenprepare in that we shouldn't really expect it to be run twice. If it does run twice, it most likely indicates a logic error in the pass pipeline, and it would be best to diagnose that with an assertion failure rather than silently ignoring it (which could also hide other unnecessary duplication of passes in the pipeline).

Dec 14 2017, 12:49 PM
pcc requested changes to D41222: Handle previously ASAN-instrumented IR gracefully when ASAN re-invoked.

If this doesn't even fix the ThinLTO bug I don't see why we should land it. The other scenarios mentioned on the bug are "no warranty" scenarios because they use flags like -emit-llvm which aren't really user facing.

Dec 14 2017, 11:28 AM
pcc accepted D41247: Handle a VersymIndex of 0 as an error.

It looks like bfd and gold use this value for undefined symbols in DSOs that do not have version definitions. But at this point we are only dealing with defined symbols.

Dec 14 2017, 11:24 AM
pcc added a comment to D41246: [LLD][ELF] Optimize Arm PLT entries.

Instead of making the behaviour conditional on the flag, could we always emit the long PLT header and then conditionally emit short or long PLTs depending on what the offset is?

Dec 14 2017, 10:20 AM

Dec 13 2017

pcc committed rC320638: IRGen: When performing CFI checks, load vtable pointer from vbase when….
IRGen: When performing CFI checks, load vtable pointer from vbase when…
Dec 13 2017, 1:53 PM
pcc committed rL320638: IRGen: When performing CFI checks, load vtable pointer from vbase when….
IRGen: When performing CFI checks, load vtable pointer from vbase when…
Dec 13 2017, 1:53 PM
pcc closed D41036: IRGen: When performing CFI checks, load vtable pointer from vbase when necessary..
Dec 13 2017, 1:53 PM
pcc added a comment to D41036: IRGen: When performing CFI checks, load vtable pointer from vbase when necessary..

Ping.

Dec 13 2017, 11:20 AM
pcc added a comment to D41113: [LLVMgold] Don't set resolutions for undefined symbols to 'Prevailing'.

@pcc What about case when assertion is triggered in llvm-lto2 (symbol resolutions are set manually with -r=...) ? How to deal with it?

Dec 13 2017, 10:55 AM
pcc added a comment to D41113: [LLVMgold] Don't set resolutions for undefined symbols to 'Prevailing'.

I now wonder if we can simply ignore empty symbol name with this

Dec 13 2017, 10:53 AM
pcc added a comment to D41113: [LLVMgold] Don't set resolutions for undefined symbols to 'Prevailing'.

This seems fine to me with the assert.

Dec 13 2017, 10:45 AM
pcc added inline comments to D40478: Added control flow architecture protection Flag.
Dec 13 2017, 9:55 AM

Dec 12 2017

pcc added inline comments to D40482: [X86] Instrument Control Flow For Indirect Branch Tracking.
Dec 12 2017, 5:51 PM
pcc added inline comments to D40478: Added control flow architecture protection Flag.
Dec 12 2017, 5:38 PM

Dec 11 2017

pcc committed rLLD320431: ELF: Do not follow relocation edges to output sections during GC..
ELF: Do not follow relocation edges to output sections during GC.
Dec 11 2017, 2:48 PM
pcc committed rL320431: ELF: Do not follow relocation edges to output sections during GC..
ELF: Do not follow relocation edges to output sections during GC.
Dec 11 2017, 2:48 PM
pcc closed D41095: ELF: Do not follow relocation edges to output sections during GC. by committing rL320431: ELF: Do not follow relocation edges to output sections during GC..
Dec 11 2017, 2:48 PM
pcc created D41095: ELF: Do not follow relocation edges to output sections during GC..
Dec 11 2017, 2:41 PM

Dec 8 2017

pcc created D41036: IRGen: When performing CFI checks, load vtable pointer from vbase when necessary..
Dec 8 2017, 3:14 PM
pcc committed rL320178: ELF: Ignore --long-plt flag..
ELF: Ignore --long-plt flag.
Dec 8 2017, 11:37 AM
pcc committed rLLD320178: ELF: Ignore --long-plt flag..
ELF: Ignore --long-plt flag.
Dec 8 2017, 11:37 AM
pcc closed D41025: ELF: Ignore --long-plt flag. by committing rLLD320178: ELF: Ignore --long-plt flag..
Dec 8 2017, 11:37 AM
pcc added a comment to D41025: ELF: Ignore --long-plt flag..

LLD actually doesn't need --long-plt because its PLT entries already always use the long format. See https://bugs.llvm.org/show_bug.cgi?id=34734#c2

Dec 8 2017, 11:36 AM
pcc created D41025: ELF: Ignore --long-plt flag..
Dec 8 2017, 10:35 AM

Dec 7 2017

pcc accepted D40994: Use lambda to simplify code..

LGTM

Dec 7 2017, 6:19 PM
pcc added inline comments to D40482: [X86] Instrument Control Flow For Indirect Branch Tracking.
Dec 7 2017, 2:01 PM
pcc added inline comments to D40478: Added control flow architecture protection Flag.
Dec 7 2017, 2:01 PM

Dec 6 2017

pcc accepted D40915: Always evaluate the second argument for CHECK() lazily..

LGTM

Dec 6 2017, 2:03 PM
pcc added inline comments to D40915: Always evaluate the second argument for CHECK() lazily..
Dec 6 2017, 1:37 PM
pcc added a comment to D40747: [ThinLTO] Enable importing of aliases as copy of aliasee.

Now that we basically treat alias summaries in the same way as their aliasees, I wonder whether we can simplify things by removing AliasSummary and summarizing aliases by creating a FunctionSummary or GlobalVariableSummary from the aliasee instead.

Dec 6 2017, 1:22 PM

Nov 30 2017

pcc committed rL319494: ThinLTOBitcodeWriter: Try harder to discard unused references to the merged….
ThinLTOBitcodeWriter: Try harder to discard unused references to the merged…
Nov 30 2017, 3:06 PM
pcc closed D40593: ThinLTOBitcodeWriter: Try harder to discard unused references to the merged module. by committing rL319494: ThinLTOBitcodeWriter: Try harder to discard unused references to the merged….
Nov 30 2017, 3:06 PM
pcc added a comment to D40593: ThinLTOBitcodeWriter: Try harder to discard unused references to the merged module..

LGTM - I assume the modified test fails without the patch?

Nov 30 2017, 3:04 PM
pcc added inline comments to D40632: Add flag to ArchiveWriter to test GNU64 format more efficiently.
Nov 30 2017, 2:48 PM
pcc added inline comments to D40478: Added control flow architecture protection Flag.
Nov 30 2017, 12:00 PM
pcc added inline comments to D40482: [X86] Instrument Control Flow For Indirect Branch Tracking.
Nov 30 2017, 11:56 AM

Nov 29 2017

pcc added inline comments to D40632: Add flag to ArchiveWriter to test GNU64 format more efficiently.
Nov 29 2017, 5:30 PM
pcc committed rL319390: LowerTypeTests: Deduplicate code. NFC..
LowerTypeTests: Deduplicate code. NFC.
Nov 29 2017, 4:27 PM
pcc committed rL319387: LowerTypeTests: Remove unnecessary cast. NFC..
LowerTypeTests: Remove unnecessary cast. NFC.
Nov 29 2017, 4:03 PM
pcc added inline comments to D40482: [X86] Instrument Control Flow For Indirect Branch Tracking.
Nov 29 2017, 1:04 PM
pcc added inline comments to D40482: [X86] Instrument Control Flow For Indirect Branch Tracking.
Nov 29 2017, 1:00 PM

Nov 28 2017

pcc created D40593: ThinLTOBitcodeWriter: Try harder to discard unused references to the merged module..
Nov 28 2017, 5:52 PM
pcc committed rL319244: COFF: Simplify construction of safe SEH table. NFCI..
COFF: Simplify construction of safe SEH table. NFCI.
Nov 28 2017, 2:51 PM
pcc closed D40581: COFF: Simplify construction of safe SEH table. NFCI. by committing rL319244: COFF: Simplify construction of safe SEH table. NFCI..
Nov 28 2017, 2:51 PM