Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] DataTypes.h for Visual C"
2010 Jul 01
0
[LLVMdev] DataTypes.h for Visual C
Jochen Wilhelmy <j.wilhelmy at arcor.de> writes:
> what about
> #if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS)
> in front of the constant macros for visual c to emulate
> the behaviour of stdint.h more precisely?
What is this good for?
The purpose of DataTypes.h is to provide the pieces LLVM needs and the
platform lacks. Reimplementing some missing header file is
2010 Jul 01
2
[LLVMdev] Qualitative comparisons between Open64 and llvm
Hi,
I have been working towards developing compiler optimization tools
targeting multi core processors while using LLVM IR as the starting
point and building on top of the analysis and optimization passes
available in the llvm source.
Recently, I looked into Open64 and its intermediate representation
WHIRL. Documentation for developers to use Open64 seems to be inadequate
(when compared to LLVM
2010 Jul 03
1
[LLVMdev] DataTypes.h for Visual C
Testing for __STDC_CONSTANT_MACROS
has the advantage that you are forced to define __STDC_CONSTANT_MACROS
on win32. If you then switch to another platform the project still compiles.
-Jochen
2010 Jul 02
0
[LLVMdev] Qualitative comparisons between Open64 and llvm
Hi, Arvind Sudarsanam:
I know some of Open64. Above all, Open64 is designed for a high
performance compiler. It is now supported by AMD, HP, ICT Chinese
Academy of Science, etc. and has been ported to X86, Itanium, Loongson
CPU etc.
And to your questions
1, Open64 already have some main optimization phases, Inline for
aggressive inline opt. LNO for loop opt, WOPT for machine independent
opt(
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 Jun 25
0
[LLVMdev] DataTypes.h for Visual C
>>> What's that extra code path?
>>>
>>>
>> #ifndef _MSC_VER
>> ...
>> #else /* _MSC_VER */
>> /* Visual C++ doesn't provide standard integer headers, but it does provide
>> built-in data types. */
>>
>> ... extra code path ...
>>
>> #endif
>>
> Sorry, that doesn't show an extra
2010 Jun 24
1
[LLVMdev] DataTypes.h for Visual C
[please CC the llvm mailing list]
Jochen Wilhelmy <j.wilhelmy at arcor.de> writes:
>> What's that extra code path?
>>
>
> #ifndef _MSC_VER
> ...
> #else /* _MSC_VER */
> /* Visual C++ doesn't provide standard integer headers, but it does provide
> built-in data types. */
>
> ... extra code path ...
>
> #endif
Sorry, that doesn't
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 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
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 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 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 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 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 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 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 Feb 18
0
[LLVMdev] Please add .o writer example to next release
Jochen Wilhelmy <j.wilhelmy at arcor.de> writes:
> Is it possible that you add an example how to write a .o with llvm?
+1