similar to: LCSSA verification for the top-level loops

Displaying 20 results from an estimated 1000 matches similar to: "LCSSA verification for the top-level loops"

2016 Oct 17
2
LCSSA verification for the top-level loops
> On Oct 14, 2016, at 9:54 AM, Igor Laevsky <igor at azulsystems.com> wrote: >> >> Hi Michael, > Hi Igor, Hi Michael, > >> >> +CC llvm-dev >> >> My guess is that it would be rather error prone to pinpoint exact places where we start populating new LPPassManager since it’s created lazily via LoopPass::assignPassManager. So we are risking to
2016 Oct 19
2
LCSSA verification for the top-level loops
Hi Igor, On Oct 17, 2016, at 10:39 AM, Igor Laevsky <igor at azulsystems.com<mailto:igor at azulsystems.com>> wrote: On Oct 14, 2016, at 9:54 AM, Igor Laevsky <igor at azulsystems.com<mailto:igor at azulsystems.com>> wrote: Hi Michael, Hi Igor, Hi Michael, Hi Michael, What I was referring to is that we can write something like this inside LPPassManager iteration: if
2011 May 09
2
[LLVMdev] get LPPassManager to use it in llvm::CloneLoop
Hi, I try to write a FunctionPass that, among other tasks, has to clone some loops from the current function. How can I obtain the LPPassManager in order to use the CloneLoop function. In a LoopPass this is a parameter for the runOnLoop, but how can I obtain it in a FunctionPass? I tried simply by creating a new instance : ValueMap<const Value *, Value* > VMap;
2011 May 09
0
[LLVMdev] get LPPassManager to use it in llvm::CloneLoop
On Mon, May 9, 2011 at 1:06 AM, Jimborean Alexandra <xinfinity_a at yahoo.com> wrote: > Hi, > > I try to write a FunctionPass that, among other tasks, has to clone some > loops from the current function. > How can I obtain the LPPassManager in order to use the CloneLoop function. > In a LoopPass this is a parameter for the runOnLoop, but how can I obtain it > in a
2014 Feb 07
2
[LLVMdev] [RFC] LCSSA vs. SSAUpdater ... FIGHT!
On Feb 7, 2014, at 11:29 AM, Chris Lattner <clattner at apple.com> wrote: > > On Feb 1, 2014, at 4:33 AM, Chandler Carruth <chandlerc at gmail.com> wrote: > >> So, there are two primary ideas behind SSA form management in the loop optimizers of LLVM: >> >> - Require LCSSA form input, leverage its (very powerful) guarantees to simplify maintaining SSA
2020 Nov 09
1
LSR tests failing under new pass manager due to not being in LCSSA form
In an effort to turn on the new pass manager by default, I've been trying to make all lit tests pass when opt uses the new pass manager. (Change the default value of -enable-new-pm in opt.cpp to true to repro) A good chunk of the remaining failures are some loop pass tests, mostly LSR, that are failing. The legacy PM does not by default run LCSSA before running loop passes, but the new PM
2010 Sep 13
1
[LLVMdev] isLCSSAForm failed
Hi folk, I have a Module pass. I tested the pass against the following code. ./gcc.dg/20030721-1.c extern void abort(void); void foo(int) __attribute__((__noinline__)); void foo(int i) { abort(); } int main() { int i; int first= 0; int last= 0; while (last<3) { last = first; while (first<=last) { first++; for (i=0;i<3;i++) last++; if
2010 Nov 17
2
[LLVMdev] Replacing phi nodes in ScalarEvolution while preserving LCSSA form
Hi Dan, I whipped up this patch as a more optimal test of whether replacing the phi node PN by V will break LCSSA form. I hope it is more or less correct, but since I know nothing about loops it could well be completely bogus :) Can you please comment on it. Best wishes, Duncan. -------------- next part -------------- A non-text attachment was scrubbed... Name: lcssa.diff Type: text/x-patch
2014 Feb 01
8
[LLVMdev] [RFC] LCSSA vs. SSAUpdater ... FIGHT!
So, there are two primary ideas behind SSA form management in the loop optimizers of LLVM: - Require LCSSA form input, leverage its (very powerful) guarantees to simplify maintaining SSA form, and also maintain LCSSA form. - Don't bother with LCSSA form input, assume the worst, and use powerful incremental SSA formation utilities built on SSAUpdater to form SSA on demand when needed. (Note,
2010 Nov 17
0
[LLVMdev] Replacing phi nodes in ScalarEvolution while preserving LCSSA form
On Nov 17, 2010, at 11:03 AM, Duncan Sands wrote: > Hi Dan, I whipped up this patch as a more optimal test of whether > replacing the phi node PN by V will break LCSSA form. I hope it > is more or less correct, but since I know nothing about loops it > could well be completely bogus :) Can you please comment on it. Looks good to me. Thanks, Dan
2010 Jun 11
2
[LLVMdev] experimenting with partial evaluation
Hello ! I wanted to experiment with partial evaluation and llvm seems to be the right tool for this, but since I'm new to it of course I'm a bit lost ! I'll try to explain what I want to do in the simplest possible way : I have a C program. In this program, there is a function f( a,b ). I have a value A for a. I want to specialise f() so I get a function fA( b ) which is the same as
2011 Jun 15
2
[LLVMdev] get LPPassManager to use it in llvm::CloneLoop
Thanks , your suggestion was welcome and CloneLoop works without passing the LPPassManager. However, I reached another problem. When the loop to be cloned has some subloops, the subloops are not properly cloned. Some clones of the clones are created and the CFG between the cloned basic blocks of the subloops is not correctly built. There are clones like for.body.clone,
2016 Jan 20
2
Getting _eh_frame parser for llvm
> On 20 January 2016 at 09:21, Igor Laevsky via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> Hi all, >> >> Not so long ago we have found ourselves in need of a robust _eh_frame parser. All we wanted is the ability to parse .eh_frame section emitted by LLVM's MCJIT. Considering this, LLVM would be a natural place for implementing such parser. >>
2016 Jan 20
2
Getting _eh_frame parser for llvm
Hi Igor, Rafael I’m very sorry. You’ve both pinged me more than once about this and I haven’t yet been able to find the cause of the issue. Igor, the failures I saw on a number of bots were complaining about one of the CHECK lines in the test case (test/tools/llvm-objdump/eh_frame-arm64.test)I adapted in the given review. The line in question was: # CHECK: DW_CFA_def_cfa: reg31 +0 but the
2010 Jun 04
3
[LLVMdev] Inserting a function call into bitcode
Hi Nick I am not quite sure what you meant by verifier. I checked online documents and found that there is a function verifyAnalysis() in Pass but it is empty. So do you suggest implementing that function? If it is the case, what should I look while implementing that function? Or something else altogether? Thanks, Nehal. -----Original Message----- From: Nick Lewycky [mailto:nicholas at mxc.ca]
2016 Jan 20
4
Getting _eh_frame parser for llvm
Hi all, Not so long ago we have found ourselves in need of a robust _eh_frame parser. All we wanted is the ability to parse .eh_frame section emitted by LLVM's MCJIT. Considering this, LLVM would be a natural place for implementing such parser. Previous email thread about the issue (https://groups.google.com/forum/#!topic/llvm-dev/Vb_VYU7Eo0k) showed some interest among the community. Folks
2010 Nov 18
1
[LLVMdev] Replacing phi nodes in ScalarEvolution while preserving LCSSA form
It doesn't seem to fix PR8622. On Nov 17, 2010, at 8:39 PM, Dan Gohman wrote: > On Nov 17, 2010, at 11:03 AM, Duncan Sands wrote: > >> Hi Dan, I whipped up this patch as a more optimal test of whether >> replacing the phi node PN by V will break LCSSA form. I hope it >> is more or less correct, but since I know nothing about loops it >> could well be
2010 Jun 12
0
[LLVMdev] experimenting with partial evaluation
Good evening, Pierre. Here is an example to you. attached. run with -disable-lazy-comilation. It is *as-is* for Win32 but might be applicable to *-linux-elf more smartly. It does get llvm::Function* by function ptr(not name!), and clone a specialized function, and execute specialized one in the same context as parent lli. > - In a running program, can I get pointers to the llvm Module that
2011 Dec 12
4
[LLVMdev] problem with runOnLoop
hi all, I want access to all basic blocks of function in a loop, so I used the following code: *bool parallel::runOnLoop(Loop *L, LPPassManager &LPM) { for (Function::iterator bi= func->begin(); bi != func->end(); bi++){ // } }* First loop run without problem, but for second loop I get the following error: *0 libLLVM-2.9.so 0x0137d530 1 libLLVM-2.9.so 0x0137fa6c 2
2010 Jun 05
0
[LLVMdev] Inserting a function call into bitcode
Nehal Gandhi wrote: > Hi Nick > > I am not quite sure what you meant by verifier. I checked online documents > and found that there is a function verifyAnalysis() in Pass but it is empty. > So do you suggest implementing that function? If it is the case, what should > I look while implementing that function? Or something else altogether? I'm assuming you have a PassManager