diff options
author | Davide Italiano <davide@freebsd.org> | 2017-08-17 11:32:21 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2017-08-17 11:32:21 +0000 |
commit | 903fd3ea4e3c10dc27428a763516ce992c935ec1 (patch) | |
tree | b68f2d742f2310c431c9b5b200bd9280e3d77699 /clang/lib/Index/CommentToXML.cpp | |
parent | 8a2c07f6d42f300b44318e4350a324ef966894d5 (diff) | |
download | bcm5719-llvm-903fd3ea4e3c10dc27428a763516ce992c935ec1.tar.gz bcm5719-llvm-903fd3ea4e3c10dc27428a763516ce992c935ec1.zip |
[Verifier] Avoid visiting DIGlobalVariables twice.
We currently visit them twice.
Once, through `visitMDNode()` -> (the code generated by)
`../include/llvm/IR/Metadata.def:109` -> `visitDIGlobalVariable()`
Then, through `visitMDNode()` -> `visitDIGlobalVariableExpression()`
-> `visitDIGlobalVariable()`
This results in verification failures printed twice, e.g.:
$ ./opt -verify ../../test/DebugInfo/pr34186.ll
missing global variable type
!4 = distinct !DIGlobalVariable(name: "pat", scope: !0,
file: !1, line: 27, isLocal: true, isDefinition: true)
missing global variable type
!4 = distinct !DIGlobalVariable(name: "pat", scope: !0,
file: !1, line: 27, isLocal: true, isDefinition: true)
./opt: ../../test/DebugInfo/pr34186.ll: error: input module is broken!
The patch removes one call so we ensure each GV is visited exactly once.
Differential Revision: https://reviews.llvm.org/D36797
llvm-svn: 311081
Diffstat (limited to 'clang/lib/Index/CommentToXML.cpp')
0 files changed, 0 insertions, 0 deletions