[llvm] 7a4f1d5 - [ConstraintElimination] Decompose GEP %ptr, ZEXT(SHL()).
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 2 14:24:46 PST 2020
Hi,
thanks for the heads-up. I pushed 2304528bb54a to hopeful fix this.
Cheers,
Florian
On Wed, Dec 2, 2020 at 7:20 PM Rainer Orth <ro at gcc.gnu.org> wrote:
> Florian Hahn via llvm-commits <llvm-commits at lists.llvm.org> writes:
>
> > Author: Florian Hahn
> > Date: 2020-12-01T14:23:21Z
> > New Revision: 7a4f1d59b82e5defbce4498347291e6ef9f1281c
> >
> > URL:
> https://github.com/llvm/llvm-project/commit/7a4f1d59b82e5defbce4498347291e6ef9f1281c
> > DIFF:
> https://github.com/llvm/llvm-project/commit/7a4f1d59b82e5defbce4498347291e6ef9f1281c.diff
> >
> > LOG: [ConstraintElimination] Decompose GEP %ptr, ZEXT(SHL()).
> >
> > Add support to decompose a GEP with a ZEXT(SHL()) operand.
>
> This patch and its predecessor broke the Solaris build:
>
> http://lab.llvm.org:8014/#/builders/22
>
> /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/llvm/lib/Transforms/Scalar/ConstraintElimination.cpp:
> In function ‘llvm::SmallVector<std::pair<long int, llvm::Value*>, 4>
> decompose(llvm::Value*)’:
> /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/llvm/lib/Transforms/Scalar/ConstraintElimination.cpp:66:41:
> error: call of overloaded ‘pow(int, int64_t)’ is ambiguous
> 66 | {pow(2, CI->getSExtValue()), Op0}};
> | ^
> In file included from
> /usr/gcc/10/lib/gcc/sparcv9-sun-solaris2.11/10.2.0/include-fixed/math.h:24,
> from /usr/gcc/10/include/c++/10.2.0/bits/std_abs.h:40,
> from /usr/gcc/10/include/c++/10.2.0/cstdlib:77,
> from /usr/gcc/10/include/c++/10.2.0/bits/stl_algo.h:59,
> from /usr/gcc/10/include/c++/10.2.0/algorithm:62,
> from
> /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/llvm/include/llvm/Support/MathExtras.h:17,
> from
> /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/llvm/include/llvm/ADT/APInt.h:19,
> from
> /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/llvm/include/llvm/ADT/DenseMapInfo.h:16,
> from
> /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/llvm/include/llvm/ADT/DenseMap.h:16,
> from
> /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/llvm/include/llvm/IR/PassManager.h:40,
> from
> /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/llvm/include/llvm/Transforms/Scalar/ConstraintElimination.h:12,
> from
> /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/llvm/lib/Transforms/Scalar/ConstraintElimination.cpp:14:
> /usr/gcc/10/lib/gcc/sparcv9-sun-solaris2.11/10.2.0/include-fixed/iso/math_iso.h:212:21:
> note: candidate: ‘long double std::pow(long double, long double)’
> 212 | inline long double pow(long double __X, long double __Y) { return
> | ^~~
> /usr/gcc/10/lib/gcc/sparcv9-sun-solaris2.11/10.2.0/include-fixed/iso/math_iso.h:172:15:
> note: candidate: ‘float std::pow(float, float)’
> 172 | inline float pow(float __X, float __Y) { return __powf(__X, __Y);
> }
> | ^~~
> /usr/gcc/10/lib/gcc/sparcv9-sun-solaris2.11/10.2.0/include-fixed/iso/math_iso.h:73:15:
> note: candidate: ‘double std::pow(double, double)’
> 73 | extern double pow __P((double, double));
> | ^~~
> /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/llvm/lib/Transforms/Scalar/ConstraintElimination.cpp:66:48:
> error: could not convert ‘{{0, nullptr}, {1,
> GEP->llvm::GetElementPtrInst::getPointerOperand()}, {<expression error>,
> Op0}}’ from ‘<brace-enclosed initializer list>’ to
> ‘llvm::SmallVector<std::pair<long int, llvm::Value*>, 4>’
> 66 | {pow(2, CI->getSExtValue()), Op0}};
> | ^
> | |
> | <brace-enclosed
> initializer list>
>
> and similarly for the other use of pow.
>
> Rainer
>
> --
>
> -----------------------------------------------------------------------------
> Rainer Orth, Center for Biotechnology, Bielefeld University
>
--
http://www.fhahn.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201202/d00bf548/attachment.html>
More information about the llvm-commits
mailing list