[llvm-dev] [RFC] Should we add isa_or_null<>?
Chris Lattner via llvm-dev
llvm-dev at lists.llvm.org
Thu Apr 4 09:58:09 PDT 2019
> On Apr 4, 2019, at 5:37 AM, Don Hinton via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> I'd like to propose adding `isa_or_null<>` to replace the following usage pattern that's relatively common in conditionals:
>
> var && isa<T>(var) =>> isa_or_null<T>(var)
>
> And in particular when `var` is a method call which might be expensive, e.g.:
>
> X->foo() && isa<T>(X->foo()) =>> isa_or_null<T>(X->foo())
>
> The implementation could be a simple wrapper around isa<>, and while the IR produced is only slightly more efficient, the elimination of an extra call could be worthwhile.
I’d love to see this, I agree with downstream comments though that this name will be confusing. isa_and_nonnull<>. ?
-Chris
More information about the llvm-dev
mailing list