Page MenuHomePhabricator

Tyker
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 16 2019, 2:09 PM (118 w, 4 d)

Recent Activity

Apr 1 2021

Tyker accepted D98759: [AssumeBundles] offset should be added to correctly calculate align.

LGTM

Apr 1 2021, 9:37 AM · Restricted Project
Tyker added a comment to D98684: [LangRef] state that align assume op bundle may take an extra argument.

seems good to me. but maybe other still have comments.

Apr 1 2021, 7:21 AM · Restricted Project

Mar 15 2021

Tyker accepted D98228: [AssumeBundles] Add nonnull/align to op bundle if noundef exists.

I think the process of checking is a value is noundef needs to be more general than just calls. maybe addKnowledge would be a better place.
because nonnull and align information can also be inferred from loads/stores.

Hi, sorry for my delay in response.
Could you elaborate a bit with an example, please?
Does it mean that the updated analysis may return suboptimal results?

Mar 15 2021, 10:18 AM · Restricted Project
Tyker added a comment to D90529: Allow nonnull/align attribute to accept poison.

A fix in AssumeBundleBuilder to make it comply LangRef: D98228

BTW, I found that "align" can take two operands: "align"(i8* ptr, i64 a, i64 b) What is the meaning of the second index (b)?

the meaning of the second index is the offset of the alignment. so with "align"(i8* ptr, i64 16, i64 12), ptr is aligned on 4 but ptr + 4 is aligned on 16.
I introduced this to support __builtin_assume_aligned which has similar semantics.

Hi, thanks for the info.

But I think an example in Transforms/AlignmentFromAssumptions/simple.ll conflicts with your definition. It has:

28 define i32 @foo2a(i32* nocapture %a) nounwind uwtable readonly {
29 entry:
30   tail call void @llvm.assume(i1 true) ["align"(i32* %a, i32 32, i32 28)]
31   %arrayidx = getelementptr inbounds i32, i32* %a, i64 -1
32   %0 = load i32, i32* %arrayidx, align 4
33   ret i32 %0
34 
35 ; CHECK-LABEL: @foo2a
36 ; CHECK: load i32, i32* {{[^,]+}}, align 32
37 ; CHECK: ret i32
38 }

"align"(i32* %a, i32 32, i32 28) means %a + 4 is 32-bytes aligned, IIUC. Then, %a - 4 cannot be 32-bytes aligned, is it?

Yes, this looks like a bug.

Mar 15 2021, 8:20 AM · Restricted Project

Mar 9 2021

Tyker added a comment to D98228: [AssumeBundles] Add nonnull/align to op bundle if noundef exists.

I think the process of checking is a value is noundef needs to be more general than just calls. maybe addKnowledge would be a better place.
because nonnull and align information can also be inferred from loads/stores.

Mar 9 2021, 1:43 AM · Restricted Project
Tyker added a comment to D90529: Allow nonnull/align attribute to accept poison.

A fix in AssumeBundleBuilder to make it comply LangRef: D98228

BTW, I found that "align" can take two operands: "align"(i8* ptr, i64 a, i64 b) What is the meaning of the second index (b)?

Mar 9 2021, 1:41 AM · Restricted Project

Mar 8 2021

Tyker added a comment to D96646: [NFC] update LangRef for D88645.

I'm not trying to be difficult, but I genuinely still don't understand the additional arguments pointer. Is it intended to allow proprietary extensions? Is there an example somewhere?

If these intrinsics are meant as a general mechanism to enable arbitrary communication between custom front ends and custom optimization passes, that's fine. I'd just like to see something explicitly explaining that.

Mar 8 2021, 9:39 AM · Restricted Project
Tyker updated the summary of D96646: [NFC] update LangRef for D88645.
Mar 8 2021, 9:39 AM · Restricted Project

Mar 1 2021

Tyker updated the diff for D96646: [NFC] update LangRef for D88645.

added more details about the storage of additional arguments.

Mar 1 2021, 5:52 AM · Restricted Project

