{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/20661","repository_url":"https://api.github.com/repos/dotnet/coreclr","labels_url":"https://api.github.com/repos/dotnet/coreclr/issues/20661/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/20661/comments","events_url":"https://api.github.com/repos/dotnet/coreclr/issues/20661/events","html_url":"https://github.com/dotnet/coreclr/pull/20661","id":374791496,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI2MzkyODI4","number":20661,"title":"Recognize unsigned compare with 0","user":{"login":"mikedn","id":9973420,"node_id":"MDQ6VXNlcjk5NzM0MjA=","avatar_url":"https://avatars2.githubusercontent.com/u/9973420?v=4","gravatar_id":"","url":"https://api.github.com/users/mikedn","html_url":"https://github.com/mikedn","followers_url":"https://api.github.com/users/mikedn/followers","following_url":"https://api.github.com/users/mikedn/following{/other_user}","gists_url":"https://api.github.com/users/mikedn/gists{/gist_id}","starred_url":"https://api.github.com/users/mikedn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikedn/subscriptions","organizations_url":"https://api.github.com/users/mikedn/orgs","repos_url":"https://api.github.com/users/mikedn/repos","events_url":"https://api.github.com/users/mikedn/events{/privacy}","received_events_url":"https://api.github.com/users/mikedn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-10-28T19:52:16Z","updated_at":"2018-10-28T21:09:03Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/20661","html_url":"https://github.com/dotnet/coreclr/pull/20661","diff_url":"https://github.com/dotnet/coreclr/pull/20661.diff","patch_url":"https://github.com/dotnet/coreclr/pull/20661.patch"},"body":"This pattern shows up here and there due to the use of unsigned compares for performance reasons. For example, `Span.Slice` checks if `start` is valid by using `(uint)start > (uint)_length` and if `start` happens to be 0 and the method is inlined a useless compare is generated.\r\n\r\nContributes to #20656"},"comment":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/comments/433741610","html_url":"https://github.com/dotnet/coreclr/pull/20661#issuecomment-433741610","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/20661","id":433741610,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMzc0MTYxMA==","user":{"login":"mikedn","id":9973420,"node_id":"MDQ6VXNlcjk5NzM0MjA=","avatar_url":"https://avatars2.githubusercontent.com/u/9973420?v=4","gravatar_id":"","url":"https://api.github.com/users/mikedn","html_url":"https://github.com/mikedn","followers_url":"https://api.github.com/users/mikedn/followers","following_url":"https://api.github.com/users/mikedn/following{/other_user}","gists_url":"https://api.github.com/users/mikedn/gists{/gist_id}","starred_url":"https://api.github.com/users/mikedn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikedn/subscriptions","organizations_url":"https://api.github.com/users/mikedn/orgs","repos_url":"https://api.github.com/users/mikedn/repos","events_url":"https://api.github.com/users/mikedn/events{/privacy}","received_events_url":"https://api.github.com/users/mikedn/received_events","type":"User","site_admin":false},"created_at":"2018-10-28T21:09:03Z","updated_at":"2018-10-28T21:09:03Z","author_association":"CONTRIBUTOR","body":"It should be trivial to do it in `gtFoldExprSpecial` too, I simply added to VN because it usually catches more cases. I suppose handling this earlier could be useful since it can discard dead code earlier?"}}
{"actor":{"display_login":"mikedn"}}