{"action":"opened","issue":{"url":"https://api.github.com/repos/mchalupa/dg/issues/103","repository_url":"https://api.github.com/repos/mchalupa/dg","labels_url":"https://api.github.com/repos/mchalupa/dg/issues/103/labels{/name}","comments_url":"https://api.github.com/repos/mchalupa/dg/issues/103/comments","events_url":"https://api.github.com/repos/mchalupa/dg/issues/103/events","html_url":"https://github.com/mchalupa/dg/issues/103","id":174218407,"number":103,"title":"Issue with PHI Nodes/ control dependence and self-loops","user":{"login":"mchalupa","id":2385056,"avatar_url":"https://avatars.githubusercontent.com/u/2385056?v=3","gravatar_id":"","url":"https://api.github.com/users/mchalupa","html_url":"https://github.com/mchalupa","followers_url":"https://api.github.com/users/mchalupa/followers","following_url":"https://api.github.com/users/mchalupa/following{/other_user}","gists_url":"https://api.github.com/users/mchalupa/gists{/gist_id}","starred_url":"https://api.github.com/users/mchalupa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mchalupa/subscriptions","organizations_url":"https://api.github.com/users/mchalupa/orgs","repos_url":"https://api.github.com/users/mchalupa/repos","events_url":"https://api.github.com/users/mchalupa/events{/privacy}","received_events_url":"https://api.github.com/users/mchalupa/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-08-31T08:51:17Z","updated_at":"2016-08-31T08:51:17Z","closed_at":null,"body":"In this benchmark the slicer with classic cd algorithm fails (LLVM with debug) due to unadjusted PHI node. However, I think that the problem is in cd algorithm, because it does not consider self-loops, which can be important when a node is a basic block. The CFG looks like this:\r\n\r\n```\r\n                           (o)\r\n                            |\r\n                            v   __\r\n                           (o) <--/\r\n                            |\r\n                            v   __\r\n                           (o) <-- /\r\n                            |\r\n                            v\r\n                           (o) <---.\r\n                         /      \\   \\\r\n                       /          \\  |\r\n                    (o)         (o)--/\r\n                                   |\r\n                                  (o)\r\n```\r\n\r\n```./symbiotic --pta=fi --debug=slicer  --optimize=before-O2,after ~/benchmarks/c/array-examples/standard_copy2_false-unreach-call_ground.i```"}}
{"actor":{"display_login":"mchalupa"}}