Page MenuHomePhabricator
Feed Advanced Search

Yesterday

StephenFan added a reviewer for D107327: [JITLink][RISCV] Add relocation fixup test: luismarques.
Tue, Aug 3, 12:54 AM · Restricted Project
StephenFan requested review of D107328: [JITLink] Add fixup value range check.
Tue, Aug 3, 12:54 AM · Restricted Project
StephenFan requested review of D107327: [JITLink][RISCV] Add relocation fixup test.
Tue, Aug 3, 12:36 AM · Restricted Project

Mon, Aug 2

StephenFan committed rG0023caf952e5: [RuntimeDyldChecker] Delete comparision of integers of different signs (authored by StephenFan).
[RuntimeDyldChecker] Delete comparision of integers of different signs
Mon, Aug 2, 8:40 PM
StephenFan committed rGf4e418ac1e02: [RuntimeDyldChecker] Support offset in decode_operand expr (authored by StephenFan).
[RuntimeDyldChecker] Support offset in decode_operand expr
Mon, Aug 2, 8:30 PM
StephenFan closed D105528: [RuntimeDyldChecker] Support offset in decode_operand expr.
Mon, Aug 2, 8:30 PM · Restricted Project
StephenFan updated the diff for D107250: [JITLink] Improve extractBits function.

Change size_t to unsigned

Mon, Aug 2, 12:48 AM · Restricted Project
StephenFan requested review of D107250: [JITLink] Improve extractBits function.
Mon, Aug 2, 12:45 AM · Restricted Project

Sun, Aug 1

StephenFan updated the diff for D105528: [RuntimeDyldChecker] Support offset in decode_operand expr.

Disable support of negative offset. A negative offset may get a invalid address.

Sun, Aug 1, 11:35 PM · Restricted Project

Fri, Jul 23

StephenFan added inline comments to D105429: [JITLink][RISCV] Initial Support RISCV64 in JITLink.
Fri, Jul 23, 9:00 AM · Restricted Project
StephenFan committed rGc7c70f20a16e: [JITLink] Add riscv.cpp (authored by StephenFan).
[JITLink] Add riscv.cpp
Fri, Jul 23, 8:58 AM
StephenFan added a comment to D105429: [JITLink][RISCV] Initial Support RISCV64 in JITLink.

LGTM.

@StephenFan -- Do you have commit access? If so, please go ahead and commit. If not, are you happy for me to commit this on your behalf?

Fri, Jul 23, 8:50 AM · Restricted Project
StephenFan committed rG0ad562b48bfd: [JITLink][RISCV] Initial Support RISCV64 in JITLink (authored by StephenFan).
[JITLink][RISCV] Initial Support RISCV64 in JITLink
Fri, Jul 23, 8:48 AM
StephenFan closed D105429: [JITLink][RISCV] Initial Support RISCV64 in JITLink.
Fri, Jul 23, 8:48 AM · Restricted Project

Wed, Jul 21

StephenFan updated the diff for D105429: [JITLink][RISCV] Initial Support RISCV64 in JITLink.

Address @jrtc27 's comments

Wed, Jul 21, 8:54 PM · Restricted Project
StephenFan updated the diff for D105429: [JITLink][RISCV] Initial Support RISCV64 in JITLink.

Address @lhames 's comments

Wed, Jul 21, 7:15 AM · Restricted Project
StephenFan updated the diff for D105528: [RuntimeDyldChecker] Support offset in decode_operand expr.

Fail faster when SymbolMem's size < Offset + instruction size

Wed, Jul 21, 1:47 AM · Restricted Project
StephenFan updated the diff for D105528: [RuntimeDyldChecker] Support offset in decode_operand expr.

Fail fast when SymbolMem's size < Offset + instruction size

Wed, Jul 21, 1:44 AM · Restricted Project
StephenFan updated the diff for D105429: [JITLink][RISCV] Initial Support RISCV64 in JITLink.

Address @lhames 's comment.

