[PATCH] D32975: Make it illegal for two Functions to point to the same DISubprogram

Adrian Prantl via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 8 12:57:12 PDT 2017


aprantl created this revision.

As recently discussed on llvm-dev [1], this patch makes it illegal for two Functions to point to the same DISubprogram and updates FunctionCloner to also clone the debug info of a function to conform to the new requirement. To simplify the implementation it also factors out the creation of inlineAt locations from the Inliner into a general-purpose utility in DILocation.

[1] http://lists.llvm.org/pipermail/llvm-dev/2017-May/112661.html


https://reviews.llvm.org/D32975

Files:
  include/llvm/IR/DebugLoc.h
  lib/IR/DebugLoc.cpp
  lib/IR/Verifier.cpp
  lib/Transforms/Utils/CloneFunction.cpp
  lib/Transforms/Utils/InlineFunction.cpp
  test/Verifier/metadata-function-dbg.ll
  unittests/Transforms/Utils/Cloning.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32975.98194.patch
Type: text/x-patch
Size: 19916 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170508/e685a56c/attachment.bin>


More information about the llvm-commits mailing list