similar to: [LLVMdev] own source transformation

Displaying 20 results from an estimated 500 matches similar to: "[LLVMdev] own source transformation"

2016 May 26
1
Runtime interception: design problem
Hi John, On 25 May 2016 at 16:11, John Criswell <jtcriswel at gmail.com> wrote: > Dear Pierre, > > Stepping up a level, what is your goal in replacing calls to malloc() and > free()? Is it any different than what SAFECode, SoftBound, or ASan do? > That's a good question. I didn't knew about SoftBound until now, so thank you for the name =). Anyway here is what I
2007 Mar 12
3
[LLVMdev] Expressing inter thread dependencies
Hello everybody, I'm developing a source code transformation system for real-time systems currently, i.e. I want to map the application (a set of event handlers) to a run-time or operating system semi-automatically (if anybody is interested in the background - see below, of course, comments are welcome there, too ;-)). Therefore, I have to be able to express dependencies between different
2007 Mar 12
0
[LLVMdev] Expressing inter thread dependencies
On Mar 12, 2007, at 10:34 AM, Fabian Scheler wrote: > After playing around a bit with LLVM, I > decided to use LLVM, because of its great documentation, its clean and > straight-forward design and it because it seems to be easily > applicable also for beginners. A gratuitous plug for a recent research project: If you use LLVM, you can also get a compiler called SAFECode that (a)
2007 Jun 02
0
[LLVMdev] Secure Virtual Machine
We have a research project that is developing a Secure Virtual Architecture using LLVM as the instruction set, and implementing via a VM which we call a Secure Virtual Machine. The memory safety foundations of this work are based on Dinakar Dhurjati's thesis and publications: http://llvm.org/pubs/ SVA is at a very preliminary stage but some slides about it are attached.
2007 Jun 02
4
[LLVMdev] Secure Virtual Machine
Many VMs focus on performance, optimizations, memory consumption, etc. but very few, if any, focus on fault isolation and security. Given memory safety, any VM reduces to capability security, which is sufficient to implement most security policies of interest; however, most such VMs still ignore two main attack vectors from malicious code: DoS attack on memory allocation, and DoS against the CPU.
2007 Jun 03
2
[LLVMdev] Secure Virtual Machine
SVA looks very promising. It would be great to be able to run unmodified C safely! However, it does not seem to address my original question: how can I ensure that code cannot DoS either the memory subsystem, or the CPU? In my proposal, I could execute said code in a concurrent process with a memory quota. How would SVA address that problem? Sandro On 6/2/07, Vikram S. Adve <vadve at
2004 Nov 17
4
[LLVMdev] Re: questions about LLVM
Hi Shuo, I am CCing your questions to the LLVM developers list so others can reply or correct me. >I have a few questions about LLVM: >(1) The LLVM tutorial says LLVM can be used in architecture research. If >I want to run my program on an instruction set defined by myself, is LLVM >a right tool to do that? > I don't think so. >In this aspect, is LLVM similar to
2011 Mar 02
3
[LLVMdev] Compile C files to one .bc file
Hi I'm trying to compile the "bh" C program from the Olden benchmark to one bc file. # compile source files into an LLVM bitcode file llvm-gcc -emit-llvm -c args.c -o args.bc -w -DTORONTO llvm-gcc -emit-llvm -c newbh.c -o newbh.bc -w -DTORONTO llvm-gcc -emit-llvm -c util.c -o util.bc -w -DTORONTO llvm-gcc -emit-llvm -c walksub.c -o walksub.bc -w -DTORONTO # To link files together
2011 May 20
3
[LLVMdev] convert a char * to a value
Hi all, Please i need help, I have a method that takes 2 arguments with type char *: void branchPredict(char *b1, char *b2){ --- -- } i'm supposed to add this method, in an IR basic bloc: to add it into a basic bloc i do: //i: is the basic bloc std::vector<Value*> void_43_params; Constant* tbname = ConstantArray::get(M.getContext(),i->getNameStr() , true); Constant* pbname =
2010 May 18
3
[LLVMdev] DEBUG INFO at the bytecode level
Hello, Could I get some debug info at the byte code level? I am writing a passer and if will be nice if I can know which line in the source an instruction (or value) corresponds to. I found a document online: http://llvm.org/docs/SourceLevelDebugging.html, but I can't find an example of doing it at the byte code level. Cheers, Zheng
2011 May 20
0
[LLVMdev] convert a char * to a value
On 5/20/11 5:46 PM, Nabila ABDESSAIED wrote: > Hi all, > > Please i need help, I have a method that takes 2 arguments with type > char *: > void branchPredict(char *b1, char *b2){ > --- > -- > } > i'm supposed to add this method, in an IR basic bloc: > to add it into a basic bloc i do: The problem is that you are passing arrays to the function instead of
2011 Jan 23
1
[LLVMdev] Pointers in Load and Store
John, I have looked at the real code (instead of the obsolete one) and it appears to be easy to find if an operand is a getelementptr instruction. if (ConstantExpr * CE = dyn_cast<ConstantExpr>(I.getOperand(0))) { Out<< "*** operand 0 is a constant Expr******"; if (CE->getOpcode() == Instruction::GetElementPtr) { Out<< "*** operand 0 is
2011 Jan 22
2
[LLVMdev] Pointers in Load and Store
John, I have looked at the SAFECode and thought following sould work if (isa<Constant>(I.getOperand(0))) { Out << "*** operand 0 is a constant ******"; if (Instruction *operandI = dyn_cast<Instruction>(I.getOperand(0))) { Out << "********operand is an instruction ****"; if (GetElementPtrInst *gepI =
2015 Feb 27
2
[LLVMdev] Walking thru CallGraph bottom up
Hi Simon, > From: Simone Atzeni <simone.at at gmail.com> > To: John Criswell <jtcriswel at gmail.com> > Cc: llvmdev at cs.uiuc.edu > Subject: Re: [LLVMdev] Walking thru CallGraph bottom up > Message-ID: <318EBA41-2040-4EFE-B330-5813C817C2A2 at gmail.com> > Content-Type: text/plain; charset="windows-1252" > > I think I got it and the example is
2011 Jan 22
0
[LLVMdev] Pointers in Load and Store
On 1/21/2011 10:46 PM, Surinder wrote: > John, > > I have looked at the SAFECode and thought following sould work > > if (isa<Constant>(I.getOperand(0))) > { Out<< "*** operand 0 is a constant ******"; > if (Instruction *operandI = dyn_cast<Instruction>(I.getOperand(0))) > { Out<<
2015 Feb 27
0
[LLVMdev] Walking thru CallGraph bottom up
Dear Simon, Kevin is correct; as far as I can tell, there is no method of getting the functions calling a given function. Instead, you have to start at the main() function and search for the function using a depth-first or breadth-first search. What may make sense is to build a new data structure that has nodes that point from callees to callers once and then use that for your queries.
2015 Feb 25
2
[LLVMdev] Walking thru CallGraph bottom up
Thanks John. I guess I will use a ModulePass, so when I am implementing the “runOnModule” function, do I have to loop through all the functions, for each functions all the BasicBlocks and for each BasicBlock all the instructions or given the Module I have to call the CallGraph directly? Is there an example out there? I can’t find anything. Thanks. Simone > On Feb 24, 2015, at 13:29, John
2015 Oct 08
2
Pool allocator + safecode
Thanks for the fast response John. On Thu, Oct 1, 2015, at 04:51 PM, John Criswell wrote: > Dear Ed, > > First, someone has updated the DSA code in the poolalloc project to LLVM > 3.7, and a Master's student worked for me over the summer to update a > large chunk of SAFECode to LLVM 3.7. However, the update to LLVM 3.7 > isn't finished (we need to finish integrating
2015 Feb 25
0
[LLVMdev] Walking thru CallGraph bottom up
On 2/25/15 10:51 AM, Simone Atzeni wrote: > Thanks John. > > I guess I will use a ModulePass, so when I am implementing the “runOnModule” function, > do I have to loop through all the functions, for each functions all the BasicBlocks and for each BasicBlock all the instructions If you know the Instruction, you can get it's basic block using Instruction::getParent(), and then get
2011 Sep 29
2
[LLVMdev] Instrumenting C/C++ programs
Hey guys, I have seen your interesting conversion. I am new for LLVM as well as clang compiler. I am going to use it now. it is quite difficult when someone starts it from scratch. But it is enjoyable and it is possible to familiarize with the environment by short time. Am gonna to use clang + llvm to generate AST from source code by using clang and to do high level transformation. Then I want to