similar to: [LLVMdev] Simple example of creating debug info?

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