{"push_id":2764247353,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"1c1bb329bdac77e048f7831a7dded3c61021be9f","before":"d1e710e198d4fda9c02b8bdc05bf0abae18f8cc5","commits":[{"sha":"1c1bb329bdac77e048f7831a7dded3c61021be9f","author":{"name":"Jonas Devlieghere","email":"35a2c6fae61f8077aab61faa4019722abf05093c@devlieghere.com"},"message":"[dsymutil] Convert recursion in lookForDIEsToKeep into worklist.\n\nThe functions `lookForDIEsToKeep` and `keepDIEAndDependencies` can have\nsome very deep recursion. This tackles part of this problem by removing\nthe recursion from `lookForDIEsToKeep` by turning it into a worklist.\n\nThe difficulty in doing so is the computation of incompleteness, which\ndepends on the incompleteness of its children. To compute this, we\ninsert \"continuation markers\" into the worklist. This informs the work\nloop to (re)compute the incompleteness property of the DIE associated\nwith it (i.e. the parent of the previously processed DIE).\n\nThis patch should generate byte-identical output. Unfortunately it also\nhas some impact of performance, regressing by about 4% when processing\nclang on my machine.\n\nDifferential revision: https://reviews.llvm.org/D48899","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-20170507/commits/1c1bb329bdac77e048f7831a7dded3c61021be9f"}]}
{"actor":{"display_login":"chapuni"}}