Displaying 20 results from an estimated 200 matches similar to: "[LLVMdev] Segmentation fault on using get parent of a PHINode"
2011 Feb 05
0
[LLVMdev] Segmentation fault on using get parent of a PHINode
Hi Surinder, I don't see anything obviously wrong with your code. I suggest
that (1) you build LLVM with assertions enabled, (2) you run the verifier on
your bitcode, and (3) run your program under valgrind.
Ciao, Duncan.
> I am getting a segmentation fault as soon as I touch the Basic block
> *b value defined as :
>
> std::string getPHIAssigns(const PHINode *PH)
> {
2011 Jan 25
1
[LLVMdev] LLVM grammar for ANTLR
Hi Sam,
Thanks for your reply.
I am implementing my research
(http://www.it.usyd.edu.au/~suri/Detecting%20Buffer%20Over.pdf), a
translation of LLVM to a simple non-deterministic language to detect
buffer overflows. It involves
(1) printing a control flow graph of basic blocks of a function (easily done)
(2) translating each llvm statement to a corresponding data flow
language (needs ASTs to
2011 Jan 24
3
[LLVMdev] LLVM grammar for ANTLR
Has anyone written a grammar for LLVM for ANTLR. I mean an ANTLR
grammar that parses LLVM instructions. Is an LLVM grammar available
for any other parsing tool?
Surinder
2011 Jan 24
0
[LLVMdev] LLVM grammar for ANTLR
Hello Surinder,
The existing hand-written parser is callable from almost anywhere so the only
reason you'd need to have a parser for it would be to extend it. Originally it
was written using Flex and Bison but Chris Lattner rewrote it from scratch to
catch more errors at the parsing stage.
The only feature I've found to be missing from the existing LLVM-AS utility was
an include
2003 Apr 28
4
SFTP in Java
Hi,
I have to implement SFTP using a Java program.
I am looking for a package that implements a SFTP Client(preferably with
sample code on usage). I need this in order to do SFTP file upload from my
Java program.
Any help would be appreciated. Thanks in advance.
Regards,
Preetha.
2011 Jan 31
2
[LLVMdev] Error : llvm/include/llvm/Pass.h:188: error: incomplete type 'llvm::DominatorTree' used in nested name specifier
I am creating a new pass (function pass) called Dfl from the Hello
example and notes on "Writing an LLVM Pass". When I compile the
program I get inncomplete type error (llvm/include/llvm/Pass.h:188:
error: incomplete type 'llvm::DominatorTree' used in nested name
specifier). The code is given below.
Surinder
struct Dfl : public FunctionPass {
raw_ostream *Out;
static
2011 Jan 31
3
[LLVMdev] How to convert an iterator to an object pointer
I have a pointer to a basic block and am iterating thru its
predecessor blocks. I want to get a pointer to the predecessor block.
How do I do it. I am using following code and it given compile time
errors.
error: cannot convert 'llvm::const_pred_iterator' to 'const
llvm::BasicBlock*' in initialization
const BasicBlock *b = PH->getParent();
// process all pred block
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 31
0
[LLVMdev] Error : llvm/include/llvm/Pass.h:188: error: incomplete type 'llvm::DominatorTree' used in nested name specifier
Hi Surinder,
Did you remember to #include "llvm/Analysis/Dominators.h"?
Best,
Douglas
On Sun, Jan 30, 2011 at 11:24 PM, Surinder <surifilms at gmail.com> wrote:
> I am creating a new pass (function pass) called Dfl from the Hello
> example and notes on "Writing an LLVM Pass". When I compile the
> program I get inncomplete type error
2011 Jan 21
2
[LLVMdev] Pointers in Load and Store
When I compile C programs into llvm, it produces load instructions in
two different flavours.
(1) %8 = load i8** %bp, align 8
(2) %1 = load i8* getelementptr inbounds ([4 x i8]* @.str, i64 0,
i64 0), align 1
I know that %bp in first case and the entire "getelementptr inbounds
([4 x i8]* @.str, i64 0, i64 0)" in second case can be obtained by
dump'ing I.getOperand(0)
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<<
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 31
2
[LLVMdev] llvm::Pass::Pass(llvm::PassKind, intptr_t): Assertion `pid && "pid cannot be 0"' failed.
I have written a new pass, it compiles ok but crashes when i run it
with error (llvm::Pass::Pass(llvm::PassKind, intptr_t): Assertion `pid
&& "pid cannot be 0"' failed.).
The pass is :
using namespace llvm;
namespace
{
struct Dfl : public FunctionPass {
static char ID;
Dfl() : FunctionPass(ID) { }
virtual bool runOnFunction(Function &F) {
bool
2011 Jan 21
0
[LLVMdev] Pointers in Load and Store
On 1/20/2011 10:02 PM, Surinder wrote:
> When I compile C programs into llvm, it produces load instructions in
> two different flavours.
>
> (1) %8 = load i8** %bp, align 8
>
> (2) %1 = load i8* getelementptr inbounds ([4 x i8]* @.str, i64 0,
> i64 0), align 1
>
> I know that %bp in first case and the entire "getelementptr inbounds
> ([4 x i8]* @.str, i64
2011 Jan 31
0
[LLVMdev] How to convert an iterator to an object pointer
Hi Surinder,
You'll need to dereference your iterator to get a pointer:
const BasicBlock *p = *pr;
Cheers,
Lang.
On Mon, Jan 31, 2011 at 3:04 PM, Surinder <surifilms at gmail.com> wrote:
> I have a pointer to a basic block and am iterating thru its
> predecessor blocks. I want to get a pointer to the predecessor block.
> How do I do it. I am using following code and it
2011 Jan 31
0
[LLVMdev] llvm::Pass::Pass(llvm::PassKind, intptr_t): Assertion `pid && "pid cannot be 0"' failed.
llvm/include/llvm/Pass.h:93: llvm::Pass::Pass(llvm::PassKind,
intptr_t): Assertion `pid && "pid cannot be 0"' failed.
On Mon, Jan 31, 2011 at 3:55 PM, Surinder <surifilms at gmail.com> wrote:
> I have written a new pass, it compiles ok but crashes when i run it
> with error (llvm::Pass::Pass(llvm::PassKind, intptr_t): Assertion `pid
> && "pid
2011 Jan 23
2
[LLVMdev] Undoing SSA and Phi instructions
Hi,
I am emitting llvm bit code using
llvm-gcc -c -emit-llvm -O0 -o test.bc test.c
and then optimizing it with
opt -O3 -print-module test.bc
in order to obtain a dump of generated IR.
The resulting code has Phi nodes and is perhaps in SSA form. I want
to undo the SSA form while retaining all the other optimizations. Is
mem2reg the right optimization to be added after -O3, i.e.,
opt -O3
2008 May 02
2
Access denied for user 'root'@'localhost'
I am getting error
Access denied for user ''root''@''localhost'' (using password: NO)
i saw in database.yaml
Install MySQL and put its /bin directory on your path.
how to set it
Attachments:
http://www.ruby-forum.com/attachment/1828/database.yml
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this
2011 Feb 01
1
[LLVMdev] Breaking critical edges
Is the pass "Break Critical edges" acheives the same as edge-splitting
SSA, i.e., a node has either multiple predecessors or multiple
successors but not both. A node with multiple predecessors and
multiple successors is replaced by two consecutive nodes joined
together. The first node has multiple predecessors and second node as
its only successor. The second node has first node as
2008 May 06
2
ActionController::InvalidAuthenticityToken in ClassifiedCon
I am editing a form it is taking the value but when i submit it
it shows the message
def edit
@classified = Classified.find(params[:id])
end
def update
@classified = Classified.find(params[:id])
if @classified.update_attributes(params[:classified])
redirect_to :action => ''show'', :id => @classified
else
render :action => ''edit''
end
end
and this is my