Wed, Jul 21, 1:10 AM · Restricted Project

Mon, Jul 19

StephenFan updated the diff for D105528: [RuntimeDyldChecker] Support offset in decode_operand expr.

Address @jrtc27's comments

Mon, Jul 19, 1:08 AM · Restricted Project
StephenFan added inline comments to D105429: [JITLink][RISCV] Initial Support RISCV64 in JITLink.
Mon, Jul 19, 1:04 AM · Restricted Project
StephenFan updated the diff for D105429: [JITLink][RISCV] Initial Support RISCV64 in JITLink.

Address @jrtc27 's comment.

Mon, Jul 19, 12:58 AM · Restricted Project

Sun, Jul 18

StephenFan updated the diff for D105528: [RuntimeDyldChecker] Support offset in decode_operand expr.

Address @jrtc27 and @lhames 's comment

Sun, Jul 18, 4:16 AM · Restricted Project
StephenFan updated the diff for D105528: [RuntimeDyldChecker] Support offset in decode_operand expr.

Address @jrtc27 and @lhames 's comment

Sun, Jul 18, 3:59 AM · Restricted Project
StephenFan updated the diff for D105429: [JITLink][RISCV] Initial Support RISCV64 in JITLink.

Fix error

Sun, Jul 18, 1:40 AM · Restricted Project
StephenFan added inline comments to D105429: [JITLink][RISCV] Initial Support RISCV64 in JITLink.
Sun, Jul 18, 1:33 AM · Restricted Project
StephenFan updated the diff for D105429: [JITLink][RISCV] Initial Support RISCV64 in JITLink.

Address @lhames and @jrtc27 's comment

Sun, Jul 18, 1:28 AM · Restricted Project

Wed, Jul 14

StephenFan added a comment to D105528: [RuntimeDyldChecker] Support offset in decode_operand expr.

Side note: Some comparisons may be easier to express with the bit-slicing operator. E.g. this example from MachO_arm64_relocations.s:

Thanks, lhames! Bit-slicing looks like a great idea! I will change it.

# jitlink-check: decode_operand(test_local_call, 0)[25:0] = (named_func - test_local_call)[27:2]
        .globl  test_local_call
        .p2align  2
test_local_call:
        bl   named_func

Please address Jessica's feedback, but otherwise LGTM. Thanks Stephen!

Wed, Jul 14, 4:47 AM · Restricted Project

Tue, Jul 13

StephenFan added inline comments to D105528: [RuntimeDyldChecker] Support offset in decode_operand expr.
Tue, Jul 13, 11:56 PM · Restricted Project

Sun, Jul 11

StephenFan added inline comments to D105168: [RISCV] Unify the arch string parsing logic to RISCVISAInfo..
Sun, Jul 11, 11:39 PM · Restricted Project, Restricted Project

Tue, Jul 6

StephenFan requested review of D105528: [RuntimeDyldChecker] Support offset in decode_operand expr.
Tue, Jul 6, 10:34 PM · Restricted Project

Jul 5 2021

StephenFan requested review of D105429: [JITLink][RISCV] Initial Support RISCV64 in JITLink.
Jul 5 2021, 5:08 AM · Restricted Project

Jul 2 2021

StephenFan updated subscribers of D105168: [RISCV] Unify the arch string parsing logic to RISCVISAInfo..
Jul 2 2021, 10:21 PM · Restricted Project, Restricted Project

May 24 2021

StephenFan accepted D100577: [RISCV] Optimize getVLENFactoredAmount function..
May 24 2021, 1:13 AM · Restricted Project
StephenFan added a comment to D100577: [RISCV] Optimize getVLENFactoredAmount function..

@StephenFan Is something holding up committing this?

May 24 2021, 1:13 AM · Restricted Project

May 11 2021

StephenFan added a comment to D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.

Ping.

May 11 2021, 9:48 PM · Restricted Project

Apr 29 2021

