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/