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
>>...
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>