[llvm-dev] Issues with using scalar evolution with newer versions of LLVM IR (original) (raw)

hameeza ahmed via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 16 21:22:58 PST 2019


Thank You

On Thu, Jan 17, 2019 at 12:21 AM Eli Friedman <efriedma at codeaurora.org> wrote:

Your use of "-O0" here is causing the problem. In newer versions of clang, passing "-O0" to the compiler attaches the "optnone" attribute to each function, to avoid optimization during LTO. You can use "-O2 -Xclang -disable-llvm-passes" to dump IR intended for optimization, but without running any optimization passes.

-Eli On 1/15/2019 8:14 PM, hameeza ahmed via llvm-dev wrote: Thank You.. I used following command to generate .bc or .ll /Documents/clang+llvm-4.0.0-x8664-linux-gnu-ubuntu-16.04/bin/clang -O0 -emit-llvm -S -o vec4.ll vecsum.c /Documents/clang+llvm-7.0.0-x8664-linux-gnu-ubuntu-16.04/bin/clang -O0 -emit-llvm -S -o vec7.ll vecsum.c

On Wed, Jan 16, 2019 at 6:49 AM Sanjoy Das <sanjoy at playingwithpointers.com> wrote: It is hard to tell what's going on from the information you have provided. How are you generating vec.bc? This could either be a regression in scalar evolution or a change in some optimization pass that is resulting in a different vec.bc.

-- Sanjoy On Tue, Jan 15, 2019 at 1:42 PM hameeza ahmed via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Hello, > > I am trying to use scalar evolution pass using following command; > > opt -analyze -mem2reg -indvars -loop-simplify -scalar-evolution < vec.bc_ _> when vec.bc is generated using newer version of LLVM i.e LLVM 6 and 7 i get following message in the end; > Determining loop execution counts for: @main > Loop %8: Unpredictable backedge-taken count. > Loop %8: Unpredictable max backedge-taken count. > Loop %8: Unpredictable predicated backedge-taken count. > which means it is unable to compute iteration count. > > However, when .bc file is generated using LLVM 4.0 i am getting following; > > Determining loop execution counts for: @main > Loop %4: backedge-taken count is 512 > Loop %4: max backedge-taken count is 512 > Loop %4: Predicated backedge-taken count is 512 > Predicates: > > Loop %4: Trip multiple is 513 > > means correct computation of loop count... > Why is that happening with newer version of LLVM? > > Please help. _> ________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


LLVM Developers mailing listllvm-dev at lists.llvm.orghttp://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev -- Employee of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190117/429eb730/attachment.html>



More information about the llvm-dev mailing list