Page MenuHomePhabricator

Ka-Ka (Karl-Johan Karlsson)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 17 2015, 1:48 AM (389 w, 2 d)

Recent Activity

Apr 13 2023

Ka-Ka committed rG854686f0794b: [compiler-rt] Fix signed shift overflows in absvdi2.c, absvsi2.c, negvdi2.c and… (authored by Ka-Ka).
[compiler-rt] Fix signed shift overflows in absvdi2.c, absvsi2.c, negvdi2.c and…
Apr 13 2023, 10:52 PM · Restricted Project, Restricted Project
Ka-Ka closed D146932: [compiler-rt] Fix signed shift overflows in absvdi2.c, absvsi2.c, negvdi2.c and negvsi2.c.
Apr 13 2023, 10:52 PM · Restricted Project, Restricted Project
Ka-Ka updated the diff for D146932: [compiler-rt] Fix signed shift overflows in absvdi2.c, absvsi2.c, negvdi2.c and negvsi2.c.

git-clang-format

Apr 13 2023, 10:21 PM · Restricted Project, Restricted Project

Mar 30 2023

Ka-Ka committed rG3834b0467ddc: [builtins] Support architectures with 16-bit int in __ashlti3, __ashrti3 and… (authored by Ka-Ka).
[builtins] Support architectures with 16-bit int in __ashlti3, __ashrti3 and…
Mar 30 2023, 10:10 PM · Restricted Project, Restricted Project
Ka-Ka closed D146960: [builtins] Support architectures with 16-bit int in __ashlti3, __ashrti3 and __lshrti3.
Mar 30 2023, 10:09 PM · Restricted Project, Restricted Project
Ka-Ka updated the diff for D146960: [builtins] Support architectures with 16-bit int in __ashlti3, __ashrti3 and __lshrti3.

git-clang-format

Mar 30 2023, 4:47 AM · Restricted Project, Restricted Project
Ka-Ka added inline comments to rG8cba72177dcd: Implement literal suffixes for _BitInt.
Mar 30 2023, 12:05 AM · Restricted Project

Mar 27 2023

Ka-Ka requested review of D146960: [builtins] Support architectures with 16-bit int in __ashlti3, __ashrti3 and __lshrti3.
Mar 27 2023, 6:58 AM · Restricted Project, Restricted Project

Mar 26 2023

Ka-Ka requested review of D146932: [compiler-rt] Fix signed shift overflows in absvdi2.c, absvsi2.c, negvdi2.c and negvsi2.c.
Mar 26 2023, 11:23 PM · Restricted Project, Restricted Project

Mar 24 2023

Ka-Ka committed rGff426a6250e9: [compiler-rt] Fix signed integer overflow in int_mulo_impl.inc (authored by Ka-Ka).
[compiler-rt] Fix signed integer overflow in int_mulo_impl.inc
Mar 24 2023, 3:11 AM · Restricted Project, Restricted Project
Ka-Ka closed D146623: [compiler-rt] Fix signed integer overflow in int_mulo_impl.inc.
Mar 24 2023, 3:11 AM · Restricted Project, Restricted Project

Mar 22 2023

Ka-Ka requested review of D146623: [compiler-rt] Fix signed integer overflow in int_mulo_impl.inc.
Mar 22 2023, 4:47 AM · Restricted Project, Restricted Project

Mar 17 2023

Ka-Ka added a reviewer for D146123: [compiler-rt] Avoid undefined behavior when calculating absolute value in floatsidf.c and floatsisf.c: phosek.
Mar 17 2023, 12:55 AM · Restricted Project, Restricted Project
Ka-Ka committed rGbb0548a6edf0: [compiler-rt] Avoid signed overflow in floatdidf.c and floatdisf.c (authored by Ka-Ka).
[compiler-rt] Avoid signed overflow in floatdidf.c and floatdisf.c
Mar 17 2023, 12:15 AM · Restricted Project, Restricted Project
Ka-Ka closed D146135: [compiler-rt] Avoid signed overflow in floatdidf.c and floatdisf.c.
Mar 17 2023, 12:15 AM · Restricted Project, Restricted Project

Mar 15 2023

