- User Since
- Nov 17 2016, 12:59 PM (69 w, 1 d)
Wed, Mar 14
Update patch to move the LastCallToStaticBonus logic to the top of updateThreshold.
Tue, Mar 13
Wed, Feb 28
Jan 31 2018
Jan 19 2018
Since it seems like everyone's concerns have been cleared up, I'm going to go ahead and commit this.
Jan 18 2018
Updated diff so that the file comes from the subprogram instead of the compile unit.
Updated diff to reflect style notes and address review comments.
Jan 17 2018
Jan 12 2018
Jan 10 2018
Jan 8 2018
Got rid of the magic 100 for the maximum depth and put in a command line option (-inline-recursion-limit) instead. I tried a few different limits with the knob and found that this test crashes around a recursion depth of 3500 on my machine. A max depth of 2000 seemed like a good middle-ground.
Jan 4 2018
Updated patch to prevent general recursion instead of just the one edgecase. Also added some information to the dump function for CallAnalyzer to make it clear if the inliner bailed out because of the recursion limit.
Jan 3 2018
Dec 18 2017
Dec 8 2017
Dec 7 2017
Dec 1 2017
Oct 23 2017
Now that there's discussion on making the new pass manager the default pass manager, I'm wondering if it'd make sense to just go ahead and implement this functionality there entirely? I was hoping to get it done with the LegacyPassManager first then port it over after.
Oct 17 2017
Oct 13 2017
Updated diff to reflect current comments on the review.
Oct 10 2017
Accidentally added some useless cruft in CGSCCPassManager.h in the first diff. Removed it.
Oct 9 2017
I also suggest adding some reviewers to your patch! If you look at the blamelist of WinException.cpp you'll probably find some people that know the code well that can look at your stuff. I'm not a Windows expert, but if I was I'd give you a proper review. :)
I feel like the test here could use some simplification to make it clearer what you're testing. If there's any IR in there that you don't *absolutely* need, it'd be good to remove it. This makes it easier for others to debug failures in the future.
Oct 6 2017
Oct 3 2017
Sep 28 2017
Sep 27 2017
r314341 - [MachineOutliner] AArch64: Avoid saving + restoring LR if possible
Sep 25 2017
- Simplified the MIR test a bit
- Fixed the loop for the LiveRegisterUnits stuff so that we only check if LR is available at the prospective call-site
Sep 22 2017
Sep 20 2017
Updated the diff to address feedback. There are lots of changes, but here are the highlights:
Sep 1 2017
Aug 31 2017
Aug 30 2017
Got the twine thing @anemet suggested working so I threw it in.
Updated diff to address Adam's comments again.
Aug 29 2017
Updated again because I forgot to remove the #include "llvm/CodeGen/MachineBlockFrequencyInfo.h". Whoops.
Updated patch to address @anemet's comments.
Aug 23 2017
Aug 14 2017
Aug 10 2017
Aug 8 2017
Updated the diff to reflect taking Matthias' advice.
Aug 7 2017
Jul 28 2017
Jul 27 2017
Even better: put findCandidates actually *inside* the MachineOutliner class for consistency.
Jun 19 2017
I agree with Davide on this. I think we really need to have a good reason to change thresholds like these; the impact of changing thresholds can be rather unpredictable. I'd like to understand why changing this threshold
Mar 29 2017
Mar 24 2017
Mar 23 2017
Mar 22 2017
I think the comments in this pass could use some improvement. It would be nice to be able to get the gist of what's going on without having to read through all of the code.
Mar 20 2017
Mar 17 2017
Updated the diff to address comments.
Mar 16 2017
Updated diff to address comments
Mar 13 2017
This is too hard to write a test for because it only handles two instructions. It was intended as a proof of concept for the AArch64 target for the outliner which I'm about to put up. I'm just going to create a patch for that instead, since it can be tested easily there. The logic here can be used for reference.
Added a test case, removed the tail call MachineOutlinerInstrType.