Feb 23 2021

Tyker updated the diff for D96646: [NFC] update LangRef for D88645.

fixed the sentence.

Feb 23 2021, 1:55 AM · Restricted Project

Feb 15 2021

Tyker updated the diff for D96646: [NFC] update LangRef for D88645.

addressed comment

Feb 15 2021, 10:15 AM · Restricted Project

Feb 13 2021

Tyker added inline comments to D95993: Add auto-upgrade support for annotation intrinsics.
Feb 13 2021, 4:33 AM · Restricted Project
Tyker added inline comments to D95993: Add auto-upgrade support for annotation intrinsics.
Feb 13 2021, 4:32 AM · Restricted Project
Tyker added a comment to D95993: Add auto-upgrade support for annotation intrinsics.

This seems good to me but i am not familiar the the auto-upgrader.

Feb 13 2021, 4:30 AM · Restricted Project
Tyker added a comment to D88645: [Annotation] Allows annotation to carry some additional constant arguments..

I added the changes to the langref in https://reviews.llvm.org/D96646

Feb 13 2021, 4:29 AM · Restricted Project, Restricted Project
Tyker requested review of D96646: [NFC] update LangRef for D88645.
Feb 13 2021, 4:28 AM · Restricted Project
Tyker committed rG642e9225c6e8: reland [InstCombine] convert assumes to operand bundles (authored by Tyker).
reland [InstCombine] convert assumes to operand bundles
Feb 13 2021, 4:03 AM

Feb 9 2021

Tyker added a reverting change for rG5eb2e994f9b3: [InstCombine] convert assumes to operand bundles: rG5652e192fc22: Revert "[InstCombine] convert assumes to operand bundles".
Feb 9 2021, 4:34 PM
Tyker committed rG5652e192fc22: Revert "[InstCombine] convert assumes to operand bundles" (authored by Tyker).
Revert "[InstCombine] convert assumes to operand bundles"
Feb 9 2021, 4:34 PM
Tyker added a reverting change for D82703: [InstCombine] convert assumes to operand bundles: rG5652e192fc22: Revert "[InstCombine] convert assumes to operand bundles".
Feb 9 2021, 4:34 PM · Restricted Project
Tyker committed rG5eb2e994f9b3: [InstCombine] convert assumes to operand bundles (authored by Tyker).
[InstCombine] convert assumes to operand bundles
Feb 9 2021, 10:34 AM
Tyker closed D82703: [InstCombine] convert assumes to operand bundles.
Feb 9 2021, 10:34 AM · Restricted Project

Jan 30 2021

Tyker added inline comments to D82703: [InstCombine] convert assumes to operand bundles.
Jan 30 2021, 1:26 AM · Restricted Project
Tyker updated the diff for D82703: [InstCombine] convert assumes to operand bundles.

rebased, addressed comments. fixed issues.

Jan 30 2021, 1:26 AM · Restricted Project

Jan 16 2021

Tyker added inline comments to D82703: [InstCombine] convert assumes to operand bundles.
Jan 16 2021, 3:39 AM · Restricted Project
Tyker added inline comments to D82703: [InstCombine] convert assumes to operand bundles.
Jan 16 2021, 3:39 AM · Restricted Project
Tyker updated the diff for D82703: [InstCombine] convert assumes to operand bundles.

@Tyker are you going to upstream this? If not, can someone take over?

Jan 16 2021, 3:38 AM · Restricted Project

Nov 11 2020

Tyker added a comment to rGd093401a2617: [NFC] Remove string parameter of annotation attribute from AST childs..

Just an FYI, but this probably should have gotten a review as it's not NFC (it changes what information gets dumped in text and JSON form, impacts AST matching behavior, and other minor effects). That said, overall the direction seems fine to me, though I did question one of the changes.

Nov 11 2020, 7:54 AM
Tyker added a comment to D91239: Update attribute example to fit the new Annotation API.

I recently made it much easier to create AnnotationAttr in this context with https://reviews.llvm.org/rGd093401a2617d3c46aaed9eeaecf877e3ae1a9f1.

