User Details
- User Since
- Jan 28 2016, 8:30 AM (400 w, 4 d)
Tue, Sep 12
Thu, Sep 7
Replaced MI.readsWritesVirtualRegister(Reg).first with readsVirtualRegister.
Tue, Sep 5
- Rebased.
- Added tests.
Aug 17 2023
Jul 28 2023
Got some test failure on graphics, fixing.
Jul 27 2023
Update failed expensive checks llc-pipeline.ll test.
Jul 26 2023
Disable pass for CodeGen/AMDGPU/dead-lane.mir test.
Jul 5 2023
Rebase before landing.
Jul 4 2023
Jun 22 2023
ping.
Jun 14 2023
Improved function description.
Jun 13 2023
Jun 7 2023
Fixed llc-pipeline test, rebased.
Jun 6 2023
May 26 2023
May 24 2023
Rebase.
- Rebased.
- Minor issues fixed.
May 12 2023
What if we always reserve a register for long jumps?
I'm not sure why but this review doesn't contain context (unchanged lines of code), may be it worth to try arc diff to generate review requests.
May 3 2023
ping.
Ok, since this isn't critical I don't have strong preference to erase by the iterator, I'm fine with shorter and nicer version with make_early_inc_range :) Thank you :)
Apr 29 2023
Apr 25 2023
Apr 19 2023
- Rebased, updated tests.
- Added debug operand processing with a TODO, added test.
Apr 6 2023
LGTM, thank you!
Apr 5 2023
Rebased before landing.
Apr 4 2023
I tried this patch again a final time, this time passing the RegInfo pointer to removeRedundantDef() and further into clearKillsForDef(). My idea here is that this would only mean a single lookup for both the def and the kill. This was however also not any faster at all.
I also tried having a vector of RegInfo:s for each MBB - instead of a map. The idea was to make the lookup time linear, but this was much slower in small functions (while perhaps good idea in huge ones).
I have tried different map types before, so I don't think there is anything to gain from that.
I will post my patch as a separate review...
Apr 1 2023
Mar 31 2023
- Rebased, updated lit tests.
- Per review issues partially done.
If the map lookup time really matters, maybe it could be worth trying a vector of DefMI/KillMI pairs, so lookup time would be O(n) into the vector..?
I don't think it's that critical
Mar 28 2023
ping.
- Rebased.
Mar 25 2023
On SystemZ, the two versions show practically identical runtimes, so there is no winner. Is there any difference at all on your machine?
Not really :) Something barely measurable like 2.13 and 2.09 seconds on the huge testcase. I'm curious which cases you use to compare to the current, non-map version?
Mar 24 2023
Fixed debug build.
Mine version of the patch.
Mar 21 2023
Going to reclaim this work
Mar 20 2023
Per review issues:
- Improved comments.
- More C++ structure bingind syntax used.
Mar 19 2023
Tried version with LiveIntervalUnion but it works slightly slower than first:
~4.2 vs ~3 seconds per pass on my testcase.
Mar 16 2023
- Improved comments.
- Rebased, updated tests.
Mar 14 2023
- fixed typo, debug build, added comment.
Unfortunatelly stack growed x180 times with slot sharing disabled, so this isn't an option.
Hi Valery, thanks for the report! It would be nice if you posted your test case on github issues and assigned me (and/or yourself :)... I would think this could be fixed.
Mar 13 2023
ping
Mar 12 2023
Mar 11 2023
Makes sense to me - I tried also earlier to store the kills in a map but I found (at least on SystemZ) that this backwards search was actually quicker than that, so I don't think it should be an issue in the normal case...
Mar 9 2023
- added generated checks.
- added regression test.
- rebased after the fix a999669982d0: [AMDGPU] Scheduler: fix RP calculation for a MBB with one successor
Mar 8 2023
Mar 7 2023
- rebased.
- added comment.
ping
Mar 2 2023
This patch depends on https://reviews.llvm.org/D136918 fix.
I would like to reclaim this but with different reasoning:
Feb 28 2023
Kindly pinging, this is ready to submit.
Feb 23 2023
- Rebased.
- Improved interval updating code.
- Passed internal testing.
Jan 25 2023
- Rebased.
- Removed ad-hoc in-place interval modification, replaced with copy.
Jan 19 2023
Jan 17 2023
- Rebased.
- Passed internal testing.
Jan 2 2023
Forgot to remove disabled code, done.