Adrian Prantl 8b2dee8975 Make it illegal for two Functions to point to the same DISubprogram
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
<rdar://problem/31926379>

Differential Revision: https://reviews.llvm.org/D32975

This reapplies r302469 with a fix for a bot failure (reparentDebugInfo
now checks for the case the orig and new function are identical).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302576 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-09 19:47:37 +00:00
..
2015-12-17 22:09:19 +00:00
2017-03-07 18:26:36 +00:00
2016-06-27 19:43:15 +00:00
2016-08-01 18:07:19 +00:00
2015-08-14 05:09:07 +00:00
2015-08-14 05:09:07 +00:00
2015-08-14 05:09:07 +00:00
2015-08-14 05:09:07 +00:00
2015-08-14 05:09:07 +00:00
2015-08-14 05:09:07 +00:00
2015-08-14 05:09:07 +00:00
2016-07-04 08:01:29 +00:00

This directory contains testcases that the verifier is supposed to detect as
malformed LLVM code.  Testcases for situations that the verifier incorrectly
identifies as malformed should go in the test/Assembler directory.