{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/7847","repository_url":"https://api.github.com/repos/dotnet/coreclr","labels_url":"https://api.github.com/repos/dotnet/coreclr/issues/7847/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/7847/comments","events_url":"https://api.github.com/repos/dotnet/coreclr/issues/7847/events","html_url":"https://github.com/dotnet/coreclr/pull/7847","id":185722529,"number":7847,"title":"x86: not all fields of promoted struct need regs","user":{"login":"CarolEidt","id":2973870,"avatar_url":"https://avatars.githubusercontent.com/u/2973870?v=3","gravatar_id":"","url":"https://api.github.com/users/CarolEidt","html_url":"https://github.com/CarolEidt","followers_url":"https://api.github.com/users/CarolEidt/followers","following_url":"https://api.github.com/users/CarolEidt/following{/other_user}","gists_url":"https://api.github.com/users/CarolEidt/gists{/gist_id}","starred_url":"https://api.github.com/users/CarolEidt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CarolEidt/subscriptions","organizations_url":"https://api.github.com/users/CarolEidt/orgs","repos_url":"https://api.github.com/users/CarolEidt/repos","events_url":"https://api.github.com/users/CarolEidt/events{/privacy}","received_events_url":"https://api.github.com/users/CarolEidt/received_events","type":"User","site_admin":false},"labels":[{"id":197462704,"url":"https://api.github.com/repos/dotnet/coreclr/labels/cla-already-signed","name":"cla-already-signed","color":"009800","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":26,"created_at":"2016-10-27T16:45:19Z","updated_at":"2016-11-23T18:45:30Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/7847","html_url":"https://github.com/dotnet/coreclr/pull/7847","diff_url":"https://github.com/dotnet/coreclr/pull/7847.diff","patch_url":"https://github.com/dotnet/coreclr/pull/7847.patch"},"body":"This fixes DevDiv bug 278375, and includes a test case. It also improves the code generation for the general case of promoted structs, though tuning is still needed.\nThe bug was a case where, after decomposing the long fields, we had 7 entries in the GT_FIELD_LIST, each of which was requesting a register.\nSince Lowering won't know which fields may be in registers, it must be prepared to handle fields in memory. Also, if the fields are not register candidates, we should make them contained and push them directly.\nIn most cases, we should use push for promoted structs (they are generally small-ish, and pushes of lclVars and constants are cheaper than loading into a register).\nThis could be optimized for consecutive float or double fields.\n"},"comment":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/comments/262599311","html_url":"https://github.com/dotnet/coreclr/pull/7847#issuecomment-262599311","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/7847","id":262599311,"user":{"login":"pgavlin","id":1224093,"avatar_url":"https://avatars.githubusercontent.com/u/1224093?v=3","gravatar_id":"","url":"https://api.github.com/users/pgavlin","html_url":"https://github.com/pgavlin","followers_url":"https://api.github.com/users/pgavlin/followers","following_url":"https://api.github.com/users/pgavlin/following{/other_user}","gists_url":"https://api.github.com/users/pgavlin/gists{/gist_id}","starred_url":"https://api.github.com/users/pgavlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pgavlin/subscriptions","organizations_url":"https://api.github.com/users/pgavlin/orgs","repos_url":"https://api.github.com/users/pgavlin/repos","events_url":"https://api.github.com/users/pgavlin/events{/privacy}","received_events_url":"https://api.github.com/users/pgavlin/received_events","type":"User","site_admin":false},"created_at":"2016-11-23T18:45:30Z","updated_at":"2016-11-23T18:45:30Z","body":"@dotnet-bot test CentOS7.1 x64 Debug Build and Test"}}
{"actor":{"display_login":"pgavlin"}}