similar to: [LLVMdev] Alloca Requirements

Displaying 20 results from an estimated 30000 matches similar to: "[LLVMdev] Alloca Requirements"

2009 Oct 13
0
[LLVMdev] Alloca Requirements
On Mon, Oct 12, 2009 at 1:07 PM, David Greene <dag at cray.com> wrote: > Are there any implicit assumptions about where alloca instructions > can appear. Static allocas should appear as a continuous chunk in the entry block, otherwise other passes might make bad assumptions. > The interesting thing about this testcase is that the extra instcombine makes > the test pass.  If I
2009 Oct 13
2
[LLVMdev] Alloca Requirements
Hi, > On Mon, Oct 12, 2009 at 1:07 PM, David Greene <dag at cray.com> wrote: >> Are there any implicit assumptions about where alloca instructions >> can appear. > > Static allocas should appear as a continuous chunk in the entry block, > otherwise other passes might make bad assumptions. an alloca can appear anywhere, but when they are outside the entry block then
2010 Jul 12
0
[LLVMdev] Promoting malloc to alloca
We don't have any such optimization. Firstly, the pointer has to not make it into any function call at all, since any function might in turn call free(). Then we need to do escape analysis as you pointed out, but that's not difficult. We do similar analysis to determine pointer capture already. Matt Giuca wrote: > I have a compiler which generates a lot of malloc instructions for
2010 Jul 13
3
[LLVMdev] Promoting malloc to alloca
OK thanks for the replies. Yes, I was planning to use a garbage collector. This is for a functional language, so there's no real way to determine when memory needs to be freed without one. > Firstly, the pointer has to not make it into any function call at all, since any function might in turn call free(). Then we need to do escape analysis as you pointed out, but that's not
2009 Oct 13
0
[LLVMdev] Alloca Requirements
And you really want your allocas in the entry block so they are implemented by just stack pointer manipulation rather than calling alloca(). The latter is slower, and there's also a bug that makes calling alloca() not getting the alignment right (if it's > 8). On Tue, Oct 13, 2009 at 9:44 AM, Duncan Sands <baldrick at free.fr> wrote: > Hi, > >> On Mon, Oct 12, 2009
2010 Jul 12
3
[LLVMdev] Promoting malloc to alloca
I have a compiler which generates a lot of malloc instructions for basically all data. I was rather hoping that these mallocs would be converted to allocas if the pointers didn't escape. This would require an escape analysis, and I'm not sure if LLVM has such a thing. For instance, consider this code (typical of the output of my compiler): define i32 @dontescape(i32 %x) { entry:   %t =
2016 Dec 09
2
RFC: Adding argument allocas
On Fri, Dec 9, 2016 at 10:30 AM, Friedman, Eli <efriedma at codeaurora.org> wrote: > Mmm... maybe. The part I really don't like is the implied store: there > are a lot of transformations which specifically reason about store > instructions, and they would all need to be fixed to specifically deal with > "alloca with an argument" so it doesn't block
2009 Oct 13
1
[LLVMdev] Alloca Requirements
On Tuesday 13 October 2009 04:02, Lennart Augustsson wrote: > And you really want your allocas in the entry block so they are > implemented by just stack pointer manipulation rather than calling > alloca(). The latter is slower, and there's also a bug that makes > calling alloca() not getting the alignment right (if it's > 8). Is there a bug number for that? I wonder if
2020 Oct 05
1
Simultaneous Equation Model with Dichotomous Dependent Variables
Hello everyone! I am currently working with a time series panel data set measuring six dependent variables: 4 of which are binary and 2 of which are count data. I am interested in constructing a model to measure if the dependent variables influence one another. For example: DV1~ DV2 + IV1+IV2+ Controls and DV2~ DV1 + IV1+ IV2+ Controls (where IV stands for independent variable, not
2008 Sep 13
3
[LLVMdev] Overzealous PromoteCastOfAllocation
Hi Dan, > Changing PromoteCastOfAllocation to not replace aggregate allocas with > non-aggregate allocas if they have GEP users sounds reasonable to me. This sounds reasonable indeed, but still a bit arbitrary. Haven't figured out anything better yet, though. > Finding the maximum alignment is sometimes still useful though, so > it would be nice to update the alignment field of
2013 Jan 25
0
[LLVMdev] llvm alloca dependencies
Hello Duncan, I compiled LLVM without optimizations (because maybe I have to look to memory accesses in the future). Maybe some of these optimizations I can enable when I am running my pass with opt ? It is still one thing that I don't understand. If the memory accesses will be eliminated, and I have the following situation: %i = alloca i32, align 4 %j = alloca i32, align 4 ..... %2 = load
2013 Oct 09
1
mixed model MANOVA? does it even exist?
Hi, Sorry to bother you again. I would like to estimate the effect of several categorical factors (two between subjects and one within subjects) on two continuous dependent variables that probably covary, with subjects as a random effect. *I want to control for the covariance between those two DVs when estimating the effects of the categorical predictors** on those two DVs*. The thing is, i
2020 May 06
2
Unexpected behavior found in Stack Coloring pass, need clarification
Hello, I have come across an unusual behavior where instruction domination rule is violated "Instruction does not dominate all its uses." It concerns with StackColoring pass present at llvm/lib/CodeGen/StackColoring.cpp. I am reaching out to the LLVM community to help me understand the cause of this issue and the working of the pass. The IR produced at the end of the pass seems to be
2008 Sep 08
2
[LLVMdev] Overzealous PromoteCastOfAllocation
Hi all, I'm currently running into some problems with instcombine changing the type of alloca instructions. In particular, the PromoteCastOfAllocation looks at any allocation instruction that is used by a bitast. It does a few checks, but basically tries to change the type of the alloca instruction to the type pointed to by the bitcasted type. The current heuristic for determining if this is
2016 Aug 25
2
CFLAA
I did gathered aggregate statistics reported by “-stats” over the ~400 test files. The following table summarizes the impact. The first column is the sum where the new analysis is enabled, the second column is the delta from baseline where no CFL alias analysis is performed. I am not experienced enough to know which of these are “good” or “bad” indicators. —david 72,250 685 SLP
2016 Dec 28
0
RFC: Adding argument allocas
To recap, it seems like there are two people so far opposed to this proposal, and tentative support from a number of others. It's not clear to me if I should go ahead with this. I'll try to bug some more people to get more input here. In the meantime, I think I'll implement the simple pattern matching, since that can be done incrementally, and can be simplified afterwards by the IR
2008 Sep 22
0
[LLVMdev] Overzealous PromoteCastOfAllocation
On Sep 13, 2008, at 1:07 PM, Matthijs Kooijman wrote: > Hi Dan, > >> Changing PromoteCastOfAllocation to not replace aggregate allocas >> with >> non-aggregate allocas if they have GEP users sounds reasonable to me. > This sounds reasonable indeed, but still a bit arbitrary. Haven't > figured out > anything better yet, though. > >> Finding the
2013 Jan 25
2
[LLVMdev] llvm alloca dependencies
Hi Alexandru, On 25/01/13 10:23, Alexandru Ionut Diaconescu wrote: > Thank you a lot for your response. I will try to use your approach with chasing > back along def-use chains to find instructions that define the registers used in > the load. Can you tell me please what class/methods/existing path are good for > this? I assume that I must have a method with arguments like the
2016 Aug 25
4
CFLAA
(and sys::cas_flag that STATISTIC uses is a uint32 ...) On Thu, Aug 25, 2016 at 9:54 AM, Daniel Berlin <dberlin at dberlin.org> wrote: > Okay, dumb question: > Are you really getting negative numbers in the second column? > > 526,766 -136 mem2reg # PHI nodes inserted > > http://llvm.org/docs/doxygen/html/PromoteMemoryToRegister_8cpp_source.html >
2008 Jun 22
1
two newbie questions
# I've tried to make this easy to paste into R, though it's probably so simple you won't need to. # I have some data (there are many more variables, but this is a reasonable approximation of it) # here's a fabricated data frame that is similar in form to mine: my.df <- data.frame(replicate(10, round(rnorm(100, mean=3.5, sd=1)))) var.list <- c("dv1",