Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

cuviper (Josh Stone)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 30 2018, 2:40 PM (269 w, 2 d)

Recent Activity

Aug 14 2023

cuviper committed rG700ca0e7432d: [NFC] Red Hat is two words (authored by cuviper).
[NFC] Red Hat is two words
Aug 14 2023, 10:11 AM · Restricted Project, Restricted Project, Restricted Project

Aug 7 2023

cuviper committed rG85e4ee15d32a: [SystemZ] Avoid type legalization on structs (authored by cuviper).
[SystemZ] Avoid type legalization on structs
Aug 7 2023, 6:03 PM · Restricted Project, Restricted Project
cuviper closed D156379: [SystemZ] Avoid type legalization on structs.
Aug 7 2023, 6:03 PM · Restricted Project, Restricted Project

Jul 26 2023

cuviper added a reviewer for D156379: [SystemZ] Avoid type legalization on structs: uweigand.
Jul 26 2023, 3:11 PM · Restricted Project, Restricted Project
cuviper requested review of D156379: [SystemZ] Avoid type legalization on structs.
Jul 26 2023, 3:08 PM · Restricted Project, Restricted Project

May 4 2023

cuviper added a comment to D147620: [DebugInfo] Keep the CU consistent for operating `DISubprogram`..

That's the fix at the source here - producers should produce declarations for these member functions and then it'll work.

May 4 2023, 3:05 PM · debug-info, Restricted Project, Restricted Project

Jan 6 2023

cuviper added a comment to D139590: [RegAllocFast] Handle new debug values for spills.

I had changed my commit message to reflect that we're now skipping these, instead of handling them, but arc amend changed it back when I only meant to update the review status. I suppose I should have updated the title+summary here too -- sorry about that! For posterity, here's what I wanted it to say, dug out of my reflog:

Jan 6 2023, 9:49 AM · Restricted Project, Restricted Project

Jan 5 2023

cuviper committed rG87f57f459e7a: [RegAllocFast] Handle new debug values for spills (authored by cuviper).
[RegAllocFast] Handle new debug values for spills
Jan 5 2023, 8:43 PM · Restricted Project, Restricted Project
cuviper closed D139590: [RegAllocFast] Handle new debug values for spills.
Jan 5 2023, 8:42 PM · Restricted Project, Restricted Project

Jan 3 2023

cuviper updated the diff for D139590: [RegAllocFast] Handle new debug values for spills.

Followed StephenTozer's suggestion to just skip tracking spills for DBG_VALUE_LISTs

Jan 3 2023, 4:12 PM · Restricted Project, Restricted Project

Dec 13 2022

cuviper committed rG9b8fcd04ef64: [X86] Fix cmp order in probing BuildStackAlignAND (authored by cuviper).
[X86] Fix cmp order in probing BuildStackAlignAND
Dec 13 2022, 12:11 PM · Restricted Project, Restricted Project
cuviper closed D139756: [X86] Fix cmp order in probing BuildStackAlignAND.
Dec 13 2022, 12:11 PM · Restricted Project, Restricted Project

Dec 9 2022

cuviper requested review of D139756: [X86] Fix cmp order in probing BuildStackAlignAND.
Dec 9 2022, 5:13 PM · Restricted Project, Restricted Project

Dec 8 2022

cuviper added a comment to D139590: [RegAllocFast] Handle new debug values for spills.

I'm poking at unfamiliar code here, so I'm definitely not confident that I understand everything going on. I do know that this change is enough to fix the original Rust problems, which now pass without triggering any assertions. It's possible that the resulting debuginfo isn't actually correct though, if I understand your point about the state of LiveRegMap.

Dec 8 2022, 12:54 PM · Restricted Project, Restricted Project

Dec 7 2022

cuviper requested review of D139590: [RegAllocFast] Handle new debug values for spills.
Dec 7 2022, 3:48 PM · Restricted Project, Restricted Project

Sep 27 2022

Herald added a project to D96004: [AArch64] Stack probing for function prologues: Restricted Project.
Sep 27 2022, 9:48 AM · Restricted Project, Restricted Project

Sep 23 2022

