Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline

hev (hev)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 15 2020, 9:29 PM (180 w, 1 d)

Recent Activity

Aug 31 2023

hev added inline comments to D159272: [LoongArch] Improve codegen for atomic ops.
Aug 31 2023, 5:01 AM · Restricted Project, Restricted Project
hev requested review of D159272: [LoongArch] Improve codegen for atomic ops.
Aug 31 2023, 4:59 AM · Restricted Project, Restricted Project
hev requested review of D159270: [LoongArch] Add test cases for atomic cmpxchg monotonic.
Aug 31 2023, 4:38 AM · Restricted Project, Restricted Project

Aug 30 2023

hev requested review of D159252: [LoongArch] Improve codegen for i8/i16 'atomicrmw xchg a, {0,-1}'.
Aug 30 2023, 11:52 PM · Restricted Project, Restricted Project
hev requested review of D159251: [LoongArch] Add test cases for atomicrmw xchg {0,-1} {i8,i16}.
Aug 30 2023, 11:50 PM · Restricted Project, Restricted Project

Jul 23 2023

hev added a comment to D154808: [RISCV] Add tests for (and (add x, c1), (lshr y, c2)).

Friendly ping.

Jul 23 2023, 8:53 PM · Restricted Project, Restricted Project
hev added a reviewer for D154808: [RISCV] Add tests for (and (add x, c1), (lshr y, c2)): RKSimon.
Jul 23 2023, 8:53 PM · Restricted Project, Restricted Project

Jul 20 2023

hev added a comment to D154919: [LoongArch] Implement isSExtCheaperThanZExt.

Thanks.

Jul 20 2023, 3:38 AM · Restricted Project, Restricted Project

Jul 18 2023

hev updated the diff for D154760: [DAGCombine] Canonicalize operands for visitANDLike.

@RKSimon rebase done.

Jul 18 2023, 3:16 AM · Restricted Project, Restricted Project

Jul 12 2023

hev added a comment to D154819: [LoongArch] Implement isZextFree.

Thanks.

Jul 12 2023, 3:02 AM · Restricted Project, Restricted Project
hev updated the diff for D154819: [LoongArch] Implement isZextFree.

Rebase.

Jul 12 2023, 3:02 AM · Restricted Project, Restricted Project
hev updated the diff for D154818: [LoongArch] Add test case showing suboptimal codegen when loading unsigned char/short.

Simplify test cases.

Jul 12 2023, 3:02 AM · Restricted Project, Restricted Project
hev updated the diff for D154762: [LoongArch] Implement isLegalAddImmediate.

Rebase.

Jul 12 2023, 3:00 AM · Restricted Project, Restricted Project
hev updated the diff for D154809: [LoongArch] Add tests for (and (add x, c1), (lshr y, c2)).

Move the case into test/CodeGen/LoongArch/ir-instruction/and.ll.

Jul 12 2023, 2:59 AM · Restricted Project, Restricted Project

Jul 10 2023

hev added inline comments to D154819: [LoongArch] Implement isZextFree.
Jul 10 2023, 10:54 PM · Restricted Project, Restricted Project
hev added inline comments to D154919: [LoongArch] Implement isSExtCheaperThanZExt.
Jul 10 2023, 10:43 PM · Restricted Project, Restricted Project
hev requested review of D154919: [LoongArch] Implement isSExtCheaperThanZExt.
Jul 10 2023, 10:39 PM · Restricted Project, Restricted Project
hev requested review of D154918: [LoongArch] Add test case showing suboptimal codegen when zero extending.
Jul 10 2023, 10:36 PM · Restricted Project, Restricted Project
hev requested review of D154819: [LoongArch] Implement isZextFree.
Jul 10 2023, 1:08 AM · Restricted Project, Restricted Project
hev requested review of D154818: [LoongArch] Add test case showing suboptimal codegen when loading unsigned char/short.
Jul 10 2023, 1:06 AM · Restricted Project, Restricted Project
hev updated the diff for D154811: [LoongArch] Implement isLegalICmpImmediate.

