Page MenuHomePhabricator

pete (Pete Cooper)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 2 2014, 4:46 PM (458 w, 6 d)

Recent Activity

Thu, Mar 16

pete accepted D146255: [clang] Unconditionally add autolink hints for frameworks..

LGTM

Thu, Mar 16, 1:05 PM · Restricted Project, Restricted Project

Mon, Feb 20

pete committed rG522d9f554524: Use modern @got syntax in tsan assembly, instead of old style non_lazy_pointers. (authored by pete).
Use modern @got syntax in tsan assembly, instead of old style non_lazy_pointers.
Mon, Feb 20, 2:47 PM · Restricted Project, Restricted Project
pete closed D143959: Use modern @got syntax in tsan assembly, instead of old style non_lazy_ptr's. NFC.
Mon, Feb 20, 2:47 PM · Restricted Project, Restricted Project

Feb 17 2023

pete accepted D144158: [TextAPI] Capture new properties from TBD to InterfaceFile.

LGTM

Feb 17 2023, 11:54 AM · Restricted Project, Restricted Project
pete accepted D144156: [TextAPI] Implement TBDv5 Reader.

Looks great! I didn't see anything to fix/change.

Feb 17 2023, 11:41 AM · Restricted Project, Restricted Project, Restricted Project

Feb 13 2023

pete added inline comments to D143959: Use modern @got syntax in tsan assembly, instead of old style non_lazy_ptr's. NFC.
Feb 13 2023, 4:41 PM · Restricted Project, Restricted Project
pete added inline comments to D143959: Use modern @got syntax in tsan assembly, instead of old style non_lazy_ptr's. NFC.
Feb 13 2023, 4:40 PM · Restricted Project, Restricted Project
pete updated the diff for D143959: Use modern @got syntax in tsan assembly, instead of old style non_lazy_ptr's. NFC.

Updated to fix calling the correct setjmp

Feb 13 2023, 4:35 PM · Restricted Project, Restricted Project
pete requested review of D143959: Use modern @got syntax in tsan assembly, instead of old style non_lazy_ptr's. NFC.
Feb 13 2023, 3:43 PM · Restricted Project, Restricted Project

Jan 20 2023

pete accepted D142176: [libunwind] On Darwin, add a callback-based lookup scheme for JIT'd unwind info..

LGTM

Jan 20 2023, 12:37 PM · Restricted Project, Restricted Project, Restricted Project

Dec 12 2022

pete accepted D139862: [llvm][Object] set SF_Hidden flag for MachO files.

LGTM

Dec 12 2022, 3:29 PM · Restricted Project, Restricted Project, Restricted Project

Oct 26 2022

pete accepted D136769: [LTO] Fix lto_module_create_in_codegen_context return value on error.

Matches the other lto methods, which do the same error check. LGTM!

Oct 26 2022, 10:59 AM · Restricted Project, Restricted Project

Oct 3 2022

pete accepted D134563: [ObjectYAML][MachO] Encode export trie address as ULEB128, not as SLEB128.

Thanks for doing this! From a quick look at ld64, there are no sleb's anywhere in the Export Trie logic so LGTM.

Oct 3 2022, 5:44 PM · Restricted Project, Restricted Project

Sep 23 2022

pete accepted D134562: [objdump] Fix typo in error message..
Sep 23 2022, 1:36 PM · Restricted Project, Restricted Project

Sep 20 2022

pete accepted D134250: [ObjectYAML] Basic support for chained fixups..

LGTM. Thanks for doing this!

Sep 20 2022, 6:18 PM · Restricted Project, Restricted Project
pete added a comment to D134250: [ObjectYAML] Basic support for chained fixups..

Do you happen to know if the contents of the newer LC_DYLD_EXPORTS_TRIE have the same format as the previous trie?

@pete can correct me if I’m wrong, but I believe they are the same.

Yep, exactly the same contents.

Sep 20 2022, 6:18 PM · Restricted Project, Restricted Project
pete added inline comments to D134250: [ObjectYAML] Basic support for chained fixups..
Sep 20 2022, 2:02 PM · Restricted Project, Restricted Project

Aug 24 2022

pete committed rG611399806923: Add MachO MH_FILESET support to objdump (authored by pete).
Add MachO MH_FILESET support to objdump
Aug 24 2022, 1:35 PM · Restricted Project, Restricted Project

Aug 23 2022

pete accepted D132432: [llvm] Teach LLVM about filesets.
Aug 23 2022, 2:15 PM · Restricted Project, Restricted Project

