similar to: [LLVMdev] question about BasicBlock

Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] question about BasicBlock"

2002 Nov 11
1
[LLVMdev] question about BasicBlock
Acutally I mean whether we can start from a node in the graph and follow a path which might be very long, to reach another node. Is there a quick way to do that? thanks, xiaodong On Mon, 11 Nov 2002, Chris Lattner wrote: > > > Is there any simple way to decide whether there is a control path from one > > Basic Block to another Basic Block? > > No efficient way, but you
2002 Oct 31
1
[LLVMdev] problems with llvmgcc
Dear Prof. Adve, Now I can use llvmgcc to compile a .c file into .bc file. But I still have trouble simply run the .bc code. Below is the sequence I got when I tried. I really don't know what's going on here. Please let me know how can I fix it. Thanks, xiaodong xli3|csil-suna48|~/cs426|[13]% llvmgcc scalarize.c -o scalarize xli3|csil-suna48|~/cs426|[14]% scalarize Cannot load value of
2002 Oct 30
2
[LLVMdev] problems with llvmgcc
Thanks, Chris, Below is the output of 'llvmgcc he.c -v' xli3|csil-suna27|~/cs426|[35]% llvmgcc he.c -v Reading specs from /usr/dcs/projects/cs426/Software/gcc_install/bin/../lib/gcc-lib/llvm/3.1/specs Configured with: /home/vadve/lattner/cvs/gcc/configure --srcdir=/home/vadve/lattner/cvs/gcc --prefix=/home/vadve/lattner/cvs/gcc_install_sparc --target=llvm --enable-languages=c
2002 Nov 14
1
[LLVMdev] problem checking out llvm
When I check out llvm this morning. I got this error, so I couldn't check out. Looks like the disk is full.. Please let me know how to fix this problem. Thanks, xiaodong xli3|csil-suna33|/usr/dcs/projects/cs426/xli3/llvm|[10]% cvs update cvs update: Updating . ? gnumake.out cvs update: Updating Support cvs update: Updating include cvs update: Updating include/Support cvs update: cannot close
2020 Mar 10
4
RFC: Making a common successor/predecessor interface
Hi Dave, It may be possible to do this with the current API, but what I was looking for is a common API for existing block types. For example there is no succ_begin for Machine BasicBlock. I'm looking to make the CFGSuccessors and CFGPredecessors classes in CFGDiff.h templated, and this needs a common API for all types instantiations. Does this clarify your question or did I misunderstand
2020 Mar 09
3
RFC: Making a common successor/predecessor interface
Hi, As part of an ongoing work to extend the GraphDiff (this models a CFG view), I came across the need to have a common interface for accessing successors/predecessors in various IR units, such that a type such as `typename NodeT::succ_iterator` could be used in templated code. In particular, the need arose for BasicBlocks, MachineBasicBlocks, VPBlockBase and clang::CFGBlock. The least invasive
2010 Apr 07
2
[LLVMdev] graph abstraction proposal
Hi! while trying to use llvm::DominatorTreeBase on a custom graph that has nothing to do with llvm::BasicBlock I ran into some difficulties, because llvm::DominatorTreeBase calls e.g. getParent()->front() directly on the nodes and uses llvm::Inverse which forced me to implement my GraphTraits also for Inverse. This could be solved using a compile time abstraction of Graph instread of
2020 Mar 10
2
RFC: Making a common successor/predecessor interface
On Tue, Mar 10, 2020 at 2:30 PM David Blaikie <dblaikie at gmail.com> wrote: > > > On Tue, Mar 10, 2020 at 8:31 AM Alina Sbirlea <alina.sbirlea at gmail.com> > wrote: > >> Hi Dave, >> >> It may be possible to do this with the current API, but what I was >> looking for is a common API for existing block types. For example there is >> no
2002 Nov 11
1
[LLVMdev] DSGraph questions
Dear Prof. Adve, I recently checked out the llvm using cvs update command under the llvm directory. But when I went to see the DSNode.h, there is no getPointerSize function. I checked the doxygen tree, it's there. So that means I didn't update my cvs tree correctly. Could you let me know how to update my CVS tree? Or there is a problem at somewhere else? Thanks, xiaodong On Sun, 10 Nov
2004 Aug 27
1
[LLVMdev] Help getting condition of branch instructions in pass
Hi, this is a bit of a newbie question: I am trying to discover, given a block with a conditional and its successors, which condition (T/F) each successor applies to. There's almost identical code in CFGPrinter.cpp, but where it gets called in GraphWriter.h, the child_iterator type is a pretty hairy thing, so I still don't quite understand how to get one from a BasicBlock in my own
2018 May 24
0
LLVM Pass To Remove Dead Code In A Basic Block
> On 25 May 2018, at 01:46, Aaron via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Hi all, > > LLVM optimization pass gives an error "Terminator found in the middle of a basic block!" since basic block IR may have multiple "ret" instructions. It seems LLVM does not accept multiple return in a basic block by default. > Yes, if you’re inserting
2002 Oct 30
0
[LLVMdev] problems with llvmgcc
The problem with llvmgcc invoking as instead of llvm-as has been fixed. 3 llvm-specific executables needed to be copied into a default location where gcc can find them if it does not find them as configured (gcc was configured for the paths on our research machines and copied over). Let us know if you have additional problems. --Vikram > -----Original Message----- > From: llvmdev-admin
2006 Jul 04
2
[LLVMdev] Critical edges
On Tue, 4 Jul 2006, Fernando Magno Quintao Pereira wrote: > However, it does not remove all the critical edges. I am getting a very > weird dataflow graph (even without the Break Critical edges pass). The > dataflow generated by MachineFunction::dump() for the program below is > given here: > http://compilers.cs.ucla.edu/fernando/projects/soc/images/loop_no_crit2.pdf ... > The
2018 May 24
2
LLVM Pass To Remove Dead Code In A Basic Block
Hi all, LLVM optimization pass gives an error "Terminator found in the middle of a basic block!" since basic block IR may have multiple "ret" instructions. It seems LLVM does not accept multiple return in a basic block by default. Is there a specific optimization or pass that I can enable to remove unreachable codes in basic blocks? Best, Aaron -------------- next part
2002 Nov 01
2
[LLVMdev] totally lost
Dear LLVM: I wrote a small testcase and I can compiler and run it with gcc, But with llvm, I got weird error like the following. I really don't know what's going on. Could you explain? Thanks a lot -Jerry Error Message: xli3|csil-suna38|~/mp2|[25]% llvmgcc testcase3.c testcase3.c: In function `init': testcase3.c:5: warning: cast to pointer from integer of different size
2015 Feb 24
2
[LLVMdev] Jump Theading/GVN bug - moving discussion to llvm-dev
> Programmers don't usually write code like this directly, but it is common > for it to happen as a result of the expansion of macros or inline functions. > You would not want to require that a compiler front end *not* produce this. I meant to say that whatever mechanism we use to track dead blocks that may exhibit edge-cases of SSA def-use behavior does *not* need to be clever
2002 Oct 29
2
[LLVMdev] problems with llvmgcc
Dear llvm, I just tried to compile a simple file hello.c. But each time I used llvmgcc hello.c, it gave me the following error: xli3|csil-suna33|~/cs426|[13]% llvmgcc hello.c as: error opening '/var/tmp//ccapglpE.o': file exists! Use -f command line argument to force output I really got confused. Could you please let me know what's wrong? thanks, Jerry
2009 Jun 29
7
[LLVMdev] Profiling in LLVM Patch
Hi all, as proposed in http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-February/020396.html I implemented the algorithm presented in [Ball94]. It only instruments the minimal number of edges necessary for edge profiling. The main changes introduced by this patch are: *) a interface compatible rewrite of ProfileInfo *) a cleanup of ProfileInfoLoader (some functionality in ProfileInfoLoader
2007 Aug 08
1
[LLVMdev] CFG leaf node
Hi, guys. Is there any easy way to know the leaf BB node in the CFG which is not terminated by such a 'br' instruction? E.g., for the following LLVM assembly: ----------------------------------------------------------- int %foo2(int %k) { entry: br label %bb bb: ; preds = %bb, %entry %indvar = phi uint [ 0, %entry ], [ %indvar.next, %bb ] ;
2002 Nov 11
0
[LLVMdev] question about BasicBlock
> Is there any simple way to decide whether there is a control path from one > Basic Block to another Basic Block? No efficient way, but you could do a depth first search... If you are looking for a DIRECT connection, try the succ_begin()/succ_end() iterators (which loop over successors). -Chris -- http://llvm.cs.uiuc.edu/ http://www.nondot.org/~sabre/Projects/