[llvm-commits] [polly] r152913 - in /polly/trunk: lib/Support/SCEVValidator.cpp test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
Sebastian Pop
spop at codeaurora.org
Thu Sep 26 11:07:06 PDT 2013
Tobias Grosser wrote:
> On 09/24/2013 06:41 PM, Sebastian Pop wrote:
> >Hi Tobi,
> >
> >it looks like this change breaks in code generation with:
> >"Use still stuck around after Def is destroyed"
> >
> > class ValidatorResult visitSMaxExpr(const SCEVSMaxExpr *Expr) {
> >- ValidatorResult Return(SCEVType::INT);
> >+ ValidatorResult Return(SCEVType::INT, Expr);
> >
> > for (int i = 0, e = Expr->getNumOperands(); i < e; ++i) {
> > ValidatorResult Op = visit(Expr->getOperand(i));
> >
> > if (!Op.isValid())
> > return Op;
> >
> > Return.merge(Op);
> > }
> >
> > return Return;
> > }
> >
> >The problem seems to be that we are adding the full original
> >SMax expression to the result
> >and that references SSA names of the original scop.
> >
> >Ok to revert this change?
>
> This change is over a year old. It fixes an actual problem and the
> change itself does not loop obviously wrong. So reverting it is
> nothing I feel comfortable with.
>
> If we do not update SSA names correctly, it would be interesting to
> understand why. For this an actual test case would help. For me,
> the following commands do not show any issues:
>
> $ polly-opt
> test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
> -polly-codegen
> $ polly-opt
> test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
> -polly-codegen -polly-codegen-scev
> $ polly-opt
> test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
> -polly-codegen-isl
> $ polly-opt
> test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
> -polly-codegen-isl -polly-codegen-scev
>
> Could you help me to reproduce this problem?
I was not able to reproduce the problem in the community version of polly.
It could be that we are exercising a different path with our changes.
Sebastian
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
More information about the llvm-commits
mailing list