Ka-Ka updated the summary of D146123: [compiler-rt] Avoid undefined behavior when calculating absolute value in floatsidf.c and floatsisf.c.
Mar 15 2023, 8:48 AM · Restricted Project, Restricted Project
Ka-Ka requested review of D146135: [compiler-rt] Avoid signed overflow in floatdidf.c and floatdisf.c.
Mar 15 2023, 6:14 AM · Restricted Project, Restricted Project
Ka-Ka requested review of D146123: [compiler-rt] Avoid undefined behavior when calculating absolute value in floatsidf.c and floatsisf.c.
Mar 15 2023, 3:27 AM · Restricted Project, Restricted Project

Mar 8 2023

Ka-Ka committed rG3032189c0b73: [compiler-rt] Avoid signed shift overflow in __muloXi4 and __mulvXi3 (authored by Ka-Ka).
[compiler-rt] Avoid signed shift overflow in __muloXi4 and __mulvXi3
Mar 8 2023, 11:45 PM · Restricted Project, Restricted Project
Ka-Ka closed D145556: [compiler-rt] Avoid signed shift overflow in __muloXi4 and __mulvXi3.
Mar 8 2023, 11:44 PM · Restricted Project, Restricted Project
Ka-Ka added inline comments to D145556: [compiler-rt] Avoid signed shift overflow in __muloXi4 and __mulvXi3.
Mar 8 2023, 2:24 AM · Restricted Project, Restricted Project
Ka-Ka requested review of D145556: [compiler-rt] Avoid signed shift overflow in __muloXi4 and __mulvXi3.
Mar 8 2023, 1:27 AM · Restricted Project, Restricted Project

Oct 18 2022

Ka-Ka committed rGda137d041b37: [SimplifyLibCalls] Add NoUndef/NonNull/Dereferenceable attributes to… (authored by Ka-Ka).
[SimplifyLibCalls] Add NoUndef/NonNull/Dereferenceable attributes to…
Oct 18 2022, 7:37 AM · Restricted Project, Restricted Project
Ka-Ka closed D136140: [SimplifyLibCalls] Add NoUndef/NonNull/Dereferenceable attributes to iprintf/siprintf.
Oct 18 2022, 7:37 AM · Restricted Project, Restricted Project
Ka-Ka added a reviewer for D136140: [SimplifyLibCalls] Add NoUndef/NonNull/Dereferenceable attributes to iprintf/siprintf: nikic.
Oct 18 2022, 1:16 AM · Restricted Project, Restricted Project
Ka-Ka updated the diff for D136140: [SimplifyLibCalls] Add NoUndef/NonNull/Dereferenceable attributes to iprintf/siprintf.

Moved call annotateNonNullNoUndefBasedOnAccess()

Oct 18 2022, 1:14 AM · Restricted Project, Restricted Project
Ka-Ka retitled D136140: [SimplifyLibCalls] Add NoUndef/NonNull/Dereferenceable attributes to iprintf/siprintf from [SimplifyLibCalls] Add NoUndef/NonNull/Dereferenceable attributes to iprintf/isprintf to [SimplifyLibCalls] Add NoUndef/NonNull/Dereferenceable attributes to iprintf/siprintf.
Oct 18 2022, 12:52 AM · Restricted Project, Restricted Project
Ka-Ka requested review of D136140: [SimplifyLibCalls] Add NoUndef/NonNull/Dereferenceable attributes to iprintf/siprintf.
Oct 18 2022, 12:41 AM · Restricted Project, Restricted Project

Oct 5 2022

Ka-Ka added inline comments to D135263: [ValueTracking][SimplifyLibCalls] Fix bug in getConstantDataArrayInfo for wchar_t.
Oct 5 2022, 11:38 PM · Restricted Project, Restricted Project

Mar 4 2021

Ka-Ka added a comment to D94640: adds more checks to -Wfree-nonheap-object.

Thanks for the information. I found the review now in https://reviews.llvm.org/D97512

Mar 4 2021, 4:23 AM · Restricted Project
Ka-Ka added a comment to D94640: adds more checks to -Wfree-nonheap-object.

This patch seems to introduce warnings for the case

Mar 4 2021, 4:01 AM · Restricted Project

Apr 6 2020

Ka-Ka committed rG39e9149d8e12: Fix unused variable warning in Protocol.cpp, NFCI (authored by Ka-Ka).
Fix unused variable warning in Protocol.cpp, NFCI
Apr 6 2020, 11:58 PM

