GitHub PushEvent at 2014-05-02 18:43:42
Repository: llvm-project-submodule
Actor: chapuni
Payload: {"shas":[["f534563c65c409b0b2648f94a8a34f223d7283c0","0d2d6fe0cb2e9ade0d2bf90d72a72b8ac034ef0e@gmx.de","Teach GlobalDCE how to remove empty global_ctor entries.\n\nThis moves most of GlobalOpt's constructor optimization\ncode out of GlobalOpt into Transforms/Utils/CDtorUtils.{h,cpp}. The\npublic interface is a single function OptimizeGlobalCtorsList() that\ntakes a predicate returning which constructors to remove.\n\nGlobalOpt calls this with a function that statically evaluates all\nconstructors, just like it did before. This part of the change is\nbehavior-preserving.\n\nAlso add a call to this from GlobalDCE with a filter that removes global\nconstructors that contain a \"ret\" instruction and nothing else – this\nfixes PR19590.","Nico Weber",true]],"size":1,"ref":"refs/heads/master","head":"f534563c65c409b0b2648f94a8a34f223d7283c0"}