Rebase.

Jul 10 2023, 1:04 AM · Restricted Project, Restricted Project
hev updated the diff for D154810: [LoongArch][NFC] Add tests for (X & -256) == 256 -> (X >> 8) == 1.

Add LA64 to test file.

Jul 10 2023, 1:03 AM · Restricted Project, Restricted Project
hev updated the diff for D154762: [LoongArch] Implement isLegalAddImmediate.

Rebase.

Jul 10 2023, 12:29 AM · Restricted Project, Restricted Project
hev updated the diff for D154809: [LoongArch] Add tests for (and (add x, c1), (lshr y, c2)).

Add LA32 to test case.

Jul 10 2023, 12:28 AM · Restricted Project, Restricted Project
hev updated the diff for D154760: [DAGCombine] Canonicalize operands for visitANDLike.
  1. Update test case.
  2. Update description.
Jul 10 2023, 12:24 AM · Restricted Project, Restricted Project
hev updated the diff for D154808: [RISCV] Add tests for (and (add x, c1), (lshr y, c2)).
  1. Move to a new test file.
  2. Add RV64I to test file.
Jul 10 2023, 12:11 AM · Restricted Project, Restricted Project

Jul 9 2023

hev requested review of D154811: [LoongArch] Implement isLegalICmpImmediate.
Jul 9 2023, 7:30 PM · Restricted Project, Restricted Project
hev requested review of D154810: [LoongArch][NFC] Add tests for (X & -256) == 256 -> (X >> 8) == 1.
Jul 9 2023, 7:28 PM · Restricted Project, Restricted Project
hev updated the diff for D154762: [LoongArch] Implement isLegalAddImmediate.

Rebase and update test case.

Jul 9 2023, 7:22 PM · Restricted Project, Restricted Project
hev requested review of D154809: [LoongArch] Add tests for (and (add x, c1), (lshr y, c2)).
Jul 9 2023, 7:20 PM · Restricted Project, Restricted Project
hev updated the diff for D154760: [DAGCombine] Canonicalize operands for visitANDLike.

Rebase and update test case.

Jul 9 2023, 7:12 PM · Restricted Project, Restricted Project
hev requested review of D154808: [RISCV] Add tests for (and (add x, c1), (lshr y, c2)).
Jul 9 2023, 7:10 PM · Restricted Project, Restricted Project

Jul 8 2023

hev updated the diff for D154760: [DAGCombine] Canonicalize operands for visitANDLike.

Add a test case.

Jul 8 2023, 6:25 AM · Restricted Project, Restricted Project
hev added a comment to D154760: [DAGCombine] Canonicalize operands for visitANDLike.

Thanks.

Jul 8 2023, 6:25 AM · Restricted Project, Restricted Project
hev requested review of D154762: [LoongArch] Implement isLegalAddImmediate.
Jul 8 2023, 2:10 AM · Restricted Project, Restricted Project
hev requested review of D154760: [DAGCombine] Canonicalize operands for visitANDLike.
Jul 8 2023, 1:09 AM · Restricted Project, Restricted Project

Jun 30 2023

hev added a comment to D154192: [LoongArch] Explicitly specify instruction properties.

Thanks for your comments.

Jun 30 2023, 3:09 AM · Restricted Project, Restricted Project
hev updated the diff for D154192: [LoongArch] Explicitly specify instruction properties.
Jun 30 2023, 3:08 AM · Restricted Project, Restricted Project
hev requested review of D154192: [LoongArch] Explicitly specify instruction properties.
Jun 30 2023, 2:11 AM · Restricted Project, Restricted Project

Jun 27 2023

hev accepted D153872: [LoongArch] Emit R_LARCH_64_PCREL relocation for FK_Data_8 when IsPCRel is true.
Jun 27 2023, 8:05 AM · Restricted Project, Restricted Project
hev accepted D153865: [LoongArch] Add back SDNPSideEffect properties to CSR and IOCSR read ops.
Jun 27 2023, 6:39 AM · Restricted Project, Restricted Project

