llvm-D50010-VNCoercion-ni
authorLLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Mon, 23 Mar 2020 10:59:23 +0000 (10:59 +0000)
committerGianfranco Costamagna <locutusofborg@debian.org>
Mon, 23 Mar 2020 10:59:23 +0000 (10:59 +0000)
commit028ec2eec9bc77afdaaa30ebfc3306f27f4f36e5
tree7285d04405a142d4d0ba562b0aa9ff66ea6473c7
parent6d6fa64265a09139fef416231e01d5ee25749452
llvm-D50010-VNCoercion-ni

commit 8eb2b102a203d83fb713f3bf79acf235dabdd8cd
Author: Keno Fischer <keno@juliacomputing.com>
Date:   Mon Jul 30 16:59:08 2018 -0400

    [VNCoercion] Disallow coercion between different ni addrspaces

    Summary:
    I'm not sure if it would be legal by the IR reference to introduce
    an addrspacecast here, since the IR reference is a bit vague on
    the exact semantics, but at least for our usage of it (and I
    suspect for many other's usage) it is not. For us, addrspacecasts
    between non-integral address spaces carry frontend information that the
    optimizer cannot deduce afterwards in a generic way (though we
    have frontend specific passes in our pipline that do propagate
    these). In any case, I'm sure nobody is using it this way at
    the moment, since it would have introduced inttoptrs, which
    are definitely illegal.

    Fixes PR38375

    Reviewers: sanjoy, reames, dberlin

    Subscribers: llvm-commits

    Differential Revision: https://reviews.llvm.org/D50010

Gbp-Pq: Topic julia
Gbp-Pq: Name llvm-D50010-VNCoercion-ni.patch
lib/Transforms/Utils/VNCoercion.cpp
test/Transforms/GVN/non-integral-pointers.ll