Page MenuHomePhabricator

aqjune (Juneyoung Lee)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 17 2017, 8:49 PM (143 w, 1 d)

Recent Activity

Yesterday

aqjune added a comment to D68342: [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699).

I agree that the size of a block should not be larger than the half of memory size.

Wed, Oct 16, 7:23 PM · Restricted Project

Mon, Oct 14

aqjune updated the diff for D29014: [SelDag] Implement FREEZE node.
  • Support floating points, pointers, aggregate types, add tests for those types
Mon, Oct 14, 8:06 AM

Sun, Oct 13

aqjune created D68928: Fix clone_constant_impl to correctly deal with null pointers.
Sun, Oct 13, 9:06 AM · Restricted Project
aqjune updated the diff for D29011: [IR] Add Freeze instruction.
  • Use FreezeOperator inside Freeze_match
Sun, Oct 13, 4:26 AM
aqjune added inline comments to D29011: [IR] Add Freeze instruction.
Sun, Oct 13, 1:24 AM
aqjune updated the diff for D29011: [IR] Add Freeze instruction.
  • Rebase
  • Add more tests to freeze.ll
  • Define FreezeOperator
Sun, Oct 13, 1:15 AM

Sat, Oct 12

aqjune added a comment to D29011: [IR] Add Freeze instruction.

Should you add llvm::Freeze here by inheriting from UnaryOperator to make isa<Freeze>(Op) possible?

Sat, Oct 12, 10:01 PM
aqjune updated the diff for D29011: [IR] Add Freeze instruction.
  • Support freeze constexpr
  • Make freeze's type checking consistent with LangRef.
Sat, Oct 12, 8:28 AM

Mon, Oct 7

aqjune added a comment to D29011: [IR] Add Freeze instruction.

should there be a constantexpr freeze

Mon, Oct 7, 4:25 AM
aqjune updated the diff for D29011: [IR] Add Freeze instruction.
Mon, Oct 7, 2:47 AM
aqjune added a comment to D29011: [IR] Add Freeze instruction.

Updated the patch so UnaryOperator is used for Instruction::Freeze op.
Currently I see an error from Phabricator while uploading a new diff:

Unhandled Exception ("PhabricatorFileUploadException")	
Unable to write file: failed to write to temporary directory.

I'll retry uploading it later.

Mon, Oct 7, 2:26 AM

Aug 26 2019

aqjune updated the diff for D29014: [SelDag] Implement FREEZE node.

Rebase to trunk@369887 (August 26th, 2019)

Aug 26 2019, 10:21 AM
aqjune updated the diff for D29013: Add InstCombine/InstructionSimplify support for Freeze Instruction.

Rebase to trunk@369887 (August 26th, 2019)

Aug 26 2019, 10:20 AM
aqjune updated the diff for D29011: [IR] Add Freeze instruction.

Rebase to trunk@369887 (August 26th, 2019)

Aug 26 2019, 10:13 AM

Jul 22 2019

aqjune updated the diff for D59349: Let CorrelatedValuePropagation preserve LazyValueInfo.

Sorry, I was pretty busy last week.
@xbolva00 Rebased

Jul 22 2019, 9:24 AM · Restricted Project

Jul 14 2019

aqjune added inline comments to D64451: [PoisonChecking] Validate inbounds annotation on getelementptr where possible.
Jul 14 2019, 1:34 PM · Restricted Project

Jul 4 2019

aqjune added inline comments to D64215: Add a transform pass to make the executable semantics of poison explicit in the IR.
Jul 4 2019, 5:10 PM · Restricted Project

Jun 9 2019

aqjune added inline comments to D63044: [LangRef] Clarify poison semantics.
Jun 9 2019, 1:55 PM · Restricted Project

May 8 2019

aqjune added a comment to D60047: [CaptureTracking] Don't let comparisons against null escape inbounds pointers.

One mode of reasoning that could invalidate this example is that p *could have been* something other than 2^64-4 which would invoke UB. This UB would both let us pretend that foo does not escape p, and also print 2^64-4 even though p was not 2^64-4 in the execution we chose. This seems a bit subtle though, and I'm not entirely sure this is sound reasoning.

