search for: getsource

Displaying 19 results from an estimated 19 matches for "getsource".

2010 May 19
2
Created a custom/minimal CentOS 5.x install ISO
Hi all, I'd like to try rolling a somewhat stripped down and customized CentOS DVD. This is particularly interesting to me now that CentOS 5.5 is 2 DVDs. I dare not call it a new distro as I suspect I will be the only one to use it. ;) I've been googling for ways to do this, figuring it must be somewhat straight forward, but my google-fu is weak it seems. Can someone point me
2012 Apr 01
0
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
...public: struct Level { enum { LT = 1, EQ = 2, GT = 4, ALL = 7 } direction; bool scalar; const SCEV *distance; // NULL implies no distance available const Loop *loop; }; enum Kind { Flow, Anti, Output, Input }; Kind getKind() const { return kind; } const Value *getSource() const { return source; } const Value *getDestination() const { return destination; } typedef SmallVector<const Level *, 4>::const_iterator const_iterator; const_iterator begin() const { return levels.begin(); } const_iterator end() const { return levels.end(); } priva...
2004 Oct 24
2
[LLVMdev] Some question on LLVM design
...malloc instruction raising/lowering pass, you would say > if (MallocInst *MI = dyn_cast<MallocInst>(I)) { Not true at all. Consider the "llvm/IntrinsicInst.h" header, which lets us write stuff like this, today: if (MemCpyInst *MCI = dyn_cast<MemCpyInst>(I)) MCI->getSource() MCI->getLength() ... The one advantage that mallocinst has over using an intrnisic is that instructions can have different return values in various parts of the program (e.g., you can write 'malloc int' instead of '(int*)malloc(4)'). -Chris -- http://llvm.org/ http://nond...
2018 Jan 31
4
llvm.memcpy for struct copy
Hi Ma, how can I transform the llvm.memcpy into data move loop IR and eliminate > the bitcast instruction ? > I'm not sure why you are concerned about memcpy and bitcasts, but if you call MCpyInst->getSource() and MCpyInst->getDest() it will look through casts and give you the 'true' source/destination. If you want to get rid of memcpy altogether, you can take a look at this pass: https://github.com/seahorn/seahorn/blob/master/lib/Transforms/Scalar/PromoteMemcpy.cc . Best, Kuba On Tue, J...
2012 Mar 29
2
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
Hi Sanjoy & Hal, Looking at LoopDependenceAnalysis::analyzeZIV ... I don't understand much about SCEV, but the code seems inadequate. Consider these three examples: int a = ...; // we can't be sure of the relationship between a and b int b = ...; // perhaps they are parameters, or the result of I/O for (int i = 0; i < n; i++) { v[a][i] = ...; v[a + 1][i] = ...; } for (int i
2010 Dec 08
0
[LLVMdev] Reviewer for our Path Profiling Implementation
...exists. You just got lucky it's in llvm::sys. Please wrap your classes in a namespace (e.g. llvm::PathProfile) or give them fully descriptive names. +++ include/llvm/Analysis/PathProfileInfo.cpp +unsigned PathEdge::getDuplicateNumber() { + return _duplicateNumber; +} + +BasicBlock* PathEdge::getSource() { + return _source; +} + +BasicBlock* PathEdge::getTarget() { + return _target; +} ... Trivial accessors should be defined inline. -Andy
2010 Dec 08
1
[LLVMdev] Reviewer for our Path Profiling Implementation
...Please > wrap your classes in a namespace (e.g. llvm::PathProfile) or give > them fully descriptive names. > > +++ include/llvm/Analysis/PathProfileInfo.cpp > > +unsigned PathEdge::getDuplicateNumber() { > + return _duplicateNumber; > +} > + > +BasicBlock* PathEdge::getSource() { > + return _source; > +} > + > +BasicBlock* PathEdge::getTarget() { > + return _target; > +} > ... > > Trivial accessors should be defined inline. > > -Andy -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm....
2010 Dec 03
4
[LLVMdev] Reviewer for our Path Profiling Implementation
I am a student at the University of Alberta under the supervision of José Nelson Amaral, and I have been working on implementing path profiling into LLVM. I have completed my project and would like to submit it. We are looking for a reviewer for the path profiling implementation. We have sent previous requests to the llvmdev list but have so far been unsuccessful. Please see the attached
2018 Jan 30
0
llvm.memcpy for struct copy
Hi Craig Thank you very much ! 2018-01-30 16:11 GMT+08:00 Craig Topper <craig.topper at gmail.com>: > The pointers must always be i8* the alignment is independent and is > controlled by the attributes on the arguments in the call to memcpy. > > ~Craig > > On Mon, Jan 29, 2018 at 11:45 PM, ma jun <jun.parser at gmail.com> wrote: > >> Hi >> >>
2004 Oct 23
0
[LLVMdev] Some question on LLVM design
On Fri, Oct 22, 2004 at 03:18:00PM +0200, Marc Ordinas i Llopis wrote: > I'm currently looking at LLVM as a possible back-end to a dynamic > programming system (in the tradition of Smalltalk) we are developing. Neat! > I have read most of the llvmdev archives, and I'm aware that some > things are 'planned' but not implemented yet. We are willing to > contribute
2018 Jan 30
2
llvm.memcpy for struct copy
The pointers must always be i8* the alignment is independent and is controlled by the attributes on the arguments in the call to memcpy. ~Craig On Mon, Jan 29, 2018 at 11:45 PM, ma jun <jun.parser at gmail.com> wrote: > Hi > > > 2018-01-30 15:36 GMT+08:00 ma jun <jun.parser at gmail.com>: > >> Hi >> Thanks ! >> so for this example >>
2012 Apr 03
1
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
...ents given the source and destination pointers, and from there to the loop nest. The relative position in the loop nest is given by the index of the levels vector. >  enum Kind { Flow, Anti, Output, Input }; > >  Kind getKind() const { >    return kind; >  } > >  const Value *getSource() const { >    return source; >  } > >  const Value *getDestination() const { >    return destination; >  } > >  typedef SmallVector<const Level *, 4>::const_iterator const_iterator; >  const_iterator begin() const { return levels.begin(); } >  const_iterator end...
2008 Apr 17
1
[LLVMdev] Being able to know the jitted code-size before emitting
Thx again Evan for the review. Here's a new patch for the JIT in itself. The major changes are: 1) A JITMemoryManager now has a flag saying "I require to know the size of what you want to emit" 2) DwarfJITEmitter is augmented with GetSize* functions 3) JITEmitter::startFunction checks if the JITMemoryManager requires to know the size. If so, it computes it and gives it through the
2007 Dec 11
0
[LLVMdev] Exception handling in JIT
...e if the label is invalid. > + if (!LabelID) continue; > + } > + > + intptr_t LabelPtr = 0; > + if (LabelID) LabelPtr = MCE.getLabelAddress(LabelID); > + > + const MachineLocation &Dst = Move.getDestination(); > + const MachineLocation &Src = Move.getSource(); > + > + // Advance row if new location. > + if (BaseLabelPtr && LabelID && (BaseLabelPtr != LabelPtr || ! > IsLocal)) { > + EmitInt8(dwarf::DW_CFA_advance_loc4); > + if (PointerSize == 8) { > + EmitInt64(LabelPtr - BaseLabelPtr); >...
2007 Dec 12
3
[LLVMdev] Exception handling in JIT
...gt; + if (!LabelID) continue; >> + } >> + >> + intptr_t LabelPtr = 0; >> + if (LabelID) LabelPtr = MCE.getLabelAddress(LabelID); >> + >> + const MachineLocation &Dst = Move.getDestination(); >> + const MachineLocation &Src = Move.getSource(); >> + >> + // Advance row if new location. >> + if (BaseLabelPtr && LabelID && (BaseLabelPtr != LabelPtr || ! >> IsLocal)) { >> + EmitInt8(dwarf::DW_CFA_advance_loc4); >> + if (PointerSize == 8) { >> + EmitInt64(Lab...
2007 Dec 10
2
[LLVMdev] Exception handling in JIT
Hi everyone, Here's a patch that enables exception handling when jitting. I've copy/pasted _many_code from lib/Codegen/DwarfWriter.cpp, so we may need to factorize it, but the functionality is there and I'm very happy with it :) lli should now be able to execute the output from llvm-gcc when using exceptions (the UnwindInst instruction is not involved in this patch). Just add the
2004 Oct 22
6
[LLVMdev] Some question on LLVM design
Hi everybody, I'm currently looking at LLVM as a possible back-end to a dynamic programming system (in the tradition of Smalltalk) we are developing. I have read most of the llvmdev archives, and I'm aware that some things are 'planned' but not implemented yet. We are willing to contribute the code we'll need for our project, but before I can start coding I'll have to
2008 Feb 04
0
[LLVMdev] Exception handling in JIT
...the label is invalid. > + if (!LabelID) continue; > + } > + > + intptr_t LabelPtr = 0; > + if (LabelID) LabelPtr = MCE->getLabelAddress(LabelID); > + > + const MachineLocation &Dst = Move.getDestination(); > + const MachineLocation &Src = Move.getSource(); > + > + // Advance row if new location. > + if (BaseLabelPtr && LabelID && (BaseLabelPtr != LabelPtr || ! > IsLocal)) { > + MCE->emitByte(dwarf::DW_CFA_advance_loc4); > + if (PointerSize == 8) { > + MCE->emitInt64(LabelPtr - Base...
2008 Feb 01
2
[LLVMdev] Exception handling in JIT
Dear all, Here's a new patch with Evan's comments (thx Evan!) and some cleanups. Now the (duplicated) exception handling code is in a new file: lib/ExecutionEngine/JIT/JITDwarfEmitter. This patch should work on linux/x86 and linux/ppc (tested). Nicolas -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: jit-exceptions.patch URL: