Page MenuHomePhabricator

myhsu (Min-Yih Hsu)
PhD Student in UC Irvine

Projects

User does not belong to any projects.

User Details

User Since
Sep 1 2017, 5:24 AM (169 w, 3 d)

Recent Activity

Thu, Nov 19

myhsu added inline comments to D88391: [M68k] (Patch 5/8) Target lowering.
Thu, Nov 19, 5:04 PM · Restricted Project
myhsu updated the diff for D88391: [M68k] (Patch 5/8) Target lowering.
  • Addressed feedbacks
  • Fix some of the build errors generated by previous rebasing
Thu, Nov 19, 5:04 PM · Restricted Project
myhsu added a comment to D88391: [M68k] (Patch 5/8) Target lowering.

It would be so nice if we could start all new targets with support for Global ISel instead...

Yeah GlobalISel is definitely in our backlog/TODOs :-) And I think @RKSimon is right, GlobalISel doesn't support big-endian at this time point.

Thu, Nov 19, 4:50 PM · Restricted Project
myhsu updated the diff for D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files.
  • Addressed feedbacks
  • Change dummy/placeholder filenames: Instead of M68kDummyXXX.cpp, necessary functions to make the build work are placed in files will be populated in later patches
Thu, Nov 19, 4:46 PM · Restricted Project
myhsu added inline comments to D88390: [M68k] (Patch 4/8) MC layer and object file support.
Thu, Nov 19, 4:44 PM · Restricted Project
myhsu updated the diff for D88390: [M68k] (Patch 4/8) MC layer and object file support.
  • Addressed some of the feedbacks
  • Change dummy/placeholder file names
Thu, Nov 19, 4:43 PM · Restricted Project

Tue, Nov 17

myhsu added inline comments to D89180: [CSKY 2/n] Add basic tablegen infra for CSKY.
Tue, Nov 17, 5:10 PM · Restricted Project
myhsu added inline comments to D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files.
Tue, Nov 17, 5:00 PM · Restricted Project
myhsu updated the diff for D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files.
  • Rebase to upstream master
  • Addressed reviewers' feedbacks
Tue, Nov 17, 5:00 PM · Restricted Project
myhsu added a comment to D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files.

Is it worth trying to avoid adding/deleting the *Dummy* files in the patch series? @rengolin any thoughts ?

I had the same though while reading through... I'm not sure how "necessary" is the dummy file.

So far, new targets haven't done that, but maybe this is a side-effect of trying to make all commits build,

Correct, I think the CodeGen required symbols like LLVMInitializeM68kTargetInfo, so I need some place to put it.

Tue, Nov 17, 4:23 PM · Restricted Project
myhsu added inline comments to D88386: [MIR][M68K] (Patch 2/8): Changes on Target-independent MIR part.
Tue, Nov 17, 4:19 PM · Restricted Project
myhsu updated the diff for D88385: [TableGen][M68K] (Patch 1/8) Utilities for complex instruction addressing modes: CodeBeads and logical operand helper functions.
  • Addressed feedbacks
  • Update to use the latest TG syntax
Tue, Nov 17, 3:57 PM · Restricted Project
myhsu added inline comments to D88385: [TableGen][M68K] (Patch 1/8) Utilities for complex instruction addressing modes: CodeBeads and logical operand helper functions.
Tue, Nov 17, 3:47 PM · Restricted Project

Mon, Nov 16

