- User Since
- Feb 24 2019, 10:52 AM (38 w, 4 d)
Address review comments.
Tue, Nov 12
@ostannard The CFI instruction that can be omitted using this patch is the reason for D69097 (Return address signing for outlined functions) to be buggy, hence I've added you as a reviewer.
Fri, Nov 1
@ostannard wow, good catch! Thanks for reverting this.
I'd actually prefer an option outliner-runs that is defaulted to 1 rather than a rerun option. From a user perspective I'd be unclear for me what outliner-reruns=0 means? Does that mean one run or zero?
Thu, Oct 31
Wed, Oct 30
Thanks for the great review!
Tue, Oct 29
- Disable outlining for functions that disagree on their v8.3A feature support
- Add a test for the above bullet point
- Improve support for v8.3a signing instructions
- Add tests
- Address review comments
- Moved signing logic into separate function
Mon, Oct 28
Maybe I just don't see it but I don't get the reason for creating this new function doOutline. Doesn't it basically just call outline? Why can't you just add OutlinedFunctionNum to outline and then call outline in runOnModule?
Thanks for addressing the comments, LGTM!
Thanks for addressing the comments, LGTM.
Fri, Oct 25
Add test for outlined thunk
Thu, Oct 24
Add .mir test for MachineOutlinerRegSave
- Fix determination of signing scope equality
- Add comments
- Make test more generic
- If a function has no "sign-return-address" attribute, its signing behaviour is equivalent to a function with the "sign-return-address"="none" attribute
Oct 22 2019
Remove braces after if-stmt
I agree, thanks.
Changes to address some of Jessica's comments
Oct 21 2019
Fix number of instructions needed for return address signing
Update patch (see Oliver's comments)
Oct 17 2019
Yep! AUT instructions are inserted during epilogue emission (again frame lowering). I'll fix that.
Please update the patch with more context, i.e., run git diff -U99999 or something similar. See https://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface
Oct 10 2019
This patch would fix PR37240 but is probably not the most optimal solution. For other ideas see http://lists.llvm.org/pipermail/llvm-dev/2019-September/135433.html. I'll leave this patch open until other possibilities have been accepted or abandoned and will abandon or fix this patch then.
Thanks for your comments. Since I don't think changing instruction scheduling can fix the problem anymore I abandon this revision.
Oct 8 2019
Move test for scheduling boundaries into return statement
Sep 26 2019
This would fix PR37240
Please also see the ongoing discussion on the mailing list: http://lists.llvm.org/pipermail/llvm-dev/2019-September/135433.html