similar to: [LLVMdev] Non "folding" Stack Allocation

Displaying 20 results from an estimated 600 matches similar to: "[LLVMdev] Non "folding" Stack Allocation"

2011 Aug 17
0
[LLVMdev] Non "folding" Stack Allocation
On Aug 17, 2011, at 5:02 AM, Matthieu Monrocq wrote: > My surprise stems from the fact that Clang/LLVM seems to reserve (at least in its bytecode) space for all temporary variables, not taking into account that some are mutually exclusive. I would have expected the space to be folded. However, since this is LLVM IR, and not the final assembly, and since LLVM IR is strongly typed, it makes
2014 Nov 03
8
[LLVMdev] [PATCH] Protection against stack-based memory corruption errors using SafeStack
Dear LLVM developers, Our team has developed an LLVM-based protection mechanism that (i) prevents control-flow hijack attacks enabled by memory corruption errors and (ii) has very low performance overhead. We would like to contribute the implementation to LLVM. We presented this work at the OSDI 2014 conference, at several software companies, and several US universities. We received positive
2009 May 18
5
[LLVMdev] memory lifetime and invariance
FYI, I wrote up some thoughts on this here: http://nondot.org/sabre/LLVMNotes/MemoryUseMarkers.txt The intention is to allow front-ends to express things like "I know this memory is a constant in this region" and to allow the optimizer/ codegen to perform more aggressive stack slot merging. -Chris
2012 Aug 20
0
[LLVMdev] Problem with "Does not dominate all uses"
In your original file, %6 is defined in if.end11 and is used in cond.end. if.end11 branches to cond.true and cond.false, both of which branch unconditionally to cond.end. Therefore %6 dominates its use. In your second file %18 is defined in end.11 and used in cond.end. However, end.11 no longer dominates cond.end because you have rewritten all branches to go through the switch statement in
2012 Aug 20
3
[LLVMdev] Problem with "Does not dominate all uses"
Hi! I'm having some trouble with a pass I'm writing. I'm using DemotePHIToStack to remove all phi node in my code with this code (this is the first thing I do in my pass): // Erase phi node vector<PHINode*> phis; for (Function::iterator i=f->begin();i!=f->end();++i) { for(BasicBlock::iterator b=i->begin();b!=i->end();++b) {
2009 May 19
2
[LLVMdev] memory lifetime and invariance
On May 19, 2009, at 12:32 AM, Nick Lewycky wrote: > Chris Lattner wrote: >> FYI, I wrote up some thoughts on this here: >> http://nondot.org/sabre/LLVMNotes/MemoryUseMarkers.txt >> >> The intention is to allow front-ends to express things like "I know >> this memory is a constant in this region" and to allow the optimizer/ >> codegen to perform
2009 May 20
0
[LLVMdev] memory lifetime and invariance
On Mon, May 18, 2009 at 3:02 PM, Chris Lattner <clattner at apple.com> wrote: > FYI, I wrote up some thoughts on this here: > http://nondot.org/sabre/LLVMNotes/MemoryUseMarkers.txt > > The intention is to allow front-ends to express things like "I know > this memory is a constant in this region" and to allow the optimizer/ > codegen to perform more aggressive
2006 Jan 29
2
GetText and rjs templates?
hi, is it possible that gettext don''t work with rjs templates? i''ve just tried this simple example blog_controller.rb : class BlogController < ApplicationController def index end def dosomething end end index.rhtml : <html> <head> <%= javascript_include_tag :defaults %> </head> <body> <div id="test">Some text to change
2008 Feb 29
1
Optional data argument for a function
Dear All, I am working on a function that has an optional data argument, just like lm(). If the user sets the data argument equal to some dataframe, then the function should look inside the dataframe for the variables given to other arguments, otherwise the variables should be accessible from what I believe is called the parent frame from which the function was called. I looked at the source code
2019 Jul 24
2
Intrinsics InstrReadMem memory properties
Ok, now I think I've found a bug: Consider this C code: void bar(int b) { int a[10]; memset(a, b, 10); } which generates this IR code: define dso_local void @bar(i32 %b) #0 { entry: %b.addr = alloca i32, align 4 %a = alloca [10 x i32], align 16 store i32 %b, i32* %b.addr, align 4 %arraydecay = getelementptr inbounds [10 x i32], [10 x i32]* %a, i64 0, i64 0 %0 = bitcast i32*
2012 Jan 23
4
[LLVMdev] Safe loads
Hello, For the Glasgow Haskell Compiler's backend, we would like to let LLVM know that certain loads are safe to execute speculatively and hence to hoist out of loops. At the moment, there doesn't seem to be a mechanism for doing so. There seem to be two ways of implementing this: either allow arbitrary instructions to be marked as safe and have Instruction::isSafeToSpeculativelyExecute
2008 Sep 17
1
Dealing with missing EOL at end of file
Colleagues, I am using R 2.7.2 on all three platforms (OS X; Windows; Linux) and I have encountered the following problem: I use R to issue a system call the execute a command in the OS. For example: system("DOSOMETHING TOSOMEFILE") In most situations, this task completes successfully and control returns to R. However, in rare situations, the target file (TOSOMEFILE) is
2014 Apr 11
2
[LLVMdev] llvm cse optimization
I'm working on the across the subprogram call optimization, and let's say the following llvm IR, @ng0 = internal global [2 x i32] [i32 2, i32 0], align 4 %t7 = alloca [16 x i8], align 16 %add.ptr = getelementptr inbounds i8* %t1, i64 40 %call = call i8* @handle_value(i8* %add.ptr, i32 3) #3 %arraydecay = getelementptr inbounds [8 x i8]* %t3, i64 0, i64 0 %arraydecay1 =
2016 Dec 28
3
why clang compile local to global
Hello,everyone: I want to known how to let clang compile my local array to local variables: I have the code : int main() { int a[3]={1,2,3}; int b=7; int c=8; int d=9; int e=10; int f=11; test(b,c,d,e,f,a); return 0; } I use clang command:clang --target=mipsel -emit-llvm -S a.c -o a.ll The a.ll is: @main.a = private unnamed_addr constant [3 x i32] [i32 1, i32 2, i32 3],
2019 Jul 25
2
Intrinsics InstrReadMem memory properties
So I removed the 'tail' from the call and try out different properties: - IntrNoMem: memset() and the intrinsic are both optimized away as expected - IntrWriteMem: memset() optimized away by DSE but the intrinsic isn't. I would expect both to be removed, since the intrinsic is now also a dead store. - IntrReadMem: memset() and the intrinsic are both optimized away *unexpectedly* (CSE
2019 Jul 12
3
RFC: changing variable naming rules in LLVM codebase
Rui Ueyama via llvm-dev <llvm-dev at lists.llvm.org> writes: > - LLVM's `/*foo=*/`-style comment to annotate function arguments need > to be handled automatically to make the tool scalable. So is the > doxygen @parameter. This is a bit of a side note, but in my own work I've more recently tried to move from this style: foo.h int foo(int a, bool doSomething); foo.cpp
2012 Jan 24
0
[LLVMdev] Safe loads
On Jan 23, 2012, at 4:22 AM, Roman Leshchinskiy wrote: > Hello, > > For the Glasgow Haskell Compiler's backend, we would like to let LLVM know > that certain loads are safe to execute speculatively and hence to hoist > out of loops. At the moment, there doesn't seem to be a mechanism for > doing so. There seem to be two ways of implementing this: either allow >
2019 Jul 12
2
RFC: changing variable naming rules in LLVM codebase
David Blaikie <dblaikie at gmail.com> writes: > Why would enums be less elegant than named boolean constants as you've shown here? Casting, mainly. If the parameters were also changed to an enum type that would be fine too, probably better than inline variables even. > http://jlebar.com/2011/12/16/Boolean_parameters_to_API_functions_considered_harmful..html > (at a random
2005 Jan 25
0
Goto invalid extension doesn't go to 'I' when in a macro.
Hi, A bit of a problem here which I'd appreciate some thoughts on. (please excuse the stray capital letters - Outlook has a habit of capitalising where I don't want it to!) For various reasons, I need to be able to do the following: --------------8<-------------- [default] Exten => s,1,Macro(dosomething,9999) Exten => s,2,NoOp(Returned) [macro-dosomething] Exten =>
2019 May 27
1
"if" function in pure R?
Thanks a lot Jiefei, I had thought of defining a binary operator (inspired by pipes) or simply using an additional condition in the if() calls [e.g. if(foo & fn(bar)) doSomeThing; with fn(bar) returning a logical], but both are workaround that I do not find as elegant as a proper control-flow construct. Thus two questions remain: - is it possible to create a control-flow construct in pure R?