May 8 2019, 10:26 AM · Restricted Project
aqjune added inline comments to D59065: Add ptrmask intrinsic.
May 8 2019, 9:25 AM · Restricted Project
aqjune added inline comments to D61669: [ValueTracking] Look through ptrmask intrinsics during getUnderlyingObject..
May 8 2019, 9:15 AM · Restricted Project

Apr 1 2019

aqjune added a comment to D59065: Add ptrmask intrinsic.

In the example, the original pointer (%addr = load %struct.zot*, %struct.zot** %loc, align 8) is not dereference directly and the use case I am looking at is tagged pointers, where the inttoptr(and(ptrtoint(), C) roundtrip is required to get a valid pointer. So the original pointer might not be dereferenceable directly, but logically (ignoring the bits irrelevant for the pointer value) it should still point to the same object. Does that make sense to you?

Apr 1 2019, 2:38 AM · Restricted Project

Mar 29 2019

aqjune added a comment to D59065: Add ptrmask intrinsic.

I am also not entirely sure how control dependencies could add new underlying objects with this patch

Please read this https://bugs.llvm.org/show_bug.cgi?id=34548

I *think* that this is okay if the ptrtoint and the and have only one user, and they're in the same basic block, and there's nothing that can throw, etc. in between?

I'm not sure about this. You could have:

int32* ptr0 = malloc(4);
int32* ptr1 = malloc(4);

if (ptr0+1 != ptr1) return;

int32* ptr = (int*)(int64)(ptr0+1);

in which ptr would alias ptr1. But if you transform ptr to ptr0+1 then it would not alias ptr1. That IR ^ could have resulted from:

int32* ptr0 = malloc(4);
int32* ptr1 = malloc(4);

if (ptr0+1 != ptr1) return;

int64 ptr0_i = (int64)(ptr0+1);
int64 ptr1_i = (int64)(ptr1);

int32* ptr = (int*)ptr1_i;
Mar 29 2019, 7:57 PM · Restricted Project

Mar 27 2019

aqjune added a comment to D59349: Let CorrelatedValuePropagation preserve LazyValueInfo.

Thanks! :)
I don't have commit access; if you don't mind, could you commit this patch instead please?

Mar 27 2019, 6:50 PM · Restricted Project

Mar 23 2019

aqjune added a comment to D59349: Let CorrelatedValuePropagation preserve LazyValueInfo.

I couldn't find ready for review option from anywhere :( 'Add Action...' dropdown menu contains Plan Changes and Abandon Revision only.

Mar 23 2019, 10:04 PM · Restricted Project
aqjune added inline comments to D59349: Let CorrelatedValuePropagation preserve LazyValueInfo.
Mar 23 2019, 9:47 PM · Restricted Project
aqjune updated the diff for D59349: Let CorrelatedValuePropagation preserve LazyValueInfo.

Removes eraseValue() calls

Mar 23 2019, 9:39 PM · Restricted Project

Mar 14 2019

aqjune created D59349: Let CorrelatedValuePropagation preserve LazyValueInfo.
Mar 14 2019, 1:35 AM · Restricted Project

Jan 23 2019

aqjune abandoned D56605: Implement isSafeToPropagatePtrEquality.
Jan 23 2019, 10:19 AM
aqjune abandoned D56601: Update CaptureTracker so psub does not capture operands if possible.

Abandon this patch; will a new patch be uploaded later

Jan 23 2019, 10:18 AM
aqjune abandoned D56598: Add llvm.psub.
Jan 23 2019, 10:17 AM

Jan 14 2019

aqjune added a comment to D56598: Add llvm.psub.

Hello all, I sincerely thank you for your comments. I'll apply the comments & re-upload the patch.

Jan 14 2019, 1:01 PM

Jan 11 2019

aqjune added a reviewer for D56605: Implement isSafeToPropagatePtrEquality: hfinkel.
Jan 11 2019, 4:17 PM
aqjune updated the summary of D56598: Add llvm.psub.
Jan 11 2019, 4:16 PM
aqjune added reviewers for D56601: Update CaptureTracker so psub does not capture operands if possible: hfinkel, chandlerc, asbirlea.
Jan 11 2019, 4:14 PM
aqjune created D56605: Implement isSafeToPropagatePtrEquality.
Jan 11 2019, 8:54 AM
aqjune added a comment to D56598: Add llvm.psub.

https://reviews.llvm.org/D56601 shows how CaptureTracker can be enhanced with llvm.psub.

