similar to: [LLVMdev] Basicblock and MachineBasicBlock

Displaying 20 results from an estimated 9000 matches similar to: "[LLVMdev] Basicblock and MachineBasicBlock"

2010 Oct 15
1
[LLVMdev] how to get MachineBasicBlock of a BasicBlock
Also note: there may be multiple MachineBasicBlock's for a single BasicBlock. - David M On Fri, Oct 15, 2010 at 4:59 AM, Jeff Kunkel <jdkunk3 at gmail.com> wrote: > I don't think you can. > > The BasicBlock is a member of MachineBasicBlock. It is not inherited, > so it cannot be cast. The number of the MachineBasicBlock is not the > same as any BasicBlock values.
2010 Oct 15
0
[LLVMdev] how to get MachineBasicBlock of a BasicBlock
I don't think you can. The BasicBlock is a member of MachineBasicBlock. It is not inherited, so it cannot be cast. The number of the MachineBasicBlock is not the same as any BasicBlock values. So MachineFunction::getMachineBasicBlock( BasicBlock::{get the number} ) cannot work. I do not see much in the basic block which can identify it. So you can search for it. typedef struct findBlock {
2010 Oct 15
2
[LLVMdev] how to get MachineBasicBlock of a BasicBlock
Hello, we can get BasicBlock from MachineBasicBlock through MachineBasicBlock::getBasicBlock() function, but how can I get MachineBasicBlock of a BasicBlock? Thank 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
2008 Sep 30
2
[LLVMdev] Inserting MachineBasicBlock(s) before a MachineBasicBlock
I want to be able to do two things with LLVM (both just before code emission): 1. Insert a MachineBasicBlock just before a MachineBasicBlock. There is a function called AddPredecessor(). However, the comment says that it does not update the actual CFG. I want to redirect all CFG edges that are incoming to this MachineBasicBlock to the new one I create, and add just one outgoing edge (no branch)
2011 Nov 30
2
[LLVMdev] Problem using a label to a MachineBasicBlock
Hi all, I think that I came somewhat closer to a solution for splitting a MachineBasicBlock for a PSEUDO_CALL_R instruction and having a label to the new MBB: For following piece of code: --- typedef int callme_t(int a, int b); callme_t* c01; int foo(int a, int b) { return c01(a,b); // MachineBasicBlock will be split at call instruction } --- I have initially following correspondence: BB1
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
2010 Oct 20
1
[LLVMdev] MachineBasicBlock insertion
Hi all, I am really stumped on a problem for long. I could not figure out why. That is why i am here. OK, here is the problem: I tried to insert a MachineBasicBlock into a function. Here is the code snippet: // insert a machine basic block with the error_label into MF and before I // Pred is the predecessor of the block to be inserted // the new basic block is inserted right before I void
2012 Mar 22
1
[LLVMdev] Problem using a label to a MachineBasicBlock
Can you please post the code to split a MachineBasicBlock? I am trying to split a MachineBasicBlock at a specific instruction in the MBB, let us say, into MBB1 and MBB2. This instruction should go into MBB2. Also MBB1 should have an unconditional branch to MBB2 as the terminator. (quite similar to splitBasicBlock in BasicBlock.cpp) Meanwhile, I am trying to come up with a variant of
2016 Mar 24
2
Terminators in MachineBasicBlock
Hi, Why does a MachineBasicBlock have multiple terminator instructions (unlike BasicBlock, which can only have one) ? Thanks, Tom -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160324/86ab8873/attachment-0001.html>
2016 Mar 24
0
Terminators in MachineBasicBlock
Hi, > On Mar 24, 2016, at 10:58 AM, Tom Chen via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Hi, > Why does a MachineBasicBlock have multiple terminator instructions (unlike BasicBlock, which can only have one) ? Think of it as predicated instructions. E.g., bool = icmp if bool : br if br else As for why, we could indeed have split those terminators into several basic
2016 Mar 24
1
Terminators in MachineBasicBlock
So in your example there are two terminators in the basic block (`br if` and `br else`)? 2016-03-24 14:15 GMT-04:00 Quentin Colombet <qcolombet at apple.com>: > Hi, > > > On Mar 24, 2016, at 10:58 AM, Tom Chen via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > > > Hi, > > Why does a MachineBasicBlock have multiple terminator instructions >
2010 Jun 24
1
[LLVMdev] Why the same MachineBasicBlock converted to binary code twice?
While debugging something, I found this strange-looking situation in JIT on 32-bit platform. For the particular BasicBlock function StartMachineBasicBlock is called twice with the same MachineBasicBlock object. This generates two memory addresses for binary code for this BasicBlock. Why such situation can happen? Which memory address would be the "real" address of this BasicBlock?
2020 Jul 11
3
is a MachineBasicBlock a kind of superblock?
MachineBasicBlock allows for multiple terminators. Unconditional branches and returns are marked as terminators; the MIPS backend also marks conditional branches as terminators. The MachineBasicBlock then has a helper function getFirstTerminator which iterates from the first terminator to the end of the MBB. So it seems to me that an MBB is a kind of superblock, single entrance and multiple side
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
2010 Oct 20
1
[LLVMdev] MachineBasicBlock insertion and use/def list update
Hi all, I am still stumped on the same bug. Did anyone try to insert MachineBasicBlock into a MachineFunction? Any advice will be appreciated. Thanks a lot in advance. ~Bin ---------------------------------------------------------------------------------------------------------------------------- Thanks a lot Jeff. I changed the setNumber function call to
2002 Nov 11
3
[LLVMdev] question about BasicBlock
Dear LLVM, Is there any simple way to decide whether there is a control path from one Basic Block to another Basic Block? thanks, Jerry
2012 Oct 30
2
[LLVMdev] [PATCH][Review request] MachineBasicBlock::iterator bug fix
The attached patch fixes bugs related to MachineBasicBlock::iterator. I don't have any test cases that reproduce on an X86 machine the problems that this patch fixes (these bugs were found when make check was run on a mips board). Please review. The first part just ensures that iterator I is not instr_end() before it invokes isInsideBundle(). The second part changes the signature of spillAll
2006 Jul 05
0
[LLVMdev] Critical edges
> If you don't want critical edges in the machine code CFG, you're going to > have to write a machine code CFG critical edge splitting pass: LLVM > doesn't currently have one. > > -Chris Hey guys, I've coded a pass to break the critical edges of the machine control flow graph. The program works fine, but I am sure it is not the right way of implementing it.