Nov 11 2020, 4:58 AM · Restricted Project

Nov 9 2020

Tyker committed rGd093401a2617: [NFC] Remove string parameter of annotation attribute from AST childs. (authored by Tyker).
[NFC] Remove string parameter of annotation attribute from AST childs.
Nov 9 2020, 7:40 AM

Oct 27 2020

Tyker added a comment to D88645: [Annotation] Allows annotation to carry some additional constant arguments..

Looks like this broke tests: http://45.33.8.238/linux/31159/step_12.txt

Please take a look, and revert for now if it takes a while to fix.

this is fixed by 4afa077899b

Oct 27 2020, 2:30 AM · Restricted Project, Restricted Project
Tyker committed rG2618247c61c2: Correct examples after d3205bbca3e0002d76282878986993e7e7994779 (authored by Tyker).
Correct examples after d3205bbca3e0002d76282878986993e7e7994779
Oct 27 2020, 1:50 AM

Oct 26 2020

Tyker committed rG4afa077899b1: Try to fix buildbots after d3205bbca3e0002d76282878986993e7e7994779 (authored by Tyker).
Try to fix buildbots after d3205bbca3e0002d76282878986993e7e7994779
Oct 26 2020, 3:50 AM
Tyker committed rGd3205bbca3e0: [Annotation] Allows annotation to carry some additional constant arguments. (authored by Tyker).
[Annotation] Allows annotation to carry some additional constant arguments.
Oct 26 2020, 2:50 AM
Tyker closed D88645: [Annotation] Allows annotation to carry some additional constant arguments..
Oct 26 2020, 2:50 AM · Restricted Project, Restricted Project

Oct 23 2020

Tyker updated the diff for D88645: [Annotation] Allows annotation to carry some additional constant arguments..

LGTM aside from a request for a comment to be added. Thank you!

do you mean an RFC on llvm-dev/cfe-dev ?

Oh gosh no! I just meant I was asking for a comment to be added in SemaDeclAttr.td before you commit. Sorry for the confusion! :-)

Oct 23 2020, 3:37 AM · Restricted Project, Restricted Project

Oct 22 2020

Tyker added a comment to D88645: [Annotation] Allows annotation to carry some additional constant arguments..

LGTM aside from a request for a comment to be added. Thank you!

Oct 22 2020, 9:43 AM · Restricted Project, Restricted Project

Oct 21 2020

Tyker added a comment to D63640: [clang] Improve Serialization/Imporing of APValues.

but the "real" blocker is that the testing depends on D85144 for testing.
we could land it marking the tests XFAIL and correct it when dumping improvements arrive.

I'd be OK with that. We'll have coverage for this in various forms landing pretty soon.

Oct 21 2020, 10:06 AM · Restricted Project
Tyker committed rGcf34dd0c4e84: [clang] Improve Serialization/Imporing/Dumping of APValues (authored by Tyker).
[clang] Improve Serialization/Imporing/Dumping of APValues
Oct 21 2020, 10:05 AM
Tyker closed D63640: [clang] Improve Serialization/Imporing of APValues.
Oct 21 2020, 10:04 AM · Restricted Project

Oct 20 2020

Tyker added inline comments to D88645: [Annotation] Allows annotation to carry some additional constant arguments..
Oct 20 2020, 4:30 AM · Restricted Project, Restricted Project
Tyker updated the diff for D88645: [Annotation] Allows annotation to carry some additional constant arguments..

addressed comments.

Oct 20 2020, 4:28 AM · Restricted Project, Restricted Project

Oct 17 2020

Tyker added inline comments to D74130: [clang] fix consteval call in default arguments.
Oct 17 2020, 2:48 AM · Restricted Project
Tyker updated the diff for D74130: [clang] fix consteval call in default arguments.

addressed comments.

Oct 17 2020, 2:48 AM · Restricted Project

Oct 15 2020