Mar 26 2020

Ka-Ka committed rG7055cd42b5ff: Remove extra ';', NFC (authored by Ka-Ka).
Remove extra ';', NFC
Mar 26 2020, 3:45 AM

Dec 26 2019

Ka-Ka added a comment to D70527: [clang] Fix the canonicalization of paths in -fdiagnostics-absolute-paths.

I have now updated the testcase according to comments by @MaskRay in commit 073cdb239044
Thanks for post-commit review comments.

Dec 26 2019, 1:18 AM · Restricted Project
Ka-Ka committed rG073cdb239044: [clang][test] Minor fixes in testcase absolute-paths-symlinks.c (authored by Ka-Ka).
[clang][test] Minor fixes in testcase absolute-paths-symlinks.c
Dec 26 2019, 1:01 AM

Dec 20 2019

Ka-Ka added inline comments to D64573: [Syntax] Allow to mutate syntax trees.
Dec 20 2019, 2:58 AM · Restricted Project
Ka-Ka committed rGe8efac4b1530: [clang] Fix the canonicalization of paths in -fdiagnostics-absolute-paths (authored by Ka-Ka).
[clang] Fix the canonicalization of paths in -fdiagnostics-absolute-paths
Dec 20 2019, 12:28 AM
Ka-Ka closed D70527: [clang] Fix the canonicalization of paths in -fdiagnostics-absolute-paths.
Dec 20 2019, 12:28 AM · Restricted Project

Dec 17 2019

Ka-Ka updated the diff for D70527: [clang] Fix the canonicalization of paths in -fdiagnostics-absolute-paths.

Updated patch according to review comments.

Dec 17 2019, 4:16 AM · Restricted Project
Ka-Ka added a comment to D70527: [clang] Fix the canonicalization of paths in -fdiagnostics-absolute-paths.
In D70527#1786718, @rnk wrote:

Personally, I would prefer to see the file name and path to be changed as little as possible because that would help to recognize the files better. We cannot use remove_dots() on POSIX OSes to simplify paths, because it may return an invalid path; thus we have to use getRealPath(). If I understand it right, there is no similar problem with the file name itself.

So, which issues this patch is going to solve?

It seems clear to me, the filename could be an absolute symlink to a real file somewhere far removed from the realpath of the parent directory. It seems reasonable that -fdiagnostics-absolute-paths would look through symlinks in this case.

Dec 17 2019, 3:57 AM · Restricted Project

Dec 16 2019

Ka-Ka added a comment to D70527: [clang] Fix the canonicalization of paths in -fdiagnostics-absolute-paths.

Ping

Dec 16 2019, 1:45 AM · Restricted Project

Nov 21 2019

Ka-Ka created D70527: [clang] Fix the canonicalization of paths in -fdiagnostics-absolute-paths.
Nov 21 2019, 1:29 AM · Restricted Project

Oct 30 2019

Ka-Ka committed rG760ed8da98e3: [AddressSanitizer] Only instrument globals of default address space (authored by Ka-Ka).
[AddressSanitizer] Only instrument globals of default address space
Oct 30 2019, 1:54 AM
Ka-Ka closed D68790: [AddressSanitizer] Only instrument globals of default address space.
Oct 30 2019, 1:53 AM · Restricted Project, Restricted Project

Oct 16 2019

Ka-Ka added reviewers for D68790: [AddressSanitizer] Only instrument globals of default address space: vitalybuka, leonardchan.
Oct 16 2019, 11:24 PM · Restricted Project, Restricted Project

Oct 10 2019

Ka-Ka updated the summary of D68790: [AddressSanitizer] Only instrument globals of default address space.
Oct 10 2019, 11:01 PM · Restricted Project, Restricted Project
Ka-Ka created D68790: [AddressSanitizer] Only instrument globals of default address space.
Oct 10 2019, 8:03 AM · Restricted Project, Restricted Project

Sep 16 2019

Ka-Ka committed rGa1bc428b8979: Change signature of __builtin_rotateright64 back to unsigned (authored by Ka-Ka).
Change signature of __builtin_rotateright64 back to unsigned
Sep 16 2019, 2:55 AM
Ka-Ka updated the diff for D67606: Change signature of __builtin_rotateright64 back to unsigned.

Update testcases according to review comment.