myhsu added reviewers for D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k: craig.topper, RKSimon, rengolin, theraven, MaskRay.
Mon, Nov 16, 9:32 AM · Restricted Project
myhsu added reviewers for D88393: [cfe][M68k] (Patch 7/8) Basic Clang support: craig.topper, RKSimon, rengolin, theraven, MaskRay.
Mon, Nov 16, 9:31 AM · Restricted Project
myhsu added reviewers for D88392: [M68k] (Patch 6/8) IR Tests: craig.topper, RKSimon, rengolin, theraven, MaskRay.
Mon, Nov 16, 9:31 AM · Restricted Project
myhsu added reviewers for D88391: [M68k] (Patch 5/8) Target lowering: RKSimon, rengolin, theraven, MaskRay.
Mon, Nov 16, 9:30 AM · Restricted Project
myhsu added reviewers for D88390: [M68k] (Patch 4/8) MC layer and object file support: RKSimon, rengolin, theraven, MaskRay.
Mon, Nov 16, 9:29 AM · Restricted Project
myhsu added reviewers for D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files: rengolin, theraven, MaskRay, RKSimon.
Mon, Nov 16, 9:28 AM · Restricted Project
myhsu added a reviewer for D88385: [TableGen][M68K] (Patch 1/8) Utilities for complex instruction addressing modes: CodeBeads and logical operand helper functions: RKSimon.
Mon, Nov 16, 9:26 AM · Restricted Project
myhsu added reviewers for D88386: [MIR][M68K] (Patch 2/8): Changes on Target-independent MIR part: rengolin, theraven, craig.topper, MaskRay, RKSimon.
Mon, Nov 16, 9:26 AM · Restricted Project
myhsu added reviewers for D88385: [TableGen][M68K] (Patch 1/8) Utilities for complex instruction addressing modes: CodeBeads and logical operand helper functions: theraven, MaskRay.
Mon, Nov 16, 9:25 AM · Restricted Project

Sun, Nov 1

myhsu updated the diff for D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k.

[NFC] Rename M680x0 to M68k

Sun, Nov 1, 4:32 PM · Restricted Project
myhsu updated the diff for D88393: [cfe][M68k] (Patch 7/8) Basic Clang support.

[NFC] Rename M680x0 to M68k

Sun, Nov 1, 4:31 PM · Restricted Project
myhsu updated the diff for D88392: [M68k] (Patch 6/8) IR Tests.

[NFC] Rename M680x0 to M68k

Sun, Nov 1, 4:30 PM · Restricted Project
myhsu updated the diff for D88391: [M68k] (Patch 5/8) Target lowering.

[NFC] Rename M680x0 to M68k

Sun, Nov 1, 4:29 PM · Restricted Project
myhsu updated the diff for D88390: [M68k] (Patch 4/8) MC layer and object file support.
  • [NFC] Rename M680x0 to M68k
  • Change ELF reloc's prefix from "R_M680x0_" to "R_68K_" to be in consistent with GCC
Sun, Nov 1, 4:25 PM · Restricted Project
myhsu updated the diff for D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files.

[NFC] Rename M680x0 to M68k

Sun, Nov 1, 4:09 PM · Restricted Project

Oct 12 2020

myhsu updated the diff for D88391: [M68k] (Patch 5/8) Target lowering.

Minor formatting issues

Oct 12 2020, 6:18 PM · Restricted Project
myhsu updated the diff for D88391: [M68k] (Patch 5/8) Target lowering.

Addressed feedbacks

Oct 12 2020, 6:10 PM · Restricted Project
myhsu added inline comments to D88390: [M68k] (Patch 4/8) MC layer and object file support.
Oct 12 2020, 6:09 PM · Restricted Project
myhsu updated the diff for D88390: [M68k] (Patch 4/8) MC layer and object file support.

Addressed feedbacks

Oct 12 2020, 6:08 PM · Restricted Project

Oct 9 2020

myhsu updated the diff for D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files.
Oct 9 2020, 4:01 PM · Restricted Project
myhsu updated the diff for D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files.
Oct 9 2020, 3:47 PM · Restricted Project
myhsu updated the diff for D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files.

Addressed feedbacks, mostly formatting issues

Oct 9 2020, 3:44 PM · Restricted Project
myhsu added inline comments to D88385: [TableGen][M68K] (Patch 1/8) Utilities for complex instruction addressing modes: CodeBeads and logical operand helper functions.
Oct 9 2020, 3:39 PM · Restricted Project
myhsu updated the diff for D88385: [TableGen][M68K] (Patch 1/8) Utilities for complex instruction addressing modes: CodeBeads and logical operand helper functions.

Addressed feedbacks, mostly formatting issues and minor coding improvements