cuviper committed rGcb46ffdbf44c: [X86] Use BuildStackAdjustment in stack probes (authored by cuviper).
[X86] Use BuildStackAdjustment in stack probes
Sep 23 2022, 9:34 AM · Restricted Project, Restricted Project
cuviper committed rG26c37b461a02: [X86] Don't allow prologue stack probing with live EFLAGS (authored by cuviper).
[X86] Don't allow prologue stack probing with live EFLAGS
Sep 23 2022, 9:34 AM · Restricted Project, Restricted Project
cuviper committed rG4dcfb09e401d: [NFC][CodeGen] Use const MF in TargetLowering stack probe functions (authored by cuviper).
[NFC][CodeGen] Use const MF in TargetLowering stack probe functions
Sep 23 2022, 9:34 AM · Restricted Project, Restricted Project
cuviper closed D134495: [X86] Use BuildStackAdjustment in stack probes.
Sep 23 2022, 9:34 AM · Restricted Project, Restricted Project
cuviper closed D134494: [X86] Don't allow prologue stack probing with live EFLAGS.
Sep 23 2022, 9:34 AM · Restricted Project, Restricted Project
cuviper closed D134492: [NFC][CodeGen] Use const MF in TargetLowering stack probe functions.
Sep 23 2022, 9:34 AM · Restricted Project, Restricted Project

Sep 22 2022

cuviper requested review of D134495: [X86] Use BuildStackAdjustment in stack probes.
Sep 22 2022, 3:42 PM · Restricted Project, Restricted Project
cuviper requested review of D134494: [X86] Don't allow prologue stack probing with live EFLAGS.
Sep 22 2022, 3:41 PM · Restricted Project, Restricted Project
cuviper requested review of D134492: [NFC][CodeGen] Use const MF in TargetLowering stack probe functions.
Sep 22 2022, 3:40 PM · Restricted Project, Restricted Project

Mar 6 2022

cuviper added a comment to D120584: [NewPM][Inliner] Mark inlined calls to functions in same SCC as callee as noinline.

As long as the option is there for rustc to turn on, we can agree to disagree...

Mar 6 2022, 10:13 AM · Restricted Project, Restricted Project

Feb 7 2022

cuviper abandoned D111276: [ArgumentPromotion] Support opaque pointers.

Ok, I see that you've gone ahead with that rewrite in D118685, so I'll abandon this change.

Feb 7 2022, 11:17 AM · Restricted Project

Dec 8 2021

cuviper added inline comments to D111276: [ArgumentPromotion] Support opaque pointers.
Dec 8 2021, 5:44 PM · Restricted Project
cuviper updated the diff for D111276: [ArgumentPromotion] Support opaque pointers.

Make the recursion check the same for typed or opaque pointers

Dec 8 2021, 5:42 PM · Restricted Project

Oct 20 2021

cuviper added inline comments to D111276: [ArgumentPromotion] Support opaque pointers.
Oct 20 2021, 9:32 AM · Restricted Project

Oct 7 2021

cuviper added reviewers for D111276: [ArgumentPromotion] Support opaque pointers: aeubanks, fhahn.
Oct 7 2021, 11:21 AM · Restricted Project

Oct 6 2021

cuviper added a comment to D111276: [ArgumentPromotion] Support opaque pointers.

Note: I added RUNs for enough tests that I felt confident I had good coverage, but I didn't do all of them. I'm not really sure that the way I handled typed/opaque CHECK results is a good strategy.

Oct 6 2021, 3:00 PM · Restricted Project
cuviper requested review of D111276: [ArgumentPromotion] Support opaque pointers.
Oct 6 2021, 2:44 PM · Restricted Project

Sep 8 2021

cuviper added a comment to D107216: Revert [MC][ELF] Emit separate unique sections for different flags.

Rust's LLVM fork has the revert, but this is still going to be a problem for Rust with system LLVM 13. Do we have a way forward for this release? A revert seems to be a safer path than trying to develop something new in short time.

Sep 8 2021, 3:26 PM · Restricted Project

Jan 27 2021

cuviper added inline comments to D71126: Adding PoisonValue for representing poison value explicitly in IR.
Jan 27 2021, 1:21 PM · Restricted Project
cuviper added inline comments to D91927: [X86] Add x86_amx type for intel AMX..
Jan 27 2021, 1:20 PM · Restricted Project, Restricted Project

Jan 21 2021

cuviper accepted D94941: Add minor version to libclang.so and libclang-cpp.so SONAME.
Jan 21 2021, 10:31 AM · Restricted Project

Jan 20 2021

cuviper added inline comments to D94941: Add minor version to libclang.so and libclang-cpp.so SONAME.
Jan 20 2021, 1:59 PM · Restricted Project
cuviper added inline comments to D94941: Add minor version to libclang.so and libclang-cpp.so SONAME.
Jan 20 2021, 11:32 AM · Restricted Project
cuviper added a comment to D94941: Add minor version to libclang.so and libclang-cpp.so SONAME.

