similar to: [LLVMdev] how to remove inlined function

Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] how to remove inlined function"

2010 Feb 02
0
[LLVMdev] function inlining
On Tue, Feb 2, 2010 at 11:40 AM, Jochen Wilhelmy <j.wilhelmy at arcor.de> wrote: > Hi! > > I have a llvm::Module that references an external function > and a second mdoule that implements the function. > The implementation consists of only one instruction. > How can I explicitly inline this function? > > -Jochen > >
2012 Feb 29
2
[LLVMdev] problem with inlining pass
Hi! My llvm version is 3.0 release. I have a module generated by clang. When I optimize it, I first add an inlining pass (llvm::createFunctionInliningPass), then these passes: - own FunctionPass - llvm::createPromoteMemoryToRegisterPass - llvm::createInstructionCombiningPass - llvm::createDeadInstEliminationPass - llvm::createDeadStoreEliminationPass - new llvm::DominatorTree() - new
2010 Feb 02
2
[LLVMdev] function inlining
Hi! I have a llvm::Module that references an external function and a second mdoule that implements the function. The implementation consists of only one instruction. How can I explicitly inline this function? -Jochen
2017 Mar 31
2
How to write the same things as `opt` command in C++ API
Hi, I'm Ryo Ota. I'm using LLVM 3.8.1. I have a quesion about inlining function in C++ API. I'd like to inline some functions in a module in the same way as `opt -inline` command. But my C++ code didn't work what I want to do. For example, by using `opt -inline` command,`main.ll` is converted into the `inlined.ll`(`opt` command worked what I want to do) [main.ll (Not inlined)]
2008 Jan 08
2
[LLVMdev] Setting how aggressive the inliner is in 2.1
Is there a way to set how aggressive the inliner pass (createFunctionInliningPass) without going through the command line interface? Is there any reason InlineLimit isn't an argument to the createFunctionInliningPass function? Thanks, Robert
2010 Jun 25
3
[LLVMdev] Why code doesn't speed up much with optimization level increase?
I run large piece of code in JIT and it runs only marginallty faster with optimization levels 1,2,3. I think differences are within the margin or error. level user time 0 17339ms 1 16913ms 2 16891ms 3 16898ms Level is set with builder->setOptLevel(olev); Compilation time is excluded by taking the only top-level function address before the run
2009 May 12
1
[LLVMdev] Tutorial 1: casting cout
To get Tutorial 1 to compile, I had to cast cout as a raw_osstream, as in: PM.add(createPrintModulePass(&llvm::cout)); ----> PM.add(createPrintModulePass((raw_ostream*)&llvm::cout)); I was getting the following error: $ c++ -g tut1.cpp `llvm-config --cxxflags --ldflags --libs core` -o tut1 tut1.cpp: In function ‘int main(int, char**)’: tut1.cpp:19: error: cannot convert
2011 Nov 23
2
[LLVMdev] JIT: Inlining introduces intrinsics.
If I activate the Inliner pass: Builder.Inliner = createFunctionInliningPass(Threshold); this is the result: LLVM ERROR: Program used external function 'llvm.lifetime.start' which could not be resolved! It happens on almost all my test cases, even at -O0. This JIT compiler does the same as `opt' wrt optimization passes. I'm using a LLVM snapshot from approx 4 months ago.
2012 Mar 01
0
[LLVMdev] problem with inlining pass
Hi Jochen, > My llvm version is 3.0 release. > I have a module generated by clang. When I optimize it, I first add an > inlining pass (llvm::createFunctionInliningPass), then these passes: > - own FunctionPass > - llvm::createPromoteMemoryToRegisterPass > - llvm::createInstructionCombiningPass > - llvm::createDeadInstEliminationPass > - llvm::createDeadStoreEliminationPass
2008 Jan 08
0
[LLVMdev] Setting how aggressive the inliner is in 2.1
On Mon, 7 Jan 2008, Robert Zeh wrote: > Is there a way to set how aggressive the inliner pass > (createFunctionInliningPass) without going through the command line > interface? Nope. Well, you could call cl::ParseCommandLine yourself (passing in a static array) like llvm-gcc does, but other than that "no". > Is there any reason InlineLimit isn't an argument to the
2010 Nov 26
3
[LLVMdev] request for windows unicode support
On 25.11.2010 23:56, Michael Spencer wrote: > On Nov 25, 2010, at 5:01 PM, Jochen Wilhelmy <j.wilhelmy at arcor.de > <mailto:j.wilhelmy at arcor.de>> wrote: > >> Hi! >> >> Of course nobody wants to implement unicode support for windows >> because windows should support an utf8-locale and windows is obsolete >> anyway ;-) >> >> But
2011 Nov 23
2
[LLVMdev] JIT: Inlining introduces intrinsics.
Hello Eli. Eli Friedman <eli.friedman at gmail.com> writes: >> If I activate the Inliner pass: >> >>    Builder.Inliner = createFunctionInliningPass(Threshold); >> >> this is the result: >> >> LLVM ERROR: Program used external function 'llvm.lifetime.start' which could not be resolved! >> >> It happens on almost all my test
2011 May 25
1
[LLVMdev] ms vc 10 warnings
Hi! when compiling projects using llvm 2.9 and ms vc 10 I get these warnings: 1>e:\Jochen\Lib\lib\include\llvm/Use.h(218): warning C4624: 'llvm::AugmentedUse' : destructor could not be generated because a base class destructor is inaccessible 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h(72): warning C4005: 'INT8_MIN' : macro redefinition
2010 Nov 25
0
[LLVMdev] request for windows unicode support
On Nov 25, 2010, at 5:01 PM, Jochen Wilhelmy <j.wilhelmy at arcor.de> wrote: > Hi! > > Of course nobody wants to implement unicode support for windows > because windows should support an utf8-locale and windows is obsolete > anyway ;-) > > But there is a simple solution: use boost::filesystem::path everywhere you > use file names and paths, for example in
2010 Mar 03
5
[LLVMdev] folding x * 0 = 0
Hi! > sin/cos etc should already be handled by lib/Analysis/ConstantFolding.cpp. > Thanks for the hint and it works! Now I have a new Problem: I have this function: float foo(float a, float b) { float x = a * b * 0.0f; return cos(0.5) * sin(0.5) * x; }; after compiling it with clang (cpp mode) and renaming _ZSt3sinf to sin and _ZSt3cosf to cos I get the following: define
2010 Jul 20
2
[LLVMdev] [cfe-dev] conditional operator
Hello Jochen- Your expectation is incorrect, I'm afraid. Typically this would be expanded to something like this: … %cmp = … br i1 %cmp, label %ternary.true, label %ternary.false ternary.true: %truevalue = … br label %ternary.end ternary.false: %falsevalue = … br label %ternary.end ternary.end: %value = phi %type [%truevalue, %ternary.true], [%falsevalue,
2010 Mar 03
3
[LLVMdev] folding x * 0 = 0
> I'm not sure how that would work, but it most likely wouldn't fit with the design of llvm. If this is important, I'd rather fix the representational issue. > > Just #ifdef RELAXED_FLOAT here the code like I posted #endif what do you mean by the representational issue? something in the IR? Perhaps something like the value tracking can be implemented that tracks if a
2011 Oct 15
2
[LLVMdev] Maximum inlining threshold
Hi, We want to apply the deepest possible inlining to the target code. Looks like builder.Inliner = createFunctionInliningPass(2000); does the sufficient inlining, but what would be the best value for threshold here? Apparently, builder.Inliner = createFunctionInliningPass(numeric_limits<int>::max()); gives less inlining, that 2000. Thanks, - D.
2010 Nov 26
2
[LLVMdev] request for windows unicode support
On Fri, 26 Nov 2010 09:28:17 -0500 Michael Spencer <bigcheesegs at gmail.com> wrote: > On Fri, Nov 26, 2010 at 4:00 AM, Jochen Wilhelmy > <j.wilhelmy at arcor.de> wrote: > > No, this post was prompted since I switched to boost::filesystem > > version 3 in my own code and llvm/clang 2.8 > > was the only lib with no unicode support on windows. > > Will your
2010 Nov 26
0
[LLVMdev] request for windows unicode support
On Fri, Nov 26, 2010 at 4:00 AM, Jochen Wilhelmy <j.wilhelmy at arcor.de> wrote: > No, this post was prompted since I switched to boost::filesystem version 3 > in my own code and llvm/clang 2.8 > was the only lib with no unicode support on windows. > Will your code be api compatible to boost::filesystem? No. boost::filesystem makes extensive use of exceptions, which LLVM is