Displaying 20 results from an estimated 4000 matches similar to: "[LLVMdev] Simple example of creating debug info?"
2014 Aug 08
6
[LLVMdev] Signed NaNs in APFloat arithmetic
Is there any intention of making floating absolute and negate primitive IR
instructions?
I ask because only a few days ago I was also faced with the task of
implementing negate in my compiler, and finding no suitable IR instruction,
simply subtracted from zero. But this is wrong.
I could change my code to do the bit casting and fiddling, but I wonder:
would that be lowered appropriately on all
2015 Feb 22
2
[LLVMdev] Eliminating redundant loads
On 22 February 2015 at 20:58, David Jones <djones at xtreme-eda.com> wrote:
> Not sure if this is your problem, but it was mine:
>
> You must create (or obtain) a DataLayout *and install it into the Module*.
>
> It is possible to generate machine code for IR and not install the
> DataLayout into the Module. Rather, the DataLayout is used locally at the
> point where code
2016 Jan 14
4
Building SVN head with CMake - shared libraries?
Thanks - I'll try this tonight.
Assuming it works, should these variables be added to the docs at
http://llvm.org/docs/CMake.html ?
On Wed, Jan 13, 2016 at 10:26 PM, Andrew Wilkins <axwalk at gmail.com> wrote:
>
>
> On Thu, 14 Jan 2016 at 11:02 David Jones via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Now that autoconf is going away soon, I
2015 Jul 04
2
[LLVMdev] LLVM parsers for popular languages? - Python, Rust, Go
Yep we have our own parser <https://github.com/vinzenz/libpypa/> and we
would love to see other people use it. When we looked around at some other
Python parsers we didn't feel like any of them were easy to extract and use
on their own, so we wrote our own and I think were able to keep ours
well-separated. There are some things that make parsing Python somewhat
difficult to do in a
2015 Mar 17
2
[LLVMdev] Target-specific defaults for LLVM tools?
What is the preferred method for compiler (frontend) developers to optimize
and generate target machine code from IR?
At one point I found a tutorial that recommended simply dumping the IR to a
file and spawning llc to do the job.
Up until now I have "manually" created a TargetMachine, PassManager, etc.
to generate my object code. The initial version of my code was cribbed from
llc for
2015 Feb 23
3
[LLVMdev] Eliminating redundant loads
On 23 February 2015 at 01:29, Kamal Sharma <kgs1.rice at gmail.com> wrote:
> Hi Dibyendu,
>
> It would be very helpful if you could post the original source code or
> snippet.
> That way, one can investigate deeper to understand the problem.
>
> Regards,
> Kamal Sharma
>
Hi Kamal,
Sure. I guess I ought to create a test that one can look in isolation.
I am
2015 Dec 11
2
Optimization of successive constant stores
Hmm... found an interesting issue:
Given:
%2 = getelementptr inbounds %UodStructType* %0, i32 0, i32 0
store i8 1, i8* %2, align 8
%3 = getelementptr inbounds %UodStructType* %0, i32 0, i32 1
store i8 2, i8* %3, align 1
%4 = getelementptr inbounds %UodStructType* %0, i32 0, i32 2
store i8 3, i8* %4, align 2
%5 = getelementptr inbounds %UodStructType* %0, i32 0, i32 3
2016 Mar 23
0
Building a program with LLVM on Unix
Given that the LLVM API changes constantly, any reasonable C++ program may
very well compile properly against only one specific version/release of
LLVM. The probability that you can properly build against whatever some
user has installed on some arbitrary system approaches zero.
If you accept this, then you likely work around it by configuring and
installing an appropriate version of LLVM and its
2015 Feb 22
2
[LLVMdev] Eliminating redundant loads
Hi,
I am generating following code:
%base = getelementptr inbounds %ravi.CallInfo* %6, i32 0, i32 4, i32 0
%7 = load %ravi.TValue** %base
%8 = bitcast %ravi.TValue* %7 to i8*
%9 = bitcast %ravi.TValue* %5 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %9, i32 16, i32 8, i1 false)
%10 = load %ravi.CallInfo** %L_ci
%base1 = getelementptr inbounds %ravi.CallInfo* %10, i32 0,
2016 Mar 09
2
Where is the time going? - update
Further to my previous email, I now have some answers. The culprit is the
IR verifier.
1. opt -time-passes does not report time spent in the IR verifier.
If I add -disable-verify, opt's run time drops from 71 seconds to 37
seconds.
2. -disable-verify doesn't disable all verification runs.
The IR verifier is run 3 times: once prior to any optimization work, once
between running the
2017 Apr 24
3
Disable optimization on basic block level
How do you disable optimization for a function?
I ask because my application often compiles machine-generated code that
results in pathological structures that take a long time to optimize, for
little benefit. As an example, if a basic block has over a million
instructions in it, then DSE can take a while, as it is O(n^2) in the
number of instructions in the block. In my application (at least),
2014 Aug 04
3
[LLVMdev] LLVM AllocaInst and StoreInst
Hi,
I am trying to write a simple interpreter.
I am trying to generate LLVM IR for assignment operation. The code for the
generation part looks like this
llvm::Value* codeGenSymTab(llvm::LLVMContext& context) {
> printf("\n CodeGen SymTab \n");
> Value *num = ConstantInt::get(Type::getInt64Ty(context), aTable.value,
> true);
> Value *alloc = new
2015 Nov 10
2
Generating Big Num addition code which uses ADC (add with carry) instructions
I'm trying to work out LLVM code which generates something similar to the
following when adding large multiword numbers stored as separate words:
ADD x1 x1
ADC x2 y2
ADC x3 y3
etc, where such a three argument add like ADC on x86 (which includes a
carry in the addition) is available as a machine op.
The background to this is that I'm trying to implement fast multiword
addition in
2016 Nov 18
2
DWARF gotchas moving from 3.7.1 to 3.9.0
Are you perhaps not calling
void Function::setSubprogram (DISubprogram * SP)
http://llvm.org/doxygen/classllvm_1_1Function.html#a05a19abc8ee11d5909275d980efa1670
?
-- adrian
> On Nov 18, 2016, at 8:46 AM, David Blaikie <dblaikie at gmail.com> wrote:
>
> (+Adrian who might have some more context here)
>
> Generally I'd suggest looking at Clang's code to see how
2015 Jul 04
4
[LLVMdev] LLVM parsers for popular languages? - Python, Rust, Go
Thanks, happy to of confirmed.
With that in mind, will use the AST modules provided by the languages (with
the exception of libclang for C++).
Antoine: Am aware of Numba, nice job there BTW. So is there a [decoupled]
LLVM parser which I can use to read Python files and analyse objects
(including computing their attributes in OO and setattr scenarios)?
On Wed, Jul 1, 2015 at 10:23 PM, Antoine
2016 Mar 23
5
Building a program with LLVM on Unix
Building LLVM itself involves Cmake, but what's the best way to build a C++
program that needs to link with the LLVM libraries?
If you're trying to optimise for making life as easy as possible for users
and people creating binary packages, in the normal course of events,
autotools is recommended. But the tutorial mentions running llvm-config to
get things like library paths - does
2016 Feb 10
3
Question about an error we're now starting to get on LLVM 3.8.0rc2since
On Wed, Feb 10, 2016 at 10:50 AM, Mehdi Amini via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>>> Is this change indeed intended as a visible API change to source code generating references to argument list values? If so, can you point me to a description of how I should change our code? Should I bug someone else about this problem? Should this API change be documented in
2016 Sep 06
10
Recommended computer resources to build llvm
I've got a i7 with 12 logical cores and 16GB of RAM I successfully
built RELEASE_390/final but for the last 100 or so files I'd to use
"ninja -j2" so as not to keep from swapping in the best case and and
in the worst case the build kills itself without completing because
apparently its run out of memory.
For the first 3200 files or so it was doing just fine with
2015 Apr 05
2
[LLVMdev] alloca not in first bb behaving differently
It's not great IR, but it doesn't look like it should actually crash, just (without SROA) produce comparatively bad code. The alloca is only referenced in the basic block that it exists. If this isn't expected to work, then we should probably improve the documentation of alloca in the language reference.
David
> On 5 Apr 2015, at 04:55, Eric Christopher <echristo at
2002 Jan 18
1
R configuration errors
Hi,
I'm in the process of trying to configure R on a Solaris 2.6 box. I've been
successful in the past configuring R on a Solaris 2.8 box but I've
encountered the following errors while trying to configure R on my 2.6 box.
Any assistance would be appreciated.
ld: fatal: Symbol referencing errors. No output written to R.bin
*** Error code 1
make: Fatal error: Command failed for target