StephenFan committed rG5603ed60ad6c: [RISCV] Fix StackOffset calculation when using sp to access the fixed stack… (authored by StephenFan).
[RISCV] Fix StackOffset calculation when using sp to access the fixed stack…
Apr 29 2021, 8:03 PM
StephenFan closed D100286: [RISCV] Fix StackOffset calculation when using sp to access the fixed stack object in the case of rvv vector objects existed.
Apr 29 2021, 8:03 PM · Restricted Project
StephenFan committed rG325b454ed8d8: [RISCV] Precommit a test case that test accessing a fixed object when has rvv… (authored by StephenFan).
[RISCV] Precommit a test case that test accessing a fixed object when has rvv…
Apr 29 2021, 7:38 PM
StephenFan closed D100284: [RISCV] Precommit a test case that test accessing a fixed object when has rvv vector object existed.
Apr 29 2021, 7:37 PM · Restricted Project
StephenFan updated the diff for D100284: [RISCV] Precommit a test case that test accessing a fixed object when has rvv vector object existed.

rebase.

Apr 29 2021, 7:33 PM · Restricted Project
StephenFan added inline comments to D100284: [RISCV] Precommit a test case that test accessing a fixed object when has rvv vector object existed.
Apr 29 2021, 7:13 PM · Restricted Project

Apr 19 2021

StephenFan updated the diff for D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.

Full end

Apr 19 2021, 5:43 AM · Restricted Project

Apr 16 2021

StephenFan added inline comments to D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.
Apr 16 2021, 11:50 PM · Restricted Project
StephenFan updated the diff for D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.

Delete "that" in comment

Apr 16 2021, 11:27 PM · Restricted Project
StephenFan updated the diff for D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.

Address @asb 's comment

Apr 16 2021, 11:24 PM · Restricted Project
StephenFan added a comment to D100286: [RISCV] Fix StackOffset calculation when using sp to access the fixed stack object in the case of rvv vector objects existed.

I think this makes sense to me but I'm not sure I'd give approval alone.

Apr 16 2021, 8:14 PM · Restricted Project
StephenFan added a reviewer for D100286: [RISCV] Fix StackOffset calculation when using sp to access the fixed stack object in the case of rvv vector objects existed: frasercrmck.
Apr 16 2021, 8:13 PM · Restricted Project
StephenFan updated the summary of D100577: [RISCV] Optimize getVLENFactoredAmount function..
Apr 16 2021, 8:09 PM · Restricted Project
StephenFan updated the diff for D100577: [RISCV] Optimize getVLENFactoredAmount function..

Add git log info.

Apr 16 2021, 8:08 PM · Restricted Project
StephenFan added a comment to D100577: [RISCV] Optimize getVLENFactoredAmount function..

Hi @craig.topper , @frasercrmck , Sorry, I missed it. And I will add it right now.

Apr 16 2021, 8:02 PM · Restricted Project

Apr 15 2021

StephenFan updated the diff for D100577: [RISCV] Optimize getVLENFactoredAmount function..

Add Kill flag

Apr 15 2021, 10:08 AM · Restricted Project
StephenFan added reviewers for D100577: [RISCV] Optimize getVLENFactoredAmount function.: craig.topper, HsiangKai, frasercrmck, rogfer01.
Apr 15 2021, 10:00 AM · Restricted Project
StephenFan requested review of D100577: [RISCV] Optimize getVLENFactoredAmount function..
Apr 15 2021, 9:59 AM · Restricted Project
StephenFan added a comment to D100286: [RISCV] Fix StackOffset calculation when using sp to access the fixed stack object in the case of rvv vector objects existed.

Ping:)

Apr 15 2021, 12:11 AM · Restricted Project

Apr 11 2021

StephenFan requested review of D100286: [RISCV] Fix StackOffset calculation when using sp to access the fixed stack object in the case of rvv vector objects existed.
Apr 11 2021, 10:43 PM · Restricted Project
StephenFan requested review of D100284: [RISCV] Precommit a test case that test accessing a fixed object when has rvv vector object existed.
Apr 11 2021, 10:29 PM · Restricted Project