Aug 15 2022

pete requested review of D131909: Add MachO MH_FILESET support to objdump.
Aug 15 2022, 11:10 AM · Restricted Project, Restricted Project

Jun 14 2022

pete accepted D127806: [llvm] Fix MachO exports trie parsing..

LGTM

Jun 14 2022, 4:59 PM · Restricted Project, Restricted Project

Jun 6 2022

pete accepted D122270: Support converting pointers from opaque to typed.

Updating to handle addrspaces correctly.

Jun 6 2022, 9:34 AM · Restricted Project, Restricted Project, Restricted Project

May 24 2022

pete added a comment to D122270: Support converting pointers from opaque to typed.

This looks good to me.

May 24 2022, 10:00 AM · Restricted Project, Restricted Project, Restricted Project

Apr 5 2022

pete accepted D123149: Change the LLVM signpost category .
Apr 5 2022, 11:59 AM · Restricted Project, Restricted Project

Mar 19 2022

pete added a comment to D122082: Add DXIL Bitcode Writer and DXIL testing.

Overall LGTM. I don’t have a strong opinion on opaque pointers so nothing to add there.

Mar 19 2022, 8:25 PM · Restricted Project, Restricted Project
pete accepted D122080: Add stub DirectX backend.

LGTM

Mar 19 2022, 8:06 PM · Restricted Project, Restricted Project
pete accepted D122062: Add DXContainer.

LGTM

Mar 19 2022, 6:25 PM · Restricted Project, Restricted Project
pete accepted D122087: Add HLSL Language Option and Preprocessor.

LGTM

Mar 19 2022, 6:21 PM · Restricted Project, Restricted Project, Restricted Project
pete accepted D122079: [ADT] add initializer list specialization for is_contained.
Mar 19 2022, 6:07 PM · Restricted Project, Restricted Project
pete accepted D122085: Add clang DirectX target support.

All seems very reasonable to me.

Mar 19 2022, 3:05 PM · Restricted Project, Restricted Project

Mar 18 2022

pete accepted D122031: Add DXIL triple.

LGTM

Mar 18 2022, 4:33 PM · Restricted Project, Restricted Project

Mar 7 2022

pete added a comment to D121159: llvm-nm should flush and error check output.

Wonder if we'll find other tools with the same issue. But for now its good to fix the one we know about.

Mar 7 2022, 1:51 PM · Restricted Project, Restricted Project
pete accepted D121159: llvm-nm should flush and error check output.
Mar 7 2022, 1:51 PM · Restricted Project, Restricted Project

Dec 8 2021

pete updated subscribers of D115302: GlobalsModRef should treat functions w/o nosync conservatively..
Dec 8 2021, 2:24 PM · Restricted Project, Restricted Project

Sep 27 2021

pete accepted D110477: [LLDB] Fix objc_clsopt_v16_t struct.

I forgot that field in dyld. Its implicit due to the uint64_t salt, but no harm in having it here. I'm going to add it to dyld now too :)

Sep 27 2021, 2:42 PM · Restricted Project

Dec 2 2020

pete accepted D92523: Small improvements to Intrinsic::getName.

LGTM. Thanks for doing this!

Dec 2 2020, 4:44 PM · Restricted Project

Sep 3 2020

pete accepted D87119: [objdump][macho] Emit segment names along with section names.

LGTM

Sep 3 2020, 5:14 PM · Restricted Project

Aug 18 2020

pete added a comment to D86170: PrintStackTrace: don't symbolize if LLVM_DISABLE_SYMBOLIZATION is set.

Rather than adding a new option, could we generalize LLVM_DISABLE_CRASH_REPORT to work on all platforms & wire that up to not --crash as you've done, without adding another name for this functionality?

Actually it looks like if we removed the Apple-specific filtering of ENABLE_CRASH_OVERRIDE, then the handling in Signals.inc which also supports the runtime API parameter "DisableCrashReporting" would also do what I was proposing for unit tests (disabling crash reporting on gtest) - which has been the default on MacOS builds for 5 years now? I'm not sure I feel perfectly good about disabling crash reporting for all unit test failures, rather than only disabling it around death tests - but I think it's probably good to make the perf tradeoffs the same on different platforms, and that this has been the default for 5 years for a good chunk of the LLVM developers (those on mac) it's probably good enough to ship.

Seems reasonable to me too.

Aug 18 2020, 4:22 PM · Restricted Project

