Displaying 20 results from an estimated 100 matches similar to: "[LLVMdev] uses of unwind lead to crashes"
2009 Apr 15
0
[LLVMdev] Accessing instruction/operand names
James Stanier wrote:
> Hello everyone,
>
> I'm currently constructing a graph from LLVM bitcode, and I have a question
> about accessing the names of the variables shown in the .ll assembly file,
> assuming it's possible...
>
> For example, with
>
> %2 = load i32* %x_addr, align 4 ; <i32> [#uses=1]
>
> I can retrieve the opcodeName() from the
2008 Oct 01
0
[LLVMdev] complex branching generation
On Wed, Oct 1, 2008 at 1:19 PM, Villmow, Micah <Micah.Villmow at amd.com> wrote:
> LLVM seems to be generating way too complex of branching based on the
> short-circuit optimization. The code in question is as follows:
>
> define void @ test_fc_while_and(float %x, float %y, float addrspace(11)*
> %result) nounwind {
>
> entry:
>
> %tobool3 = fcmp une float
2009 Apr 15
0
[LLVMdev] Accessing instruction/operand names
The other repliers have been right that you probably want to use
Value*s rather than string names in constructing your dependency
graph, but I wanted to clear up a second possible point of confusion.
When you see %2 in the assembly, that's an indication that the
instruction's name is empty. That is, value->getName() == "". As far
as I know, llvm-dis just generates numbers in
2009 Apr 15
7
[LLVMdev] Accessing instruction/operand names
Hello everyone,
I'm currently constructing a graph from LLVM bitcode, and I have a question
about accessing the names of the variables shown in the .ll assembly file,
assuming it's possible...
For example, with
%2 = load i32* %x_addr, align 4 ; <i32> [#uses=1]
I can retrieve the opcodeName() from the Instruction object, which is
"load". I can also access the operand
2007 Sep 28
3
[LLVMdev] Crash on accessing deleted MBBs (new backend)
Hi,
I'm trying to write up my little m68k backend things have been going
smoothly. I've been working with the x86 backend as a template, fixing
things as I go.
Now I've run into branches and I have a crash I don't really
understand. Here's the sample IR I'm running llc on to generate
assembly:
define i32 @ilog2(i32 %x) {
entry:
%tmp718 = icmp eq i32 %x, 0
2011 Jan 29
1
[LLVMdev] The type or size of virtual registers in machineinstr
Hi,
I want to know what is the type or size of a virtual register in a
Machineinstr::MachineOperand (If this MachineOperand is a register). For
example, what is the size of reg16385 in the following MachineInstr. I know
now in the llvm bitcode, the type of a Instruction could be obtained from
the Value::GetType(), but what is the counterpart in MachineInstr (not
derived from class Value)?
2008 Oct 11
1
[LLVMdev] Debug Information
On 2008-10-11 00:34, Evan Cheng wrote:
> On Oct 10, 2008, at 1:43 PM, John Criswell wrote:
>
>
>> Dear All,
>>
>> Are there a set of libraries for easily manipulating the LLVM debug
>> information? For example, given an Instruction *, is there an
>> interface
>> that will find the nearest llvm.dbg.stoppoint(), or given an alloca,
>> is
2008 Apr 23
2
[LLVMdev] how to dump DSA graph in gdb?
Hi, all:
Recently I am debugging the DSA and want to learn how it work, and now I
am checking the local datastructure analysis.
I use the following command to print the graph:
(gdb) p g.dump()
digraph DataStructures {
label="Function addG";
Node0xe1f3a0 [shape=record,shape=Mrecord,label="{ i32: MRE\n|{<g0>}}"];
Node0xe1f4d0
2008 Feb 18
0
[LLVMdev] cross compiling with the C backend
Kevin André wrote:
> For my master's thesis, I am trying to cross compile programs for the
> PSP (PlayStation Portable) with LLVM and llvm-gcc.
>
> This is what I do:
>
> (1) compile a program and the libraries it uses (libpng etc.) with llvm-gcc
> (2) link the bitcode files with llvm-ld into one file
> (3) run "llc -march=c" on the result
> (4) compile
2008 Apr 23
0
[LLVMdev] how to dump DSA graph in gdb?
Dear Tianwei,
You can use the -analyze option to the opt tool to tell the DSA passes
to store their results in files. When you use the -analyze option, the
DSA passes will create a separate file for each function (and possible
one file to hold the globals graph). For this reason, I recommend
running opt in a special empty directory because DSA will generate *a
lot* of files.
Second, to
2008 Apr 23
0
[LLVMdev] how to dump DSA graph in gdb?
Tianwei wrote:
> On Wed, Apr 23, 2008 at 11:59 PM, John Criswell <criswell at cs.uiuc.edu<mailto:criswell at cs.uiuc.edu>> wrote:
> Dear Tianwei,
>
> You can use the -analyze option to the opt tool to tell the DSA passes
> to store their results in files. When you use the -analyze option, the
> DSA passes will create a separate file for each function (and possible
2008 Apr 23
2
[LLVMdev] how to dump DSA graph in gdb?
On Wed, Apr 23, 2008 at 11:59 PM, John Criswell <criswell at cs.uiuc.edu>
wrote:
> Dear Tianwei,
>
> You can use the -analyze option to the opt tool to tell the DSA passes
> to store their results in files. When you use the -analyze option, the
> DSA passes will create a separate file for each function (and possible
> one file to hold the globals graph). For this reason,
2009 May 24
3
[LLVMdev] llvm address of
I'm trying to generate the equivalent of this function dynamically in llvm
(a la http://llvm.org/docs/tutorial/JITTutorial1.html) but after half a day
of searching I still haven't found how to create the equivalent of the &
(address of) operator in the llvm API, more exactly how do I obtain the i8*
from the i32 below
void fn(int x)
{
another_fn(&x);
}
thanks for any
2009 Nov 10
1
[LLVMdev] Altivec vs the type legalizer
Hi Dale, I think Bob is right: the type legalizer shouldn't be turning v16i8
into v16i32, what should happen is that the return type of the BUILD_VECTOR
continues to be v16i8, but the type of the operands changes to i32, so you
end up with a BUILD_VECTOR that takes 16 lots of i32, and produces a v16i8.
The target then has all the info it needs to produce the best code, but needs
to be careful
2008 Oct 01
2
[LLVMdev] complex branching generation
LLVM seems to be generating way too complex of branching based on the
short-circuit optimization. The code in question is as follows:
define void @ test_fc_while_and(float %x, float %y, float addrspace(11)*
%result) nounwind {
entry:
%tobool3 = fcmp une float %x, 0.000000e+000 ; <i1>
[#uses=1]
%tobool24 = fcmp une float %y, 0.000000e+000 ;
2008 Oct 22
9
[LLVMdev] Helping the optimizer along (__assume)
Hi,
I'm interested in whether or not there is a way of providing
source-level annotations to help LLVM with optimizations, similar to
VisualC++'s __assume facility
(http://msdn.microsoft.com/en-us/library/1b3fsfxw.aspx).
As part of our PHP compiler (phpcompiler.org), it would be great to be
able to annotate our generated C code with, for example, (var !=
NULL), or (var->type ==
2008 Feb 18
4
[LLVMdev] cross compiling with the C backend
For my master's thesis, I am trying to cross compile programs for the
PSP (PlayStation Portable) with LLVM and llvm-gcc.
This is what I do:
(1) compile a program and the libraries it uses (libpng etc.) with llvm-gcc
(2) link the bitcode files with llvm-ld into one file
(3) run "llc -march=c" on the result
(4) compile the resulting C source with the PSP toolchain
It seems to work
2024 Jul 05
1
Bug? plot.formula does need support plot.first / plot.last param in plot.default
That definitely looks like a bug, but not one that anyone will be eager
to fix. It's very old code that tried to be clever, and that's the
hardest kind of code to fix.
Remember Kernighan's Law: "Everyone knows that debugging is twice as
hard as writing a program in the first place. So if you?re as clever as
you can be when you write it, how will you ever debug it?"
2008 Oct 10
0
[LLVMdev] Debug Information
On Oct 10, 2008, at 1:43 PM, John Criswell wrote:
> Dear All,
>
> Are there a set of libraries for easily manipulating the LLVM debug
> information? For example, given an Instruction *, is there an
> interface
> that will find the nearest llvm.dbg.stoppoint(), or given an alloca,
> is
> there an interface for getting its source level information by tracing
> it to
2008 Oct 10
2
[LLVMdev] Debug Information
Dear All,
Are there a set of libraries for easily manipulating the LLVM debug
information? For example, given an Instruction *, is there an interface
that will find the nearest llvm.dbg.stoppoint(), or given an alloca, is
there an interface for getting its source level information by tracing
it to a llvm.dbg.declare()?
As far as I know, no such utility interfaces exist. While I can role my