Oct 9 2020, 3:38 PM · Restricted Project
myhsu closed D89011: [testsuite][M680x0] Add CycleTimer implementation for M68K architecture.

https://github.com/llvm/llvm-test-suite/commit/25883edc2f615a84c4fa741e997904293474bbc0

Oct 9 2020, 10:27 AM

Oct 7 2020

myhsu removed a reviewer for D88868: [M680x0] Add CycleTimer implementation for M68K architecture: Restricted Project.
Oct 7 2020, 3:02 PM · Restricted Project, Restricted Project
myhsu committed rGbd5fe7b010ea: [M680x0] Add google/benchmark's CycleTimer support for M68K (authored by myhsu).
[M680x0] Add google/benchmark's CycleTimer support for M68K
Oct 7 2020, 3:00 PM
myhsu added a comment to D88868: [M680x0] Add CycleTimer implementation for M68K architecture.

Thanks, LG, please feel free to commit this.
There's also one in test-suite, you might want to patch that too.

Oct 7 2020, 2:48 PM · Restricted Project, Restricted Project
myhsu requested review of D89011: [testsuite][M680x0] Add CycleTimer implementation for M68K architecture.
Oct 7 2020, 2:47 PM

Oct 6 2020

myhsu added a reviewer for D88391: [M68k] (Patch 5/8) Target lowering: craig.topper.
Oct 6 2020, 11:12 AM · Restricted Project
myhsu added a reviewer for D88390: [M68k] (Patch 4/8) MC layer and object file support: craig.topper.
Oct 6 2020, 11:12 AM · Restricted Project
myhsu added a reviewer for D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files: craig.topper.
Oct 6 2020, 11:10 AM · Restricted Project

Oct 5 2020

myhsu requested review of D88868: [M680x0] Add CycleTimer implementation for M68K architecture.
Oct 5 2020, 8:32 PM · Restricted Project, Restricted Project

Oct 4 2020

myhsu updated the diff for D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k.
  • Use the canonical CPU name (i.e. names started with upper case 'M')
  • Tell the driver to use integrated assembler (i.e. MC) by default
Oct 4 2020, 11:41 AM · Restricted Project
myhsu updated the diff for D88393: [cfe][M68k] (Patch 7/8) Basic Clang support.

Fix the CPU name passing to the backend. Also removed M68060 for now, since backend hasn't fully implemented it yet.

Oct 4 2020, 11:38 AM · Restricted Project
myhsu updated the diff for D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files.

Re-licensed all the TG files and fixed some minor errors in comments

Oct 4 2020, 11:36 AM · Restricted Project
myhsu retitled D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files from [M68K] (Patch 3/8) Basic infrastructures and changes on object file encoding to [M68K] (Patch 3/8) Basic infrastructures and target description files.
Oct 4 2020, 11:36 AM · Restricted Project

Oct 3 2020

myhsu updated the diff for D88391: [M68k] (Patch 5/8) Target lowering.

Implement the new TargetInstrInfo::isRegisterOperandPCRel interface w/ the help of Beads.

Oct 3 2020, 4:50 PM · Restricted Project
myhsu updated the diff for D88390: [M68k] (Patch 4/8) MC layer and object file support.

Update to reflect changes regarding getMCInstrBeads (formally getGenInstrBeads)

Oct 3 2020, 4:49 PM · Restricted Project
myhsu updated the diff for D88386: [MIR][M68K] (Patch 2/8): Changes on Target-independent MIR part.

Add a new interface in TargetInstrInfo: isRegisterOperandPCRel to tell MachineVerifier whether specific register operand is legal to be pc-relative

Oct 3 2020, 4:48 PM · Restricted Project
myhsu added a comment to D88385: [TableGen][M68K] (Patch 1/8) Utilities for complex instruction addressing modes: CodeBeads and logical operand helper functions.

Interesting...the patch I updated yesterday had gone through clang-format. And I didn't see any lint warning here on Phabricator. Maybe I should run again.

Did you check that you were using the latest llvm configuration?

Oct 3 2020, 4:45 PM · Restricted Project
myhsu updated the diff for D88385: [TableGen][M68K] (Patch 1/8) Utilities for complex instruction addressing modes: CodeBeads and logical operand helper functions.

