similar to: [LLVMdev] Getting Basic block's scope information

Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] Getting Basic block's scope information"

2013 Jul 15
0
[LLVMdev] Fwd: Regarding scope information for variable declaration.
Thank your reply. Pankaj. Actually, I have done it very similar to yours. But I think for my demand, it is better to implement in Front End. Maybe I will re-implement it later in clang. ---------- Forwarded message ---------- From: Pankaj Gode [via LLVM] <ml-node+s1065342n59345h22 at n5.nabble.com> Date: Mon, Jul 15, 2013 at 2:35 PM Subject: Re: Regarding scope information for variable
2013 Jul 15
2
[LLVMdev] Regarding scope information for variable declaration.
Hi Eric,  I was considering machine instructions to get scope information. And variable declaration does not correspond to machine instruction, hence the problem i.e. no scope associated with it. If 'i' is initialized in the 'if-scope' then we get 'variable i' mapped to correct scope as corresponding machine instruction is generated for this. This is not a problem as we
2011 Apr 27
1
[LLVMdev] LLVM internal getDirectory() for LexicalBlock debug information returns filename?
Hi, For my project, I am using internal llvm class functions to print the filename and directory associated with an instruction from the debug information. With a recent checkout of llvm and clang (svn revision 129445), the following custom code (e.g. in a pass that prints directory info for all instructions) returns the filename iso. directory whenever Scope refers to a lexical block: if (const
2018 May 24
2
LLVM Pass To Remove Dead Code In A Basic Block
Hi Dean, Thanks for your reply. That's exactly what I am doing, but I was looking for a default optimization or pass implementation if there was. I used BasicBlock::splitBasicBlock() but it puts "br" end of original basic block. I tried to delete the br instruction by using eraseFromParent() but it didn't work. I had to rewrite my own splitBasicBlock() by modifying the
2003 Nov 20
3
[LLVMdev] Basic Block Chaining
Newbie Question .. (sorry if its redundant/silly) .. As I've started to develop Stacker, I had assumed that simply adding BasicBlocks to a function in sequence would imply that there is an implicit unconditional branch from the end of one basic block to the start of the next block. Based on the assertion checks that I get when I tried this, I assume that it is required to place a terminating
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
2004 Dec 07
1
[LLVMdev] Question adding dummy basic blocks
Hi, I got a problem when I am trying to add a dummy basic block. Let say there are two blocks, A and B. A----->B I am trying to generate new BB called C which is located between A and B, but not break the edge of AB. The graph is like the following A---->B \ / \ / C There is new BB 'C' with edges AC and CB. It is kind of like what breakcriticaledge pass does.
2003 Nov 20
0
[LLVMdev] Basic Block Chaining
On Thu, 20 Nov 2003, Reid Spencer wrote: > Newbie Question .. (sorry if its redundant/silly) .. No worries, this is good stuff to have archived on the list! > As I've started to develop Stacker, I had assumed that simply adding > BasicBlocks to a function in sequence would imply that there is an > implicit unconditional branch from the end of one basic block to the > start
2013 Jul 12
0
[LLVMdev] Regarding scope information for variable declaration.
I have the same demand. Have you resolved this problems? if so, would you share me the solution? Best Regards. Eric -- View this message in context: http://llvm.1065342.n5.nabble.com/Regarding-scope-information-for-variable-declaration-tp47707p59268.html Sent from the LLVM - Dev mailing list archive at Nabble.com.
2017 Nov 06
2
[RFC] Setting the current debug loc when the insertion point changes
> On Nov 6, 2017, at 2:58 PM, Adrian Prantl <aprantl at apple.com> wrote: > > > >> On Nov 6, 2017, at 2:50 PM, Vedant Kumar <vsk at apple.com> wrote: >> >>> >>> On Nov 6, 2017, at 2:32 PM, Adrian Prantl <aprantl at apple.com> wrote: >>> >>> >>>> On Nov 6, 2017, at 2:19 PM, Vedant Kumar <vsk at
2012 Jul 30
3
[LLVMdev] Regarding scope information for variable declaration.
Hi All,   I have question regarding lexical scope information.   If I have .c source with scope as below. void func() {    //-- some code here..    { //parent scope       if() //high pass       {          int i;          for( i =0; i < FRAM_I; i++)          {          }       }       if() //low pass       {          int i;          for( i =0; i < FRAM_J; i++)          {          }       }
2010 Feb 05
0
[LLVMdev] Basic block with two return instructions
On Fri, Feb 5, 2010 at 11:30 AM, Russell Wallace <russell.wallace at gmail.com> wrote: > Ah! I didn't know about verifyFunction; it does indeed catch it, > thanks! I'll leave that call in my code for all cases for the moment, > should help identify problems like that. > > Is there a recommended way to avoid this problem when compiling a > language that has an
2011 Mar 07
1
[LLVMdev] DW_TAG_lexical_block structure in debug information
Hello, The documentation for debug information (http://llvm.org/docs/SourceLevelDebugging.html) says the structure of block descriptors metadata is: !3 = metadata !{ i32, ;; Tag = 11 + LLVMDebugVersion (DW_TAG_lexical_block) metadata,;; Reference to context descriptor i32, ;; Line number i32 ;; Column number } However, looking at the generated metadata, there are 2 extra
2009 May 08
0
[LLVMdev] Splitting a basic block, replacing it's terminator
On May 8, 2009, at 4:02 PM, Nick Johnson wrote: > I want to insert a conditional branch in the middle of a basic block. > To that end, I am doing these steps: > > (1) Split the basic block: > bb->splitBasicBlock() > > (2) Remove the old terminator: > succ->removePredecessor(bb) > bb->getTerminator()->getParent() Assuming that the new block will still be a
2018 May 29
2
LLVM IR source line error
Hi I am using LLVM to help me do some code analysis. I wrote a LLVM Function Pass to help me to generate some information. I use the code below to get the source line information for every instruction. for (BasicBlock &BB : F){ for(Instruction &I: BB){ DILocation* Loc = I.getDebugLoc().get(); unsigned Line = Loc->getLine() } } I think the function's first
2006 May 17
0
[LLVMdev] Obfuscation with LLVM
Hi all, I was trying to implement an obfuscation tool for C-code on the basis of LLVM. I got a prototype of the simple obfuscation transformation which converting control flow graph to something like a state machine. I am not sure I will have time to work on extending further this tool with new transformations like opaque predicates and decided to put here source code I have by now with hope
2018 May 29
0
LLVM IR source line error
On Tue, May 29, 2018 at 5:25 AM Muhui Jiang via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Hi > > I am using LLVM to help me do some code analysis. I wrote a LLVM Function > Pass to help me to generate some information. I use the code below to get > the source line information for every instruction. > > for (BasicBlock &BB : F){ > for(Instruction &I:
2017 Sep 17
2
assertion triggered since update to llvm 5
Dump the IR before newgvn and run through opt -newgvn. It should crash. I'm not familiar with your frontend but you might want to use -mllvm -opt-bisect-limit. On Sep 17, 2017 1:06 PM, "Andrew Kelley" <superjoe30 at gmail.com> wrote: Valgrind is strictly better than address sanitizer, is that right? It runs valgrind-clean: [nix-shell:~/dev/zig/build-llvm5-debug]$ valgrind
2018 May 30
1
LLVM IR source line error
Hi David Thank you very much for your suggestions. ScopeLine works well. It could represent the start of a function. Do you know whether I can get the start column of this function? Many Thanks Regards Muhui 2018-05-30 3:25 GMT+08:00 David Blaikie <dblaikie at gmail.com>: > > > On Tue, May 29, 2018 at 5:25 AM Muhui Jiang via llvm-dev < > llvm-dev at lists.llvm.org>
2012 Jan 20
0
[LLVMdev] context/scope of instruction
On Jan 19, 2012, at 10:12 AM, Christian Jacobs wrote: > Hello, > I need to know how I get the LLVM::IDScope object of an instruction. > > My program contains: > call void (...)* @commit(), !dbg !16 > > !16 = metadata !{i32 16, i32 5, metadata !8, null} > > !8 = metadata !{i32 589835, metadata !4, i32 10, i32 1, metadata !2, i32 0} ; [ DW_TAG_lexical_block ] > !8