If the SONAME is different in any way, it is totally distinct to the dynamic linker. There's no semver parsing or anything like that. That's all we can do from a technical perspective, and the rest is just communication in the release.

Jan 20 2021, 8:28 AM · Restricted Project

Nov 9 2020

cuviper committed rG4463b73e790f: Enable opt-bisect for the new pass manager (authored by cuviper).
Enable opt-bisect for the new pass manager
Nov 9 2020, 3:58 PM
cuviper closed D87951: Enable opt-bisect for the new pass manager.
Nov 9 2020, 3:58 PM · Restricted Project
cuviper updated the summary of D87951: Enable opt-bisect for the new pass manager.
Nov 9 2020, 3:45 PM · Restricted Project
cuviper updated the diff for D87951: Enable opt-bisect for the new pass manager.

Rebase, and test that required VerifierPass is not bisected

Nov 9 2020, 3:44 PM · Restricted Project

Nov 2 2020

cuviper added a comment to D87951: Enable opt-bisect for the new pass manager.

Great, thanks for the update! I will rebase after that lands.

Nov 2 2020, 1:27 PM · Restricted Project

Oct 28 2020

cuviper accepted D90216: [stack-clash] Fix probing of dynamic alloca.

Works for me!

Oct 28 2020, 1:49 PM · Restricted Project

Oct 27 2020

cuviper added a comment to D90216: [stack-clash] Fix probing of dynamic alloca.

I tried the C reproducer from that Rust bug, and it turns out that alloca(0) was already fixed by D88548. But if I change that to a larger size, then it was skipping right over the probe loop. I confirmed that your change here does make it go through the loop.

Oct 27 2020, 1:26 PM · Restricted Project

Oct 8 2020

cuviper added a comment to D89034: [SystemZ] Use LA instead of AGR in eliminateFrameIndex()..

