Page MenuHomePhabricator

bryanpkc (Bryan Chan)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 28 2016, 3:30 AM (233 w, 5 d)

Recent Activity

Mon, Sep 14

bryanpkc added a comment to D86843: [EarlyCSE] Equivalent SELECTs should hash equally.

Apologies for the bug and thanks @hliao for the quick fix.

Mon, Sep 14, 5:55 AM · Restricted Project

Thu, Sep 10

bryanpkc committed rGc9826829d74e: [EarlyCSE] Equivalent SELECTs should hash equally (authored by bryanpkc).
[EarlyCSE] Equivalent SELECTs should hash equally
Thu, Sep 10, 2:00 PM
bryanpkc closed D86843: [EarlyCSE] Equivalent SELECTs should hash equally.
Thu, Sep 10, 2:00 PM · Restricted Project
bryanpkc added a comment to D86843: [EarlyCSE] Equivalent SELECTs should hash equally.

Thanks Sanjay.

Thu, Sep 10, 1:56 PM · Restricted Project

Sun, Sep 6

bryanpkc requested review of D87204: [EarlyCSE] Force hash collision with EXPENSIVE_CHECKS.
Sun, Sep 6, 5:52 AM · Restricted Project

Fri, Sep 4

bryanpkc added a comment to D86843: [EarlyCSE] Equivalent SELECTs should hash equally.

Pinging reviewers.

Fri, Sep 4, 7:42 AM · Restricted Project
bryanpkc committed rG3404add4684d: [EarlyCSE] Verify hash code in regression tests (authored by bryanpkc).
[EarlyCSE] Verify hash code in regression tests
Fri, Sep 4, 7:41 AM
bryanpkc closed D86863: [EarlyCSE] Verify hash code in regression tests.
Fri, Sep 4, 7:41 AM · Restricted Project
bryanpkc added inline comments to D86863: [EarlyCSE] Verify hash code in regression tests.
Fri, Sep 4, 7:35 AM · Restricted Project

Thu, Sep 3

bryanpkc updated the summary of D86863: [EarlyCSE] Verify hash code in regression tests.
Thu, Sep 3, 12:56 PM · Restricted Project
bryanpkc added inline comments to D86863: [EarlyCSE] Verify hash code in regression tests.
Thu, Sep 3, 12:55 PM · Restricted Project
bryanpkc updated the diff for D86863: [EarlyCSE] Verify hash code in regression tests.

Removed the change to the default value of EarlyCSEDebugHash as per @lebedev.ri's suggestion.

Thu, Sep 3, 12:43 PM · Restricted Project
bryanpkc committed rGa09eef113f17: Replace CRLF with LF; NFC (authored by bryanpkc).
Replace CRLF with LF; NFC
Thu, Sep 3, 12:30 PM

Mon, Aug 31

bryanpkc updated the summary of D86863: [EarlyCSE] Verify hash code in regression tests.
Mon, Aug 31, 1:56 AM · Restricted Project
bryanpkc requested review of D86863: [EarlyCSE] Verify hash code in regression tests.
Mon, Aug 31, 1:55 AM · Restricted Project

Sun, Aug 30

bryanpkc updated the diff for D86843: [EarlyCSE] Equivalent SELECTs should hash equally.

Fixed linter warning.

Sun, Aug 30, 11:15 AM · Restricted Project
bryanpkc added a comment to D86843: [EarlyCSE] Equivalent SELECTs should hash equally.
  1. As a preparatory patch, we should adjust every test that uses EarlyCSE to also specify -earlycse-debug-hash, at least to those where it doesn't result in an assertion

Thanks for your suggestions, Roman. I have added the reproducer to the EarlyCSE tests, next to other similar test cases. Regarding your first suggestion, do you mean that we should enable -earlycse-debug-hash in all tests under llvm/test/Transforms/EarlyCSE/, or even all tests under llvm/test/ that may implicitly use EarlyCSE?

At least for every test that explicitly uses -early-cse.

That seems like overkill.

OTOH these bugs aren't fun, and they should be trivially caught by existing tests, since the test coverage should be good anyways.

Sun, Aug 30, 11:13 AM · Restricted Project
bryanpkc added inline comments to D86843: [EarlyCSE] Equivalent SELECTs should hash equally.
Sun, Aug 30, 11:12 AM · Restricted Project
bryanpkc added a comment to D86843: [EarlyCSE] Equivalent SELECTs should hash equally.
  1. As a preparatory patch, we should adjust every test that uses EarlyCSE to also specify -earlycse-debug-hash, at least to those where it doesn't result in an assertion
