similar to: [LLVMdev] strange behaviour after extracting optimization pass code

Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] strange behaviour after extracting optimization pass code"

2008 Dec 19
2
[LLVMdev] strange behaviour after extracting optimization pass code
Hi, I am expieriencing strange behaviour of llvm's optimization passes and I don't understand what I am doing wrong. Basically all I've done is extracting code for optimization of a llvm-function in a llvm-module and put it into a separate function for better readability. The original code looks like follows (and works as expected): ----------------------------- std::string
2008 Dec 19
0
[LLVMdev] strange behaviour after extracting optimization pass code
On 2008-12-19, at 06:59, Ralf Karrenberg wrote: > I am expieriencing strange behaviour of llvm's optimization passes > and I don't understand what I am doing wrong. > Basically all I've done is extracting code for optimization of a > llvm-function in a llvm-module and put it into a separate function > for better readability. The original code looks like follows
2013 Jan 29
0
[LLVMdev] Running a Local Buildbot
Hello We are migrating from 2.9 to 3.2 Here is some code that does not compile any more llvm::PassManager *pm; llvm::FunctionPassManager *fpm; module = llvm::ParseBitcodeFile(mb,context,&err_str); if (!module) { error() <<"Failed to load module from bitcode file: " <<err_str <<endl; exit(1); } pm = new PassManager();
2012 Sep 10
2
[LLVMdev] Dead Store Elimination
Hi, Here is the result of optimization using the following passes: llvm::createBasicAliasAnalysisPass() llvm::createInstructionCombiningPass() llvm::createReassociatePass() llvm::createGVNPass() llvm::createCFGSimplificationPass() The optimized IR seems to contain what look like dead stores on %8 and %9 in basic blocks 7 and haveData. How can I get rid of them? Thanks, Vinayak define
2012 Sep 10
0
[LLVMdev] Dead Store Elimination
Hi Vinayak, > Here is the result of optimization using the following passes: > > llvm::createBasicAliasAnalysisPass() > llvm::createInstructionCombiningPass() > llvm::createReassociatePass() > llvm::createGVNPass() > llvm::createCFGSimplificationPass() > you should run the mem2reg pass too, and first. > ; <label>:7 ; preds =
2010 Nov 15
0
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
Hi Rob, > I'm using the gvn pass, not sure about basic-aa. if you are using LLVM from svn then you need to specify the basic-aa analysis, otherwise gvn won't unify calls to readonly/readnone functions. This is new behaviour introduced by Dan; probably the tutorial should be updated. Ciao, Duncan. > > I've copied the code as-is from
2010 Nov 15
1
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
Still no luck after switching to: theFPM->add( new llvm::TargetData( *theExecutionEngine->getTargetData() ) ); theFPM->add( llvm::createBasicAliasAnalysisPass() ); theFPM->add( llvm::createInstructionCombiningPass() ); theFPM->add( llvm::createReassociatePass() ); theFPM->add( llvm::createGVNPass() ); theFPM->add( llvm::createCFGSimplificationPass() ); Based on output
2011 Nov 04
0
[LLVMdev] Question on JIT optimizations
Hi Brent, > The code in this setup will be optimized according to the optimizer pipeline one > sets up as in the code below. I find that if I only use the passes below the > quality of the code is not that good code quality will be dreadful if you don't promote memory accesses to registers right at the start, using eg mem2reg or scalarrepl. (for example inlining is not
2011 Nov 04
2
[LLVMdev] Question on JIT optimizations
Hi, If hope this is the right list to post a question like this. If not, my apologies -- please redirect me. Following the Kaledoscope example I am trying to write a simple JIT and compile my own small language using LLVM. Compilation happens using the C++ api by constructing a VM and emitting code using the api (just as the Kaledoscope example). The code in this setup will be optimized
2010 Nov 15
6
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
I'm using the gvn pass, not sure about basic-aa. I've copied the code as-is from http://llvm.org/docs/tutorial/LangImpl4.html#code and added "F->addFnAttr( Attribute::ReadOnly )" after "Function *F = Function::Create(FT, Function::ExternalLinkage, Name, TheModule)". The passes it sets up are: // Set up the optimizer pipeline. Start with registering info about
2012 Sep 10
1
[LLVMdev] Dead Store Elimination
Hi Duncan, The mem2reg pass did not help. Moving the alloca instructions into the entry block did the trick. One other thing I noticed is that if there was only one alloca, the dead store is eliminated. Having the second one (does not matter which of the two) prevents the elimination. Is this a bug? Thanks, Vinayak On 9/10/12 8:16 AM, Duncan Sands wrote: > Hi Vinayak, > >>
2010 Nov 15
0
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
Rob, I can reproduce the behaviour you observe using llvm top-of-tree. I will try to look into it. Best regards, -- Arnaud de Grandmaison -----Original Message----- From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Rob Pieke Sent: Monday, November 15, 2010 4:27 PM To: Duncan Sands; llvmdev at cs.uiuc.edu Subject: Re: [LLVMdev] Optimization of calls to
2008 Apr 10
2
[LLVMdev] Newbie
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> Tilmann Scheller wrote: <blockquote
2013 Mar 30
2
[LLVMdev] Missed optimisation opportunities?
I'm writing a front end for an existing interpreted language with slightly odd semantics for primitive values. Similar to the values in a database table, any value could be null, even for non-pointer types. For example a boolean variable could be true, false, or null. To model this behaviour, I'm passing an {i1, [type]} around for every numeric type. And using insertvalue / extractvalue
2010 Nov 15
1
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
SUCCESS! Sorry, I had removed the addFnAttr() call by accident. Using the basicAA pass and ReadOnly, as you suggested, works like a charm! :) > -----Original Message----- > From: Rob Pieke > Sent: Monday, November 15, 2010 4:40 PM > To: 'Duncan Sands' > Cc: 'llvmdev at cs.uiuc.edu'; 'Dan Gohman' > Subject: RE: [LLVMdev] Optimization of calls to
2017 Sep 22
2
Question regarding GlobalMappingLayer in LLVM 5
Hi, I'm attempting to port some code which uses the GlobalMappingLayer in the Orc JIT. This code worked fine in LLVM 4, but I'm getting a compile error with LLVM 5. I think the problem is that this layer hasn't been modified to account for some of the changes made in LLVM 5, but I wanted to make sure that I wasn't missing something. I have code which looks like this:
2012 Feb 20
1
[LLVMdev] ARM opcode format
Hello, So the current JIT will be superseded by the MCJIT completely and no further development should be expected for the current JIT? In any case, I am definitely interested in submitting a patch if you could help me by sending me in the right direction, since I really want this working. I managed to reproduce this behavior in LLVM 3.0 by modifying llc to read my .bc file and try to JIT the
2009 Jul 27
2
[LLVMdev] Pass Scheduling Information without using opt
Daniel Dunbar wrote: > Ah, in this case llvm_shutdown isn't what you are looking for. I've > never looked at the Statistic implementation so I can't be any help > here, but if you poke around starting with "llvm/ADT/Statistic.h" you > may find a way to do what you want. I looked into that already, but Statistic.h only gives me the possibility to implement tracking
2017 Sep 28
0
Question regarding GlobalMappingLayer in LLVM 5
Hi Brian, Yes - I believe you're correct. I'm working on a fix and extra test coverage now. In the meantime, I believe you should be able to fix the signatures in your copy and everything should "just work". Cheers, Lang. On Fri, Sep 22, 2017 at 2:04 PM, Brian Kahne via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Hi, > > > > I’m attempting to port
2013 Jul 28
0
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
Hi, Sean: I'm sorry I lie. I didn't mean to lie. I did try to avoid making a *BIG* change to the IPO pass-ordering for now. However, when I make a minor change to populateLTOPassManager() by separating module-pass and non-module-passes, I saw quite a few performance difference, most of them are degradations. Attacking these degradations one by one in a piecemeal manner is wasting