Sep 16 2019, 2:10 AM · Restricted Project, Restricted Project
Ka-Ka created D67606: Change signature of __builtin_rotateright64 back to unsigned.
Sep 16 2019, 1:12 AM · Restricted Project, Restricted Project

Aug 19 2019

Ka-Ka committed rG40da6be2bd39: [AsmPrinter] Remove const qualifier from EmitBasicBlockStart. (authored by Ka-Ka).
[AsmPrinter] Remove const qualifier from EmitBasicBlockStart.
Aug 19 2019, 10:17 PM

Jun 3 2019

Ka-Ka accepted D62580: [OpenCL] Use long instead of long long in x86 builtins.

Thanks!

Jun 3 2019, 3:51 AM · Restricted Project, Restricted Project
Ka-Ka added inline comments to D62580: [OpenCL] Use long instead of long long in x86 builtins.
Jun 3 2019, 3:03 AM · Restricted Project, Restricted Project

May 29 2019

Ka-Ka added a comment to D62580: [OpenCL] Use long instead of long long in x86 builtins.

What about a testcase? It shouldn't be hard to add a small testcase that demonstrate that the changed builtins now work when compiling OpenCL C code for x86. I don't think you have to add all changed builtins to the testcase (but a few to demonstrate the change).

May 29 2019, 12:59 PM · Restricted Project, Restricted Project

May 16 2019

Ka-Ka committed rG0e525a4d6b66: [builtin] Fixed definitions of builtins that rely on the int/long long type is… (authored by Ka-Ka).
[builtin] Fixed definitions of builtins that rely on the int/long long type is…
May 16 2019, 12:16 AM

May 15 2019

Ka-Ka updated the diff for D61845: [builtin] Fixed definitions of builtins that rely on the int/long long type is 32/64 bits.

Updated according to review comments

May 15 2019, 12:03 AM · Restricted Project, Restricted Project

May 14 2019

Ka-Ka added a reviewer for D61845: [builtin] Fixed definitions of builtins that rely on the int/long long type is 32/64 bits: efriedma.
May 14 2019, 2:47 AM · Restricted Project, Restricted Project
Ka-Ka updated the diff for D61845: [builtin] Fixed definitions of builtins that rely on the int/long long type is 32/64 bits.

Added a new C++ testcase.
Removed the REQUIRES: avr-registered-target in the avr-builtins.c testcase.

May 14 2019, 2:45 AM · Restricted Project, Restricted Project

May 12 2019

Ka-Ka created D61845: [builtin] Fixed definitions of builtins that rely on the int/long long type is 32/64 bits.
May 12 2019, 11:47 PM · Restricted Project, Restricted Project

Feb 18 2019

Ka-Ka added inline comments to D58224: [DebugInfo] Adjust fragment offset for big endian targets when splitting alloca in SROA.
Feb 18 2019, 2:16 AM · debug-info, Restricted Project

Feb 15 2019

Ka-Ka added inline comments to D58224: [DebugInfo] Adjust fragment offset for big endian targets when splitting alloca in SROA.
Feb 15 2019, 4:58 AM · debug-info, Restricted Project

Feb 14 2019

Ka-Ka added a project to D58224: [DebugInfo] Adjust fragment offset for big endian targets when splitting alloca in SROA: debug-info.
Feb 14 2019, 3:42 AM · debug-info, Restricted Project
Ka-Ka created D58224: [DebugInfo] Adjust fragment offset for big endian targets when splitting alloca in SROA.
Feb 14 2019, 1:17 AM · debug-info, Restricted Project

Jan 3 2019

Ka-Ka added a comment to D17741: adds __FILE_BASENAME__ builtin macro.

Ping?

Jan 3 2019, 3:56 AM

Dec 18 2018

Ka-Ka added a comment to D17741: adds __FILE_BASENAME__ builtin macro.

Do you think this small lit testcase below work as a testcase for the -ffile-macro-prefix-to-remove option?

Dec 18 2018, 7:21 AM

Dec 7 2018

Ka-Ka created D55438: Assert on conflicting fixes for -fix option.
Dec 7 2018, 7:49 AM

Jul 30 2018

Ka-Ka added a comment to D49946: Fix crash in bounds checking.