Aug 17 2020

pete accepted D86104: [libunwind] Remove compatibility support for macOS 10.6.
Aug 17 2020, 1:23 PM · Restricted Project, Restricted Project
pete added a comment to D86104: [libunwind] Remove compatibility support for macOS 10.6.

LGTM

Aug 17 2020, 1:22 PM · Restricted Project, Restricted Project

Mar 4 2020

pete accepted D75629: Fix dyld opcode *_ADD_ADDR_IMM_SCALED error detection..

LGTM

Mar 4 2020, 5:59 PM · Restricted Project

Feb 10 2020

pete accepted D74273: [MachO] Pad section data to pointer size bytes.

This shouldn't affect the final binary size as the linker is going to probably recreate the relocations and symbol table anyway, but seems fine to align this more in the object files.

Feb 10 2020, 9:28 AM · Restricted Project

Dec 16 2019

pete accepted D71368: [ MC ] Match labels to existing fragments even when switching sections..

LGTM.

Dec 16 2019, 12:53 PM · Restricted Project

Nov 15 2019

pete accepted D70344: [macho] Allow CPUSubtype to be adjusted before writing it to a file.

LGTM

Nov 15 2019, 3:42 PM · Restricted Project
pete accepted D70345: [macho] Allow CPUSubtype to contribute to architecture identification.

LGTM

Nov 15 2019, 3:42 PM · Restricted Project

Oct 29 2019

pete committed rG10ba5acf40ff: Merge commit 'llvm open source' into upstream-with-swift (authored by pete).
Merge commit 'llvm open source' into upstream-with-swift
Oct 29 2019, 1:16 PM
pete committed rG5652758ca841: Merge commit 'llvm open source master' into upstream-with-swift (authored by pete).
Merge commit 'llvm open source master' into upstream-with-swift
Oct 29 2019, 1:16 PM

Sep 19 2019

pete accepted D67780: Can't pass .dSYM directory to llvm-objdump -dsym= (and error message is wrong).

LGTM

Sep 19 2019, 9:24 PM · Restricted Project

Sep 3 2019

pete added inline comments to D66979: [InstrProf] Tighten a check for malformed data records in raw profiles.
Sep 3 2019, 9:20 AM · Restricted Project

Aug 22 2019

pete accepted D66563: [MachO][TLOF] Use hasLocalLinkage to determine if indirect symbol is local.

LGTM.

Aug 22 2019, 9:15 AM · Restricted Project

Aug 7 2019

pete accepted D65902: [ObjC][ARC] Upgrade calls to ARC runtime functions to intrinsic calls if the bitcode has the arm64 retainAutoreleasedReturnValue marker .

Looks like the tests are extremely comprehensive. LGTM.

Aug 7 2019, 1:54 PM · Restricted Project

Jun 5 2019

pete accepted D62866: Print dylib load kind (weak, reexport, etc) in llvm-objdump -m -dylibs-used.

LGTM.

Jun 5 2019, 7:25 AM · Restricted Project

May 30 2019

pete accepted D62694: Write new tests for r362121.

I'm trusting the binary blobs are good. Phab doesn't have a built in mach-o parser :)

May 30 2019, 12:03 PM · Restricted Project
pete accepted D62642: Support Universal dSYM files in llvm-objdump.

LGTM.

May 30 2019, 9:50 AM · Restricted Project

May 17 2019

pete accepted D62070: Update llvm-nm -s to use a multi-var option.

Looks good. That’s nice to see more lines removed than added :)

May 17 2019, 5:55 PM · Restricted Project

Apr 24 2019

pete accepted D61100: [ObjC][ARC] Let ARC optimizer bail out if the number of pointer states it keeps track of becomes too large.

Wow. That must be a huge test case for this to be a problem!

Apr 24 2019, 3:39 PM · Restricted Project

Apr 19 2019

pete accepted D60900: [ObjC][ARC] Check the basic block size before calling DominatorTree::dominate.

LGTM.

Apr 19 2019, 11:08 AM · Restricted Project, Restricted Project

Mar 20 2019

pete accepted D59574: Fix Mach-O bind and rebase validation errors in libObject.
Mar 20 2019, 10:48 AM · Restricted Project

Mar 9 2019

pete accepted D59179: Detect malformed LC_LINKER_COMMANDs in Mach-O binaries.

LGTM.

Mar 9 2019, 3:16 PM · Restricted Project

Mar 7 2019

pete accepted D59112: [Bitcode] Fix bitcode compatibility issue with clang.arc.use intrinsic.