Apr 8 2021

StephenFan added a comment to D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.
In D98101#2663432, @asb wrote:

Could you please rebase this to account for D98716?

I _think_ the right fix is to change the call for needsStackRealignment to shouldRealignStack. But I'm seeing multiple runtime failures for the GCC torture suite with the patch applied. e.g. 20031012-1.c at O0 for rv32imafdc ilp32.

Apr 8 2021, 10:02 PM · Restricted Project
StephenFan updated the diff for D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.

Fix error.

Apr 8 2021, 9:51 PM · Restricted Project

Apr 7 2021

StephenFan accepted D100035: [RISCV] Add scalable offset under very large stack size..
Apr 7 2021, 11:15 PM · Restricted Project

Mar 21 2021

StephenFan closed D98922: Delete Redundant parameters in clang/unittests/AST/CMakeLists.txt.
Mar 21 2021, 10:55 PM · Restricted Project
StephenFan added a comment to D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.

Ping.

Mar 21 2021, 10:38 PM · Restricted Project
StephenFan committed rG02ffbac844e0: [RISCV] remove redundant instruction when eliminate frame index (authored by StephenFan).
[RISCV] remove redundant instruction when eliminate frame index
Mar 21 2021, 3:55 AM
StephenFan closed D92479: [RISCV] remove redundant instruction when eliminate frame index.
Mar 21 2021, 3:55 AM · Restricted Project

Mar 19 2021

StephenFan accepted D98802: [RISCV] Fix offset computation for RVV.
Mar 19 2021, 6:56 AM · Restricted Project
StephenFan added inline comments to D98802: [RISCV] Fix offset computation for RVV.
Mar 19 2021, 6:53 AM · Restricted Project

Mar 18 2021

StephenFan added inline comments to D98802: [RISCV] Fix offset computation for RVV.
Mar 18 2021, 10:46 PM · Restricted Project
StephenFan added a comment to D98802: [RISCV] Fix offset computation for RVV.
Mar 18 2021, 10:45 PM · Restricted Project
StephenFan added a comment to D98802: [RISCV] Fix offset computation for RVV.

Hi @rogfer01 ! It is reasonable to me. But I think the instruction of BuildMI(MBB, MBBI, DL, TII->get(RISCV::ADDI), SPReg) can be eliminated. Firstly, the value of calleeSavedStackSize can be regarded as a aligned value(For example, aligned to MFI.getStackAlign()). Then we can calculate the padding size by the aligned calleeSavedStackSize minus the original calleeSavedStackSize. When emits prologue, we can minus the value of MFI.getStackSize() - original calleeSavedStackSize + aligned calleeSavedStackSize. When get the offset of the rvv object, we can MFI.getStackSize() - original calleesavedStackSize, because we just want to calculate the non-calleesaved field size. My English is poor and I am a beginner of LLVM-RISCV. So I don't know if it makes sense to you.

Mar 18 2021, 9:03 AM · Restricted Project

Mar 13 2021

StephenFan committed rGa9b9c64fd4c8: change rvv frame layout (authored by StephenFan).
change rvv frame layout
Mar 13 2021, 12:12 AM
StephenFan closed D97111: [RISCV] change rvv frame layout.
Mar 13 2021, 12:11 AM · Restricted Project
StephenFan updated the diff for D97111: [RISCV] change rvv frame layout.

rebase

Mar 13 2021, 12:06 AM · Restricted Project

Mar 12 2021

StephenFan updated the diff for D97111: [RISCV] change rvv frame layout.

Address @rogfer01 's comment.

Mar 12 2021, 11:47 PM · Restricted Project
StephenFan committed rG5ddbd1fdbb08: [RISCV] Remove redundancy -mattr=+d in test file (authored by StephenFan).
[RISCV] Remove redundancy -mattr=+d in test file
Mar 12 2021, 11:22 PM
StephenFan closed D97177: [RISCV] Remove redundancy -mattr=+d in test file.
Mar 12 2021, 11:21 PM · Restricted Project