Jan 11 2019, 8:04 AM
aqjune created D56601: Update CaptureTracker so psub does not capture operands if possible.
Jan 11 2019, 8:03 AM
aqjune created D56598: Add llvm.psub.
Jan 11 2019, 7:44 AM

Nov 30 2018

aqjune added a comment to D55107: Prototype BasicAA improvements for discussion on llvm-dev.

I think we need to check whether shl/mul has nsw flag.

Nov 30 2018, 2:51 AM

Oct 14 2018

aqjune added a comment to D29866: [PDSE] Add PDSE..

Hello all,

Oct 14 2018, 9:54 PM

Aug 6 2018

aqjune added a comment to D50295: Let GetUnderlyingObject/Objects use MemorySSA.
store i8* %p, i8** %q
%p2 = load i8*, i8** %q ; p2 is p

If we have MemorySSA, this can be resolved in constant time. I believe BasicAliasAnalysis can get benefit this, hence supporting partially flow sensitive analysis.

I read that in the comment ;) -- but why? Shouldn't all such cases be simplified by GVN (etc.) into a form where GetUnderlyingObjects, as is, can reason about them?

Aug 6 2018, 1:55 AM

Aug 4 2018

aqjune added a comment to D50295: Let GetUnderlyingObject/Objects use MemorySSA.

Thanks for the comments!

Aug 4 2018, 7:35 PM
aqjune updated the diff for D50295: Let GetUnderlyingObject/Objects use MemorySSA.
  • Address comments
  • Update the title
  • Add a new test that deals with load volatile
Aug 4 2018, 7:30 PM
aqjune created D50295: Let GetUnderlyingObject/Objects use MemorySSA.
Aug 4 2018, 2:22 AM

Jul 3 2018

aqjune added a comment to D48893: [Constants, InstCombine] allow RHS (operand 1) identity constants for binops.

I think it depends on what shl i32 %x, undef is - undef can be concretized into an integer larger than 31, and according to https://llvm.org/docs/LangRef.html#id134 , it is poison, so conversion like the one in shuffle_select.ll may be invalid.
Defining shl with large second operand as poison explains another kind of optimizations, IMHO: For example, InstCombine optimizes (C2 << X) << C1 into (C2 << C1) << X. Defining shl with large shift as undef does not explain this optimimzation - If C1 = 4, C2 = 1 and X = 33, source is (1 << 33) << 4 = undef << 4 = (undef with low 4 bits zero), but after optimization it is (1 << 4) << 33 = undef. If large shift yields poison, this is explained, because poison << 4 = poison.

Jul 3 2018, 11:22 PM

Jun 12 2018

aqjune added a comment to D47860: Print OptimizedAccessType in MemorySSA if it is set.

Yes, you can commit this patch.

Jun 12 2018, 8:18 PM
aqjune added inline comments to D47860: Print OptimizedAccessType in MemorySSA if it is set.
Jun 12 2018, 8:17 PM
aqjune updated the diff for D47860: Print OptimizedAccessType in MemorySSA if it is set.
  • Move definition of operator<< to AliasAnalysis.cpp
  • Update format of MemoryDef print
Jun 12 2018, 8:16 PM

Jun 10 2018

aqjune added a comment to D47860: Print OptimizedAccessType in MemorySSA if it is set.

Comments applied :)

Jun 10 2018, 7:00 PM
aqjune updated the diff for D47860: Print OptimizedAccessType in MemorySSA if it is set.
  • Define << operator for AliasResult & let AliasAnalysisEvaluator.cpp use it as well
  • Update printing format of MemoryDef so it prints optimized def as well
Jun 10 2018, 6:59 PM

Jun 8 2018

aqjune added inline comments to D47854: [LangRef] Clarify semantics of load metadata..
Jun 8 2018, 7:22 PM

Jun 6 2018

aqjune created D47860: Print OptimizedAccessType in MemorySSA if it is set.
Jun 6 2018, 5:52 PM

May 5 2018

aqjune updated the diff for D29014: [SelDag] Implement FREEZE node.

Rebased to svn commit 331585

May 5 2018, 12:11 PM
aqjune updated the diff for D29013: Add InstCombine/InstructionSimplify support for Freeze Instruction.

Rebased to svn commit 331586

May 5 2018, 11:16 AM
aqjune updated the diff for D29011: [IR] Add Freeze instruction.

