[PATCH] D15272: [Verifier] Verifier that a GlobalValue is only used in this Module

Duncan P. N. Exon Smith via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 6 17:34:28 PST 2015


> On 2015-Dec-06, at 17:31, Keno Fischer <kfischer at college.harvard.edu> wrote:
> 
> loladiro created this revision.
> loladiro added a reviewer: dexonsmith.
> loladiro added a subscriber: llvm-commits.
> 
> We already have the inverse verification that we only use globals
> that are defined in this module. This essentially catches the
> same mistake, but when verifying the module that contains the
> definition. There is a moderately annoying corner case caused by
> our usage of a parentless ReturnInst to hold prefix/prologue data.
> In order to perform correct diagnostics, we need to construct the
> inverse map for this on demand. Since that can be expensive, this
> inverse mapping is cached in the Verifier class and only constructed
> when needed.
> 
> http://reviews.llvm.org/D15272
> 
> Files:
>  lib/IR/Verifier.cpp
>  unittests/IR/VerifierTest.cpp

It'd be nice to get in Vedant's work to remove this ReturnInst hack
first, so we don't need to worry about the performance here... I'll
comment in that review.


More information about the llvm-commits mailing list