Displaying 20 results from an estimated 1300 matches similar to: "[LLVMdev] How to change successor of a regular Basic block"
2013 Jul 31
1
[LLVMdev] Problem to remove successors
Hi All,
I need to remove successors from every basic block to insert new ones
I tried this code, but it doesn't work
void RemoveSuccessor(TerminatorInst *TI, unsigned SuccNum) {
assert(SuccNum < TI->getNumSuccessors() &&
"Trying to remove a nonexistant successor!");
// If our old successor block contains any PHI nodes, remove the entry
in the
//
2009 Dec 04
0
[LLVMdev] hi, Hi, (Preccessors' Number) < MachineBasicBlock's Number < (Successors's Number), Is it really?
On Dec 3, 2009, at 9:52 PM, 任坤 wrote:
> I am travelling CFG with MachineFunction. So I want to sure it.
> (Preccessors' Number) < MachineBasicBlock's Number < (Successors's Number), Is it really?
If the CFG contains loops, how could this be possible?
Anyway, no you can't use MBB numbers for that. Perhaps you need the MachineDominatorTree analysis?
Regards,
/jakob
2010 Jan 25
2
[LLVMdev] Find all backedges of CFG by MachineDominatorTree. please look at my jpg.
Hi:
I hope to cut all backedges of MachineFunction CFG, then topological sort MachineBasicBlocks.
1. MachineDominatorTree *domintree = new MachineDominatorTree();
domintree->runOnMachineFunction(mf);
2. Then travel mf one by one.
When domintree->dominates(next,current) is true, there is a backedge from current node to next node. move this backedge form CFG.
But I find A LOOP in
2010 Jan 25
0
[LLVMdev] Find all backedges of CFG by MachineDominatorTree. please look at my jpg.
2010/1/25 任坤 <hbrenkun at yahoo.cn>:
> Hi:
>
> I hope to cut all backedges of MachineFunction CFG, then topological sort MachineBasicBlocks.
>
> 1. MachineDominatorTree *domintree = new MachineDominatorTree();
> domintree->runOnMachineFunction(mf);
>
> 2. Then travel mf one by one.
> When domintree->dominates(next,current) is true, there is a backedge
2010 Apr 12
1
[LLVMdev] [Fwd: Can someone help me with error while i make my own pass]
Tried that but still no success
Chris Lattner wrote:
> Try doing a clean build, then doing 'make ENABLE_PIC=1'
>
> -Chris
>
> On Apr 11, 2010, at 9:13 AM, ambika wrote:
>
>>
>>
>> *From: *ambika <ambika at cse.iitb.ac.in <mailto:ambika at cse.iitb.ac.in>>
>> *Date: *April 8, 2010 9:10:25 AM PDT
>> *To: *llvmdev at cs.uiuc.edu
2010 Apr 11
0
[LLVMdev] [Fwd: Can someone help me with error while i make my own pass]
Try doing a clean build, then doing 'make ENABLE_PIC=1'
-Chris
On Apr 11, 2010, at 9:13 AM, ambika wrote:
>
>
> From: ambika <ambika at cse.iitb.ac.in>
> Date: April 8, 2010 9:10:25 AM PDT
> To: llvmdev at cs.uiuc.edu
> Subject: [LLVMdev] Can someone help me with error while i make my own pass
>
>
> Hi,
>
> I have added LoaderInterface pass in
2010 Feb 15
0
[LLVMdev] A very basic doubt about LLVM Alias Analysis
Hi Ambika,
> Using this option I do get all the vars as may alias ie
>
> MayAlias: i32* %j.0, i32* %k
> MayAlias: i32* %i.0, i32* %k
> MayAlias: i32* %i.0, i32* %j.0
>
> Is there any other analysis which will give them as must aliases.
at -O1 these variables are entirely eliminated here. I'm surprised
they aren't eliminated for you.
Ciao,
Duncan.
PS:
2010 Feb 02
3
[LLVMdev] Problem in Adding a pass to LLVM
Hi,
I am trying to add alias analysis in llvm. I created a file
ProfileAlias.cpp in llvm source at the place where Andersens.cpp is
there. ProfileAlias.cpp does nothing at present just empty definitions
of required functions.
When I build llvm I get the following error:
/home/ambika/llvm1/llvm-obj/Release/lib/libLLVMipa.a(ProfileAlias.o): In
function `llvm::createProfileAliasPass()':
2010 Feb 23
1
[LLVMdev] Regarding a pass in LLVM
I have done that. I have defined createMyAnaPass() in Passes.h and it is
defined in MyAna.cpp and used in LinkAllPasses.h
But still the error :
/home/ambika/llvm/llvm-obj/tools/opt/Release/opt.o: In function `global
constructors keyed to opt.cpp':
opt.cpp:(.text+0x1e89): undefined reference to `llvm::createMyAnaPass()'
I dont understand whats the problem.
Jianzhou Zhao wrote:
>
2010 Feb 23
0
[LLVMdev] Regarding a pass in LLVM
On Tue, Feb 23, 2010 at 7:17 AM, ambika <ambika at cse.iitb.ac.in> wrote:
> Thanks that helped me out.
> But now I am facing one more problem. It says :
>
> ‘llvm::ModulePass* llvm::createMyAnaPass()’ should have been declared
> inside ‘llvm’
>
> but I can find no place to declare it.
> Where should I do it.
We can do what scalar optimizations do.
All scalar passes
2010 Mar 09
1
[LLVMdev] Find all backedges of CFG by MachineDominatorTree. please look at my jpg.
Hi:
I want to do some optimization on MachineLoop.
So I want to get MachineLoopInfo from MachineFunction.
I reference MachineLICM.cpp.
So I try to write a pass in Target/mytarget directory.
I find there is Error.
llvm/include/llvm/PassAnalysisSupport.h:198: AnalysisType& llvm::Pass::getAnalysisID(const llvm::PassInfo*) const [with AnalysisType = llvm::MachineLoopInfo]: Assertion
2013 Apr 10
0
[LLVMdev] If Conversion and predicated returns
On 4/10/2013 12:45 PM, Hal Finkel wrote:
>
> Should AnalyzeBranch be enhanced to somehow indicate conditional returns?
I don't think that returns can ever be analyzable (since LLVM's CFG does
not have a designated exit block).
> Alternatively, the diamond conversion routine contains this:
>
> // RemoveExtraEdges won't work if the block has an unanalyzable branch,
2010 Apr 11
2
[LLVMdev] [Fwd: Can someone help me with error while i make my own pass]
-------------- next part --------------
An embedded message was scrubbed...
From: ambika <ambika at cse.iitb.ac.in>
Subject: [LLVMdev] Can someone help me with error while i make my own pass
Date: Thu, 08 Apr 2010 21:40:25 +0530
Size: 4901
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100411/33876147/attachment.eml>
2010 Feb 23
2
[LLVMdev] Regarding a pass in LLVM
Thanks that helped me out.
But now I am facing one more problem. It says :
‘llvm::ModulePass* llvm::createMyAnaPass()’ should have been declared
inside ‘llvm’
but I can find no place to declare it.
Where should I do it.
John Criswell wrote:
> ambika at cse.iitb.ac.in wrote:
>> Hi,
>>
>> I am trying to add a pass inn LLVM, and I actually want to add it in
>> source
2013 Apr 10
3
[LLVMdev] If Conversion and predicated returns
Evan, et al.,
I've come across a small issue when using the if conversion pass in PPC to generate conditional returns. Here's a small example:
** Before if conversion **
BB#0: derived from LLVM BB %entry
%R3<def> = LI 0
%CR0<def> = CMPLWI %R3, 0
BCC 68, %CR0, <BB#3>
Successors according to CFG: BB#3(16) BB#1(16)
BB#1: derived from LLVM BB
2010 Jun 04
0
[LLVMdev] Duplicating a Basic Block
On Fri, Jun 4, 2010 at 2:15 AM, Ambika Agarwal <agarwal.ambika at gmail.com> wrote:
> Hi,
>
> I had asked earlier from my another ID about duplicating a basic block, but
> that server is down for moment.
> I was given suggestion to use CloneBasicBlock, but when I used it I get an
> error :
>
> While deleting: i32* %a
> Use still stuck around after Def is
2010 Feb 03
0
[LLVMdev] Problem in Adding a pass to LLVM
Hi!
On 02.02.2010, at 20:16, ambika wrote:
> /home/ambika/llvm1/llvm-obj/Release/lib/
> libLLVMipa.a(ProfileAlias.o): In
> function `llvm::createProfileAliasPass()':
> ProfileAlias.cpp:(.text+0x46): undefined reference to `vtable for
> ProfileAlias'
http://gcc.gnu.org/faq.html#vtables
Does that help?
Andi
2010 Jun 04
4
[LLVMdev] Duplicating a Basic Block
Hi,
I had asked earlier from my another ID about duplicating a basic block, but
that server is down for moment.
I was given suggestion to use CloneBasicBlock, but when I used it I get an
error :
While deleting: i32* %a
Use still stuck around after Def is destroyed: store i32* %a, i32** %p,
align 4
opt: /home/ambika/llvm_3/llvm-2.6/lib/VMCore/Value.cpp:81: virtual
llvm::Value::~Value():
2010 Feb 10
0
[LLVMdev] Help regarding Flow of function calls in llvm
llvm itself is a plain C++ program, so you can use gdb on it. gdb
doesn't know how to step through compiled IR, yet.
On Tue, Feb 9, 2010 at 12:13 PM, ambika <ambika at cse.iitb.ac.in> wrote:
> No, this is not what I am looking for. I am looking for something like
> may be a debugger so that I can trace the function calls in source of llvm.
> llvm-db dosent work it says
2010 May 28
2
[LLVMdev] Basic doubt related to Module::iterator
Hi,
Yeah I found that it is running LLVM's functions. The functions that are
running are:
main
llvm.dbg.func.start
llvm.dbg.stoppoint
scanf
llvm.dbg.region.end
But I dont want all the functions to be called as I am using Dominator
Trees and whenever I the statement
DominatorTree &DT = getAnalysis<DominatorTree>(F);
is encountered by functions other than main, it gives error.