similar to: [LLVMdev] struct as a function argument

Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] struct as a function argument"

2007 Oct 02
2
[LLVMdev] struct as a function argument
On Oct 2, 2007, at 1:03 AM, Domagoj Babic wrote: > Hi all, > > I have the same problem. My guess is that when a structure > is passed as a parameter, you cast it into an array for optimization > reasons (less parameters, less stack space). This is not an optimization. This behavior is to be ABI complaint when emitting code for your OS. That said, this is not a very good way to
2007 Oct 02
0
[LLVMdev] struct as a function argument
Hi all, I have the same problem. My guess is that when a structure is passed as a parameter, you cast it into an array for optimization reasons (less parameters, less stack space). This is, certainly, a reasonable optimization, but makes inter-procedural static analysis more complex. Is there a way to disable it (my guess is that this should be doable by passing some parameter to llvm-gcc)? If
2007 Aug 29
2
[LLVMdev] constructing 'for' statement from LLVM bitcode
Seung, On 8/25/07, Chris Lattner <sabre at nondot.org> wrote: > Ok. Note that LLVM can represent irreducible loops. You can handle > this through code duplication. > -Chris If you are willing to invest more effort into a more complicated analysis, in many cases you can even avoid code duplication. See this paper for details: @inproceedings{erosa94taming, author = {Ana M.
2007 Aug 30
0
[LLVMdev] constructing 'for' statement from LLVM bitcode
On 8/29/07, Domagoj Babic <babic.domagoj at gmail.com> wrote: > Seung, > > On 8/25/07, Chris Lattner <sabre at nondot.org> wrote: > > Ok. Note that LLVM can represent irreducible loops. You can handle > > this through code duplication. > > -Chris > > > If you are willing to invest more effort into a more complicated analysis, > in many cases you
2007 Aug 12
1
Calysto v1.5 reports on ssh v4.6p1
New version of Calysto reports a warning that looks like a bug to me: ------------------------------------------ Possible NULL-ptr deref (vc27053): @/work/projects/llvm/tools/Calysto/IfaceSpecs/clib.c:1823 Bug: ?? Explanation: choose_dh (dh.c:111) calls fopen twice (@120). If the first call to fopen fails (returns NULL), but the second one succeeds, fgets (@129) is called with f==NULL.
2007 Jun 20
1
NULL ptr dereferences found with Calysto static checker
Hi, I've ran my static checker Calysto on openssh and found the following bug: Possible NULL-ptr deref (vc536): @/work/benchmarks/SOURCES/openssh-4.6p1/moduli.c:173 + ptr gtm returned from gmtime dereferenced without checking (gmtime can return NULL). There are probably more possible NULL-ptr dereferences, but Calysto currently does not check the usage of library functions (for instance, if
2007 Aug 26
0
[LLVMdev] constructing 'for' statement from LLVM bitcode
>> It has a section on "structural analysis" that you will find useful. >> >> Why do you want "for statements"? >> > > Thank you for this info, Chris. > I'm doing this 'cause I'm making a backend for a virtual machine > assembly has an instruction which is very similar to 'for' statement. > I know this seems quite
2007 Aug 25
2
[LLVMdev] constructing 'for' statement from LLVM bitcode
---- Original message ---- >Date: Fri, 24 Aug 2007 22:23:39 -0700 >From: Chris Lattner <sabre at nondot.org> >Subject: Re: [LLVMdev] constructing 'for' statement from LLVM bitcode >To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu> > > >On Aug 24, 2007, at 10:07 PM, Seung Jae Lee wrote: > >> Do you have any idea on how I can construct
2007 Aug 30
1
[LLVMdev] constructing 'for' statement from LLVM bitcode
Daniel, On 8/30/07, Daniel Berlin <dberlin at dberlin.org> wrote: > On 8/29/07, Domagoj Babic <babic.domagoj at gmail.com> wrote: > > Seung, > > > > On 8/25/07, Chris Lattner <sabre at nondot.org> wrote: > > > Ok. Note that LLVM can represent irreducible loops. You can handle > > > this through code duplication. > > > -Chris >
2006 Dec 10
3
[LLVMdev] Building llvm-gcc4 on amd64
Hi all, I spent several hours today trying to compile llvm-gcc4 from svn and llvm from cvs on amd64 linux. In the case anyone else decides to try the same, this could ease your pain: 1) check out llvm, llvm-gcc 2) create llvm-obj llvm-gcc-obj export LLVM_INSTAL=<install_dir> cd llvm-obj export LLVM_OBJ=`pwd` ../llvm/configure --prefix=$LLVM_INSTALL --enable-debug-runtime 4) At one point,
2007 Nov 21
3
[LLVMdev] Add/sub with carry; widening multiply
I've been playing around with llvm lately and I was wondering something about the bitcode instructions for basic arithmetic. Is there any plan to provide instructions that perform widening multiply, or add with carry? It might be written as: mulw i32 %lhs %rhs -> i64 ; widening multiply addw i32 %lhs %rhs -> i33 ; widening add addc i32 %lhs, i32 %rhs, i1 %c -> i33 ; add with carry
2006 Sep 29
2
[LLVMdev] FunctionPass requiring SCCs
On Sep 29, 2006, at 2:05 PM, Domagoj Babic wrote: > > Check out scc_* iterators. Also note that the call graph > is not aware of the indirect calls, so you will need to write your > own CG implementation if you need to handle function pointers > soundly. > Chris, is this true? If so, it seems like a bad property for the CallGraphSCCPass framework. --Vikram
2006 Nov 29
0
[LLVMdev] LLVM Conference 2007 ?
Hi all, On 11/28/06, Reid Spencer <rspencer at reidspencer.com> wrote: > * Venue: West Coast, USA. Probably either San Francisco Bay Area or > Seattle > * Time Frame: Post 2.0 release, summer 2007 > * Topics: Anything related to use or development of LLVM I'd vote for Seattle. The costs of organization should be lower than in the Bay Area. > * An indication of how
2007 Apr 08
2
[LLVMdev] New automated decision procedure for path-sensitive analysis
Dear LLVMers, This email is intended for those interested in path-sensitive analysis, integer overflow analysis, static analysis, and (perhaps) loop invariant computation. Traditionally, such analyses have been considered too expensive to be practical, and were mostly an academic curiosity. The core of the problem is the lack of adequate automated decision procedures which could quickly
2006 Dec 10
2
[LLVMdev] How to compile apps to bc files with the new llvm-gcc4?
Hi, I'm trying to compile some apps with the new llvm-gcc4 on amd64 linux to .bc files, rather than to the native code. The same process I used to build those apps before with llvm-gcc3 doesn't work: 1) export CC=llvm-gcc CXX=llvm-g++ CFLAGS="-g -fno-inline" CXXFLAGS="-g -fno-inline" 2) cd <whatever-app>; ./configure 3) make CFLAGS+=-emit-llvm
2006 Jun 07
0
[LLVMdev] SCCP and undef branches
Hi, Here's something I don't understand... How come that UNDEF can appear as a branch condition at all? I just can't think of any ways. If you write something like fun() { int x; if (x > 100) { ... } else { ... } } LLVM generates a boolean temporary that compares (uninitialized) value of x with 100. Second, if it already can appear, isn't that a bug that
2006 Jun 06
3
[LLVMdev] SCCP and undef branches
Daniel Berlin wrote: > Nick Lewycky wrote: > >>I found that "undef" was disappearing early into the optimization chain. >>SCCP was the culprit, transforming: >> >> br bool undef, label %T, label %F >> >>into >> >> br bool true, label %T, label %F >> >>While that sounds like a great optimization, it shouldn't be
2006 Dec 10
0
[LLVMdev] How to compile apps to bc files with the new llvm-gcc4?
Unless I'm missing something, the problem lies directly with the fact that you are trying to do a link-stage operation with the GCC frontend. GCC, by default, probably runs "ld" or another system linker, which grabs the executable from binutils. This linker hasn't been modified (yet) to include support for .bc files, but you're compiler is emitting byte code to the *.o files.
2006 Nov 29
7
[LLVMdev] LLVM Conference 2007 ?
LLVMers, The LLVM Oversight group is trying to assess whether there is sufficient interest in the LLVM development community for holding an LLVM Conference next summer. If getting together with your fellow LLVM Developers sounds interesting to you, please respond to me (off list) and I'll summarize the results. Here's our current thinking: * Venue: West Coast, USA. Probably either San
2006 Sep 29
2
[LLVMdev] FunctionPass requiring SCCs
I have a FunctionPass F that needs a list of all the SCCs for use in its doFinalization() method. Let's say I write a CallGraphSCCPass C that creates an array of all SCCs. Let C be required by F, and let F call getAnalysis<C>() from its doFinalization() method. Am I guaranteed that C's runOnSCC() method will have executed on all SCCs before F's doFinalization() method?