search for: kruijf

Displaying 20 results from an estimated 38 matches for "kruijf".

2010 Feb 26
0
[LLVMdev] BlockAddress is a "User"
My apologies. This problem was indeed with my changes to the backend. Next time I will more carefully examine the source of the problem. :) On Fri, Feb 26, 2010 at 12:40 PM, Marc de Kruijf <dekruijf at wisc.edu> wrote: > I've been playing around with the new IndirectBr and BlockAddress types. > I'm finding that in CodeGen, during "EliminateMostlyEmptyBlocks", > BlockAddresses are not updated to point to the newly merged block if the > original blo...
2010 Feb 26
2
[LLVMdev] BlockAddress is a "User"
I've been playing around with the new IndirectBr and BlockAddress types. I'm finding that in CodeGen, during "EliminateMostlyEmptyBlocks", BlockAddresses are not updated to point to the newly merged block if the original block was eliminated. This is causing me problems. Mind you, I'm experimenting with this using the Sparc backend, which could be the source of blame, but
2010 Jul 18
2
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
...= false means we're looking at a store, what this does > is making the store *p depend on the load *p. This is correct -- you > can't move store before load, otherwise load will start returning a > different value. > > Eugene > > On Fri, Jul 16, 2010 at 5:43 PM, Marc de Kruijf <dekruijf at cs.wisc.edu> > wrote: > > Hello, > > > > I'm taking a really good look at the MemoryDependenceAnalysis pass, but > I'm > > slightly confused about one little thing. I think it's a bug but I'm not > > confident enough to submit...
2008 Jul 25
2
[LLVMdev] Analysis Passes
...now I am using getAnalysis to get the information from the non-analysis (transformation) pass. It works, but now it sounds like that's not correct usage.... Marc On Fri, Jul 25, 2008 at 2:01 PM, Devang Patel <dpatel at apple.com> wrote: > > On Jul 25, 2008, at 10:56 AM, Marc de Kruijf wrote: > > > Could somebody please explain exactly what an "analysis pass" is? > > I've spent some time trying to understand this and I just don't get > > it. Right now my understanding is the following: if a pass is an > > "analysis" pass, t...
2010 Jul 18
0
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
...it return Clobber for MayAlias and Def for MustAlias? With the current logic DSE has to check that SI->getPointerOperand() == DepLoad->getPointerOperand(), though this is not strictly necessary -- they can be different values but be MustAlias. Eugene On Sun, Jul 18, 2010 at 2:50 AM, Marc de Kruijf <dekruijf at cs.wisc.edu> wrote: > Yes, I'm not arguing that there is a dependence, just that it's not a > clobber dependence.  The case of a load is already considered earlier in > that function and with isLoad == false it returns MemDepResult::getDef(). >  My question is...
2008 Jul 25
0
[LLVMdev] Analysis Passes
On Jul 25, 2008, at 12:58 PM, Marc de Kruijf wrote: > I'd like to write a pass that does both: implements a code > transformation and saves information that can be accessed by > subsequent passes. Ideally, we want to use two separate pass. However, it is quiet possible that your requirement is unique. Would it be possible...
2008 Jul 02
3
[LLVMdev] Plans considering first class structs and multiple return values
...d while I'm here, I want to emphasize that this feature does not completely solve the problem of C-oriented ABI-compliant passing/returning of structs. That's a complicated problem, and unfortunately it is beyond the immediate scope of this feature. Dan On Jul 2, 2008, at 3:00 PM, Marc de Kruijf wrote: > Hi, I'm really interested in this effort. What is its status? Is any > of it in svn yet? (I only see the insert/extract value instructions > so far... nothing w.r.t. creating a first-class struct/array). Can I > do anything to help? > > Marc
2008 May 02
4
[LLVMdev] Pointer sizes, GetElementPtr, and offset sizes
The LLVA and LLVM papers motivate the GetElementPtr instruction by arguing that it abstracts implementation details, in particular pointer size, from the compiler. While it does this fine for pointer addresses, it does not manage it for address offsets. Consider the following code: $ cat test.c int main() { int *x[2]; int **y = &x[1]; return (y - x); } $ llvm-gcc -O3 -c test.c
2008 Jul 25
3
[LLVMdev] Analysis Passes
Devang Patel wrote: > On Jul 25, 2008, at 12:58 PM, Marc de Kruijf wrote: > > I'd like to write a pass that does both: implements a code transformation and saves information that can be accessed by subsequent passes. > > Ideally, we want to use two separate pass. However, it is quiet possible that your requirement is unique. Would it be possible to...
2008 Dec 23
3
[LLVMdev] Register Dependencies and Register Allocation
I'm writing a back-end for an architecture that supports multi-word loads. As a concrete example, "ldqw r0, [addr]" would load a quadword (4 words) into 4 registers starting with r0 (implicit writes to r1, r2, and r3). First, is there any currently supported architecture that has anything like this? I suspect not. If not, I hope someone might help me figure out how to make this
2009 Feb 12
0
[LLVMdev] Unnatural loops with O0
On Feb 11, 2009, at 1:13 PM, Marc de Kruijf wrote: > I am reviving this thread because I am seeing the same thing > (unnatural loops produced by llvm-gcc), but it is not limited to -O0 > -- I am seeing it for -O2 and -O3 as well. > Some of my research work is relying on LoopInfo to provide loop > information for all loo...
2010 Apr 27
3
[LLVMdev] Status of Strong PHI Elimination?
Hello, I am implementing a code transformation that would heavily benefit from the CodeGen/StrongPHIElimination pass, but on the two bytecode files I've tested it on so far llc segfaults on both. I see there have been no substantive changes to this code since the middle of last year. Could someone please tell me what the status of this pass is? Thank you. Marc -------------- next part
2008 May 02
0
[LLVMdev] Pointer sizes, GetElementPtr, and offset sizes
On Fri, May 2, 2008 at 1:22 PM, Marc de Kruijf <dekruijf at cs.wisc.edu> wrote: > The LLVA and LLVM papers motivate the GetElementPtr instruction by arguing > that it abstracts implementation details, in particular pointer size, from > the compiler. While it does this fine for pointer addresses, it does not > manage it for ad...
2008 Dec 23
0
[LLVMdev] Register Dependencies and Register Allocation
On Dec 23, 2008, at 11:03 AMPST, Marc de Kruijf wrote: > > I'm writing a back-end for an architecture that supports multi-word > loads. As a concrete example, "ldqw r0, [addr]" would load a > quadword (4 words) into 4 registers starting with r0 (implicit > writes to r1, r2, and r3). ARM has this. It current...
2008 Jul 03
0
[LLVMdev] Plans considering first class structs and multiple return values
...mphasize that this feature does > not completely solve the problem of C-oriented ABI-compliant > passing/returning of structs. That's a complicated problem, and > unfortunately it is beyond the immediate scope of this feature. > > Dan > > On Jul 2, 2008, at 3:00 PM, Marc de Kruijf wrote: > >> Hi, I'm really interested in this effort. What is its status? Is any >> of it in svn yet? (I only see the insert/extract value instructions >> so far... nothing w.r.t. creating a first-class struct/array). Can I >> do anything to help? >> >&gt...
2008 Jul 31
2
[LLVMdev] Unwinds Gone Wild
On Thu, Jul 31, 2008 at 2:19 AM, Duncan Sands <baldrick at free.fr> wrote: > Hi, > > > Can anyone tell me if invoke/unwind is stable in 2.3? I'm seeing some > > really weird stuff -- unwinds are ending up in seemingly arbitrary > places... > > definitely not inside the caller's unwind block My target is x86. > > codegen doesn't know how to
2010 Jul 17
0
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
Since isLoad == false means we're looking at a store, what this does is making the store *p depend on the load *p. This is correct -- you can't move store before load, otherwise load will start returning a different value. Eugene On Fri, Jul 16, 2010 at 5:43 PM, Marc de Kruijf <dekruijf at cs.wisc.edu> wrote: > Hello, > > I'm taking a really good look at the MemoryDependenceAnalysis pass, but I'm > slightly confused about one little thing.  I think it's a bug but I'm not > confident enough to submit a bug report. > > Is there a...
2008 Jul 25
0
[LLVMdev] Analysis Passes
On Jul 25, 2008, at 10:56 AM, Marc de Kruijf wrote: > Could somebody please explain exactly what an "analysis pass" is? > I've spent some time trying to understand this and I just don't get > it. Right now my understanding is the following: if a pass is an > "analysis" pass, the "print&qu...
2009 Feb 11
2
[LLVMdev] Unnatural loops with O0
I am reviving this thread because I am seeing the same thing (unnatural loops produced by llvm-gcc), but it is not limited to -O0 -- I am seeing it for -O2 and -O3 as well. Some of my research work is relying on LoopInfo to provide loop information for all loops, but it is missing these loops. Is there any work in the pipeline that aims to fix this? Many thanks, Marc On Sat, Jun 21, 2008 at
2011 Mar 24
2
[LLVMdev] GCC vs. LLVM difference on simple code example
Hi, I have a question on why gcc and llvm-gcc compile the following simple code snippet differently: extern int a; extern int *b; void foo() { int i; for (i = 1; i < 100; ++i) a += b[i]; } gcc compiles this function hoisting the load of the global variable "b" outside of the loop, while llvm-gcc keeps it inside the loop. This results in slower code on the part of