Page MenuHomePhabricator

lanza (Nathan Lanza)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 20 2017, 4:34 PM (182 w, 3 d)

Recent Activity

Mar 19 2021

lanza added a reviewer for D98982: Sync InstrProfData.inc between llvm and compiler-rt: MaskRay.
Mar 19 2021, 3:25 PM · Restricted Project
lanza updated subscribers of D98982: Sync InstrProfData.inc between llvm and compiler-rt.

The comment at the top says this is the master but this def seems right. @MaskRay did the compiler-rt change so I'll just tag him in.

Mar 19 2021, 3:25 PM · Restricted Project
lanza added a reviewer for D98982: Sync InstrProfData.inc between llvm and compiler-rt: davidxl.
Mar 19 2021, 3:20 PM · Restricted Project

Mar 17 2021

lanza updated the diff for D98686: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.

Fix check in test

Mar 17 2021, 8:40 PM · Restricted Project
lanza updated the diff for D98686: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.

Address Fangrui's comments

Mar 17 2021, 8:36 PM · Restricted Project
lanza abandoned D98841: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.
Mar 17 2021, 8:36 PM · Restricted Project
lanza updated the diff for D98841: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.

Address Fangrui's comments

Mar 17 2021, 8:35 PM · Restricted Project
lanza requested review of D98841: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.
Mar 17 2021, 8:35 PM · Restricted Project
lanza added a comment to D98686: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.

I'd completely rewrite the description. Consider this:

Mar 17 2021, 7:26 PM · Restricted Project
lanza updated the summary of D98686: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.
Mar 17 2021, 7:23 PM · Restricted Project
lanza added a comment to D98686: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.

Yea, I figured that this was likely a fragile ordering issue. I was thinking about an approach but didn't know enough about lld outside of the standard LTO code path, thus figured I should ask here first. Thanks for the feedback!

Mar 17 2021, 6:03 PM · Restricted Project
lanza updated the diff for D98686: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.

Add test case

Mar 17 2021, 5:56 PM · Restricted Project

Mar 16 2021

lanza added a comment to D98686: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.

The isDefined() requirement is to make version-script-weak.s work: a STB_WEAK lazy symbol, if not fetched, should be treated similar to an undefined weak symbol. An undefined symbol should not have non-VER_NDX_GLOBAL versionId values.

Mar 16 2021, 6:02 PM · Restricted Project
lanza updated the summary of D98686: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.
Mar 16 2021, 10:32 AM · Restricted Project
lanza added a comment to D98686: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.

The summary says !isLocal but the code says !isLazy. I'm assuming the code is correct.