Rebased to svn commit 331585

May 5 2018, 11:00 AM

Nov 12 2017

aqjune added a comment to D34856: Let llvm-diff correctly deal with Undef/ConstantAggregateZero/ConstantVector/IndirectBr.

Could someone have a try to apply this patch? I just checked out llvm from SVN, tried patch -p0 -i ../patch.file, and it worked well.

Nov 12 2017, 9:19 PM

Oct 30 2017

aqjune added inline comments to D39408: Let InstCombiner::foldAllocaCmp check whether icmp is in a loop.
Oct 30 2017, 1:31 PM

Oct 29 2017

aqjune created D39408: Let InstCombiner::foldAllocaCmp check whether icmp is in a loop.
Oct 29 2017, 6:23 PM

Jul 17 2017

aqjune updated the diff for D29016: [LoopUnswitch] Do not freeze condition if hoisted branch is guaranteed to be reachable.

Rebased to svn commit 308173

Jul 17 2017, 1:15 PM
aqjune updated the diff for D29015: [LoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison.

Rebased to svn commit 308173

Jul 17 2017, 12:17 PM
aqjune updated the diff for D29013: Add InstCombine/InstructionSimplify support for Freeze Instruction.

Rebased to svn commit 308173

Jul 17 2017, 11:53 AM
aqjune updated the diff for D29014: [SelDag] Implement FREEZE node.

Rebased to svn commit 308173

Jul 17 2017, 8:05 AM
aqjune updated the diff for D29011: [IR] Add Freeze instruction.

Rebased to svn commit 308173

Jul 17 2017, 8:04 AM

Jul 10 2017

aqjune updated the diff for D34856: Let llvm-diff correctly deal with Undef/ConstantAggregateZero/ConstantVector/IndirectBr.

I apologize for my mistake. I updated the diff and checked that it works with patch -p0 -i diff.patch

Jul 10 2017, 12:46 AM

Jul 9 2017

aqjune added a comment to D34856: Let llvm-diff correctly deal with Undef/ConstantAggregateZero/ConstantVector/IndirectBr.

Hello, how can I commit this patch to SVN? I don't think I have commit access to SVN. :( If someone applies this patch instead of me it would be a great help. (I wrote a comment here according to the policy written in 'Commiting a change', http://llvm.org/docs/Phabricator.html )

Jul 9 2017, 6:13 AM

Jul 3 2017

aqjune added a comment to D34856: Let llvm-diff correctly deal with Undef/ConstantAggregateZero/ConstantVector/IndirectBr.

Hello, I don't have commit access. Could someone commit this patch instead? Thanks.

Jul 3 2017, 7:33 AM

Jun 30 2017

aqjune added a comment to D34856: Let llvm-diff correctly deal with Undef/ConstantAggregateZero/ConstantVector/IndirectBr.

@chenwj Yes, these tests failed in absence of my patch.

Jun 30 2017, 7:10 AM

Jun 29 2017

aqjune updated the diff for D34856: Let llvm-diff correctly deal with Undef/ConstantAggregateZero/ConstantVector/IndirectBr.

I added 4 tests, and checked that make check-llvm works well.

Jun 29 2017, 11:37 PM
aqjune created D34856: Let llvm-diff correctly deal with Undef/ConstantAggregateZero/ConstantVector/IndirectBr.
Jun 29 2017, 7:09 PM

Apr 20 2017

aqjune added a comment to D32277: Replace slow LEA instructions in X86.

@skatkov Well, the assemblies also included leal with r13 register as well. :)

102     leal    8(%r14), %eax

->

102     leal    8(%r13), %eax

The performance gap may be due to the instruction, but I'm not sure. (actually, converting r14 to r13 increased performance in this case, but I have no idea what's happening inside CPU..)

Apr 20 2017, 8:50 PM
aqjune added a comment to D32277: Replace slow LEA instructions in X86.

We report our observation regarding this issue.
We observed 10% speed up for the Queens benchmark in Nightly Test by simply swapping r13 and r14.

Apr 20 2017, 3:36 AM

Feb 3 2017

aqjune updated the diff for D29016: [LoopUnswitch] Do not freeze condition if hoisted branch is guaranteed to be reachable.
  • Add FindNextSuccessorBlock
  • Minor modifications
