{"push_id":1401933916,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8e04a1bfa5642252bf93644e99329043e7205b6b","before":"28b89d61a665dc5598e4b5be9647cb7270f5f63c","commits":[{"sha":"8e04a1bfa5642252bf93644e99329043e7205b6b","author":{"name":"Teresa Johnson","email":"86073e34b918e7c41ae3dc36d84d2a9e60368583@google.com"},"message":"Restore \"[ThinLTO] Prevent exporting of locals used/defined in module level asm\"\n\nThis restores the rest of r286297 (part was restored in r286475).\nSpecifically, it restores the part requiring adding a dependency from\nthe Analysis to Object library (downstream use changed to correctly\nmodel split BitReader vs BitWriter libraries).\n\nOriginal description of this part of patch follows:\n\nModule level asm may also contain defs of values. We need to prevent\nexport of any refs to local values defined in module level asm (e.g. a\nref in normal IR), since that also requires renaming/promotion of the\nlocal. To do that, the summary index builder looks at all values in the\nmodule level asm string that are not marked Weak or Global, which is\nexactly the set of locals that are defined. A summary is created for\neach of these local defs and flagged as NoRename.\n\nThis required adding handling to the BitcodeWriter to look at GV\ndeclarations to see if they have a summary (rather than skipping them\nall).\n\nFinally, added an assert to IRObjectFile::CollectAsmUndefinedRefs to\nensure that an MCAsmParser is available, otherwise the module asm parse\nwould silently fail. Initialized the asm parser in the opt tool for use\nin testing this fix.\n\nFixes PR30610.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286844 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm/commits/8e04a1bfa5642252bf93644e99329043e7205b6b"}]}
{"actor":{"display_login":"chapuni"}}