similar to: [LLVMdev] Promote constant expressions to registers

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Promote constant expressions to registers"

2016 Apr 27
3
ArrayBoundChecks in SafeCode-llvm37
Hi, I am wondering if anyone could run ArrayBoundChecks located in SafeCode-llvm37 (https://github.com/jtcriswell/safecode-llvm37) on llvm-3.8? Thanks. Syed -- Rafi
2011 Aug 28
0
[LLVMdev] How to break/iterate over nested instructions.
Dear Manish, First, in answer to your original question: yes, there is a pass that will convert constant expression GEPs used within LLVM instructions into GEP instructions. SAFECode has a pass called BreakConstantGEPs in safecode/trunk/lib/ArrayBoundChecks/BreakConstantGEPs.cpp (http://llvm.org/viewvc/llvm-project/safecode/trunk/lib/ArrayBoundChecks/BreakConstantGEPs.cpp?view=log). It
2011 Aug 27
4
[LLVMdev] How to break/iterate over nested instructions.
Hi Duncan, Why to break? I wish to analyse all the operands of getelemetptr instructions. For which I iterate over the code and get the instruction of interest by getopcode == getelementptr. But the getelementptrs in this form as in my last mail are getting away from my pass. So i wish to break it. I have a work around if breaking is not possible, but I think it may be a common requirement by
2015 Oct 16
3
Break nested instructions?
Is there any pass that breaks an expression out of an instruction's operand into its own instruction, so that such nested instructions become explicit and are thus easier to work with in? e.g Following|call|instruction contains a|GEP|instruction as its first operand. Is there any pass which allows me to break up this: | %call = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4
2011 Aug 19
1
[LLVMdev] Break operands into multiple instructions
Hi All, I am creating an instrumentation pass using LLVM libraries. I am using clang++ (version 2.9) to compile cpp code into LLVM bit code. When I generate the llvm bit code using clang++ using -O3, I get many instances of instructions that look like the following. br i1 icmp ne (i8* bitcast (i32 (i32)* @pthread_cancel to i8*), i8* null), label %bb23, label %bb25 Here three LLVM instructions
2015 Jun 22
2
[LLVMdev] How to Obtain a DataLayout Reference Given a Function & F
I’ve been debugging SAFECode source code files, and line 170 in ArrayBoundCheckLocal.cpp has been causing the following compilation error: In file included from /Users/peterfinn/Desktop/llvm_trunk_2/projects/safecode/lib/ArrayBoundChecks/ArrayBoundCheckLocal.cpp:18: In file included from
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 =
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
2015 Jul 22
2
[LLVMdev] (no subject)
Hello, I have tried a lot fix this error but am not able to can you please find me a solution am trying to compile the SAFECode in Cygwin Environment to work for windows. used make -j4 command to make the files in cygwin i have got this error make[5]: Leaving directory '/home/uidr7475/Work/LLVM_OBJ/projects/safecode/tools/clang/include' /usr/bin/cp: cannot stat
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<<
2007 Dec 03
1
[LLVMdev] Using Function Passes from Module Passes
Dear All, I'm having some problems using a function pass from a Module pass. My code is as follows: DominatorTree & domTree; ... Function &F = *I; // I is an interator from using Module::begin() ... domTree = getAnalysis<DominatorTree>(F); When I compile this code, I get the following error: /home/vadve/criswell/src/llvm22/include/llvm/Pass.h: In member function
2012 Nov 12
2
[LLVMdev] Project Release Branches
Dear Pawel and All, Pawel (and other release managers), can you ask the project maintainers for each project whether they want a release branch before creating it next time? Alternatively, can you leave branch creation up to the project maintainers as in the past? Pawel, you created a release_32 branch of SAFECode last night without my consultation. That commit itself is fine since we just
2015 Jan 30
2
[LLVMdev] How to install poolalloc?
Hi, all I want to use the alias analysises in project poolalloc, but I encounter some problem during installing it. I install poolalloc as follow: 1) cd llvm/projects svn co http://llvm.org/svn/llvm-project/poolalloc/branches/release_32 poolalloc 3) cd LLVM-object-directory make tools-only cd projects/poolalloc make When I carried out "make", I get the next error
2015 Jan 30
2
[LLVMdev] How to install poolalloc?
Thank you. But now I am using LLVM 2.9, so which version of poolalloc I should use ? -------------------------------------------- Qiuping Yi Institute Of Software Chinese Academy of Sciences On Fri, Jan 30, 2015 at 11:12 PM, John Criswell <jtcriswel at gmail.com> wrote: > Dear Qiuping, > > If you use the release_32 branch of poolalloc, then you need to use LLVM > 3.2. >
2012 Nov 12
0
[LLVMdev] Project Release Branches
John, > Dear Pawel and All, > > Pawel (and other release managers), can you ask the project maintainers > for each project whether they want a release branch before creating it > next time? Alternatively, can you leave branch creation up to the > project maintainers as in the past? I think asking project maintainers for a go/no-go for branch creation is a very good idea that
2015 Jan 31
4
[LLVMdev] How to install poolalloc?
Hi, John Criswell Thank you very much. I am installing LLVM-3.2, but I encounter the next error when carrying out "make": llvm[3]: Compiling ClangASTNodesEmitter.cpp for Release+Asserts build ClangASTNodesEmitter.cpp: In member function ‘std::pair<llvm::Record*, llvm::Record*><unnamed>::ClangASTNodesEmitter::EmitNode(const std::multimap<llvm::Record*, llvm::Record*,
2015 Jan 30
2
[LLVMdev] How to install poolalloc?
I am just not upgrade my LLVM. So I must use some higer LLVM version, right? -------------------------------------------- Qiuping Yi Institute Of Software Chinese Academy of Sciences On Fri, Jan 30, 2015 at 11:21 PM, John Criswell <jtcriswel at gmail.com> wrote: > On 1/30/15 10:17 AM, Qiuping Yi wrote: > > Thank you. But now I am using LLVM 2.9, so which version of poolalloc I
2015 Jan 30
0
[LLVMdev] How to install poolalloc?
Dear Qiuping, If you use the release_32 branch of poolalloc, then you need to use LLVM 3.2. For directions on compiling poolalloc with LLVM 3.2, please the SAFECode build directions at http://safecode.cs.illinois.edu/docs/Install.html. You can just skip the steps in the directions that compile SAFECode. Regards, John Criswell On 1/30/15 10:05 AM, Qiuping Yi wrote: > Hi, all > > I
2012 Sep 24
2
[LLVMdev] [cfe-dev] SPIR provisional specification is now available in the Khronos website
> > For the record, I just workarounded it in pocl by borrowing the > BreakConstantGEPs code from SAFECode. But for SPIR specs, IMHO, this should > be reconsidered. Yes, I agree. On 24 September 2012 15:08, Pekka Jääskeläinen <pekka.jaaskelainen at tut.fi>wrote: > Well, > > To be honest I'm not very comfortable with the whole constant GEP > idea. It's a
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