Duncan P. N. Exon Smith
814b8e91c7
DI: Require subprogram definitions to be distinct
...
As a follow-up to r246098, require `DISubprogram` definitions
(`isDefinition: true`) to be 'distinct'. Specifically, add an assembler
check, a verifier check, and bitcode upgrading logic to combat testcase
bitrot after the `DIBuilder` change.
While working on the testcases, I realized that
test/Linker/subprogram-linkonce-weak-odr.ll isn't relevant anymore. Its
purpose was to check for a corner case in PR22792 where two subprogram
definitions match exactly and share the same metadata node. The new
verifier check, requiring that subprogram definitions are 'distinct',
precludes that possibility.
I updated almost all the IR with the following script:
git grep -l -E -e '= !DISubprogram\(.* isDefinition: true' |
grep -v test/Bitcode |
xargs sed -i '' -e 's/= \(!DISubprogram(.*, isDefinition: true\)/= distinct \1/'
Likely some variant of would work for out-of-tree testcases.
llvm-svn: 246327
2015-08-28 20:26:49 +00:00
..
2009-09-09 00:09:15 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-02-27 21:17:42 +00:00
2015-03-13 18:20:45 +00:00
2009-09-09 00:09:15 +00:00
2015-04-16 23:24:18 +00:00
2009-09-09 00:09:15 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-04-16 23:24:18 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-06-17 20:52:32 +00:00
2014-02-13 14:44:26 +00:00
2014-02-13 14:44:26 +00:00
2014-02-13 14:44:26 +00:00
2015-06-17 20:52:32 +00:00
2015-03-16 21:36:38 +00:00
2009-09-09 00:09:15 +00:00
2015-06-17 20:52:32 +00:00
2015-06-17 20:52:32 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-04-16 23:24:18 +00:00
2009-09-09 00:09:15 +00:00
2015-03-12 20:38:10 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2014-07-30 22:51:54 +00:00
2015-05-12 01:26:05 +00:00
2015-02-27 21:17:42 +00:00
2015-06-17 20:52:32 +00:00
2010-06-17 15:18:27 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2010-03-22 23:15:57 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 21:17:42 +00:00
2009-09-09 00:09:15 +00:00
2009-09-09 00:09:15 +00:00
2009-09-09 00:09:15 +00:00
2014-02-13 14:44:26 +00:00
2014-07-25 21:13:35 +00:00
2015-04-16 23:24:18 +00:00
2009-09-09 00:09:15 +00:00
2015-02-27 21:17:42 +00:00
2009-09-09 00:09:15 +00:00
2015-04-16 23:24:18 +00:00
2009-09-09 00:09:15 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 21:17:42 +00:00
2015-08-28 20:26:49 +00:00
2015-06-17 20:52:32 +00:00
2014-09-20 00:10:47 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-06-17 20:52:32 +00:00
2009-09-09 00:09:15 +00:00
2015-03-13 18:20:45 +00:00
2015-07-20 22:51:32 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-04-16 23:24:18 +00:00
2015-05-20 17:21:09 +00:00
2015-02-27 21:17:42 +00:00
2014-02-13 14:44:26 +00:00
2015-03-13 18:20:45 +00:00
2015-08-04 06:32:54 +00:00
2015-05-01 22:39:20 +00:00
2009-08-25 15:38:29 +00:00
2015-06-17 20:52:32 +00:00
2015-04-16 23:24:18 +00:00
2009-09-09 00:09:15 +00:00
2013-12-13 16:05:32 +00:00
2010-12-19 20:01:13 +00:00
2015-05-12 23:52:24 +00:00
2015-04-16 23:24:18 +00:00
2015-02-27 21:17:42 +00:00
2009-09-09 00:09:15 +00:00
2012-04-10 00:16:22 +00:00
2015-04-16 23:24:18 +00:00
2014-02-28 19:08:01 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2014-12-13 04:52:04 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2009-09-09 00:09:15 +00:00
2009-09-09 00:09:15 +00:00
2015-07-06 17:44:26 +00:00
2013-03-25 21:04:16 +00:00
2015-02-27 21:17:42 +00:00
2009-09-09 00:09:15 +00:00
2015-05-27 18:02:19 +00:00
2010-02-09 06:19:20 +00:00
2009-11-07 07:50:34 +00:00
2009-09-09 00:09:15 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-07-03 08:02:12 +00:00
2009-09-09 00:09:15 +00:00
2015-02-27 21:17:42 +00:00
2015-03-19 20:22:17 +00:00
2011-05-13 15:18:06 +00:00