Jun 17 2023

hev added inline comments to D153193: [LoongArch] Optimize conditional selection of integer.
Jun 17 2023, 8:04 AM · Restricted Project, Restricted Project
hev updated the diff for D153193: [LoongArch] Optimize conditional selection of integer.
  1. Update to use untyped immediate operand in select patterns.
  2. Add test cases.
Jun 17 2023, 8:03 AM · Restricted Project, Restricted Project
hev requested review of D153193: [LoongArch] Optimize conditional selection of integer.
Jun 17 2023, 3:15 AM · Restricted Project, Restricted Project

Jun 16 2023

hev accepted D153120: [LoongArch] Fix handling of the chain of CSRWR and CSRXCHG nodes.

Thanks.

Jun 16 2023, 7:27 PM · Restricted Project, Restricted Project
hev accepted D153119: [LoongArch][NFC] Precommit test for D153120 (the fix of CSRWR and CSRXCHG).
Jun 16 2023, 7:26 PM · Restricted Project, Restricted Project

Jun 14 2023

hev accepted D150196: [LoongArch] Remove AssemblerPredicate for features: f/d/lsx/lasx/lvz/lbt.
Jun 14 2023, 8:29 AM · Restricted Project, Restricted Project

Jun 13 2023

hev updated the diff for D152778: [LoongArch] Ignore warnings when there is no environment in triple.

Update test case.

Jun 13 2023, 2:13 AM · Restricted Project, Restricted Project
hev updated the diff for D152778: [LoongArch] Ignore warnings when there is no environment in triple.

Add test cases.

Jun 13 2023, 1:28 AM · Restricted Project, Restricted Project

Jun 12 2023

hev requested review of D152778: [LoongArch] Ignore warnings when there is no environment in triple.
Jun 12 2023, 11:21 PM · Restricted Project, Restricted Project

Jun 7 2023

hev added a comment to D150196: [LoongArch] Remove AssemblerPredicate for features: f/d/lsx/lasx/lvz/lbt.

Just like in the Linux kernel, In bare-metal development with Rust, there is also need for compiling targets with software floating-point support to access the floating-point context through hardware floating-point instructions, potentially even within Rust's inline assembly. This should be one of the ways to address the problem.

Jun 7 2023, 8:34 AM · Restricted Project, Restricted Project

Jun 6 2023

hev added a comment to D151655: [LoongArch] Support finer-grained DBAR hints for LA664+.

Grateful for your contribution.

Jun 6 2023, 6:46 AM · Restricted Project, Restricted Project

May 13 2023

hev accepted D150417: [LoongArch] Move lp64s out of the unimplemented calling conv list.

Thank you. I tested it on Rust bare-metal target and works. :-)

May 13 2023, 8:31 AM · Restricted Project, Restricted Project

May 9 2023

hev added a comment to D150196: [LoongArch] Remove AssemblerPredicate for features: f/d/lsx/lasx/lvz/lbt.

AFAIK we just need

CFLAGS_fpu.o  = -mabi=lp64s
CFLAGS_REMOVE_fpu.o = -msoft-float
May 9 2023, 8:31 AM · Restricted Project, Restricted Project

May 8 2023

hev accepted D150089: [LoongArch] Support fcc* (condition flag) registers in inlineasm clobbers.

Thanks!

May 8 2023, 8:31 PM · Restricted Project, Restricted Project, Restricted Project

Oct 14 2022

hev added inline comments to D135948: [LoongArch] Add codegen support for cmpxchg on LA64.
Oct 14 2022, 2:34 AM · Restricted Project, Restricted Project
hev added inline comments to D135948: [LoongArch] Add codegen support for cmpxchg on LA64.
Oct 14 2022, 1:16 AM · Restricted Project, Restricted Project

Jun 19 2020

hev updated the diff for D81908: [Mips] Error if a non-immediate operand is used while an immediate is expected.
Jun 19 2020, 9:07 PM · Restricted Project
hev updated the diff for D81908: [Mips] Error if a non-immediate operand is used while an immediate is expected.

