similar to: [LLVMdev] Testcases where GVN uses too much memory?

Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] Testcases where GVN uses too much memory?"

2011 May 04
0
[LLVMdev] GVN Infinite loop
Mainline. ------------------------------ From: John Criswell Sent: Tuesday, May 03, 2011 8:34 PM To: Arushi Aggarwal Cc: LLVM Dev Subject: Re: [LLVMdev] GVN Infinite loop On 5/3/11 5:25 PM, Arushi Aggarwal wrote: Hi, GVN seems to be running in an infinite loop on my example. I have attached the output of one iteration. I cant seem to reduce the testcase either. Are you running with LLVM
2018 Apr 10
0
Miscompilation bugs in GVN.cpp and PromoteMemoryToRegister.cpp?
On 4/9/2018 8:19 PM, Jeehoon Kang via llvm-dev wrote: > Dear llvm-dev, > > > Hi! We're collecting mis-compilation bugs in gvn and mem2reg since > 3.7.1.  Specifically, We're interested in bugs in the following files: > > llvm/lib/Transforms/Scalar/GVN.cpp > llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp 3.7 was released over two years ago; there have been
2010 May 05
2
[LLVMdev] emit after gvn pass?
Hello again, Just wondering if there is a flag I can pass when compiling with llvm-gcc that can emit the llvm IR after the gvn pass (want to see the IR after dead code elimination/redundancy elimination). If so, will other passes be performed as well? I really just want to see the IR after the eliminations only, if it is at all possible. Thanks in advance, -nonpoly -- View this message in
2014 Oct 01
2
[LLVMdev] LLVM opt GVN.cpp
Hi, I wonder what PRE algorithm is used for the GVN.cpp in LLVM. Any reference will be appreciated. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140930/3d7f74e3/attachment.html>
2015 Dec 02
2
GlobalsAA from GVN
Hi, I've noticed that alias analysis queries arising from GVN do not use the results from GlobalsAA. The last call to AAResultsWrapperPass::runOnFunction() before GVN does not add GlobalsAAWrapperPass due to unavailability. This leads to the alias queries from GVN not having any globals mod-ref info. Is this a known issue? and is there any way to have globals mod-ref info available for GVN?
2016 Jun 30
0
Optimizations hindered by GVN widening
Currently, the GVN optimization widens loads if the alignment permits it. There are some limitations that show up, as seen in example below: Initial IR: declare void @consume(i8) readonly define i8 @bar(i8* align 2 %a) { %1 = load i8, i8* %a %idx = getelementptr i8, i8* %a, i64 1 %2 = load i8, i8* %idx, align 1 call void @consume(i8 %1). ret i8 %2 } define i1 @foo(i8* %a) { entry:
2013 Sep 22
0
[LLVMdev] Why total number of store instructions increased in case of gvn with reg2mem?
Might have to do with GVN's PRE (partial redundancy elimination), which tends to increase code size. H. ----- Original Message ----- From: Abhinash Jain Sent: 09/22/13 01:17 AM To: llvmdev at cs.uiuc.edu Subject: [LLVMdev] Why total number of store instructions increased in case of gvn with reg2mem? Below are the 4 cases out of which for the first 3 cases am able to understand the variation
2018 Apr 10
2
Miscompilation bugs in GVN.cpp and PromoteMemoryToRegister.cpp?
Dear llvm-dev, Hi! We're collecting mis-compilation bugs in gvn and mem2reg since 3.7.1. Specifically, We're interested in bugs in the following files: llvm/lib/Transforms/Scalar/GVN.cpp llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp We checked all reports in the LLVM bugzilla (https://bugs.llvm.org/), so I'd like to ask if you know any such a bug that is not reported in
2010 May 05
0
[LLVMdev] emit after gvn pass?
On Wednesday 05 May 2010 12:00:18 nonpoly wrote: > Hello again, > Just wondering if there is a flag I can pass when compiling with > llvm-gcc that can emit the llvm IR after the gvn pass (want to see the IR > after dead code elimination/redundancy elimination). If so, will other > passes be performed as well? I really just want to see the IR after the > eliminations only, if
2017 Jan 21
2
Wrong code bug after GVN/PRE?
On 1/20/2017 3:19 PM, Philip Reames via llvm-dev wrote: > > If someone can produce an *IR* reproducer which they believe is > incorrect, I'm happy to take a look at the PRE code. I will not have > the time to reproduce this from C or work through the interaction of > other passes; I will only look at this if there is a bug with PRE > specific IR reproducer attached.
2009 May 04
1
[LLVMdev] [PATCH] GVN improvement
Hello, I've been analyzing GVN algorithm and I've found one place where it could be easily improved. Note that this is my first patch here. Please be tolerant ;) -- Jakub Staszak -------------- next part -------------- A non-text attachment was scrubbed... Name: gvn-load-pre.patch Type: application/octet-stream Size: 2236 bytes Desc: not available URL:
2010 Jul 08
1
[LLVMdev] DebugAA, GVN bug?
Hi all, While testing my own AA, I found it being queried for values that didn't exist previously. Luckily there's a pass built into LLVM for catching such things, "Debug-AA", and I used that to confirm that GVN does this fairly frequently. I've attached a test case that triggers the bug (reduced from Stanford/Treesort, for whatever that's worth), this is on LLVM 2.7.
2013 Sep 22
0
[LLVMdev] Why total number of store instructions increased in case of gvn with reg2mem?
Below are the 4 cases out of which for the first 3 cases am able to understand the variation on total number of store inst. But when -gvn parameters is passed (in case 4) , why does the total number of strore Instruction present on the attached file increases (instead of decrease). Please explain considering that use of -reg2mem pass is mandatory. eg. clang -emit-llvm bzip.c -c -o bzip1.bc
2013 Nov 23
1
[LLVMdev] GVN very slow on a large switch statement
I find that clang is very slow compiling a C function (generated by a tool). The function contains a very large switch statement within two nested loops. From opt -time-passes, I can see that almost all the time (95%) is being spent in GVN. I cannot afford to reduce the optimization level to -O1 (which will shut off GVN) as it causes the run-time to degrade by an unacceptable factor (>2.5X).
2010 May 04
2
[LLVMdev] Question about GVN
Hello, I was investigating GVN.cpp file and I found suspicious part: 1587 bool NeedToSplitEdges = false; 1588 for (pred_iterator PI = pred_begin(LoadBB), E = pred_end(LoadBB); 1589 PI != E; ++PI) { 1590 BasicBlock *Pred = *PI; 1591 if (IsValueFullyAvailableInBlock(Pred, FullyAvailableBlocks)) { 1592 continue; 1593 } 1594 PredLoads[Pred] = 0; 1595 1596 if
2011 Apr 14
1
[LLVMdev] GVN
Hi All, Does gvn automatically perform points-to-analysis? Thanks. George -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110414/2e4f4f8a/attachment.html>
2013 Sep 28
1
[LLVMdev] algorithm for GVN
Hi, Can someone tell which algorithm is used for GVN in LLVM? -- Rekha -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130928/ca06c78a/attachment.html>
2011 May 04
0
[LLVMdev] GVN Infinite loop
On May 3, 2011, at 3:25 PM, Arushi Aggarwal wrote: > Hi, > > GVN seems to be running in an infinite loop on my example. I have attached the output of one iteration. I cant seem to reduce the testcase either. > > Any pointers to how to reduce the test case. Bugzilla can reduce testcases that cause infinite loops (it has a -timeout flag), I'd try it. Even if this doesn't
2019 Apr 07
2
GVN-Hoist test case not working
Hello, I was trying a basic example on LLVM GVN Hoist and output differs from what I expect. Am I missing something ? *Code* : int main() { int x = 7; int a = 0; if(a == 7){ x = 1; a = 8 * x; } else { x = 1; a = 2 * x; } return 0; } *Commands* : clang-8 -O0 -S -emit-llvm test.c opt-8 -gvn-hoist -S < test.ll *Output :* ; ModuleID = '<stdin>' source_filename =
2015 Aug 07
2
load instruction erroneously removed by GVN
Hi, I'm having a problem with GVN removing a load instruction that I think is needed. Dump before GVN: *** IR Dump Before Global Value Numbering *** ; Function Attrs: minsize optsize define i16 @TEST__MAIN(i16 %argc.13.par, i16** %argv.14.par) #0 { %buf.17 = alloca [10 x i16], align 1 %_tmp30 = getelementptr inbounds [10 x i16], [10 x i16]* %buf.17, i16 0, i16 0, !dbg !22 call