[llvm-commits] [llvm] r145482 - in /llvm/trunk: include/llvm/Analysis/ScalarEvolutionExpander.h lib/Analysis/ScalarEvolutionExpander.cpp test/Transforms/LoopStrengthReduce/2011-11-29-postincphi.ll

NAKAMURA Takumi geek4civic at gmail.com
Fri Mar 9 08:09:13 PST 2012


2011/11/30 Andrew Trick <atrick at apple.com>:
> Author: atrick
> Date: Wed Nov 30 00:07:54 2011
> New Revision: 145482
>
> URL: http://llvm.org/viewvc/llvm-project?rev=145482&view=rev
> Log:
> LSR: handle the expansion of phi operands that use postinc forms of the IV.
>
> Fixes PR11431: SCEVExpander::expandAddRecExprLiterally(const llvm::SCEVAddRecExpr*): Assertion `(!isa<Instruction>(Result) || SE.DT->dominates(cast<Instruction>(Result), Builder.GetInsertPoint())) && "postinc expansion does not dominate use"' failed.

> Added: llvm/trunk/test/Transforms/LoopStrengthReduce/2011-11-29-postincphi.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/LoopStrengthReduce/2011-11-29-postincphi.ll?rev=145482&view=auto

> +; RUN: llc < %s | FileCheck %s
> +;
> +; PR11431: handle a phi operand that is replaced by a postinc user.
> +; LSR first expands %mul to %iv1 in %phi32
> +; LSR then expands %iv1 in %phi32 into two decrements, one on each loop exit.
> +
> +target datalayout = "e-p:64:64:64-S128-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-f128:128:128-n8:16:32:64"
> +target triple = "x86_64-unknown-linux-gnu"

This depends on TARGETS=x86.

...Takumi



More information about the llvm-commits mailing list