Decouple getGenInstrBeads from <Target>MCCodeEmitter and put it as a static function in llvm::<Target namespace> with new name getMCInstrBeads

Oct 3 2020, 4:42 PM · Restricted Project

Oct 1 2020

myhsu updated the diff for D88393: [cfe][M68k] (Patch 7/8) Basic Clang support.

Update licenses

Oct 1 2020, 5:24 PM · Restricted Project
myhsu updated the diff for D88391: [M68k] (Patch 5/8) Target lowering.

Update licenses

Oct 1 2020, 5:24 PM · Restricted Project
myhsu updated the diff for D88390: [M68k] (Patch 4/8) MC layer and object file support.

Update licenses

Oct 1 2020, 5:23 PM · Restricted Project
myhsu updated the diff for D88385: [TableGen][M68K] (Patch 1/8) Utilities for complex instruction addressing modes: CodeBeads and logical operand helper functions.

Update license

Oct 1 2020, 5:21 PM · Restricted Project
myhsu added a comment to D88385: [TableGen][M68K] (Patch 1/8) Utilities for complex instruction addressing modes: CodeBeads and logical operand helper functions.

There are plenty of lint checks that need addressing. Some are false positives and those are obvious cases, but the rest should be followed.

You must run clang-format on new files (entirely) and on localised changes of existing files (many editors have the option to select lines and format).

Oct 1 2020, 4:08 PM · Restricted Project

Sep 30 2020

myhsu retitled D88390: [M68k] (Patch 4/8) MC layer and object file support from [M68K] (Patch 4/8) Target information to [M68K] (Patch 4/8) MC layer and object file support.
Sep 30 2020, 10:32 PM · Restricted Project
myhsu updated the diff for D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k.

Fix formatting issues

Sep 30 2020, 10:16 PM · Restricted Project
myhsu updated the diff for D88393: [cfe][M68k] (Patch 7/8) Basic Clang support.

Fix formatting issues

Sep 30 2020, 10:15 PM · Restricted Project
myhsu updated the diff for D88392: [M68k] (Patch 6/8) IR Tests.

Part of the restructing of this patch series. Now all of the tests are centralized to this patch

Sep 30 2020, 10:14 PM · Restricted Project
myhsu updated the diff for D88391: [M68k] (Patch 5/8) Target lowering.

Part of the restructing of this patch series. Now this patch contains the lowering implementations

Sep 30 2020, 10:12 PM · Restricted Project
myhsu updated the diff for D88390: [M68k] (Patch 4/8) MC layer and object file support.

Part of the restructing of this patch series. Now this patch contains the MC layer and ELF support

Sep 30 2020, 10:09 PM · Restricted Project
myhsu updated the diff for D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files.

Restruct this patch series to make every patch buildable. Now this patch will only contain the folders, build files and all the TableGen files (which are essential for all the components in later patches).

Sep 30 2020, 10:06 PM · Restricted Project
myhsu added a comment to D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files.

@jrtc27 thanks for the feedbacks. I'm currently overhauling the structure of this patch series to make each of them buildable. So some of your comments will be invalidated since their files will be migrated to another patch. I'll memo those and fix them at their new place

Sep 30 2020, 10:03 PM · Restricted Project
myhsu updated the diff for D88386: [MIR][M68K] (Patch 2/8): Changes on Target-independent MIR part.

Fix formatting issues

Sep 30 2020, 9:58 PM · Restricted Project
myhsu updated the diff for D88385: [TableGen][M68K] (Patch 1/8) Utilities for complex instruction addressing modes: CodeBeads and logical operand helper functions.
  • Fix formatting issues
  • Add documentation for CodeBeads in the header comment
Sep 30 2020, 9:56 PM · Restricted Project

Sep 28 2020

myhsu added a comment to D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files.