Tyker updated the diff for D74130: [clang] fix consteval call in default arguments.

rebased and add more fixes

Oct 15 2020, 3:53 AM · Restricted Project
Tyker committed rG53122ce2b39f: [NFC] Correct name of profile function to Profile in APValue (authored by Tyker).
[NFC] Correct name of profile function to Profile in APValue
Oct 15 2020, 1:54 AM
Tyker closed D88643: [NFC] Correct name of profile function to Profile in APValue.
Oct 15 2020, 1:54 AM · Restricted Project
Tyker added a comment to D63640: [clang] Improve Serialization/Imporing of APValues.

Reverse ping: I have a patch implementing class type non-type template parameters

that's blocked on this landing. If you won't have time to address @martong's comments soon, do you mind if I take this over and land it?

Oct 15 2020, 12:28 AM · Restricted Project
Tyker updated the diff for D63640: [clang] Improve Serialization/Imporing of APValues.

try to apply martongs's suggestions.

Oct 15 2020, 12:27 AM · Restricted Project

Oct 12 2020

Tyker added a comment to D89050: Add support for !noundef metatdata on loads.

What about leaving call llvm.assume whenever the load !noundef is moved to somewhere else? I guess this is what LLVM is doing as well.

If --enable-knowledge-retention is set, we should certainly do that if we would otherwise strip the metadata (not only for noundef).

this is not implemented the assume building currently don't look at any metadata.

Oct 12 2020, 1:41 PM · Restricted Project
Tyker added a comment to D89219: [ValueTracking] Use assume's noundef operand bundle.

you probably want to add noundef to isUsefullToPreserve such that it gets preserved automatically when knowledge retention is turned on.

Oct 12 2020, 1:15 PM · Restricted Project

Oct 10 2020

Tyker added inline comments to D88645: [Annotation] Allows annotation to carry some additional constant arguments..
Oct 10 2020, 3:18 PM · Restricted Project, Restricted Project
Tyker updated the diff for D88645: [Annotation] Allows annotation to carry some additional constant arguments..

addressed comments.

Oct 10 2020, 5:58 AM · Restricted Project, Restricted Project

Oct 9 2020

Tyker added inline comments to D88645: [Annotation] Allows annotation to carry some additional constant arguments..
Oct 9 2020, 6:25 AM · Restricted Project, Restricted Project
Tyker updated the diff for D88645: [Annotation] Allows annotation to carry some additional constant arguments..

addressed comments.

Oct 9 2020, 2:05 AM · Restricted Project, Restricted Project

Oct 8 2020

Tyker added a comment to D89054: [WIP][IR] Make `llvm.assume` `readnone`.

This change makes a lot of sense, but i don't understand all the consequences either.

Oct 8 2020, 10:33 AM · Restricted Project

Oct 1 2020

Tyker added inline comments to D63640: [clang] Improve Serialization/Imporing of APValues.
Oct 1 2020, 10:56 AM · Restricted Project
Tyker updated the diff for D63640: [clang] Improve Serialization/Imporing of APValues.

addressed comments

Oct 1 2020, 10:56 AM · Restricted Project
Tyker requested review of D88645: [Annotation] Allows annotation to carry some additional constant arguments..
Oct 1 2020, 2:40 AM · Restricted Project, Restricted Project
Tyker requested review of D88643: [NFC] Correct name of profile function to Profile in APValue.
Oct 1 2020, 2:35 AM · Restricted Project

Sep 26 2020

Tyker updated the diff for D82703: [InstCombine] convert assumes to operand bundles.

rebased
add cannonicalization of assume bundles

Sep 26 2020, 7:00 AM · Restricted Project
Tyker abandoned D88358: [InstCombine][Assumes] Cannonicalize assumes in instcombine.

this was a mistake i intended to update D82703