I applied this all the way back to my original issue and confirmed that the coreos-installer test now passes -- thanks!
(I'll wait for the final version of this patch before I actually submit this to LLVM builds for Rust/Fedora/etc.)

Oct 8 2020, 12:32 PM · Restricted Project

Sep 23 2020

cuviper added a comment to D87951: Enable opt-bisect for the new pass manager.

Hmm, thanks for those pointers. To combine opt-bisect from the two pass managers, maybe there can be an explicit call to copy stateful instrumentation? I think it helps that they are not interleaved, so we could do MPM.run(), then somehow SI.copy_to(CodeGenPasses), then CodeGenPasses.run(). I still need to read that thread too...

Sep 23 2020, 10:17 AM · Restricted Project
cuviper updated the diff for D87951: Enable opt-bisect for the new pass manager.

Dropped Region from NPM opt-bisect

Sep 23 2020, 10:09 AM · Restricted Project

Sep 18 2020

cuviper requested review of D87951: Enable opt-bisect for the new pass manager.
Sep 18 2020, 3:08 PM · Restricted Project

Aug 22 2020

cuviper added inline comments to D80197: [DebugInfo] Upgrade DISubrange to support Fortran dynamic arrays.
Aug 22 2020, 10:55 AM · Restricted Project, Restricted Project, debug-info
cuviper added a comment to D85691: lld: link libatomic if needed for Timer.

FWIW, I also tagged bug 47123 for release-11.0.0.

Aug 22 2020, 10:44 AM · Restricted Project

Aug 21 2020

cuviper committed rGb26b32b5d3b8: lld: link libatomic if needed for Timer (authored by cuviper).
lld: link libatomic if needed for Timer
Aug 21 2020, 5:48 PM
cuviper closed D85691: lld: link libatomic if needed for Timer.
Aug 21 2020, 5:48 PM · Restricted Project

Aug 17 2020

cuviper added a comment to D85691: lld: link libatomic if needed for Timer.

Oh, when LLDB uses this flag, they have LLDBStandalone.cmake with include(CheckAtomic).

And you were observing this in an lld standalone build? Because otherwise we have llvm/CMakeLists.txt -> llvm/cmake/config-ix.cmake -> llvm/cmake/modules/CheckAtomic.cmake. So yeah, you should probably make sure this is included somehow.

Aug 17 2020, 3:38 PM · Restricted Project
cuviper updated the diff for D85691: lld: link libatomic if needed for Timer.

include(CheckAtomic) for standalone builds

Aug 17 2020, 3:33 PM · Restricted Project

Aug 11 2020

cuviper added a comment to D85691: lld: link libatomic if needed for Timer.

Oh, when LLDB uses this flag, they have LLDBStandalone.cmake with include(CheckAtomic).

Aug 11 2020, 5:46 PM · Restricted Project
cuviper added a comment to D85691: lld: link libatomic if needed for Timer.

Well, I now have evidence that this may indeed try to link a nonexistent library -- a new Rust CI run failed on MSVC:

Aug 11 2020, 5:43 PM · Restricted Project

Aug 10 2020

cuviper added inline comments to D84419: Fix interaction between stack alignment and inline-asm stack clash protection.
Aug 10 2020, 4:54 PM · Restricted Project
cuviper added inline comments to D84419: Fix interaction between stack alignment and inline-asm stack clash protection.
Aug 10 2020, 4:49 PM · Restricted Project
cuviper added a comment to D85691: lld: link libatomic if needed for Timer.

@jfb You did see that this is only for NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB, right? So I'm only adding that link (and hidden locking) for targets that can't do 64-bit atomics natively, otherwise you get link errors like this Rust CI failure on arm. This kind of conditional atomic link exists in several places in the monorepo already.

Aug 10 2020, 4:11 PM · Restricted Project
cuviper updated the diff for D85691: lld: link libatomic if needed for Timer.

More whitespace cleanup

Aug 10 2020, 3:43 PM · Restricted Project
cuviper added a comment to D85691: lld: link libatomic if needed for Timer.
In D85691#2208323, @jfb wrote:

You're probably better off putting the std::chrono::nanoseconds::rep behind a lock if it's not always lock free on all platforms. Some platforms just don't have libatomic, so this patch might cause other issues.

Aug 10 2020, 3:43 PM · Restricted Project
cuviper updated the diff for D85691: lld: link libatomic if needed for Timer.

Fixed indentation

Aug 10 2020, 3:25 PM · Restricted Project
cuviper requested review of D85691: lld: link libatomic if needed for Timer.
Aug 10 2020, 3:10 PM · Restricted Project

Jul 30 2020

cuviper added a comment to D84419: Fix interaction between stack alignment and inline-asm stack clash protection.

Can you add tests that show what this is intended to look like for alignments greater than the probe step size?

Jul 30 2020, 4:33 PM · Restricted Project

Jul 2 2020

cuviper accepted D82867: Fix tail allocation for large static alloca.

LGTM, and I confirmed that it works in a full rustc bootstrap, thanks!

Jul 2 2020, 3:41 PM · Restricted Project

Jun 30 2020

cuviper added inline comments to D82867: Fix tail allocation for large static alloca.
Jun 30 2020, 1:03 PM · Restricted Project
cuviper added inline comments to D82867: Fix tail allocation for large static alloca.
Jun 30 2020, 9:12 AM · Restricted Project

May 28 2020

cuviper added a comment to D80707: [legacyPM] Do not compute preserved analysis if there's no local change.

I applied this to the Rust fork to measure it in rust#72703, and here are the perf results. It looks like a reasonable gain -- no real effect on check/debug builds, but around 1% fewer instructions executed for optimized builds.

May 28 2020, 5:05 PM · Restricted Project

Apr 15 2020

cuviper committed rG5a0d8c31a327: [NFC] correct "thier" to "their" (authored by cuviper).
[NFC] correct "thier" to "their"
Apr 15 2020, 2:56 PM

Sep 5 2019

cuviper committed rL371118: Request commit access for cuviper.
Request commit access for cuviper
Sep 5 2019, 1:35 PM

Apr 23 2019

cuviper committed rG27924c3a3c67: [Lint] Permit aliasing noalias readonly arguments (authored by cuviper).
[Lint] Permit aliasing noalias readonly arguments
Apr 23 2019, 4:42 PM
cuviper committed rL359047: [Lint] Permit aliasing noalias readonly arguments.
[Lint] Permit aliasing noalias readonly arguments
Apr 23 2019, 4:42 PM
cuviper closed D60239: [Lint] Permit aliasing noalias readonly arguments.
Apr 23 2019, 4:42 PM · Restricted Project
cuviper added a comment to D60239: [Lint] Permit aliasing noalias readonly arguments.

Ping for review, please.

Apr 23 2019, 11:29 AM · Restricted Project

Apr 3 2019

cuviper created D60239: [Lint] Permit aliasing noalias readonly arguments.
Apr 3 2019, 4:19 PM · Restricted Project

Jan 22 2019

cuviper added a comment to D57070: [CodeView] Allow empty types in member functions.

I'll have to review that discussion of this pointers wrt Rust, since self can be different things, but it hasn't caused us problems yet AFAIK.

Jan 22 2019, 4:58 PM
cuviper committed rL351910: [CodeView] Allow empty types in member functions.
[CodeView] Allow empty types in member functions
Jan 22 2019, 4:54 PM
cuviper closed D57070: [CodeView] Allow empty types in member functions.
Jan 22 2019, 4:54 PM
cuviper added a comment to D57070: [CodeView] Allow empty types in member functions.

FWIW, here's more context for how I arrived at this:
https://github.com/rust-lang/rust/pull/57675#issuecomment-456210064

Jan 22 2019, 3:41 PM
cuviper created D57070: [CodeView] Allow empty types in member functions.
Jan 22 2019, 3:41 PM

Jan 15 2019

cuviper added inline comments to D56747: [EH] Rename llvm.x86.seh.recoverfp intrinsic to llvm.eh.recoverfp.
Jan 15 2019, 5:10 PM · Restricted Project

Sep 13 2018

cuviper added a comment to D51108: [PowerPC] Fix wrong ABI for i1 stack arguments on PPC32.

@glaubitz, I was specifically wondering if the author, @LionNatsu, would like to commit this on their own. I'm even more hesitant to intrude on your other review, where I wasn't involved at all.

Sep 13 2018, 12:18 PM
cuviper added a comment to D51108: [PowerPC] Fix wrong ABI for i1 stack arguments on PPC32.

Thank you all very much. It seems all reviewers have now approved the revision. When will it be landed, just by the way? Did it miss the merge window (if there is one)? 😄

Sep 13 2018, 11:40 AM

Sep 11 2018

cuviper committed rL341969: [GlobalISel] Lower dbg.declare into indirect DBG_VALUE.
[GlobalISel] Lower dbg.declare into indirect DBG_VALUE
Sep 11 2018, 10:57 AM
cuviper closed D51749: [GlobalISel] Lower dbg.declare into indirect DBG_VALUE.
Sep 11 2018, 10:57 AM
cuviper committed rL341966: Test commit: remove trailing whitespace.
Test commit: remove trailing whitespace
Sep 11 2018, 10:31 AM
cuviper added a comment to D51108: [PowerPC] Fix wrong ABI for i1 stack arguments on PPC32.

I don't think you need approval from all reviewers, as long as nobody actively disagrees. But FWIW, it looks good to me too.

Sep 11 2018, 9:22 AM

Sep 7 2018

cuviper updated the diff for D51749: [GlobalISel] Lower dbg.declare into indirect DBG_VALUE.
  • Removed the duplicate (and incorrect) declaration in debug-insts.ll debug_declare
  • Added debug-cpp.ll which more directly targets this change.
Sep 7 2018, 12:11 PM
cuviper added a comment to D51749: [GlobalISel] Lower dbg.declare into indirect DBG_VALUE.
In D51749#1226417, @rnk wrote:

I think this change could use a more direct test, consider starting with the IR generated for a C++ object, like:

struct NTCopy {
  NTCopy();
  NTCopy(const NTCopy &);
  int x;
};
int foo(NTCopy o) {
  return o.x;
}
Sep 7 2018, 11:39 AM

Sep 6 2018

cuviper updated the summary of D51749: [GlobalISel] Lower dbg.declare into indirect DBG_VALUE.
Sep 6 2018, 1:36 PM
cuviper created D51749: [GlobalISel] Lower dbg.declare into indirect DBG_VALUE.
Sep 6 2018, 1:32 PM

Aug 1 2018

cuviper abandoned D50018: SystemZ: keep AND masks before SHL i128.

Superseded by D50096.

Aug 1 2018, 11:42 AM

Jul 31 2018

cuviper added a comment to D50096: [SystemZ, TableGen] Fix shift count handling.

D50018 was spurred by failures in the Rust testsuite, and I've confirmed this patch also resolves those failures. Thanks!

Jul 31 2018, 4:45 PM

Jul 30 2018

cuviper added a comment to D50018: SystemZ: keep AND masks before SHL i128.

To be clear, this function actually combines SHL, SRA, SRL, and ROTL, so they should all be addressed accordingly. I only called out SHL because this was the particular one that bit me.

Jul 30 2018, 3:43 PM
cuviper created D50018: SystemZ: keep AND masks before SHL i128.
Jul 30 2018, 3:00 PM