Sun, Aug 30, 11:07 AM · Restricted Project
bryanpkc updated the diff for D86843: [EarlyCSE] Equivalent SELECTs should hash equally.

Added a regression test using the -earlycse-debug-hash option.

Sun, Aug 30, 11:00 AM · Restricted Project

Sat, Aug 29

bryanpkc updated the diff for D86843: [EarlyCSE] Equivalent SELECTs should hash equally.

Cleaned up unused code.

Sat, Aug 29, 7:13 PM · Restricted Project
bryanpkc updated the diff for D86843: [EarlyCSE] Equivalent SELECTs should hash equally.

Moved the fix into matchSelectWithOptionalNotCond instead of duplicating code.

Sat, Aug 29, 7:11 PM · Restricted Project
bryanpkc requested review of D86843: [EarlyCSE] Equivalent SELECTs should hash equally.
Sat, Aug 29, 3:39 PM · Restricted Project

Jun 18 2020

bryanpkc added a comment to D80801: [DAGCombiner] allow more folding of fadd + fmul into fma.

We are only pulling the trailing addition in with an existing multiply.

The problem here is that it's the "wrong" multiply: you have, essentially (A*B+D*E)+F, and you're turning it into A*B+(D*E+F). I don't think contraction is supposed to cover that.

Jun 18 2020, 6:03 PM · Restricted Project
bryanpkc added a comment to D80801: [DAGCombiner] allow more folding of fadd + fmul into fma.

Sorry for the late question, but I don't understand why this kind of folding is not considered reassociation. I thought reassociation was not allowed even when -ffp-contract=fast.

Jun 18 2020, 2:15 PM · Restricted Project

Apr 14 2020

bryanpkc committed rGb86ff5f6efbe: [OpenMP] Sync writes to child thread's data before reduction (authored by bryanpkc).
[OpenMP] Sync writes to child thread's data before reduction
Apr 14 2020, 11:51 AM
bryanpkc closed D77603: [OpenMP] Sync writes to child thread's data before reduction.
Apr 14 2020, 11:51 AM · Restricted Project

Apr 13 2020

bryanpkc added a comment to D77603: [OpenMP] Sync writes to child thread's data before reduction.

Yes, ideally barriers of all types should have these extra synchronizations, though with lesser priority I think. Because other barriers do not work by default, they need to be explicitly requested.

Apr 13 2020, 2:13 PM · Restricted Project
bryanpkc added a comment to D77603: [OpenMP] Sync writes to child thread's data before reduction.

Sorry, found one more issue.

I think the first MB should be moved inside the block:

