Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] StructType field names"
2009 Mar 26
0
[LLVMdev] StructType field names
Anthony Danalis wrote:
> Hello,
>
> I'm trying to construct a string like "a[1][x].y" in an optimization
> pass by digging deeper and deeper into a GetElementPtrInst. I can
> successfully deal with the array/pointer part, but when it comes to
> the structure field name "y", I cannot figure out how to get anything
> but the index into the
2009 Mar 27
2
[LLVMdev] StructType field names
Thanks Luke,
I was afraid that this would be the case. I can see why this
information is useless for most people/optimizations.
However, it is still useful if you are writing an analysis pass that
is supposed to tell the developer things about her code, and you want
the output messages to be human readable.
Regarding the "x" or "z" dilemma, I noticed that when you
2009 Apr 13
5
[LLVMdev] MemoryDependenceAnalysis
Hello,
I have a code similar to the following:
program test
integer i, j, N
real B(10)
call bar(N, 8)
N = N+1
do i = 1, N
B(i) = (i+5)/(i+3)
enddo
j = N/2
N = N+7
call IMPORTANT_F(B, N, i, j)
end program
and I am trying to use dependence
2009 Apr 13
1
[LLVMdev] MemoryDependenceAnalysis
On Apr 13, 2009, at 3:32 PM, Eli Friedman wrote:
> On Mon, Apr 13, 2009 at 9:06 AM, Anthony Danalis <adanalis at eecs.utk.edu
> > wrote:
>> How can I use MemoryDependenceAnalysis (or any other analysis for
>> that
>> matter) to gather that the instructions
>> j = N/2 (store i32 %11, i32* %j, align 4)
>> and
>> N = N+7 (store i32 %12, i32* %n,
2009 Mar 11
3
[LLVMdev] Wiki?
On Mar 11, 2009, at 10:53 AM, Jon Harrop wrote:
> On Wednesday 11 March 2009 14:19:28 Vikram S. Adve wrote:
>> In principle, having a Wiki like this would be valuable. In
>> practice,
>> I think there will need to be some sanity checking to make sure
>> incorrect or misleading information is not added to it.
>
> Yes, I think a Wiki would be extremely valuable.
2009 Apr 13
0
[LLVMdev] MemoryDependenceAnalysis
On Mon, Apr 13, 2009 at 9:06 AM, Anthony Danalis <adanalis at eecs.utk.edu> wrote:
> How can I use MemoryDependenceAnalysis (or any other analysis for that
> matter) to gather that the instructions
> j = N/2 (store i32 %11, i32* %j, align 4)
> and
> N = N+7 (store i32 %12, i32* %n, align 4)
> are the ones that define the parameters "j" and "N"
2009 Mar 11
0
[LLVMdev] Wiki?
I agree. Being a newbie myself, I can relate to what problems someone new to
llvm would have.While I think most of the stuff I have tried will be useful,
I wouldn't be entirely sure if its the best way to go about it.
Thanks
Nipun Arora
Columbia University
On Wed, Mar 11, 2009 at 11:01 AM, Anthony Danalis <adanalis at eecs.utk.edu>wrote:
>
> On Mar 11, 2009, at 10:53 AM, Jon
2009 Mar 30
2
[LLVMdev] GSoC 2009: Extending LLVM IR to aid multi-core code generation
Hi Anthony,
2009/3/30 Anthony Danalis <adanalis at eecs.utk.edu>
> Is the user expected to add the calls to spawn/join or the compiler? If
> it's the compiler adding them, then you don't need to change the front-end
> at all, you can do all that in an optimization pass. If it's the user
> adding them, then adding calls to "__spawn()" that the compiler
2009 Apr 13
2
[LLVMdev] MemoryDependenceAnalysis
I'm attaching the .bc file. Note that my analysis pass is invoked
after "-O1" and that's why the IR I included in the original email is
optimized.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: simple_loops_F2_4list.bc
Type: application/octet-stream
Size: 6384 bytes
Desc: not available
URL:
2009 Mar 11
0
[LLVMdev] Wiki?
I agree too. I'm working on an analysis pass and I could be adding
info to a wiki as I discover how to do things.
Anthony
On Mar 11, 2009, at 4:22 AM, someguy wrote:
> Hi all,
>
> I'm pretty new to LLVM and am slowly learning the code-base and
> architecture, mostly as a result of my efforts to implement a target
> backend.
>
> There are a number of resources
2009 Mar 29
1
[LLVMdev] GSoC'09 question - previous mail w/o html
On Mar 28, 2009, at 1:34 AM, Mihai Balint wrote:
> On Mar 28, 2009, at 4:39 AM, Anthony Danalis wrote:
>> On Mar 27, 2009, at 9:15 PM, Dan Gohman wrote:
>>>
>>> On Mar 26, 2009, at 8:28 AM, Mihai Balint wrote:
>>>> This summer however, I plan to create an "optimization" that
>>>> automatically fixes memory leaks in programs - obviously
2009 Mar 12
1
[LLVMdev] opt -O2/-O3 does not Initialize pass?
I was using 2.4, but I built 2.5 and it behaves the same. I will test
the SVN head too.
On Mar 11, 2009, at 10:41 PM, Nick Lewycky wrote:
> Anthony Danalis wrote:
>> Hello,
>>
>> I'm writing a pass that adds a function prototype to the module
>> during
>> doInitialization() and stores the pointer in a global variable. If I
>> run opt with
2009 Mar 11
3
[LLVMdev] opt -O2/-O3 does not Initialize pass?
Hello,
I'm writing a pass that adds a function prototype to the module during
doInitialization() and stores the pointer in a global variable. If I
run opt with "-O1" or less, everything works fine. However, If I call
opt with "-O2" or "-O3" then as soon as runOnFunction() is called, the
pointer seems to be NULL. Here is a code that shows the problem:
2009 Mar 25
2
[LLVMdev] pragmas
Pre-empting Chris's inevitable response: don't add intrinsics!
I really like the 'disappearing function calls' idea. Chris suggested
practically the same thing for a previous question about adding BigInt
support.
Anthony, whichever route you take in the end, please consider
documenting your 'code adventure' on the wiki so others can learn from
your experience.
Justing
2009 Apr 25
0
[LLVMdev] MemoryDependenceAnalysis
On Apr 13, 2009, at 12:01 PM, Anthony Danalis wrote:
> I'm attaching the .bc file. Note that my analysis pass is invoked
> after "-O1" and that's why the IR I included in the original email
> is optimized.
Hi Anthony,
Sorry for the delay, things have been crazy lately.
The MemDep API assumes that you will call getDependency() first, and
then only call
2009 Mar 25
0
[LLVMdev] pragmas
Thanks for the quick responses. "disappearing function calls" is by
far the preferred way for me, as I want my pass to work with standard
LLVM and not a hacked version that supports extra pragmas, or
intrinsics. I am just new to LLVM and wanted to make sure that there
isn't already a mechanism for passing meta-data between the user and
the optimizer.
I am planning to
2009 Mar 30
0
[LLVMdev] GSoC 2009: Extending LLVM IR to aid multi-core code generation
I think your idea is very interesting. However, some of the issues
that concern you might not be as bad as you think.
On Mar 30, 2009, at 9:19 AM, Milos Puzovic wrote:
> 2009/3/30 someguy <just.s0m3.guy+llvmdev at gmail.com>
> Can you not achieve the same effect without adding intrinsics?
> Insert function calls to a __spawn and __join pseudo-function instead?
> It would
2005 Mar 16
1
[LLVMdev] Dynamic Creation of a simple program
Hi,
Given these C instructions:
==============================
struct stru { struct stru *Next; };
struct list *NewStru = malloc ( sizeof ( struct stru ) );
struct list *tmp.3;
...
tmp.3 = NewStru->Next;
==============================
LLVM generates something like this:
%tmp.0 = malloc %struct.stru ; <%struct.stru*>
%tmp.3 = getelementptr %struct.stru* %tmp.0, int 0, uint 1 ;
2009 Mar 25
3
[LLVMdev] pragmas
Hello
Is there a "generic" pragma that is supported by LLVM and is visible
by optimization passes? or any other way for a programmer to pass
meta-data information to the compiler?
I am writing an analysis pass that could benefit from user provided
information. At this stage, I could like to keep the kind of
information that the user can provide as general as possible.
2009 Apr 13
0
[LLVMdev] MemoryDependenceAnalysis
On Apr 13, 2009, at 9:06 AM, Anthony Danalis wrote:
> Hello,
>
> I have a code similar to the following:
Hi Anthony,
Can you please attach the .bc file for this?
-Chris
>
>
> program test
> integer i, j, N
> real B(10)
>
> call bar(N, 8)
> N = N+1
> do i = 1, N
> B(i) =