Mar 5 2021

StephenFan updated the diff for D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.

Fix comment error.

Mar 5 2021, 10:51 PM · Restricted Project
StephenFan added inline comments to D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.
Mar 5 2021, 10:39 PM · Restricted Project
StephenFan updated the diff for D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.

Pre-commit local-stack-allocation.ll test.

Mar 5 2021, 10:32 PM · Restricted Project
StephenFan added inline comments to D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.
Mar 5 2021, 10:25 PM · Restricted Project
StephenFan added inline comments to D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.
Mar 5 2021, 10:10 PM · Restricted Project
StephenFan updated the summary of D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.
Mar 5 2021, 9:36 PM · Restricted Project
StephenFan requested review of D98101: [RISCV] Enable the LocalStackSlotAllocation pass support.
Mar 5 2021, 9:35 PM · Restricted Project

Mar 3 2021

StephenFan updated the diff for D97111: [RISCV] change rvv frame layout.

Delete white spaces.

Mar 3 2021, 5:04 AM · Restricted Project
StephenFan updated the diff for D97111: [RISCV] change rvv frame layout.

Address @rogfer01 's comment. Add rvv-framelayout.ll test.

Mar 3 2021, 5:02 AM · Restricted Project

Mar 1 2021

StephenFan added a comment to D97274: [RISCV] replace unuseful emergency spill slot test with a mir test.
Mar 1 2021, 1:50 AM · Restricted Project
StephenFan updated the diff for D97274: [RISCV] replace unuseful emergency spill slot test with a mir test.

Address @luismarques 's comment

Mar 1 2021, 12:36 AM · Restricted Project

Feb 27 2021

StephenFan updated the diff for D97111: [RISCV] change rvv frame layout.

delete unnecessary white space

Feb 27 2021, 10:15 PM · Restricted Project
StephenFan updated the diff for D97111: [RISCV] change rvv frame layout.

Address @jrtc27 's comments

Feb 27 2021, 10:04 PM · Restricted Project

Feb 25 2021

StephenFan added a comment to D97274: [RISCV] replace unuseful emergency spill slot test with a mir test.

Ping.

Feb 25 2021, 4:02 AM · Restricted Project

Feb 24 2021

StephenFan added inline comments to D97111: [RISCV] change rvv frame layout.
Feb 24 2021, 5:20 AM · Restricted Project
StephenFan updated the diff for D97111: [RISCV] change rvv frame layout.

Address @rogfer01 's comments.

Feb 24 2021, 5:18 AM · Restricted Project

Feb 23 2021

StephenFan requested review of D97274: [RISCV] replace unuseful emergency spill slot test with a mir test.
Feb 23 2021, 5:07 AM · Restricted Project

Feb 22 2021

StephenFan updated the summary of D97111: [RISCV] change rvv frame layout.
Feb 22 2021, 3:58 AM · Restricted Project
StephenFan updated the diff for D97111: [RISCV] change rvv frame layout.

address @HsiangKai and @rogfer01 's comments

Feb 22 2021, 3:52 AM · Restricted Project

Feb 21 2021

StephenFan requested review of D97177: [RISCV] Remove redundancy -mattr=+d in test file.
Feb 21 2021, 9:48 PM · Restricted Project
StephenFan added a comment to D97111: [RISCV] change rvv frame layout.

Hi @StephenFan. I wonder if we want to do this only when we index via sp.

My understanding is that the emergency slot will be close enough when we index via fp/bp in the previous layout. In the previous layout, when indexing a scalar via sp we have to cross the RVV part (which needs an extra register) to reach the scalar registers (where the emergency slot will be located). IIUC, your approach it fixes the sp case but complicates the fp/bp case to access the emergency slot because now we need to jump over RVV.