Sep 26 2020, 6:59 AM · Restricted Project
Tyker requested review of D88358: [InstCombine][Assumes] Cannonicalize assumes in instcombine.
Sep 26 2020, 6:52 AM · Restricted Project
Tyker committed rG8d5b289a4681: [LoopDelete][Assume] Allow deleting loops with assumes (authored by Tyker).
[LoopDelete][Assume] Allow deleting loops with assumes
Sep 26 2020, 3:34 AM
Tyker added a comment to D86816: [LoopDelete][Assume] Allow deleting loops with assumes.

OK, I think we need to revisit assume but an otherwise empty loop with an assume doesn't seem to be particularly useful. We might want to hoist loop invariant assumes, but that can be revisited. I think this solves a problem and is reasonable until we have time and ideas.

Sep 26 2020, 3:34 AM · Restricted Project
Tyker closed D86816: [LoopDelete][Assume] Allow deleting loops with assumes.
Sep 26 2020, 3:34 AM · Restricted Project

Sep 12 2020

Tyker committed rG78de7297abe2: Reland [AssumeBundles] Use operand bundles to encode alignment assumptions (authored by Tyker).
Reland [AssumeBundles] Use operand bundles to encode alignment assumptions
Sep 12 2020, 6:37 AM
Tyker updated the diff for D71739: [AssumeBundles] Use operand bundles to encode alignment assumptions.

rebased

Sep 12 2020, 5:35 AM · Restricted Project, Restricted Project
Tyker added a comment to rG8d09f20798ac: [AssumeBundles] Use operand bundles to encode alignment assumptions.
Sep 12 2020, 5:30 AM
Tyker added a comment to D71739: [AssumeBundles] Use operand bundles to encode alignment assumptions.
Sep 12 2020, 5:13 AM · Restricted Project, Restricted Project

Aug 30 2020

Tyker committed rGdaedfb632d2a: [llvm-reduce] Function body reduction: don't forget to unset comdat (authored by Tyker).
[llvm-reduce] Function body reduction: don't forget to unset comdat
Aug 30 2020, 3:18 AM
Tyker closed D86404: [llvm-reduce] Function body reduction: don't forget to unset comdat.
Aug 30 2020, 3:18 AM · Restricted Project

Aug 28 2020

Tyker added a comment to D86816: [LoopDelete][Assume] Allow deleting loops with assumes.

I'd almost say mayHaveSideEffects could have a boolean parameter to ignore droppable uses. Either way, this is right now the best we can do, teach the things that query mayHaveSideEffects and friends about droppable uses. If we have them as flags to all of them that might be easier to do.

Aug 28 2020, 2:56 PM · Restricted Project
Tyker requested review of D86816: [LoopDelete][Assume] Allow deleting loops with assumes.
Aug 28 2020, 2:17 PM · Restricted Project
Tyker committed rG6d3657417e0c: [SROA] Improve handleling of assumes bundles by SROA (authored by Tyker).
[SROA] Improve handleling of assumes bundles by SROA
Aug 28 2020, 12:57 PM
Tyker closed D86570: [SROA] Improve handleling of assumes bundles by SROA.
Aug 28 2020, 12:56 PM · Restricted Project

Aug 25 2020

Tyker requested review of D86570: [SROA] Improve handleling of assumes bundles by SROA.
Aug 25 2020, 1:06 PM · Restricted Project

Aug 22 2020

Tyker updated the diff for D86404: [llvm-reduce] Function body reduction: don't forget to unset comdat.

yeah linkage was already changed.
added a test

Aug 22 2020, 12:57 PM · Restricted Project
Tyker added a comment to D86404: [llvm-reduce] Function body reduction: don't forget to unset comdat.

Needs two tests - i agree that comdat makes sense, but i'm not sure about linkage.

Aug 22 2020, 12:08 PM · Restricted Project
Tyker requested review of D86404: [llvm-reduce] Function body reduction: don't forget to unset comdat.
Aug 22 2020, 11:52 AM · Restricted Project
Tyker updated the diff for D82703: [InstCombine] convert assumes to operand bundles.

Addressed comments.

