Displaying 20 results from an estimated 500 matches similar to: "Kaleidoscope tutorial: comments, corrections and Windows support"
2010 Nov 15
2
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
In http://llvm.org/docs/tutorial/LangImpl4.html#jit there's an example that optimizes calls to functions without side effects. Specifically,
ready> extern sin(x);
ready> extern cos(x);
ready> def foo(x) sin(x)*sin(x) + cos(x)*cos(x);
Read function definition:
define double @foo(double %x) {
entry:
%calltmp = call double @sin(double %x)
%multmp = fmul double %calltmp,
2010 Nov 15
0
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
Hi Rob,
You need to set attribute ReadOnly on the sin / cos functions, using Function::addFnAttr(Attribute) for example.
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 11:41 AM
To: llvmdev at cs.uiuc.edu
Subject: [LLVMdev] Optimization of calls
2010 Nov 12
4
[LLVMdev] C Backend's future
Chris Lattner <clattner at apple.com> writes:
> On Nov 5, 2010, at 7:11 AM, Kirk Kelsey wrote:
>
>> I'm wondering what the longer term plans are for the C Backend. I
>> understand it's not actively developed, even deprecated. What I'm not
>> clear about is whether it's something that is viewed as non-vital and
>> should just as well go away, or
2010 Nov 15
2
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
> You need to set attribute ReadOnly on the sin / cos functions, using
> Function::addFnAttr(Attribute) for example.
Hmm ... I tried setting that right after Function::Create but I still get the same result (though flagged with "readonly")
declare double @sin(double) readonly
declare double @cos(double) readonly
define double @foo(double %x) readonly {
entry:
%calltmp = call
2008 Sep 25
3
[LLVMdev] Kaleidoscope doesn't work properly
Hi
I hope this is a proper place to put my question.
I've compiled Kaleidoscope from "Adding JIT and Optimizer Support" tutorial.
Basically it works just fine but when I try to run extern'ed putchard
function it aborts.
Please, tell me what am I doing wrong?
Here is more information:
My PC runs FreeBSD.
I've copied the toy source code exactly and didn't change it.
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
2010 Feb 17
2
[LLVMdev] Kaleidoscope toy4 failure seg fault on llvm::ExecutionEngine::getTargetData (this=0x0)
I am new to llvm so I might be missing a critical step. My system is
Fedora 12 but this also happens in Mac OS X 10.6.2. Here are the
steps I used to compile llvm:
export TARGETS=x86,x86_64,cpp
export INSTALLDIR=/home/rovitotv/llvm
../llvm-2.6/configure --prefix=$INSTALLDIR --enable-bindings=none
--enable-targets=$TARGETS --enable-optimized
--with-llvmgccdir=$INSTALLDIR
2019 Jan 24
2
LLVM Kaleidoscope : Compiling to Object Code - Segmentation Fault
Hi all :)
I'm new to llvm!
I'm going through the kaleidoscope : compiling llvm IR to object code
tutorial, code in the listings breaks and causes a segmentation fault.
After some investigation through gdb, probably this constructor call,
causing the segfault.
|Program received signal SIGSEGV, Segmentation fault.||
||0x00000000004afee0 in
2008 Mar 31
5
[LLVMdev] Additional Optimization I'm Missing?
Hello, I'm working on using the LLVM JIT for a little project of mine,
amazing work first off! I have a question about optimization passes. I
initially have this function I've created, in python it looks like this:
OS_end = 50OS_start = 0OS_timestep = 1birth_rate = .3population =
30.0for time in range(OS_start, OS_end, OS_timestep):
births = birth_rate * population
deaths = 0.1
2010 Nov 15
0
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
Hi Rob,
> Hmm ... I tried setting that right after Function::Create but I still get the same result (though flagged with "readonly")
did you run the gvn pass (preceded by basic-aa)?
Ciao,
Duncan.
2019 Jan 24
2
LLVM Kaleidoscope : Compiling to Object Code - Segmentation Fault
Hi David!
Thanks for reaching out, the codegen part of the tutorial is fine, but
when I try to generate the object code file, it throws segfault. Also
please note that I'm using release build of llvm, actually I don't know
whether that is the root cause or not.
I also run through valgrind, it seems like a invalid read from stack.
|||Error Summary:
|
|1 errors in context 1 of 1:
2010 Feb 17
0
[LLVMdev] Kaleidoscope toy4 failure seg fault on llvm::ExecutionEngine::getTargetData (this=0x0)
First, you have to call llvm-g++ to use the llvm-gcc front end, but it
doesn't matter here.
I'd like to suggest that you use pastebin to put your code and the send us
the link, so that we can download it. The problem is that TheExecutionEngine
is set to NULL (maybe because of a previous error), but it will be really
better if you use pastebin.
On Wed, Feb 17, 2010 at 6:01 AM, Todd Rovito
2014 May 04
3
[LLVMdev] function pointer from name?
Don't you have the same problem with other atoms, e.g. variable names?
This sounds like something that should be implemented in the language's
runtime library.
On May 4, 2014 7:15 PM, "Alexander Popolitov" <popolit at gmail.com> wrote:
> Hi everyone!
>
> I'm trying to implement lisp's funcall function, which roughly calls a
> function, name of which
2019 Jan 07
2
Kaleidoscope tutorial: extern functions failing
Hi all,
I am new to LLVM and have been working through the Kaleidoscope tutorial.
Everything is working fine so far except for local externs (as opposed to
things like the math functions, which are working). Note that I have seen
this bug with the reference code listing, as well as my own code. link to
code: https://llvm.org/docs/tutorial/LangImpl05.html#full-code-listing
[c34n10 kaleidoscope]
2008 Sep 01
3
[LLVMdev] Unresolveable fallthrough functions
Hello,
> ready> ERROR: Program used external function 'putchard' which could not be
> resolved!
> Any idea of what could be wrong?
Please make sure you're using C linkage for such functions, due to mangling the name of
function being emitted is not "putchard". Something like this:
extern "C" void putchard(char c) {
...
}
Or, just provide a mapping
2010 Aug 12
2
[LLVMdev] Instruction does not dominate all uses?
This has been driving me crazy. In order to JIT stuff in a simple REPL I'm
trying to wrap them in anonymous functions and then evaluate them (as per
recommendation of the Kaleidoscope guide).
With simple expressions it works fine. Like if I try and add 4 and 5, I get
this from the bare llvm::Value dump:
double 9.000000e+00
and this after it's wrapped in a function:
define double @0() {
2008 Sep 01
0
[LLVMdev] Unresolveable fallthrough functions
Anton Korobeynikov wrote:
>
> Hello,
>
>> ready> ERROR: Program used external function 'putchard' which could not
>> be
>> resolved!
>> Any idea of what could be wrong?
> Please make sure you're using C linkage for such functions, due to
> mangling the name of
> function being emitted is not "putchard". Something like this:
>
2010 Aug 12
0
[LLVMdev] Instruction does not dominate all uses?
You need to insert v into the basic block before the return. Note
that %calltmp is absent from the dump of the function. The verifier
is complaining because it found this pointer to %calltmp, but it
didn't find the definition anywhere above its use.
Reid
On Thu, Aug 12, 2010 at 1:04 PM, alecbenzer <alecbenzer at gmail.com> wrote:
>
> This has been driving me crazy. In order to
2014 Aug 22
2
[LLVMdev] possible bug in COFFObjectFile::getSymbolType()
I'm working on adding data detection to llvm-objdump, so it prints out raw
data for symbols with type SymbolRef::ST_Data instead of disassembling them.
This causes llvm/test/MC/ARM/Windows/mov32t-range.s to fail, because the
symbol "truncation" comes back as SymbolRef::ST_Data, and the code gets
dumped as bytes instead of disassembled.
I traced the problem back to
2015 Jul 15
2
[LLVMdev] SymbolRef and getSize
Hi everyone,
I’m currently playing with the clang driver and I encounter a strange bug.
It occurs when I used the getSize function from the SymbolRef class.
On iOS, the number returned is not always correct (some function have the right size).
Sadly,
This is my code (at the end of the main function into driver.cpp) :
####
ErrorOr<OwningBinary<Binary>> BinaryOrErr =