My suggestion means we want to have the RVV vectors as far from the frame pointer as possible (the one being used sp/fp/bp), so scalars are still straightforward to access even in the presence of RVV. This means different layouts when indexing with sp and when indexing with fp/bp. In summary: your new layout for sp but the previous one for fp/bp. Does this make sense?

Make sense to me. I didn't consider the case that needs fp to access the emergency spill slot. In my patch, It seems that make use of the bp register is necessary when variable-sized local variables and rvv stack objects exist at the same time. Because if uses fp to access the emergency spill slot needs an extra register. In the original patch, make use of the fp register is necessary when rvv stack objects exist. I prefer the current frame layout, Because it only needs a bp register when variable-sized local variables and rvv stack objects exist. Do you agree it?

When it is necessary to have fp, the frame layout will look like as below.

|---------------------------------| <- frame pointer (fp)
| scalar callee-saved registers   |
|---------------------------------|
| scalar local variables          |
|---------------------------------|
| ///// realignment /////         |
|---------------------------------|
| scalar outgoing arguments       |
|---------------------------------|
| RVV local variables &&          |
| RVV outgoing arguments          |
|---------------------------------| <- end of frame (sp)

What do you mean "if uses fp to access the emergency spill slot needs an extra register"?

I agree with Roger. We only need to change the frame layout when accessing frame objects only using sp. That is, we should put RVV objects as far as 'base' as possible. The 'base' could be sp, fp or bp.

Feb 21 2021, 9:20 PM · Restricted Project

Feb 20 2021

StephenFan added a comment to D97111: [RISCV] change rvv frame layout.

Hi @StephenFan. I wonder if we want to do this only when we index via sp.

My understanding is that the emergency slot will be close enough when we index via fp/bp in the previous layout. In the previous layout, when indexing a scalar via sp we have to cross the RVV part (which needs an extra register) to reach the scalar registers (where the emergency slot will be located). IIUC, your approach it fixes the sp case but complicates the fp/bp case to access the emergency slot because now we need to jump over RVV.

My suggestion means we want to have the RVV vectors as far from the frame pointer as possible (the one being used sp/fp/bp), so scalars are still straightforward to access even in the presence of RVV. This means different layouts when indexing with sp and when indexing with fp/bp. In summary: your new layout for sp but the previous one for fp/bp. Does this make sense?

Make sense to me. I didn't consider the case that needs fp to access the emergency spill slot. In my patch, It seems that make use of the bp register is necessary when variable-sized local variables and rvv stack objects exist at the same time. Because if uses fp to access the emergency spill slot needs an extra register. In the original patch, make use of the fp register is necessary when rvv stack objects exist. I prefer the current frame layout, Because it only needs a bp register when variable-sized local variables and rvv stack objects exist. Do you agree it?

Feb 20 2021, 10:25 PM · Restricted Project
StephenFan added a comment to D97111: [RISCV] change rvv frame layout.

Hi @StephenFan. I wonder if we want to do this only when we index via sp.

My understanding is that the emergency slot will be close enough when we index via fp/bp in the previous layout. In the previous layout, when indexing a scalar via sp we have to cross the RVV part (which needs an extra register) to reach the scalar registers (where the emergency slot will be located). IIUC, your approach it fixes the sp case but complicates the fp/bp case to access the emergency slot because now we need to jump over RVV.

My suggestion means we want to have the RVV vectors as far from the frame pointer as possible (the one being used sp/fp/bp), so scalars are still straightforward to access even in the presence of RVV. This means different layouts when indexing with sp and when indexing with fp/bp. In summary: your new layout for sp but the previous one for fp/bp. Does this make sense?

Feb 20 2021, 9:53 PM · Restricted Project
StephenFan added a comment to D97111: [RISCV] change rvv frame layout.

address @criag.topper 's comment

Feb 20 2021, 3:19 AM · Restricted Project

Feb 19 2021

StephenFan updated the diff for D97111: [RISCV] change rvv frame layout.

add test cases that deleted incautious

Feb 19 2021, 10:49 PM · Restricted Project