I found another reproducer for the problem. This one is slightly different where a different assert blow, but I guess its only a different symptom for the same fault. As this one is slightly smaller you might want to use this one as a testcase instead (or use both)? Run with "opt -bounds-checking -S".

Jul 30 2018, 3:25 AM

Jul 23 2018

Ka-Ka added a comment to D48650: [analyzer] Fix constraint being dropped when analyzing a program without taint tracking enabled.
In D48650#1165966, @NoQ wrote:

This commit causes an assertion failure on void foo(int a, int *b) { (int)b < a; }

Run-line: clang -cc1 -analyze -analyzer-checker=core -analyzer-eagerly-assume test.c

So it kinda frustrates RangeConstraintManager with a SymSymExpr that expresses a comparison between a Loc and a NonLoc symbol.

I'll think a bit more on how do i want to address that.

Jul 23 2018, 4:47 AM

Jun 20 2018

Ka-Ka updated the diff for D47203: [LowerSwitch] Fixed faulty PHI node in switch default block.

Fixed another case when PHI nodes are not correctly updated.
This time it is when switch is replaced with a single branch.

Jun 20 2018, 8:14 AM

Jun 12 2018

Ka-Ka added a comment to D48111: [JumpThreading] Don't try to rewrite a use if it's already valid..

The fix solves the problem I saw originally in a out of tree target (described in PR37745) but I don't know JumpThreading enough to say if the fix is good or not. Thanks for working on this.

Jun 12 2018, 11:11 PM

Jun 4 2018

Ka-Ka updated the diff for D47203: [LowerSwitch] Fixed faulty PHI node in switch default block.

Shouldn't there be a removePredecessor call somewhere that takes care of this?

Jun 4 2018, 6:01 AM
Ka-Ka added a comment to D47203: [LowerSwitch] Fixed faulty PHI node in switch default block.

Ping?

Jun 4 2018, 3:50 AM
Ka-Ka added a comment to D46048: [branchfolding] When hoisting common code, remove kill flags from uses.

Ping?

Jun 4 2018, 3:50 AM

Jun 1 2018

Ka-Ka updated the diff for D46379: [ConstantFold] Turn off expression simplification for vector type.

Updated testcases according to comments

Jun 1 2018, 8:36 AM
Ka-Ka added a comment to D46379: [ConstantFold] Turn off expression simplification for vector type.

Do you think I should still include the negative testcase that you specified above even if the patch now only affect the GEP case?

Yes - because the earlier revision would have caused a bug with no regression test coverage for it. Let's add that to be safe. Also, I'd prefer to use the utils/update_test_checks.py script on all tests because it makes maintenance easier. And as before, if you check in the baseline version of the test using trunk output, that's even better - we want to keep the tests in place even if the patch gets reverted for some reason.

Jun 1 2018, 7:23 AM
Ka-Ka updated the diff for D46379: [ConstantFold] Turn off expression simplification for vector type.

This is a constant folding change, so the test should be visible with just "opt -constprop ..."

Ie, the test should be minimized and moved under test/Analysis/ConstantFolding.

Jun 1 2018, 5:21 AM

May 30 2018

Ka-Ka updated the diff for D47531: [ValueTracking] Fix endless recursion in isKnownNonZero().

Updated testcase according to comment.

May 30 2018, 7:08 AM
Ka-Ka created D47531: [ValueTracking] Fix endless recursion in isKnownNonZero().
May 30 2018, 6:10 AM
Ka-Ka added reviewers for D47529: [BranchFolding] Fix live-in's when hoisting code: kparzysz, gberry, MatzeB, uweigand, aprantl.

Adding reviewers.

May 30 2018, 5:51 AM
Ka-Ka created D47529: [BranchFolding] Fix live-in's when hoisting code.
May 30 2018, 4:01 AM

May 26 2018

Ka-Ka added a comment to D45686: [Driver] Clean up tmp files when deleting Compilation objects.

Ping.

We have added a lit reproducer for this now in clang-tools-extra: https://reviews.llvm.org/D47251.

The above should be rolled into this patch as the test case verifying the behavioral changes.

I guess the intention from @dstenb was to submit both patches together. The reason for a separate patch with the testcase alone is that the reproducer use clang-tidy and as far as I know all clang-tidy tests exist in clang-tools-extra.

.. and both of them exist in the same svn repo, or git monorepo. (granted, not many use that)