Feb 3 2017, 8:11 AM
aqjune added inline comments to D29016: [LoopUnswitch] Do not freeze condition if hoisted branch is guaranteed to be reachable.
Feb 3 2017, 7:43 AM

Feb 2 2017

aqjune added a comment to D29015: [LoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison.

NeedFreeze is set to true in this patch, but it can have different value in upcoming patch (https://reviews.llvm.org/D29016).

Feb 2 2017, 8:37 PM
aqjune added inline comments to D29015: [LoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison.
Feb 2 2017, 4:46 PM
aqjune added a comment to D29011: [IR] Add Freeze instruction.

@filcab Thanks for your comments.

Feb 2 2017, 11:40 AM
aqjune added inline comments to D29016: [LoopUnswitch] Do not freeze condition if hoisted branch is guaranteed to be reachable.
Feb 2 2017, 8:58 AM
aqjune updated the diff for D29016: [LoopUnswitch] Do not freeze condition if hoisted branch is guaranteed to be reachable.
  • Compute reachable terminators in advance so it does not traverse same basic block multiple times
  • Let branchs with constant condition be treated well
Feb 2 2017, 8:53 AM

Feb 1 2017

aqjune added inline comments to D29016: [LoopUnswitch] Do not freeze condition if hoisted branch is guaranteed to be reachable.
Feb 1 2017, 12:07 AM

Jan 30 2017

aqjune added inline comments to D29011: [IR] Add Freeze instruction.
Jan 30 2017, 12:20 AM
aqjune added inline comments to D29011: [IR] Add Freeze instruction.
Jan 30 2017, 12:19 AM
aqjune added a parent revision for D29015: [LoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison: D29013: Add InstCombine/InstructionSimplify support for Freeze Instruction.
Jan 30 2017, 12:14 AM
aqjune added a child revision for D29013: Add InstCombine/InstructionSimplify support for Freeze Instruction: D29015: [LoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison.
Jan 30 2017, 12:14 AM
aqjune updated the diff for D29015: [LoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison.
Jan 30 2017, 12:13 AM
aqjune updated the diff for D29013: Add InstCombine/InstructionSimplify support for Freeze Instruction.
Jan 30 2017, 12:12 AM
aqjune updated the diff for D29011: [IR] Add Freeze instruction.
Jan 30 2017, 12:11 AM

Jan 26 2017

aqjune updated the diff for D29014: [SelDag] Implement FREEZE node.
Jan 26 2017, 11:23 PM
aqjune added inline comments to D29011: [IR] Add Freeze instruction.
Jan 26 2017, 1:28 AM

Jan 25 2017

aqjune updated the diff for D29011: [IR] Add Freeze instruction.
  • Modify typos, add more comments (including TODOs)
  • Add tests for parsing error
  • Moved test/Bitcode/freeze.ll to test/Bitcode/compatibility.ll.
Jan 25 2017, 8:26 AM
aqjune updated the diff for D29014: [SelDag] Implement FREEZE node.
  • FastISel for FREEZE added.
  • Updated description of FREEZE.
Jan 25 2017, 6:32 AM

Jan 24 2017

aqjune updated the diff for D29011: [IR] Add Freeze instruction.
  • Add llvm-c test (test/Bindings/llvm-c/freeze.ll)
  • Update tools/llvm-c-test/echo.cpp so it can deal with Freeze instruction.
Jan 24 2017, 1:46 AM

Jan 23 2017

aqjune created D29016: [LoopUnswitch] Do not freeze condition if hoisted branch is guaranteed to be reachable.
Jan 23 2017, 4:00 AM
aqjune created D29015: [LoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison.
Jan 23 2017, 3:58 AM
aqjune created D29014: [SelDag] Implement FREEZE node.
Jan 23 2017, 3:56 AM
aqjune created D29013: Add InstCombine/InstructionSimplify support for Freeze Instruction.
Jan 23 2017, 3:52 AM
aqjune added a reviewer for D29011: [IR] Add Freeze instruction: rafael.
Jan 23 2017, 3:46 AM
aqjune removed a reviewer for D29011: [IR] Add Freeze instruction: deadalnix.
Jan 23 2017, 3:43 AM
aqjune created D29011: [IR] Add Freeze instruction.
Jan 23 2017, 3:42 AM