Aug 22 2020, 11:02 AM · Restricted Project
Tyker committed rG7fef40d83cbb: [llvm-reduce] make llvm-reduce save the best reduction it has when it crashes (authored by Tyker).
[llvm-reduce] make llvm-reduce save the best reduction it has when it crashes
Aug 22 2020, 10:17 AM
Tyker closed D85996: [llvm-reduce] make llvm-reduce save the best reduction it has when it crashes.
Aug 22 2020, 10:17 AM · Restricted Project

Aug 17 2020

Tyker added a comment to D85996: [llvm-reduce] make llvm-reduce save the best reduction it has when it crashes.

This seems fine to me, thanks.
If you have llvm-reduce crashers, do let me know, i'm interested.

Aug 17 2020, 1:18 PM · Restricted Project
Tyker committed rGa79e604462ea: [AssumeBundles] Fix Bug in Assume Queries (authored by Tyker).
[AssumeBundles] Fix Bug in Assume Queries
Aug 17 2020, 12:37 PM
Tyker closed D83507: [AssumeBundles] Fix Bug in Assume Queries.
Aug 17 2020, 12:37 PM · Restricted Project

Aug 14 2020

Tyker updated the diff for D85996: [llvm-reduce] make llvm-reduce save the best reduction it has when it crashes.
  1. I'm pretty sure it's not okay to allocate memory in crash handler.
  2. We can't know that the internal state is still consistent.

i agree with both points but all i was trying to do i salvage what can be salvaged.

Aug 14 2020, 3:14 PM · Restricted Project
Tyker updated the diff for D83507: [AssumeBundles] Fix Bug in Assume Queries.

Please rebase and update the affected test :)

Aug 14 2020, 2:19 PM · Restricted Project
Tyker requested review of D85996: [llvm-reduce] make llvm-reduce save the best reduction it has when it crashes.
Aug 14 2020, 2:08 PM · Restricted Project
Tyker updated the diff for D85144: [clang] Improve Dumping of APValues.

I agree with you that it's fine to use printPretty for leaves (and additionally it would be annoying to duplicate the LValue case); that's what I was planning to do anyway.

What I am not sure I agree with is the additional complexity to handle the (debugger-only and easy to avoid) case where no context is given.

Aug 14 2020, 1:19 PM · Restricted Project
Tyker added a comment to D85933: Don't track consteval references for dependent members.

thanks for this,

Aug 14 2020, 11:43 AM · Restricted Project

Aug 7 2020

Tyker updated the diff for D82703: [InstCombine] convert assumes to operand bundles.

addressed comments

Aug 7 2020, 12:46 PM · Restricted Project
Tyker updated the diff for D63640: [clang] Improve Serialization/Imporing of APValues.

rebased

Aug 7 2020, 12:19 PM · Restricted Project
Tyker updated the diff for D85144: [clang] Improve Dumping of APValues.

this a patch i had to improve dumping before your improvement to dumping.

Aug 7 2020, 12:18 PM · Restricted Project
Tyker requested review of D83507: [AssumeBundles] Fix Bug in Assume Queries.
Aug 7 2020, 10:26 AM · Restricted Project
Tyker committed rG7d0f69118e61: [NFC] Add utility to sum/merge stats files (authored by Tyker).
[NFC] Add utility to sum/merge stats files
Aug 7 2020, 10:05 AM
Tyker closed D83505: [NFC] Add utility to sum/merge stats files.
Aug 7 2020, 10:05 AM · Restricted Project

Aug 3 2020

Tyker updated the diff for D85144: [clang] Improve Dumping of APValues.

remove unintended code.

Aug 3 2020, 11:14 AM · Restricted Project
Tyker added inline comments to D63640: [clang] Improve Serialization/Imporing of APValues.
Aug 3 2020, 10:57 AM · Restricted Project
Tyker retitled D63640: [clang] Improve Serialization/Imporing of APValues from [clang] Improve Serialization/Imporing/Dumping of APValues to [clang] Improve Serialization/Imporing of APValues.
Aug 3 2020, 10:55 AM · Restricted Project