- User Since
- Nov 17 2016, 12:59 PM (91 w, 4 d)
Fri, Aug 17
Tue, Aug 14
Mon, Jul 30
Committed in r338278. (https://reviews.llvm.org/rL338278)
Oh, it turns out this isn't just Windows. It's just that the verifier was running on those bots. Doh.
It seems like the issue is that on Windows, we also insert a 'Verify generated machine code' pass.
Sorry for the late response. Looking into the test failure now.
Fri, Jul 27
Updated the diff. We now just look over the GPR64 register class instead of callee-saves.
Committed in r338133. (https://reviews.llvm.org/rL338133)
Thu, Jul 26
Tue, Jul 24
Jul 18 2018
Jul 13 2018
This looks good to me.
LGTM, thanks for catching that!
Jul 6 2018
Jul 3 2018
Jun 29 2018
Committed in r336040.
Updated the patch so that it relies on the changes in D48776. That patch provides the scaffolding for allowing the outliner to be turned on by default by some target. This one flips the switch on AArch64 for -Oz.
Committed in r335986.
Jun 28 2018
Removed the reference to enable-linkonceodr-outlining, since it was confusing.
This was actually committed in r335887.
Argh. I accidentally pushed https://reviews.llvm.org/D48682 instead of this. I'll revert it and push this instead. I haven't had enough coffee this morning.
Committed in r335872.
Jun 27 2018
Yeah this is too big. I'll split this up into a few patches then update this one to just reflect turning the outliner on once I'm done...
Committed in r335758 (https://reviews.llvm.org/rL335758).
Ah, okay, I'll update the patch with that in a second.
Jun 26 2018
Thanks! Committed in r335658.
Jun 25 2018
Updated diff to actually fix the LRU stuff (oops).
Jun 22 2018
Fixed my mistake using LiveRegUnits. This just walks back across the entire MBB now, so that we know if a register is live across the candidate.
Jun 21 2018
Updated the patch so that it no longer causes issues for the AMDGPU target. The outliner is now only added to the pass pipeline if a target specifies that it supports it in its TargetOptions. After this, whether or not a target supports the outliner must be defined within a specific TargetMachine (similar to GlobalIsel).
Jun 20 2018
Jun 19 2018
Jun 13 2018
This would make much more sense IMO. Especially for passes with long names. (For example, I'd much rather see "patchable-function" than "Implement the 'patchable-function' attribute" in the JSON)
Jun 12 2018
- Added a comment for saving/restoring LR
- Removed LRUOut, since it's not necessary here, and incurs unnecessary calculation
- LRUIn -> LRU
Jun 11 2018
Updated patch to handle the live-in case. Updated the test to be more explicit as well.
Jun 4 2018
Closed in r333952 (https://reviews.llvm.org/rL333952)
Jun 1 2018
Yeah, that'll work. It's conservative, but it will ensure that the outliner will never touch the function, and thus, won't touch the instructions (or anything between them).
Got rid of the whitespace changes and remembered to pass -U999999 this time.
May 22 2018
May 18 2018
Ah, you’re right.
Committed as r332739.
Updated patch to address review.
May 17 2018
A few changes here after running this on some more complicated code.