[PATCH] Add support for nonnull metadata on Loads
Hal Finkel
hfinkel at anl.gov
Mon Sep 8 04:32:16 PDT 2014
----- Original Message -----
> From: "Philip Reames" <listmail at philipreames.com>
> To: listmail at philipreames.com, hfinkel at anl.gov
> Cc: llvm-commits at cs.uiuc.edu
> Sent: Friday, September 5, 2014 4:42:25 PM
> Subject: [PATCH] Add support for nonnull metadata on Loads
>
> Hi hfinkel,
>
> This patch simply adds support for marking a load as returning a
> non-null pointer. This is analogous to the existing nonnull return
> attribute, but it applies to specific load instructions instead.
> The value of the load is allowed to vary between successive loads,
> but null is not a valid value to be loaded by any load marked
> nonnull.
>
> Hal - I'd particularly like your input here. Is adding a parallel
> metadata construct to the existing attribute a reasonable idea?
> Should we be uniform and accept the metadata on calls too? Is
> there a better way to approach this.
Now that the @llvm.assume infrastructure is in place, I can legitimately respond by saying: I think that we can model this by @llvm.assume(x != null). If that currently does not work, then we should fix it.
Thanks again,
Hal
>
> http://reviews.llvm.org/D5220
>
> Files:
> lib/Analysis/ValueTracking.cpp
> test/Transforms/InstSimplify/compare.ll
>
--
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
More information about the llvm-commits
mailing list