Page MenuHomePhabricator

gromer (Geoffrey Romer)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 24 2018, 9:36 AM (64 w, 6 d)

Recent Activity

Jan 16 2019

gromer added inline comments to D56731: Add -Wctad-maybe-unsupported to diagnose CTAD on types with no user defined deduction guides..
Jan 16 2019, 9:06 AM

Jan 15 2019

gromer added a comment to D56731: Add -Wctad-maybe-unsupported to diagnose CTAD on types with no user defined deduction guides..

For my own use-cases, I will continue to want a 100% comprehensive -Wctad. All these "heuristics" you're proposing seem very ad-hoc, and make a lot of work for the compiler vendor, and seem complicated enough that I would still worry about bugs slipping through the cracks. Whereas, if the user can simply 100% outlaw CTAD, then they don't ever have to worry.

That's fair; I don't think anyone here is speaking against such a diagnostic (though maybe the name will be a bikeshed).

Jan 15 2019, 5:10 PM
gromer added inline comments to D56731: Add -Wctad-maybe-unsupported to diagnose CTAD on types with no user defined deduction guides..
Jan 15 2019, 11:54 AM

Sep 21 2018

gromer added a comment to D51812: Simplify CheckFallThroughForBody.

OK, the diffs are now un-borked. Sorry for the flailing incompetence.

Sep 21 2018, 2:02 PM
gromer updated the diff for D51812: Simplify CheckFallThroughForBody.
Sep 21 2018, 2:00 PM
gromer updated the diff for D51812: Simplify CheckFallThroughForBody.
Sep 21 2018, 1:43 PM
gromer added inline comments to D51812: Simplify CheckFallThroughForBody.
Sep 21 2018, 11:31 AM
gromer updated the diff for D51812: Simplify CheckFallThroughForBody.
Sep 21 2018, 11:22 AM

Sep 7 2018

gromer created D51812: Simplify CheckFallThroughForBody.
Sep 7 2018, 1:50 PM

Jan 26 2018

gromer added a comment to D41761: Introduce llvm.nospeculateload intrinsic.

Do we need to explicitly prohibit it in LangRef so that future transformations don't start understanding too much about what speculationsafeload does?

Prohibit what, exactly? According to current LangRef rules, it's legal to introduce a dead load to an arbitrary pointer (even if the compiler can't prove it's dereferencable).

Jan 26 2018, 6:41 PM
gromer added a comment to D41761: Introduce llvm.nospeculateload intrinsic.
template <typename T, typename... ZeroArgs>
bool IsPointerInRange(T*& pointer, T* begin, T* end, ZeroArgs... args);

This function returns whether pointer is between begin and end, and also guarantees that if the function returns false, then any speculative execution which assumes it to be true will treat pointer and args... as zero (all ZeroArgs must be integers or pointers). Notice that this API allows the optimizer to hoist loads past the branch, so long as the loads don't depend on pointer or args...; I'm not sure if that's true of nospeculateload or SecureBoundedOffset.

Jan 26 2018, 2:13 PM
gromer added a comment to D41761: Introduce llvm.nospeculateload intrinsic.

(I hope you can bear with me while I come up to speed; I understand there's some time pressure here, so I'm erring on the side of speaking sooner)

Jan 26 2018, 1:19 PM