May 26 2018, 1:08 PM
Ka-Ka added a comment to D45686: [Driver] Clean up tmp files when deleting Compilation objects.

Ping.

We have added a lit reproducer for this now in clang-tools-extra: https://reviews.llvm.org/D47251.

The above should be rolled into this patch as the test case verifying the behavioral changes.

May 26 2018, 12:56 PM

May 25 2018

Ka-Ka added a reviewer for D45686: [Driver] Clean up tmp files when deleting Compilation objects: JDevlieghere.

Added Jonas Devlieghere as reviewer as he was involved in the review of rL327851 (which seems to be the reason for this patch).

May 25 2018, 11:58 PM
Ka-Ka updated the diff for D47203: [LowerSwitch] Fixed faulty PHI node in switch default block.

Reduced the size of the testcase.

May 25 2018, 4:11 PM
Ka-Ka added reviewers for D46379: [ConstantFold] Turn off expression simplification for vector type: mssimpso, spatel.

Adding Matthew Simpson and Sanjay Patel as reviewers also as they have done work in ConstantFold recently.

May 25 2018, 3:44 PM

May 23 2018

Ka-Ka added inline comments to D47139: [NaryReassociate] Detect deleted instr with WeakTrackingVH.
May 23 2018, 12:29 PM
Ka-Ka updated the diff for D47139: [NaryReassociate] Detect deleted instr with WeakTrackingVH.

The reason for me to use WeakTrackingVH instead of WeakVH from the beginning was only that it was used elsewhere in the file. However as you point out WeakVH should be fine as RAUW is not used in RecursivelyDeleteTriviallyDeadInstructions(). I adjust the code to use WeakVH.

May 23 2018, 12:23 AM

May 22 2018

Ka-Ka created D47203: [LowerSwitch] Fixed faulty PHI node in switch default block.
May 22 2018, 9:30 AM
Ka-Ka added inline comments to D46052: GNUstep Objective-C ABI version 2.
May 22 2018, 12:50 AM

May 21 2018

Ka-Ka added a comment to D46379: [ConstantFold] Turn off expression simplification for vector type.

Ping?

May 21 2018, 8:50 AM
Ka-Ka created D47139: [NaryReassociate] Detect deleted instr with WeakTrackingVH.
May 21 2018, 7:20 AM

May 18 2018

Ka-Ka created D47055: [LowerSwitch] Fixed faulty PHI node update.
May 18 2018, 1:02 AM

May 14 2018

Ka-Ka added a comment to D46048: [branchfolding] When hoisting common code, remove kill flags from uses.

Ping!
Anyone up for reviewing this?

May 14 2018, 1:47 AM
Ka-Ka resigned from D46775: [LICM] Preserve DT and LoopInfo specifically.

This definitely solve the problem I saw in the issue pr37369.

May 14 2018, 1:03 AM

May 9 2018

Ka-Ka updated the diff for D46379: [ConstantFold] Turn off expression simplification for vector type.

Changed testcase according what was suggested by lebedev.ri

May 9 2018, 7:19 AM
Ka-Ka added a comment to D46379: [ConstantFold] Turn off expression simplification for vector type.

Ping!
Anyone up for reviewing this?

May 9 2018, 12:57 AM

May 7 2018

Ka-Ka updated the summary of D46048: [branchfolding] When hoisting common code, remove kill flags from uses.
May 7 2018, 5:47 AM

May 2 2018

Ka-Ka created D46379: [ConstantFold] Turn off expression simplification for vector type.
May 2 2018, 11:39 PM

Apr 26 2018

Ka-Ka added reviewers for D46048: [branchfolding] When hoisting common code, remove kill flags from uses: MatzeB, kparzysz.

Adding Matthias Braun and Krzysztof Parzyszek as reviewer as it seems you both have done work in BranchFolding.cpp before. Do you have time to review this change?

Apr 26 2018, 2:23 AM
Ka-Ka added a comment to D46048: [branchfolding] When hoisting common code, remove kill flags from uses.

Adding Uli as a reviewer for the test case, since it's SystemZ (he always reviews SystemZ changes). Note: as Kalle explained to me in a mail, this test case has been somewhat modified to expose the bug on SystemZ, but since this is a .mir test case which passes the machine verifier, I think this is not a problem.

Apr 26 2018, 2:12 AM