LGTM.

Mar 7 2019, 5:47 PM · Restricted Project

Mar 6 2019

pete accepted D58944: [MC][MachO] Emit an error for emitting relocations of the form -SYM + cst.

LGTM. Thanks!

Mar 6 2019, 10:04 AM · Restricted Project

Feb 22 2019

pete accepted D58568: objdump fails to parse Mach-O binaries with n_desc bearing stabs.
Feb 22 2019, 5:51 PM · Restricted Project

Feb 11 2019

pete accepted D58058: llvm-objdump -macho -objc-meta-data should print body of protocols in protolist.

Looks like we can have print_protocol_list64_t also call the new print_protocol_64_t, but that can be done in a later NFC commit.

Feb 11 2019, 10:02 AM · Restricted Project

Jan 30 2019

pete accepted D57476: [CodeGenObjC] Use an invoke instead of a call when calling `objc_alloc` or `objc_allocWithZone`.

LGTM. Thanks for fixing this!

Jan 30 2019, 3:03 PM

Jan 22 2019

pete accepted D56978: Limit dyld image suffixes guessed by guessLibraryShortName().

LGTM

Jan 22 2019, 9:51 AM

Jan 2 2019

pete committed rL350284: Teach ObjCARC optimizer about equivalent PHIs when eliminating….
Teach ObjCARC optimizer about equivalent PHIs when eliminating…
Jan 2 2019, 5:43 PM
pete closed D56235: Teach ObjCARC optimizer about equivalent PHIs when eliminating autoreleaseRV/retainRV pairs.
Jan 2 2019, 5:42 PM
pete added a comment to D56235: Teach ObjCARC optimizer about equivalent PHIs when eliminating autoreleaseRV/retainRV pairs.

Thanks for the review. Submitted as r350284.

Jan 2 2019, 5:42 PM
pete created D56235: Teach ObjCARC optimizer about equivalent PHIs when eliminating autoreleaseRV/retainRV pairs.
Jan 2 2019, 4:54 PM
pete committed rL350261: Fix assert in ObjCARC optimizer when deleting retainBlock of null or undef..
Fix assert in ObjCARC optimizer when deleting retainBlock of null or undef.
Jan 2 2019, 1:03 PM
pete committed rC350224: Only convert objc messages to alloc to objc_alloc if the receiver is a class..
Only convert objc messages to alloc to objc_alloc if the receiver is a class.
Jan 2 2019, 9:29 AM
pete committed rL350224: Only convert objc messages to alloc to objc_alloc if the receiver is a class..
Only convert objc messages to alloc to objc_alloc if the receiver is a class.
Jan 2 2019, 9:29 AM

Dec 21 2018

pete added a comment to D55869: Convert some ObjC retain/release msgSends to runtime calls.

It sounds like it's fine.

Dec 21 2018, 1:04 PM
pete committed rL349952: Convert some ObjC retain/release msgSends to runtime calls..
Convert some ObjC retain/release msgSends to runtime calls.
Dec 21 2018, 1:04 PM
pete committed rC349952: Convert some ObjC retain/release msgSends to runtime calls..
Convert some ObjC retain/release msgSends to runtime calls.
Dec 21 2018, 1:04 PM
pete closed D55869: Convert some ObjC retain/release msgSends to runtime calls.
Dec 21 2018, 1:03 PM
pete added a comment to D55869: Convert some ObjC retain/release msgSends to runtime calls.

Thanks for all the feedback so far. Is there anything else you'd like me to change before I can land this?

Dec 21 2018, 9:09 AM

Dec 20 2018

pete committed rC349782: Use @llvm.objc.clang.arc.use intrinsic instead of clang.arc.use function..
Use @llvm.objc.clang.arc.use intrinsic instead of clang.arc.use function.
Dec 20 2018, 10:10 AM
pete committed rL349782: Use @llvm.objc.clang.arc.use intrinsic instead of clang.arc.use function..
Use @llvm.objc.clang.arc.use intrinsic instead of clang.arc.use function.
Dec 20 2018, 10:10 AM
pete added a comment to D55869: Convert some ObjC retain/release msgSends to runtime calls.
In D55869#1337723, @js wrote:
In D55869#1337706, @js wrote:

The ObjFW runtime itself does not contain anything about release, retain or autorelease - these are all part of ObjFW (as in the framework). As ObjFW also supports the Apple runtime, as well as mixing with Foundation code, it so far only provides objc_retain and objc_release when they are missing, to make ARC work. They just call into the corresponding methods on the object and do nothing else.