Mar 16 2021, 10:11 AM · Restricted Project
lanza added a reviewer for D98686: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL: smeenai.
Mar 16 2021, 1:42 AM · Restricted Project
lanza requested review of D98686: [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL.
Mar 16 2021, 1:41 AM · Restricted Project

Mar 9 2021

lanza added a comment to D98220: [WPD][ELF] Allow whole program devirtualization for version script localized symbols.

An older version of the patch had the vtables marked "hidden" in the LLVM assembly. My point was that clang would have given them a non-public vcall_visibility in that case.

Mar 9 2021, 11:38 AM · Restricted Project
lanza added inline comments to D98220: [WPD][ELF] Allow whole program devirtualization for version script localized symbols.
Mar 9 2021, 12:10 AM · Restricted Project

Mar 8 2021

lanza added a comment to D98220: [WPD][ELF] Allow whole program devirtualization for version script localized symbols.

Well right now they are marked with public visibility, which is the same thing as not having any vcall_visibility. Since they are marked in the IR as having hidden visibility, clang presumably should have marked them with a more restricted vcall_visibility (linkage unit level).

Mar 8 2021, 11:47 PM · Restricted Project
lanza added a comment to D91583: [LTO] Prevent devirtualization for symbols dynamically exported.

Do you use a local: version node in a version script to make vtable symbols local in a -shared link? LTO does not know the effective binding has become local in that case and can lose devirtualization opportunities.

Mar 8 2021, 5:23 PM · Restricted Project
lanza added inline comments to D98220: [WPD][ELF] Allow whole program devirtualization for version script localized symbols.
Mar 8 2021, 3:45 PM · Restricted Project
lanza added a comment to D98220: [WPD][ELF] Allow whole program devirtualization for version script localized symbols.

Thanks Fangrui! A cherry-pick and test and local run makes it seem like it works.

Mar 8 2021, 3:38 PM · Restricted Project
lanza added a comment to D91583: [LTO] Prevent devirtualization for symbols dynamically exported.

I see - so just to confirm, when compiling it isn't clear that these symbols are have internal or hidden visibility, but only during linking? Because otherwise clang should already have applied an appropriate vcall_visibility that allows WPD.

Mar 8 2021, 3:35 PM · Restricted Project
lanza added a comment to D91583: [LTO] Prevent devirtualization for symbols dynamically exported.

To me this is WAI. Why is "config->shared" true for your bitcode module? This should only affect when using the linker flags that assert you have whole program visibility during the link, which isn't true for a shared library and its symbols.

Mar 8 2021, 2:11 PM · Restricted Project

Mar 7 2021

lanza added a comment to D91583: [LTO] Prevent devirtualization for symbols dynamically exported.

@tejohnson I'm not sure this change is working correctly -- either that or my builds are messed up.

Mar 7 2021, 10:17 PM · Restricted Project

Feb 5 2021

lanza added a comment to D96096: [lldb] Emit type annotation in SWIG generated Python code..

Thanks, Jonas! This generates bindings but they aren't entirely functional as it generates type annotations like "lldb::SBDebugger" which Python LSPs can't figure out. I ended up adding -py3 and then running some sed post-processing to convert "lldb::\(.*\)" to \1 etc: https://github.com/lanza/lldbpybind. That lldb.py works pretty well with pyright getting type info. Figuring out how to teach the build system + swig to generate proper type annotations might require a similar post processing step.

Feb 5 2021, 12:56 PM · Restricted Project

Feb 4 2021

lanza accepted D96060: [lldb-vscode] correctly use Windows macros.

LGTM, I had to do this to fix it locally and can confirm it works.

Feb 4 2021, 10:57 AM · Restricted Project

Jan 23 2021

lanza abandoned D92541: [libcxx] Don't generate cxx-abilist for some sets of targets.
Jan 23 2021, 8:19 PM · Restricted Project

Jan 22 2021

lanza requested review of D95210: Update the ProgrammersManual explanation for ilist and iplist.
Jan 22 2021, 12:35 AM · Restricted Project
lanza added a comment to D93953: NFC: Remove simple_ilist comment mentioning ilist/iplist allocating.

TBH, a little while after I fixed the UB that was causing miscompiles for us, I was pulled into other things and never got back to this. I'm certainly not working on it right now, although I'm happy to review things in this area (and maybe I'll dive back in a some point if no one else does...).

Jan 22 2021, 12:27 AM · Restricted Project
lanza committed rG75f10c957477: NFC: Remove simple_ilist comment mentioning ilist/iplist allocating (authored by lanza).
NFC: Remove simple_ilist comment mentioning ilist/iplist allocating
Jan 22 2021, 12:26 AM
lanza closed D93953: NFC: Remove simple_ilist comment mentioning ilist/iplist allocating.
Jan 22 2021, 12:26 AM · Restricted Project

Jan 13 2021

lanza added inline comments to D94547: [lld-macho] Run ObjCContractPass during LTO.
Jan 13 2021, 6:42 PM · Restricted Project
lanza added a comment to D94547: [lld-macho] Run ObjCContractPass during LTO.

215d59e7b0b14

Jan 13 2021, 6:41 PM · Restricted Project

Jan 12 2021

lanza added a reviewer for D94547: [lld-macho] Run ObjCContractPass during LTO: mehdi_amini.
Jan 12 2021, 3:57 PM · Restricted Project
lanza added a comment to D94547: [lld-macho] Run ObjCContractPass during LTO.

This goes right before codegen in ThinLTOCodeGenerator. TM.addPassesToEmitFile is the entry point to the llvm backend. So the legacy implementation has this pass ran immediately after the front-end is finished and right before the backend starts. I imagine doing the same here makes the most sense.

Jan 12 2021, 3:57 PM · Restricted Project

Jan 7 2021

lanza abandoned D93926: [lldb] Don't remove the lldb.debugger var after exiting the interpreter.

Great, that does indeed seem to work properly. Thanks, Jonas!

Jan 7 2021, 10:11 PM · Restricted Project
lanza added a comment to D93926: [lldb] Don't remove the lldb.debugger var after exiting the interpreter.

I guess if the intention of that is maintain the debugger instance around it should work, but at the moment it segfaults pretty quick with Xcode's lldb using:

Jan 7 2021, 9:41 PM · Restricted Project
lanza added a comment to D93953: NFC: Remove simple_ilist comment mentioning ilist/iplist allocating.

On a similar note, I noticed elsewhere after fixing this that you mentioned in a commit message that you intended to remove iplist and ilist and rename as owning_ilist (or something of that sorts). Is that still on the table? Either way, the docs should be updated all around to account for either path name as there are still references to the pre-2016 implementation (e.g. https://llvm.org/docs/ProgrammersManual.html#dss-iplist).

Jan 7 2021, 9:23 PM · Restricted Project
lanza added a comment to D93926: [lldb] Don't remove the lldb.debugger var after exiting the interpreter.

What's the boundaries of the stable API, then? This was a public API that was removed and broke a plugin I used for vim. The author used threading.Thread(someFunc, (debugger,)) to listen on a socket for fetch requests from lldb outside of the prompt. Not the most beautiful of implementations, but it worked for years on top of a promised public stable API.

Jan 7 2021, 9:15 PM · Restricted Project

Dec 30 2020

lanza added a reviewer for D93953: NFC: Remove simple_ilist comment mentioning ilist/iplist allocating: dexonsmith.
Dec 30 2020, 7:35 PM · Restricted Project
lanza requested review of D93953: NFC: Remove simple_ilist comment mentioning ilist/iplist allocating.
Dec 30 2020, 7:34 PM · Restricted Project

Dec 29 2020

lanza added a reviewer for D93926: [lldb] Don't remove the lldb.debugger var after exiting the interpreter: JDevlieghere.
Dec 29 2020, 4:12 PM · Restricted Project
lanza updated the diff for D93926: [lldb] Don't remove the lldb.debugger var after exiting the interpreter.

did it backwards

Dec 29 2020, 4:01 PM · Restricted Project
lanza requested review of D93926: [lldb] Don't remove the lldb.debugger var after exiting the interpreter.
Dec 29 2020, 3:59 PM · Restricted Project

Dec 22 2020

lanza added a comment to D93273: [CodeGen][ObjC] Destroy callee-destroyed arguments in the caller function when the receiver is nil.

Hey @ahatanak, I've ran into this problem in my companies projects and was wondering what the status of this patch is?

Dec 22 2020, 4:24 PM · Restricted Project

Dec 9 2020

lanza added a comment to D92856: [libc++] Use TARGET_FILE instead of TARGET_SONAME_FILE when generating ABI lists.

Yup, this worked. Thank you, Louis! I can also verify that the test suite passed on centOS, Darwin and Windows with a pretty standard build.

Dec 9 2020, 1:58 PM · Restricted Project
lanza accepted D92856: [libc++] Use TARGET_FILE instead of TARGET_SONAME_FILE when generating ABI lists.
Dec 9 2020, 1:57 PM · Restricted Project
lanza closed D92705: [llvm] Update WinMsvc.cmake's fms-compatability to match llvm's prereqs.

Sorry, this was landed already but I forgot to put the Differential Revision: in! Closing it now. As far as the Windows changes you guys are talking about I'll leave up to you -- I'm not a Windows dev and was just maintaining a windows CI oncall last week.

Dec 9 2020, 1:13 PM · Restricted Project

Dec 4 2020

lanza committed rG54971c3a7559: [llvm] Update WinMsvc.cmake's fms-compatability to match llvm's prereqs (authored by lanza).
[llvm] Update WinMsvc.cmake's fms-compatability to match llvm's prereqs
Dec 4 2020, 4:35 PM
lanza updated subscribers of D92707: [AArch64][GlobalISel] Narrow 128-bit regs to 64-bit regs in emitTestBit.
Dec 4 2020, 4:29 PM · Restricted Project
lanza added a comment to D92707: [AArch64][GlobalISel] Narrow 128-bit regs to 64-bit regs in emitTestBit.

Thanks, Jessica!

Dec 4 2020, 4:25 PM · Restricted Project
lanza updated subscribers of D92707: [AArch64][GlobalISel] Narrow 128-bit regs to 64-bit regs in emitTestBit.
Dec 4 2020, 4:25 PM · Restricted Project
lanza added reviewers for D92705: [llvm] Update WinMsvc.cmake's fms-compatability to match llvm's prereqs: jfb, aganea.
Dec 4 2020, 3:57 PM · Restricted Project
lanza requested review of D92705: [llvm] Update WinMsvc.cmake's fms-compatability to match llvm's prereqs.
Dec 4 2020, 3:54 PM · Restricted Project

Dec 3 2020

lanza added a comment to D92541: [libcxx] Don't generate cxx-abilist for some sets of targets.

Seems pretty trivially that this just requires LIBCXX_INCLUDE_TESTS and LIBCXX_ENABLE_SHARED for Windows. The error is:

Dec 3 2020, 1:19 PM · Restricted Project

Dec 2 2020

lanza requested review of D92541: [libcxx] Don't generate cxx-abilist for some sets of targets.
Dec 2 2020, 9:27 PM · Restricted Project
lanza requested review of D92532: [IRSimilarity] Don't copy the Mapper for createCandidatesFromSuffixTree.
Dec 2 2020, 6:16 PM · Restricted Project
lanza removed a reviewer for D92524: [IRSimilarity] Strip out the findSimilarity call from the constructor: zer0.
Dec 2 2020, 5:27 PM · Restricted Project
lanza added a reviewer for D92524: [IRSimilarity] Strip out the findSimilarity call from the constructor: plotfi.
Dec 2 2020, 5:27 PM · Restricted Project
lanza added reviewers for D92524: [IRSimilarity] Strip out the findSimilarity call from the constructor: AndrewLitteken, paquette, zer0.
Dec 2 2020, 5:04 PM · Restricted Project
lanza requested review of D92524: [IRSimilarity] Strip out the findSimilarity call from the constructor.
Dec 2 2020, 4:38 PM · Restricted Project

Nov 30 2020

lanza accepted D91874: [GNU ObjC] Fix a regression listing methods twice..

LGTM!

Nov 30 2020, 11:49 AM · Restricted Project

Nov 20 2020

lanza added a reverting change for rG137ff7331705: [lldb] add a missing dependency on intrinsics_gen: rG33c79f76af75: Revert "[lldb] add a missing dependency on intrinsics_gen".
Nov 20 2020, 1:03 PM
lanza committed rG33c79f76af75: Revert "[lldb] add a missing dependency on intrinsics_gen" (authored by lanza).
Revert "[lldb] add a missing dependency on intrinsics_gen"
Nov 20 2020, 1:03 PM
lanza added a reverting change for D90857: [lldb] add a missing dependency on intrinsics_gen: rG33c79f76af75: Revert "[lldb] add a missing dependency on intrinsics_gen".
Nov 20 2020, 1:03 PM · Restricted Project

Nov 6 2020

lanza committed rG137ff7331705: [lldb] add a missing dependency on intrinsics_gen (authored by rmaz).
[lldb] add a missing dependency on intrinsics_gen
Nov 6 2020, 10:20 AM
lanza closed D90857: [lldb] add a missing dependency on intrinsics_gen.
Nov 6 2020, 10:19 AM · Restricted Project

Nov 5 2020

lanza added reviewers for D90857: [lldb] add a missing dependency on intrinsics_gen: JDevlieghere, xiaobai.
Nov 5 2020, 12:58 PM · Restricted Project

Oct 3 2020

lanza committed rGfcb0ab59335b: [clang][NFC] Change a mention of `objc_static_protocol` to `non_runtime` (authored by lanza).
[clang][NFC] Change a mention of `objc_static_protocol` to `non_runtime`
Oct 3 2020, 11:04 AM
lanza added inline comments to D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.
Oct 3 2020, 10:36 AM · Restricted Project

Oct 2 2020

lanza committed rG14f6bfcb52e7: [clang] Implement objc_non_runtime_protocol to remove protocol metadata (authored by lanza).
[clang] Implement objc_non_runtime_protocol to remove protocol metadata
Oct 2 2020, 2:38 PM
lanza closed D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.
Oct 2 2020, 2:38 PM · Restricted Project
lanza updated the diff for D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.

Clean clang-tidy warnings before landing

Oct 2 2020, 2:35 PM · Restricted Project
lanza updated the diff for D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.

Comments

Oct 2 2020, 11:05 AM · Restricted Project
lanza added inline comments to D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.
Oct 2 2020, 11:04 AM · Restricted Project

Oct 1 2020

lanza requested review of D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.
Oct 1 2020, 9:18 PM · Restricted Project
lanza updated the diff for D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.

Update with John's suggestions

Oct 1 2020, 9:12 PM · Restricted Project

Sep 24 2020

lanza added inline comments to D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.
Sep 24 2020, 5:22 PM · Restricted Project
lanza added a comment to D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.

Fixed and added a test under the REDUNDANCY prefix.

Sep 24 2020, 5:19 PM · Restricted Project
lanza updated the diff for D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.

Fix duplicate inheritance issue

Sep 24 2020, 5:17 PM · Restricted Project

Sep 23 2020

lanza added a comment to D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.

@theraven @rjmccall should be ready for review whenever you guys are ready!

Sep 23 2020, 11:46 PM · Restricted Project
lanza updated the diff for D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.

Update

Sep 23 2020, 11:45 PM · Restricted Project

Sep 16 2020

lanza added a comment to D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.

Hmm, I thought we actually just generated a bogus definition for the protocol when it was forward-declared; really, this is better behavior that I expected. Regardless, I don't think it's worthwhile to diagnose this more strongly than a warning because of the history of not doing so.

Sep 16 2020, 1:24 PM · Restricted Project

Sep 8 2020

lanza added a comment to D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.

I don't think it'll actually error out at link time: protocol objects get emitted eagerly on use, cross-module linking is just a code-size optimization. This actually has caused longstanding problems.

Sep 8 2020, 11:29 PM · Restricted Project
lanza added a comment to D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.

A concern that has come up while rewriting this for the listed concerns is forward declared protocols that are defined as non_runtime.

Sep 8 2020, 4:06 PM · Restricted Project

Sep 2 2020

lanza added a comment to D86952: [MIRVRegNamer] MachineInstr StableHashing..

Other than the one comment LGTM.

Sep 2 2020, 10:44 AM · Restricted Project

Aug 28 2020

lanza abandoned D86331: Fix a cmake failure on Windows when LLVM_ENABLE_TERMINFO is set.

Looks like it, I did this around the same time the patch landed. Thanks!

Aug 28 2020, 10:33 AM · Restricted Project

Aug 20 2020

lanza added a reviewer for D86331: Fix a cmake failure on Windows when LLVM_ENABLE_TERMINFO is set: phosek.
Aug 20 2020, 10:08 PM · Restricted Project
lanza requested review of D86331: Fix a cmake failure on Windows when LLVM_ENABLE_TERMINFO is set.
Aug 20 2020, 10:07 PM · Restricted Project

Aug 19 2020

lanza added a comment to D86049: RFC: Implement optional exportable wrapper function generation for objc_direct methods..

This change provides a codegen options flag to clang -fobjc-export-direct-method-wrappers to generate the wrapper functions that begin with the prefix objc_direct_wrapper and are marked as attribute__((alwaysinline)). This way within a link unit the wrapper functions should be inlined away at their call sites, but across a dylib boundary the wrapper call is used.

Aug 19 2020, 9:50 AM · Restricted Project

Aug 11 2020

lanza added a reviewer for D85586: Force Remove Attribute: jmolloy.

Adding jmolloy, he seems to be the original author.

Aug 11 2020, 3:22 PM · Restricted Project

Aug 4 2020

lanza added a comment to D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.

No problem! Thank you, John!

Aug 4 2020, 11:28 AM · Restricted Project

Aug 3 2020

lanza added a comment to D84269: [lldb] Add some example type anotations to python.swig.

Sounds good, just sent out a message to the mailing list.

Aug 3 2020, 3:11 PM · Restricted Project
lanza added a comment to D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.

ping @rjmccall. Any update on a timeline for this review process? Thanks!

Aug 3 2020, 2:12 PM · Restricted Project

Jul 21 2020

Herald added a project to D84269: [lldb] Add some example type anotations to python.swig: Restricted Project.
Jul 21 2020, 1:55 PM · Restricted Project

Apr 30 2020

lanza added a comment to D70885: [lldb] Use explicit lldb commands on tests.

Sorry for bump to this old diff, but I agree with both Jim and Greg -- we shouldn't be importing your ~/.lldbinit, but tests shouldn't depend on there never being another br s. This change should land as breakpoint set.

Apr 30 2020, 5:11 PM · Restricted Project
lanza added a comment to D75574: RFC: Implement objc_direct_protocol attribute to remove protocol metadata.

@rjmccall Hey John, I sent the proposal to the addresses I was pointed to but haven't heard back in multiple weeks. Any update on this?

Apr 30 2020, 5:11 PM · Restricted Project

Apr 14 2020

lanza closed D77106: [cmake] Only set deps for an ExternalProject if the type is executable or library.

Closed by https://reviews.llvm.org/rG7f5fe30a150e7e87d3fbe4da4ab0e76ec38b40b9

Apr 14 2020, 12:24 PM · Restricted Project