@MaskRay Sorry, I missed the comment. :)

Jun 19 2020, 8:35 PM · Restricted Project
hev added a comment to D81908: [Mips] Error if a non-immediate operand is used while an immediate is expected.

LGTM

Jun 19 2020, 6:28 PM · Restricted Project

Jun 17 2020

hev added a comment to D81919: [MIPS64] Workaround fixup_Mips_32 for getExprOpValue.

Just workaround as GNU toolchain:

$ objdump -dr t.llvm.o 

t.llvm.o:     file format elf64-tradlittlemips


Disassembly of section .text:

0000000000000000 <main>:
   0:	00000000 	nop
   4:	67f9fffc 	daddiu	t9,ra,-4
   8:	67f90000 	daddiu	t9,ra,0
	...
			10: R_MIPS_32	main
			10: R_MIPS_NONE	*ABS*
			10: R_MIPS_NONE	*ABS*

The ExprKind of main - . is ExprKind::Binary, but GNU toolchain treat it as %lo(main - .), because ORI and DADDIU only have the 16-bit signed immediate!

So just workaround ExprKind::Binary to ExprKind::Target for BAD relocation directive N64 testcase.

Jun 17 2020, 2:39 AM · Restricted Project
hev added a comment to D81908: [Mips] Error if a non-immediate operand is used while an immediate is expected.

Thanks for review.

Jun 17 2020, 2:07 AM · Restricted Project

Jun 16 2020

hev added a comment to D81919: [MIPS64] Workaround fixup_Mips_32 for getExprOpValue.

Behaviour the same as GNU toolchain:

$ objdump -r t.llvm.o 

t.llvm.o:     file format elf64-tradlittlemips

RELOCATION RECORDS FOR [.text]:
OFFSET           TYPE              VALUE 
000000000000000c R_MIPS_32         main
000000000000000c R_MIPS_NONE       *ABS*
000000000000000c R_MIPS_NONE       *ABS*

The same ABS value -4:

$ objdump -D t.llvm.o 

t.llvm.o:     file format elf64-tradlittlemips


Disassembly of section .text:

0000000000000000 <main>:
   0:	00000000 	nop
   4:	67f9fffc 	daddiu	t9,ra,-4
Jun 16 2020, 7:42 AM · Restricted Project
hev added a comment to D81908: [Mips] Error if a non-immediate operand is used while an immediate is expected.

Does this patch depend on D81919?

No!

But both patches change content of the same if (Kind == MCExpr::SymbolRef) statement.

Jun 16 2020, 7:42 AM · Restricted Project
hev updated the diff for D81908: [Mips] Error if a non-immediate operand is used while an immediate is expected.
Jun 16 2020, 5:31 AM · Restricted Project
hev added a comment to D81908: [Mips] Error if a non-immediate operand is used while an immediate is expected.

Thanks for review.

Jun 16 2020, 5:31 AM · Restricted Project
hev added a comment to D81919: [MIPS64] Workaround fixup_Mips_32 for getExprOpValue.

So do we need to maintain the same behavior as the GNU toolchain? The current behavior of including constraints is correct, and it seems clear to use explicit constraints, isn't it?

Jun 16 2020, 4:23 AM · Restricted Project
hev added a comment to D81919: [MIPS64] Workaround fixup_Mips_32 for getExprOpValue.

It is not enough to just skip the generation of fixup, because we did not calculate the sub-expression of operand 3 of the daddiu instruction, so after linking, the immediate encoding of daddiu is also incorrect:

Jun 16 2020, 3:50 AM · Restricted Project
hev updated the diff for D81908: [Mips] Error if a non-immediate operand is used while an immediate is expected.

Add a unit test case.

Jun 16 2020, 2:43 AM · Restricted Project

Jun 15 2020

hev created D81908: [Mips] Error if a non-immediate operand is used while an immediate is expected.
Jun 15 2020, 10:32 PM · Restricted Project