Is there some kind of guide to the various optimization passes? I see their names in the class list, and the various "createXXX" functions, but I'm not sure if there are ordering requirements or perhaps unsafe optimizations. -- edA-qa mort-ora-y -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Sign: Please digitally sign your emails. Encrypt: I'm also happy to receive encrypted mail. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 261 bytes Desc: OpenPGP digital signature URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130106/8e10755b/attachment.sig>
Hi, On 06/01/13 16:48, edA-qa mort-ora-y wrote:> Is there some kind of guide to the various optimization passes? I see > their names in the class list, and the various "createXXX" functions, > but I'm not sure if there are ordering requirements or perhaps unsafe > optimizations.there are no ordering requirements, in the sense that all passes are supposed to work correctly regardless of the order they are run in. Note that "work correctly" doesn't mean "work well", I mean that they should never do any incorrect transformations no matter what order they are run in. However several passes only do something useful if some other pass has been run first, for example most passes need to be run after mem2reg or sroa in order to be effective. See also http://llvm.org/docs/Passes.html Ciao, Duncan.
On 06/01/13 17:09, Duncan Sands wrote:> should never do any incorrect transformations no matter what order they > are run in. However several passes only do something useful if some > other pass has been run first, for example most passes need to be run > after mem2reg or sroa in order to be effective. > > See also http://llvm.org/docs/Passes.htmlHow can I get from a name of a pass in this document to the corresponding function/class which performs that pass? Not all the names seem to easily line up. -- edA-qa mort-ora-y -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Sign: Please digitally sign your emails. Encrypt: I'm also happy to receive encrypted mail. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 261 bytes Desc: OpenPGP digital signature URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130106/9de7034c/attachment.sig>