How will this change work from the Apple runtime? Will objc_retain/objc_release call the retain/release on the object if it implements its own? Should I drop my own retain/release implementation from my root object if I am compiling against the Apple runtime?

Yes, the idea is that the specialized runtime functions are fast paths for the common case, but they still fall back if the object has overridden them.

I am guessing not just overridden, but also a root class providing one? IOW, the fast path is used when the class does not have the retain or release method at all? In that case, LGTM as is.

Dec 20 2018, 9:33 AM

Dec 19 2018

pete updated the diff for D55869: Convert some ObjC retain/release msgSends to runtime calls.
Dec 19 2018, 10:58 PM
pete added a comment to D55869: Convert some ObjC retain/release msgSends to runtime calls.

So, once upon a time this was a problem because we were rewriting the method calls in the runtime itself. Can you explain how that's not a problem now? Do we just expect the runtime to be compiled with the right switch?

Dec 19 2018, 10:57 PM

Dec 18 2018

pete created D55869: Convert some ObjC retain/release msgSends to runtime calls.
Dec 18 2018, 4:52 PM
pete committed rL349559: Preserve the linkage for objc* intrinsics as clang will set them to….
Preserve the linkage for objc* intrinsics as clang will set them to…
Dec 18 2018, 2:45 PM
pete committed rL349558: Add nonlazybind to objc_retain/objc_release when converting from intrinsics..
Add nonlazybind to objc_retain/objc_release when converting from intrinsics.
Dec 18 2018, 2:34 PM
pete committed rL349552: Rewrite objc intrinsics to runtime methods in PreISelIntrinsicLowering instead….
Rewrite objc intrinsics to runtime methods in PreISelIntrinsicLowering instead…
Dec 18 2018, 2:23 PM
pete committed rC349535: Generate objc intrinsics instead of runtime calls as the ARC optimizer now….
Generate objc intrinsics instead of runtime calls as the ARC optimizer now…
Dec 18 2018, 12:36 PM
pete committed rL349535: Generate objc intrinsics instead of runtime calls as the ARC optimizer now….
Generate objc intrinsics instead of runtime calls as the ARC optimizer now…
Dec 18 2018, 12:36 PM
pete committed rL349534: Change the objc ARC optimizer to use the new objc.* intrinsics.
Change the objc ARC optimizer to use the new objc.* intrinsics
Dec 18 2018, 12:36 PM
pete closed D55802: Change CGObjC to use objc intrinsics instead of runtime methods.
Dec 18 2018, 12:36 PM · Restricted Project
pete closed D55348: Change the objc ARC optimizer to use the new objc.* intrinsics.
Dec 18 2018, 12:36 PM

Dec 17 2018

pete added a comment to D55802: Change CGObjC to use objc intrinsics instead of runtime methods.

You're making intrinsics with weak_external linkage? I feel like that's going to be unnecessarily awkward in the future, but okay.

Dec 17 2018, 9:45 PM · Restricted Project
pete created D55802: Change CGObjC to use objc intrinsics instead of runtime methods.
Dec 17 2018, 6:12 PM · Restricted Project
pete added inline comments to D55348: Change the objc ARC optimizer to use the new objc.* intrinsics.
Dec 17 2018, 5:57 PM

Dec 7 2018

pete added a comment to D55349: Convert some ObjC alloc msgSends to runtime calls.

LGTM.

Dec 7 2018, 9:24 PM
pete committed rL348687: Convert some ObjC msgSends to runtime calls..
Convert some ObjC msgSends to runtime calls.
Dec 7 2018, 9:17 PM
pete committed rC348687: Convert some ObjC msgSends to runtime calls..
Convert some ObjC msgSends to runtime calls.
Dec 7 2018, 9:17 PM
pete updated the diff for D55349: Convert some ObjC alloc msgSends to runtime calls.

Added test for integer argument and updated code to only accept pointer types to allocWithZone.

Dec 7 2018, 2:01 PM
pete updated the diff for D55348: Change the objc ARC optimizer to use the new objc.* intrinsics.

I added the other objc* intrinsics used by ARC in r348646.

Dec 7 2018, 1:35 PM
pete committed rL348646: Follow-up from r348441 to add the rest of the objc ARC intrinsics..
Follow-up from r348441 to add the rest of the objc ARC intrinsics.
Dec 7 2018, 1:32 PM