for (level...
  if (((tid...
Apr 13 2020, 11:17 AM · Restricted Project
bryanpkc updated the diff for D77603: [OpenMP] Sync writes to child thread's data before reduction.

Pair the memory barriers correctly at the same nesting level within the loop.

Apr 13 2020, 10:44 AM · Restricted Project
bryanpkc updated the diff for D77603: [OpenMP] Sync writes to child thread's data before reduction.

Add a paired memory barrier to the child thread's path after it finishes writing to its own data and before releasing the parent thread.

Apr 13 2020, 3:44 AM · Restricted Project
bryanpkc added a comment to D77603: [OpenMP] Sync writes to child thread's data before reduction.

I don't see paired memory barrier in a child thread between assigning th.th_local.reduce_data in __kmp_barrier_template() and releasing b_arrived barrier flag that frees parent to go to reduce data.

Apr 13 2020, 3:44 AM · Restricted Project

Apr 6 2020

bryanpkc created D77603: [OpenMP] Sync writes to child thread's data before reduction.
Apr 6 2020, 3:49 PM · Restricted Project

Mar 27 2020

bryanpkc committed rG236ac68fa5b1: [OpenMP] Add memory barrier to solve data race (authored by hkao13).
[OpenMP] Add memory barrier to solve data race
Mar 27 2020, 1:44 PM
bryanpkc closed D76780: [OpenMP] Added memory barrier to solve data race.
Mar 27 2020, 1:44 PM · Restricted Project

Mar 26 2020

bryanpkc added a comment to D76780: [OpenMP] Added memory barrier to solve data race.

@Hahnfeld Thanks for the explanation!

Mar 26 2020, 7:00 AM · Restricted Project

Mar 25 2020

bryanpkc added a comment to D76780: [OpenMP] Added memory barrier to solve data race.

Why doesn't the KMP_MB after the store to th_next_waiting guarantee that the unblocked thread sees that store?

Mar 25 2020, 2:05 PM · Restricted Project
bryanpkc added a comment to D76780: [OpenMP] Added memory barrier to solve data race.

Yes, this looks related to memory consistency. As far as I understand the threads synchronize on th_spin_here, so this is guaranteed to be updated. Any other write before this in __kmp_release_queuing_lock is not guaranteed to be synchronized by a weak memory model. This includes th_next_waiting (which triggers the assertion), but also writes by the user application. That's particularly bad because this should be taken care of by the runtime!

Mar 25 2020, 2:05 PM · Restricted Project

Dec 30 2019

bryanpkc committed rG0c5bee8fdd40: [test] do not parse ls output for file size; NFCI (authored by bryanpkc).
[test] do not parse ls output for file size; NFCI
Dec 30 2019, 10:42 AM

Dec 8 2019

bryanpkc committed rG74e6ce2529fa: [Frontend] Allow OpenMP offloading to aarch64 (authored by bryanpkc).
[Frontend] Allow OpenMP offloading to aarch64
Dec 8 2019, 11:49 AM
bryanpkc closed D70804: [Frontend] Allow OpenMP offloading to aarch64.
Dec 8 2019, 11:48 AM · Restricted Project

Dec 6 2019

bryanpkc updated the diff for D70804: [Frontend] Allow OpenMP offloading to aarch64.

Removed unrelated changes from this patch.

Dec 6 2019, 12:15 PM · Restricted Project
bryanpkc added inline comments to D70804: [Frontend] Allow OpenMP offloading to aarch64.
Dec 6 2019, 11:57 AM · Restricted Project

Dec 5 2019

bryanpkc added inline comments to D70804: [Frontend] Allow OpenMP offloading to aarch64.
Dec 5 2019, 8:15 PM · Restricted Project
bryanpkc added a comment to D70804: [Frontend] Allow OpenMP offloading to aarch64.

Pinging reviewers.

Dec 5 2019, 6:26 PM · Restricted Project

Nov 29 2019

bryanpkc updated the diff for D70804: [Frontend] Allow OpenMP offloading to aarch64.

Add tests for -fopenmp-targets=.

Nov 29 2019, 9:17 PM · Restricted Project

Nov 28 2019

bryanpkc added a comment to D70804: [Frontend] Allow OpenMP offloading to aarch64.

Tests are required

Nov 28 2019, 8:41 PM · Restricted Project
bryanpkc committed rG4d3198e243fa: [OpenMP] build offload plugins before testing them (authored by bryanpkc).
[OpenMP] build offload plugins before testing them
Nov 28 2019, 2:55 PM
bryanpkc closed D70803: [OpenMP] build offload plugins before testing them.
Nov 28 2019, 2:54 PM · Restricted Project
bryanpkc created D70804: [Frontend] Allow OpenMP offloading to aarch64.
Nov 28 2019, 1:19 AM · Restricted Project
bryanpkc created D70803: [OpenMP] build offload plugins before testing them.
Nov 28 2019, 1:08 AM · Restricted Project

Oct 28 2019

bryanpkc committed rG35cb3ee4ca47: [AArch64][Builtins] Avoid unnecessary cache cleaning (authored by bryanpkc).
[AArch64][Builtins] Avoid unnecessary cache cleaning
Oct 28 2019, 6:52 AM
bryanpkc closed D69247: [AArch64][Builtins] Avoid unnecssary cache cleaning.
Oct 28 2019, 6:52 AM · Restricted Project, Restricted Project

Oct 26 2019

bryanpkc updated the diff for D69247: [AArch64][Builtins] Avoid unnecssary cache cleaning.

Avoid reading CTR_EL0 on every call to __clear_cache.

Oct 26 2019, 10:39 AM · Restricted Project, Restricted Project
bryanpkc added a comment to D69247: [AArch64][Builtins] Avoid unnecssary cache cleaning.

I actually read that LKML post before submitting the patch, and I had the same understanding as @ktkachov. I will change the code to cache the result of the MRS instruction as suggested.

Oct 26 2019, 10:34 AM · Restricted Project, Restricted Project

Oct 23 2019

bryanpkc added reviewers for D69247: [AArch64][Builtins] Avoid unnecssary cache cleaning: t.p.northover, rnk, peter.smith.

Pinging reviewers.

Oct 23 2019, 7:00 PM · Restricted Project, Restricted Project

Oct 21 2019

bryanpkc created D69247: [AArch64][Builtins] Avoid unnecssary cache cleaning.
Oct 21 2019, 3:31 AM · Restricted Project, Restricted Project

Oct 7 2019

bryanpkc committed rL374012: Request commit access for bryanpkc.
Request commit access for bryanpkc
Oct 7 2019, 10:26 PM

Feb 15 2019

bryanpkc added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Thanks Stephan, now looks good.

Did you see the comment on lgamma coming after isoc99? I wonder if that's reproducible in all systems...

Yup I saw it. But I don't get any errors here (Ubuntu 16.04 / Ubuntu 18.something) AArch64.

And it's not clear to me how that sorted alphabetical order is supposed to work. There's a bunch of other functions that come after lgamma/tgamma that aren't sorted.

For example:

/// char * __strtok_r(char *s, const char *delim, char **save_ptr);
TLI_DEFINE_ENUM_INTERNAL(dunder_strtok_r)
TLI_DEFINE_STRING_INTERNAL("__strtok_r")
/// int abs(int j);
TLI_DEFINE_ENUM_INTERNAL(abs)
TLI_DEFINE_STRING_INTERNAL("abs")
/// int access(const char *path, int amode);
TLI_DEFINE_ENUM_INTERNAL(access)
TLI_DEFINE_STRING_INTERNAL("access")
Feb 15 2019, 3:35 PM · Restricted Project

Feb 13 2019

bryanpkc added inline comments to D53927: [AArch64] Enable libm vectorized functions via SLEEF.
Feb 13 2019, 1:13 PM · Restricted Project

Feb 5 2019

bryanpkc added a comment to D47210: [lit] Fix the `--max-time` flag feature which was completely broken..

Is there any plan to fix this patch and land it? We use --max-time in our tests and intermittently run into the Python assertion. We can work around the problem by killing lit.py with another timer, but then we lose the report that lit.py produces at the end of the run.

Feb 5 2019, 9:33 AM

Jan 10 2019

bryanpkc committed rL350825: [AArch64] Fix operation actions for FP16 vector intrinsics.
[AArch64] Fix operation actions for FP16 vector intrinsics
Jan 10 2019, 7:06 AM
bryanpkc closed D56296: [AArch64] Fix operation actions for FP16 vector intrinsics.
Jan 10 2019, 7:06 AM
bryanpkc updated the diff for D56296: [AArch64] Fix operation actions for FP16 vector intrinsics.

Rebased on trunk.

Jan 10 2019, 7:05 AM
bryanpkc updated the diff for D56296: [AArch64] Fix operation actions for FP16 vector intrinsics.

Removed trailing spaces. NFC.

Jan 10 2019, 5:12 AM

Jan 8 2019

bryanpkc added a comment to D56296: [AArch64] Fix operation actions for FP16 vector intrinsics.

Pinging reviewers.

Jan 8 2019, 4:42 PM

Jan 3 2019

bryanpkc created D56296: [AArch64] Fix operation actions for FP16 vector intrinsics.
Jan 3 2019, 3:16 PM

Nov 26 2018

bryanpkc added inline comments to D54633: [NFC][AArch64] Split out backend features.
Nov 26 2018, 2:24 PM

Nov 22 2018

bryanpkc added inline comments to D54633: [NFC][AArch64] Split out backend features.
Nov 22 2018, 10:45 PM

Nov 9 2018

bryanpkc committed rL346546: [AArch64] Support HiSilicon's TSV110 processor.
[AArch64] Support HiSilicon's TSV110 processor
Nov 9 2018, 11:34 AM
bryanpkc closed D53908: [AArch64] Support HiSilicon's TSV110 processor.
Nov 9 2018, 11:34 AM
bryanpkc added a comment to D53908: [AArch64] Support HiSilicon's TSV110 processor.

Thanks Kristof!

Nov 9 2018, 10:59 AM

Nov 6 2018

bryanpkc added a comment to D53908: [AArch64] Support HiSilicon's TSV110 processor.

Pinging reviewers....

Nov 6 2018, 10:19 AM

Nov 1 2018

bryanpkc updated the diff for D53908: [AArch64] Support HiSilicon's TSV110 processor.

Added a unit test for lib/Support/Host.cpp and removed some redundant tests.

Nov 1 2018, 2:28 PM
bryanpkc added inline comments to D53908: [AArch64] Support HiSilicon's TSV110 processor.
Nov 1 2018, 2:27 PM

Oct 30 2018

bryanpkc created D53908: [AArch64] Support HiSilicon's TSV110 processor.
Oct 30 2018, 3:34 PM

Oct 29 2018

bryanpkc committed rL345515: [AArch64] Rename FP16FML instruction format (NFC).
[AArch64] Rename FP16FML instruction format (NFC)
Oct 29 2018, 10:29 AM

Oct 25 2018

bryanpkc committed rC345344: [AArch64] Implement FP16FML intrinsics.
[AArch64] Implement FP16FML intrinsics
Oct 25 2018, 4:51 PM
bryanpkc committed rL345344: [AArch64] Implement FP16FML intrinsics.
[AArch64] Implement FP16FML intrinsics
Oct 25 2018, 4:50 PM
bryanpkc closed D53633: [AArch64] Implement FP16FML intrinsics.
Oct 25 2018, 4:50 PM · Restricted Project
bryanpkc committed rL345337: [AArch64] Implement FP16FML intrinsics.
[AArch64] Implement FP16FML intrinsics
Oct 25 2018, 4:39 PM
bryanpkc closed D53632: [AArch64] Implement FP16FML intrinsics.
Oct 25 2018, 4:39 PM

Oct 24 2018

bryanpkc added a comment to D53633: [AArch64] Implement FP16FML intrinsics.

I think this is reasonable.

Oct 24 2018, 12:02 PM · Restricted Project

Oct 23 2018

bryanpkc updated the diff for D53632: [AArch64] Implement FP16FML intrinsics.

Updated the patch to avoid using monorepo path names.

Oct 23 2018, 9:44 PM
bryanpkc created D53633: [AArch64] Implement FP16FML intrinsics.
Oct 23 2018, 9:42 PM · Restricted Project
bryanpkc created D53632: [AArch64] Implement FP16FML intrinsics.
Oct 23 2018, 9:34 PM

Sep 3 2018

bryanpkc added inline comments to D50685: [AArch64] Support conversion between fp16 and fp128.
Sep 3 2018, 11:37 PM · Restricted Project

Aug 25 2018

bryanpkc added a comment to D50685: [AArch64] Support conversion between fp16 and fp128.

Pinging reviewers...

Aug 25 2018, 3:43 PM · Restricted Project

Aug 15 2018

bryanpkc added a reviewer for D50685: [AArch64] Support conversion between fp16 and fp128: howard.hinnant.
Aug 15 2018, 12:06 PM · Restricted Project

Aug 13 2018

bryanpkc created D50685: [AArch64] Support conversion between fp16 and fp128.
Aug 13 2018, 8:58 PM · Restricted Project

Aug 6 2018

bryanpkc committed rL339013: [AArch64] Fix assertion failure on widened f16 BUILD_VECTOR.
[AArch64] Fix assertion failure on widened f16 BUILD_VECTOR
Aug 6 2018, 7:15 AM
bryanpkc closed D50202: [AArch64] Fix assertion failure on widened f16 BUILD_VECTOR.
Aug 6 2018, 7:15 AM

Aug 3 2018

bryanpkc updated the diff for D50202: [AArch64] Fix assertion failure on widened f16 BUILD_VECTOR.

Removed impossible code path from NormalizeBuildVector.

Aug 3 2018, 2:21 PM
bryanpkc added inline comments to D50202: [AArch64] Fix assertion failure on widened f16 BUILD_VECTOR.
Aug 3 2018, 10:21 AM

Aug 2 2018

bryanpkc created D50202: [AArch64] Fix assertion failure on widened f16 BUILD_VECTOR.
Aug 2 2018, 3:33 PM

Aug 1 2018

bryanpkc committed rL338554: [AArch64] Fix FCCMP with FP16 operands.
[AArch64] Fix FCCMP with FP16 operands
Aug 1 2018, 6:51 AM
bryanpkc closed D50115: [AArch64] Fix FCCMP with FP16 operands.
Aug 1 2018, 6:50 AM

Jul 31 2018

bryanpkc created D50115: [AArch64] Fix FCCMP with FP16 operands.
Jul 31 2018, 4:29 PM

Jul 2 2018

bryanpkc added a comment to D48614: [SelectionDAG] Fix promotion of extracted FP vector element.

There are actually two selection DAGs for that test. I'm not sure why yet. The final schedule is printed separately for each DAG.

Jul 2 2018, 10:59 PM
bryanpkc added inline comments to D48614: [SelectionDAG] Fix promotion of extracted FP vector element.
Jul 2 2018, 9:03 PM