{"action":"created","issue":{"url":"https://api.github.com/repos/EiNSTeiN-/decompiler/issues/11","labels_url":"https://api.github.com/repos/EiNSTeiN-/decompiler/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/EiNSTeiN-/decompiler/issues/11/comments","events_url":"https://api.github.com/repos/EiNSTeiN-/decompiler/issues/11/events","html_url":"https://github.com/EiNSTeiN-/decompiler/issues/11","id":77807951,"number":11,"title":"Loop decompilation not supported?","user":{"login":"pfalcon","id":500451,"avatar_url":"https://avatars.githubusercontent.com/u/500451?v=3","gravatar_id":"","url":"https://api.github.com/users/pfalcon","html_url":"https://github.com/pfalcon","followers_url":"https://api.github.com/users/pfalcon/followers","following_url":"https://api.github.com/users/pfalcon/following{/other_user}","gists_url":"https://api.github.com/users/pfalcon/gists{/gist_id}","starred_url":"https://api.github.com/users/pfalcon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pfalcon/subscriptions","organizations_url":"https://api.github.com/users/pfalcon/orgs","repos_url":"https://api.github.com/users/pfalcon/repos","events_url":"https://api.github.com/users/pfalcon/events{/privacy}","received_events_url":"https://api.github.com/users/pfalcon/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-05-18T21:15:52Z","updated_at":"2015-05-25T14:13:50Z","closed_at":"2015-05-24T18:32:23Z","body":"I ran : \r\n~~~~\r\n          i = 0;\r\n    100:  if (i >= 100) goto 400;\r\n          i = i + 1;\r\n          goto 100;\r\n    400:  return i;\r\n~~~~\r\n\r\nthru ``dec.step_until(step_decompiled)``, and not really getting any decompiled code, output is SSA basic blocks, the same as for ``dec.step_until(step_decompiled)``.\r\n\r\nDoes that mean that loops are not supported yet? Note that SSA of non-looping constructs is trivial matter (like converting out of SSA). The real complications start with loops. And I wonder how sound is your out-of-SSA algorithm.\r\n"},"comment":{"url":"https://api.github.com/repos/EiNSTeiN-/decompiler/issues/comments/105240607","html_url":"https://github.com/EiNSTeiN-/decompiler/issues/11#issuecomment-105240607","issue_url":"https://api.github.com/repos/EiNSTeiN-/decompiler/issues/11","id":105240607,"user":{"login":"pfalcon","id":500451,"avatar_url":"https://avatars.githubusercontent.com/u/500451?v=3","gravatar_id":"","url":"https://api.github.com/users/pfalcon","html_url":"https://github.com/pfalcon","followers_url":"https://api.github.com/users/pfalcon/followers","following_url":"https://api.github.com/users/pfalcon/following{/other_user}","gists_url":"https://api.github.com/users/pfalcon/gists{/gist_id}","starred_url":"https://api.github.com/users/pfalcon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pfalcon/subscriptions","organizations_url":"https://api.github.com/users/pfalcon/orgs","repos_url":"https://api.github.com/users/pfalcon/repos","events_url":"https://api.github.com/users/pfalcon/events{/privacy}","received_events_url":"https://api.github.com/users/pfalcon/received_events","type":"User","site_admin":false},"created_at":"2015-05-25T14:13:50Z","updated_at":"2015-05-25T14:13:50Z","body":"Nice, looking forward to find bugs in it ;-).\r\n\r\nBtw, the title of thsi ticket was \"loop decompilation\", I'm not sure if it's helpful reminded or not that it's still not implemented yet. Btw, I experimented with loop recognition and trivial case are, well, trivial. Slightly less trivial cases are very well possible. (And real real-world cases are expectedly hard.)\r\n"}}