search for: simplifycfg

Displaying 20 results from an estimated 578 matches for "simplifycfg".

2015 Sep 20
3
How to invoke simplifycfg from code
Simplifycfg doesn't get run by default even with -O3, but 'opt -simplifycfg' can do it. I'm looking to add this functionality to an optimizer program that uses the llvm libraries. What's the best way to do this? I don't really mind whether it becomes available as a command line option a...
2015 Sep 20
2
How to invoke simplifycfg from code
...quot;Russell Wallace" <russell.wallace at gmail.com> > > To: "Hal Finkel" <hfinkel at anl.gov> > > Cc: "llvm-dev" <llvm-dev at lists.llvm.org> > > Sent: Sunday, September 20, 2015 8:15:19 AM > > Subject: Re: [llvm-dev] How to invoke simplifycfg from code > > > > > > Okay, as far as I can see looking through the output of that, the > > empty block isn't created near the end, it exists at the start and > > never goes away. > > > > But running SimplifyCFG has a stand-alone pass removes it? That s...
2015 Sep 20
2
How to invoke simplifycfg from code
...> > ----- Original Message ----- > > From: "Russell Wallace via llvm-dev" <llvm-dev at lists.llvm.org> > > To: "llvm-dev" <llvm-dev at lists.llvm.org> > > Sent: Sunday, September 20, 2015 1:28:56 AM > > Subject: [llvm-dev] How to invoke simplifycfg from code > > > > Simplifycfg doesn't get run by default even with -O3, but 'opt > > -simplifycfg' can do it. I'm looking to add this functionality to an > > optimizer program that uses the llvm libraries. What's the best way > > to do this? I don...
2013 Nov 19
3
[LLVMdev] Curiosity about transform changes under Sanitizers (Was: [PATCH] Disable branch folding with MemorySanitizer)
...;>>> >>>> This patch disables folding of conditional branches in functions with >>>> sanitize_memory attribute. >>>> >>>> http://llvm-reviews.chandlerc.com/D2214 >>>> >>>> Files: >>>> lib/Transforms/Utils/SimplifyCFG.cpp >>>> test/Transforms/SimplifyCFG/branch-fold-msan.ll >>>> >>>> Index: lib/Transforms/Utils/SimplifyCFG.cpp >>>> =================================================================== >>>> --- lib/Transforms/Utils/SimplifyCFG.cpp >&gt...
2013 Nov 19
0
[LLVMdev] Curiosity about transform changes under Sanitizers (Was: [PATCH] Disable branch folding with MemorySanitizer)
...t;> This patch disables folding of conditional branches in functions with >>>>> sanitize_memory attribute. >>>>> >>>>> http://llvm-reviews.chandlerc.com/D2214 >>>>> >>>>> Files: >>>>> lib/Transforms/Utils/SimplifyCFG.cpp >>>>> test/Transforms/SimplifyCFG/branch-fold-msan.ll >>>>> >>>>> Index: lib/Transforms/Utils/SimplifyCFG.cpp >>>>> =================================================================== >>>>> --- lib/Transforms/Utils/Sim...
2012 Dec 17
2
[LLVMdev] Can simplifycfg kill llvm.lifetime intrinsics?
...c block: for.body.lr.ph.i: ; preds = %for.body.i310 call void @llvm.lifetime.start(i64 24, i8* %174) call void @llvm.lifetime.start(i64 4, i8* %175) call void @llvm.lifetime.start(i64 24, i8* %176) br label %for.body.i318 r134182 by Rafael explicitly allows simplifycfg pass to merge this block into its successor, and drop "side-effect free" lifetime.start intrinsics. However, llvm.lifetime.end intrinsics for the same memory are preserved, which is not only weird, but triggers ASan false positives: 1) function goes into for-loop with local variable decla...
2020 Feb 03
2
Eliminate some two entry PHI nodes - SimplifyCFG
SimplifyCFG FoldTwoEntryPhiNode looks to simplify all 2 entry phi nodes in a block, if it can't do them all then it won't do any and returns. There is a lot of code that is directly in this function geared toward this requirement. Is it possible currently to get this function (or pass) to simply fold &...
2012 Dec 24
0
[LLVMdev] Can simplifycfg kill llvm.lifetime intrinsics?
This looks like a bug in simplifycfg. We should preserve lifetime intrinsics due to the reasons I described. The code in //lib/Transforms/Utils/Local.cpp: if (Succ->getSinglePredecessor()) { // BB is the only predecessor of Succ, so Succ will end up with exactly // the same predecessors BB had. // Copy over any phi,...
2013 Nov 19
3
[LLVMdev] Curiosity about transform changes under Sanitizers (Was: [PATCH] Disable branch folding with MemorySanitizer)
...es folding of conditional branches in functions with >>>>>> sanitize_memory attribute. >>>>>> >>>>>> http://llvm-reviews.chandlerc.com/D2214 >>>>>> >>>>>> Files: >>>>>> lib/Transforms/Utils/SimplifyCFG.cpp >>>>>> test/Transforms/SimplifyCFG/branch-fold-msan.ll >>>>>> >>>>>> Index: lib/Transforms/Utils/SimplifyCFG.cpp >>>>>> =================================================================== >>>>>> --- lib/...
2015 Jan 17
3
[LLVMdev] loop multiversioning
...=Arguments fast_algorithms.c -c clang-3.6: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated Pass Arguments: -datalayout -notti -basictti -x86tti -targetlibinfo -no-aa -tbaa -scoped-noalias -assumption-tracker -basicaa -verify -add-discriminators -simplifycfg -domtree -sroa -early-cse -lower-expect Pass Arguments: -datalayout -notti -basictti -x86tti -targetlibinfo -no-aa -tbaa -scoped-noalias -assumption-tracker -basicaa -verify-di -ipsccp -globalopt -deadargelim -domtree -instcombine -simplifycfg -basiccg -prune-eh -inline-cost -inline -functionattrs...
2016 Dec 26
1
Multiple simplifycfg pass make some loop significantly slower
...(i=0; i<size;) { ai = arr[i]; ++i; if ( ai <= amin ) { amin = ai; all_missing = 0; } i; // no effect } At first, I noticed the problem with any opt level >= O1. In an attempt to narrow it down, I found that using `opt -simplifycfg -sroa -simplifycfg` will trigger the slowdown. Removing the second simplifycfg solves it and both versions of the code run fast. Is there a known issue for this? Or, any idea why? Regards, Siu Kwan Lam -- Siu Kwan Lam Software Engineer Continuum Analytics -------------- next part -------------...
2020 Feb 05
2
Eliminate some two entry PHI nodes - SimplifyCFG
...tional on the target supporting cmov? Though that's probably not optimal. On Wed, Feb 5, 2020, 7:47 AM Nicolai Hähnle <nhaehnle at gmail.com> wrote: > Hi Ryan, > > On Mon, Feb 3, 2020 at 7:08 PM Ryan Taylor via llvm-dev > <llvm-dev at lists.llvm.org> wrote: > > SimplifyCFG FoldTwoEntryPhiNode looks to simplify all 2 entry phi nodes > in a block, if it can't do them all then it won't do any and returns. There > is a lot of code that is directly in this function geared toward this > requirement. Is it possible currently to get this function (or pass) t...
2013 Aug 06
1
[LLVMdev] Potential SimplifyCFG optimization; hammock to diamond transformation
Message: 6 Date: Tue, 6 Aug 2013 10:46:19 -0400 From: Chad Rosier <chad.rosier at gmail.com<mailto:chad.rosier at gmail.com>> To: llvmdev <llvmdev at cs.uiuc.edu<mailto:llvmdev at cs.uiuc.edu>> Subject: [LLVMdev] Potential SimplifyCFG optimization; hammock to diamond transformation Message-ID: <CAMo3wbR6x1wBzb17=GrkERV7kvzx2RdpuheFzyxkQEs3BBvKaw at mail.gmail.com<mailto:CAMo3wbR6x1wBzb17=GrkERV7kvzx2RdpuheFzyxkQEs3BBvKaw at mail.gmail.com>> Content-Type: text/plain; charset="iso-8859-1" All, I have some co...
2011 Nov 15
1
[LLVMdev] opt -O2 optimization passes
Hi all, I would like to know which optimization passes are performed at -O2 by opt. So I used following command: llvm-as < /dev/null | opt -O2 -std-compile-opts -disable-output -debug-pass=Arguments I've got following output for LLVM opt 2.9: Pass Arguments: -no-aa -tbaa -basicaa -simplifycfg -domtree -scalarrepl -early-cse Pass Arguments: -targetlibinfo -no-aa -tbaa -basicaa -preverify -domtree -verify -lowersetjmp -globalopt -ipsccp -deadargelim -instcombine -simplifycfg -basiccg -prune-eh -inline -functionattrs -argpromotion -scalarrepl-ssa -domtree -early-cse -simplify-libcalls -la...
2013 Nov 19
1
[LLVMdev] Curiosity about transform changes under Sanitizers (Was: [PATCH] Disable branch folding with MemorySanitizer)
...es folding of conditional branches in functions with >>>>>> sanitize_memory attribute. >>>>>> >>>>>> http://llvm-reviews.chandlerc.com/D2214 >>>>>> >>>>>> Files: >>>>>> lib/Transforms/Utils/SimplifyCFG.cpp >>>>>> test/Transforms/SimplifyCFG/branch-fold-msan.ll >>>>>> >>>>>> Index: lib/Transforms/Utils/SimplifyCFG.cpp >>>>>> =================================================================== >>>>>> --- lib/...
2013 Aug 19
1
[LLVMdev] How to disbale loop-rotate in opt -O3 ?
...nce I found no clues on how distinguish such loops, I tried to disable loop-rotate. For this purpose, I got the list of passes executed by O3, I eliminate loop-rotate and I call the reduced list of passes from opt: opt -targetdata -no-aa -tbaa -targetlibinfo -basicaa -preverify -domtree -verify -simplifycfg -domtree -scalarrepl -early-cse -lower-expect -targetlibinfo -targetdata -no-aa -tbaa -basicaa -globalopt -ipsccp -deadargelim -instcombine -simplifycfg -basiccg -prune-eh -inline -functionattrs -argpromotion -scalarrepl-ssa -domtree -early-cse -simplify-libcalls -lazy-value-info -jump-threading -c...
2015 May 11
2
[LLVMdev] about MemoryDependenceAnalysis usage
...o /dev/null test.ll -S -load ./libPlaydep.so -O3 -playdep > --debug-pass=Structure > Pass Arguments: -targetlibinfo -datalayout -notti -basictti -x86tti -no-aa > -tbaa -scoped-noalias -assumption-cache-tracker -basicaa -verify-di -ipsccp > -globalopt -deadargelim -domtree -instcombine -simplifycfg -basiccg > -prune-eh -inline-cost -inline -functionattrs -argpromotion -sroa -domtree > -early-cse -lazy-value-info -jump-threading -correlated-propagation > -simplifycfg -domtree -instcombine -tailcallelim -simplifycfg -reassociate > -domtree -loops -loop-simplify -lcssa -loop-rotate -...
2008 Dec 04
0
[LLVMdev] 32bit math being promoted to 64 bit
instcombine doesn't seem to be doing it. From my testing it seems to only occur when I use -indvars after a long string of commands. For example: llvm-as < test_fc_27.ll | opt -preverify -domtree -verify -lowersetjmp -raiseallocs -simplifycfg -domtree -domfrontier -mem2reg -globalopt -globaldce -ipconstprop -deadargelim -instcombine -simplifycfg -ba siccg -prune-eh -inline -argpromotion -simplify-libcalls -instcombine -jump-threading -simplifycfg -domtree -domfrontier -scalarrepl -instcombine -break-crit-edges -condpr...
2013 Nov 19
5
[LLVMdev] Curiosity about transform changes under Sanitizers (Was: [PATCH] Disable branch folding with MemorySanitizer)
...ches in functions > >>>>>> with sanitize_memory attribute. > >>>>>> > >>>>>> http://llvm-reviews.chandlerc.com/D2214 > >>>>>> > >>>>>> Files: > >>>>>> lib/Transforms/Utils/SimplifyCFG.cpp > >>>>>> test/Transforms/SimplifyCFG/branch-fold-msan.ll > >>>>>> > >>>>>> Index: lib/Transforms/Utils/SimplifyCFG.cpp > >>>>>> ================================================================= > >>&g...
2013 Aug 06
3
[LLVMdev] Potential SimplifyCFG optimization; hammock to diamond transformation
...lock. Something like this: { double a, b, c; for (...) { ... if (cond) { a = 0.0; b = 0.1; c = 0.2; } else { a = lots of FP math; b = lots of FP math; c = lots of FP math; } ... } } Does a similar optimization exist? If not, would the SimplifyCFG pass be an appropriate home for such an optimization? Chad -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130806/68c360f0/attachment.html>