Please can you extract google benchmark change into a separate patch/review,
and additionally submit it upstream (https://github.com/google/benchmark)?
I'll merge it speedily there.

Sep 28 2020, 4:26 PM · Restricted Project

Sep 27 2020

myhsu requested review of D88394: [Driver][M68k] (Patch 8/8) Add driver support for M68k.
Sep 27 2020, 10:28 PM · Restricted Project
myhsu requested review of D88393: [cfe][M68k] (Patch 7/8) Basic Clang support.
Sep 27 2020, 10:27 PM · Restricted Project
myhsu requested review of D88392: [M68k] (Patch 6/8) IR Tests.
Sep 27 2020, 10:22 PM · Restricted Project
myhsu requested review of D88391: [M68k] (Patch 5/8) Target lowering.
Sep 27 2020, 10:20 PM · Restricted Project
myhsu requested review of D88390: [M68k] (Patch 4/8) MC layer and object file support.
Sep 27 2020, 10:18 PM · Restricted Project
myhsu requested review of D88389: [M68k] (Patch 3/8) Basic infrastructures and target description files.
Sep 27 2020, 10:15 PM · Restricted Project
myhsu requested review of D88386: [MIR][M68K] (Patch 2/8): Changes on Target-independent MIR part.
Sep 27 2020, 5:06 PM · Restricted Project
myhsu requested review of D88385: [TableGen][M68K] (Patch 1/8) Utilities for complex instruction addressing modes: CodeBeads and logical operand helper functions.
Sep 27 2020, 4:23 PM · Restricted Project

Sep 16 2020

myhsu added a reviewer for D87338: [Driver][PGO] Driver support for de-Optimizing cold functions (PATCH 2/2): vsk.
Sep 16 2020, 11:15 PM · Restricted Project
myhsu added a reviewer for D87337: [PGO] De-Optimizing cold functions based on PGO info (PATCH 1/2): vsk.
Sep 16 2020, 11:14 PM · Restricted Project

Sep 14 2020

myhsu added a comment to D87337: [PGO] De-Optimizing cold functions based on PGO info (PATCH 1/2).

Ping. Just want to check out if we all agree to flush out this patch series first before supporting optsize / minsize as per our discussions in the RFC thread

Sep 14 2020, 4:11 PM · Restricted Project

Sep 10 2020

myhsu updated the diff for D87337: [PGO] De-Optimizing cold functions based on PGO info (PATCH 1/2).
  • Fix wording (NFC)
  • Add 50% test and restructure the test file
Sep 10 2020, 12:08 PM · Restricted Project
myhsu added a comment to D87337: [PGO] De-Optimizing cold functions based on PGO info (PATCH 1/2).

Implementation-wise, this looks good, but I wonder if we could join minsize with this using the same (or very similar) controls.

Sep 10 2020, 10:26 AM · Restricted Project

Sep 9 2020

myhsu added a reviewer for D87338: [Driver][PGO] Driver support for de-Optimizing cold functions (PATCH 2/2): rengolin.
Sep 9 2020, 8:04 PM · Restricted Project
myhsu added a reviewer for D87337: [PGO] De-Optimizing cold functions based on PGO info (PATCH 1/2): rengolin.
Sep 9 2020, 8:03 PM · Restricted Project
myhsu updated the diff for D87338: [Driver][PGO] Driver support for de-Optimizing cold functions (PATCH 2/2).

Unified driver options from "-fprofile-deopt-cold-*" into "-fprofile-omit-cold-opt" and "-fprofile-omit-cold-opt=<percentage>". Where the former one is just a shorthand of "-fprofile-omit-cold-opt=0"

Sep 9 2020, 5:16 PM · Restricted Project
myhsu updated the diff for D87337: [PGO] De-Optimizing cold functions based on PGO info (PATCH 1/2).
  1. Fix minor formatting issues (NFC)
  2. Rename "profile-deopt-cold-*" into "profile-omit-cold-func-opt-*"
Sep 9 2020, 5:09 PM · Restricted Project
myhsu added a comment to D87337: [PGO] De-Optimizing cold functions based on PGO info (PATCH 1/2).

As per https://llvm.org/docs/LangRef.html, deopt term appears to be already coined.

Yeah, I think deopt already means something else in the JIT compiler. I'd avoid the term.

Sep 9 2020, 11:20 AM · Restricted Project
myhsu updated the diff for D87338: [Driver][PGO] Driver support for de-Optimizing cold functions (PATCH 2/2).

Fix a bug in driver that accidentally made this feature turn on by default

Sep 9 2020, 10:47 AM · Restricted Project

Sep 8 2020

myhsu added a reviewer for D87338: [Driver][PGO] Driver support for de-Optimizing cold functions (PATCH 2/2): davidxl.
Sep 8 2020, 5:15 PM · Restricted Project
myhsu updated the summary of D87337: [PGO] De-Optimizing cold functions based on PGO info (PATCH 1/2).
Sep 8 2020, 5:14 PM · Restricted Project
myhsu requested review of D87338: [Driver][PGO] Driver support for de-Optimizing cold functions (PATCH 2/2).
Sep 8 2020, 5:14 PM · Restricted Project
myhsu requested review of D87337: [PGO] De-Optimizing cold functions based on PGO info (PATCH 1/2).
Sep 8 2020, 5:07 PM · Restricted Project

Jul 22 2020

myhsu accepted D84133: [profile][test] Add -fuse-ld=bfd to make instrprof-lto-pgogen.c robust.

Thank you!
LGTM

Jul 22 2020, 9:06 AM · Restricted Project

Jul 21 2020

myhsu added inline comments to D84133: [profile][test] Add -fuse-ld=bfd to make instrprof-lto-pgogen.c robust.
Jul 21 2020, 8:42 PM · Restricted Project
myhsu added inline comments to D84133: [profile][test] Add -fuse-ld=bfd to make instrprof-lto-pgogen.c robust.
Jul 21 2020, 8:24 AM · Restricted Project

Jul 20 2020

myhsu added a comment to D83967: [profile] Move __llvm_profile_raw_version into a separate file.

Thanks. Sent D84133

I know little about PGO and its runtime. Do you know what will happen if Instrumentation level: Front-end is used? (I added a comment to https://sourceware.org/bugzilla/show_bug.cgi?id=26262#c2 )

Jul 20 2020, 9:13 AM · Restricted Project
myhsu added a comment to D84133: [profile][test] Add -fuse-ld=bfd to make instrprof-lto-pgogen.c robust.

According your problem statement, I think the correct way to approach it is to fix the environment (i.e. use the correct version of LLD) because apparently the root of cause is outdated linkers. In other words, your original argument can be extrapolated to outdated GNU as, outdated objdump, or even outdated shell. But I don't think it's a good idea to put version constrains on every of these items, or say "because it's possible that users are using an old version of bash shell, so let's use sh shell"

Jul 20 2020, 9:09 AM · Restricted Project

Jul 18 2020

myhsu added a comment to D83967: [profile] Move __llvm_profile_raw_version into a separate file.

Can you elaborate a bit how the previous behavior was broken? The test %clang_pgogen=%t.profraw -flto %s -o %t works with me with the code change reverted. By passing -Wl,-plugin-opt=save-temps, I get:

This patch is a workaround for exactly the same binutils bug you mentioned below. I'm happy to see it got fixed in binutils, but I think this patch is still necessary given the fact that many users are still using unfixed version of binutils.

I'm not sure why you could not reproduce the bug with this changes reverted, because the compile command is nearly identical to what you attached in the binutils bug report:

./bin/clang   -m64  -ldl  -fprofile-generate=build/projects/compiler-rt/test/profile/Profile-x86_64/Output/instrprof-lto-pgogen.c.tmp.profraw -flto llvm-project/compiler-rt/test/profile/instrprof-lto-pgogen.c -o llvm-project/build/projects/compiler-rt/test/profile/Profile-x86_64/Output/instrprof-lto-pgogen.c.tmp

My ld in PATH is a slightly older one.

% /usr/local/bin/ld --version 
LLD 11.0.0 (https://github.com/llvm/llvm-project/ 4e813bbdf335626a741398314709a535ef52fe8e) (compatible with GNU linkers)
Jul 18 2020, 9:21 PM · Restricted Project