Displaying 20 results from an estimated 6000 matches similar to: "[LLVMdev] function inlining"
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
>
>
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.
2011 Oct 15
0
[LLVMdev] Maximum inlining threshold
Hi Dmitry,
> We want to apply the deepest possible inlining to the target code. Looks like
you could give every function the alwaysinline attribute.
Ciao, Duncan.
2011 Oct 21
4
[LLVMdev] inline functions
Hi all,
I have an LLVM bitcode file, with several functions in it.
I'm trying to inline these functions as much as possible, so that I can
obtain a big single function.
There is opt -inline, but it is not sufficient.
Any idea ?
--
Julien Henry
http://www-verimag.imag.fr/~jhenry/
2011 Oct 21
0
[LLVMdev] inline functions
Hi Julien,
> I have an LLVM bitcode file, with several functions in it.
> I'm trying to inline these functions as much as possible, so that I can
> obtain a big single function.
> There is opt -inline, but it is not sufficient.
mark your functions with the alwaysinline attribute.
Ciao, Duncan.
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 Nov 25
2
[LLVMdev] request for windows unicode support
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 clang::FileManager::getFile.
With version 3 opening a file is easy: std::fstream file(path.c_str()).
Internally
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
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 Oct 18
3
[LLVMdev] building only libs with cmake
Now I have -DLLVM_INCLUDE_EXAMPLES:BOOL=OFF
but Kaleidoscope is still there and selected for build
(-G "Visual Studio 9 2008")
-Jochen
2011 Feb 18
2
[LLVMdev] Please add .o writer example to next release
Hi!
Is it possible that you add an example how to write a .o with llvm?
Just like examples/ModuleMaker but instead of printing to stdout
writing a .o file as starting point for the new MC functionality.
-Jochen
2010 Jun 24
3
[LLVMdev] DataTypes.h for Visual C
Hi!
In DataTypes.h (generated from DataTypes.cmake) there is an extra
code path for Visual C.
This can produce macro redefinitions for INT8_MAX, INT8_MIN etc.
since other headers may also define them. Therefore please
protect the macros like INT8_C etc.
Also it would be nice if the auto-generated HAVE_STDINT_H
and HAVE_INTTYPES_H would be used also for Visual C since it
is possible to add them
2010 Mar 03
0
[LLVMdev] folding x * 0 = 0
On 3 March 2010 11:56, Jochen Wilhelmy <j.wilhelmy at arcor.de> wrote:
>
> the sin and cos calls are folded, but not the mul by zero.
>
Is x*0 => 0 true if isnan(x)?
And cos(x)*sin(x) makes me desperately want to fold it to sin(2*x)/2,
but I suppose that's not allowed either.
2011 Dec 28
3
[LLVMdev] InstCombine "pessimizes" trunc i8 to i1?
>> Hi!
>>
>> before InstCombine (llvm::createInstructionCombiningPass()) I have
>> a trunc from i8 to i1 and then a select:
>>
>> %45 = load i8* @myGlobal, align 1
>> %tobool = trunc i8 %45 to i1
>> %cond = select i1 %tobool, float 1.000000e+00, float -1.000000e+00
>>
>> after instCombine I have:
>>
>> %29 = load i8*
2011 Dec 30
3
[LLVMdev] InstCombine "pessimizes" trunc i8 to i1?
Am 29.12.2011 19:52, schrieb Reid Kleckner:
> I think Chris is saying that the and is necessary because with your i1
> trunc you're ignoring all of the high bits. The and implements that.
> If you don't want this behavior, don't generate the trunc in the
> first place and just compare the full width to zero.
But if a backend sees trunc from i8 to i1 it should know
2010 Apr 08
2
[LLVMdev] Using LLVM with clang for a homebrew kernel
Hi!
In the llvm-doc is the following:
Also, since many platforms define their ABIs in terms of C, and since
LLVM is lower-level than C, front-ends currently must emit
platform-specific IR in order to have the result conform to the platform
ABI.
Can you give an example for this except system calls (which e.g. on
windows use
a different calling convention)?
If you write your own operating
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 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 Feb 24
1
[LLVMdev] getting C backend
Hi!
is there a way to get the c backend using
llvm::TargetRegistry::lookupTarget()?
e.g. llvm::TargetRegistry::lookupTarget("c", error)?
- Jochen
2010 May 14
2
[LLVMdev] vector optimization
Hi!
Is there a pass that optimizes vector operations?
If I have for examle a sequence of shufflevector instructions
that optimizes them?
(in opencl notation e.g. a.xyzw.wzyx.xxxx -> a.wwww)
-Jochen